diff --git a/.gitignore b/.gitignore
index eacb7d3..b94947f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,5 @@ node_modules/
*.log
# 忽略日志文件
-*.map
\ No newline at end of file
+*.map
+unpackage
diff --git a/unpackage/dist/dev/.automator/mp-weixin/.automator.json b/unpackage/dist/dev/.automator/mp-weixin/.automator.json
deleted file mode 100644
index e69de29..0000000
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
deleted file mode 100644
index 41359c0..0000000
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["uni-app:///main.js","webpack:///D:/web/food_wechat/App.vue?5073","webpack:///D:/web/food_wechat/App.vue?b24f",null,"webpack:///D:/web/food_wechat/App.vue?dbe9","uni-app:///App.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","Vue","use","uView","uni","$u","http","setConfig","config","baseURL","settings","productionTip","App","mpType","app","store","$mount","onLaunch","promises","Promise","onShow","setTimeout","onHide","methods","initMqtt","mqtt","console","watch"],"mappings":";;;;;;;;;;;;;;AAAA;AAE2D;AAC3D;AACA;AAGA;AAGA;AAUA;AAAgC;AAAA;AAnBhC;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAS1DC,YAAG,CAACC,GAAG,CAACC,gBAAK,CAAC;;AAEd;AACAC,GAAG,CAACC,EAAE,CAACC,IAAI,CAACC,SAAS,CAAC,UAACC,MAAM,EAAK;EACjC;EACAA,MAAM,CAACC,OAAO,GAAGC,iBAAQ,CAACD,OAAO,CAAC,CAAC;EACnC,OAAOD,MAAM;AACd,CAAC,CAAC;AAGFP,YAAG,CAACO,MAAM,CAACG,aAAa,GAAG,KAAK;AAChCC,YAAG,CAACC,MAAM,GAAG,KAAK;AAClB,IAAMC,GAAG,GAAG,IAAIb,YAAG,iCACfW,YAAG;EACNG,KAAK,EAALA;AAAK,GACJ;AACF,UAAAD,GAAG,EAACE,MAAM,EAAE,C;;;;;;;;;;;;;AC3BZ;AAAA;AAAA;AAAA;AAA+wC,CAAgB,4uCAAG,EAAC,C;;;;;;;;;;;ACAnyC;AACA,OAAO,KAAU,EAAE,kBAKd;;;;;;;;;;;;;ACNL;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACuD;AACL;AACc;;;AAGhE;AACoL;AACpL,gBAAgB,6LAAU;AAC1B,EAAE,yEAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAwqB,CAAgB,6rBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;ACC5rB;AAAA,eACA;EACA;EACAC;IAAA;IACA;IACA;MACA;IACA;IACA;IACA;MACA;IACA;IACA;IACA;MACA;IACA;IACA;IACA;IACA;IACA;MACAC;IACA;IACA;IACA;MACAA;IACA;IACA;IACAC;MACA;MACA;IACA;EACA;;EACA;EACAC;IAAA;IACAC;MACA;IACA;EACA;EACA;EACAC;EACAC;IACAC;MACA;MACAC;MACA;MACA;MACAA;QACA;UACAC;QACA;MACA;IACA;EACA;EACAC;AACA;AAAA,2B","file":"common/main.js","sourcesContent":["import 'uni-pages';\r\n// @ts-ignore\r\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App'\r\nimport Vue from 'vue'\r\nimport settings from './settings.js'//全局属性\r\n\r\n//vuex缓存\r\nimport store from './store/index.js'\r\n\r\n// uView引入注册\r\nimport uView from \"uview-ui\";\r\nVue.use(uView);\r\n\r\n//网络请求设置\r\nuni.$u.http.setConfig((config) => {\r\n\t/* config 为默认全局配置*/\r\n\tconfig.baseURL = settings.baseURL; /* 根域名 */\r\n\treturn config\r\n})\r\n\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n\t...App,\r\n\tstore\r\n})\r\napp.$mount()","import mod from \"-!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1717091592234\n var cssReload = require(\"C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!C:\\\\Program Files\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
deleted file mode 100644
index 736928e..0000000
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/webpack/bootstrap"],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;;;QAGA;QACA,oBAAoB;QACpB;QACA;QACA;QACA,uBAAuB,wrGAAwrG;QAC/sG;QACA;QACA,mBAAmB,6BAA6B;QAChD;QACA;QACA;QACA;QACA;QACA,mBAAmB,8BAA8B;QACjD;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA,KAAK;QACL;QACA,KAAK;QACL;;QAEA;;QAEA;QACA,iCAAiC;;QAEjC;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,MAAM;QACN;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,wBAAwB,kCAAkC;QAC1D,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA,0CAA0C,oBAAoB,WAAW;;QAEzE;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"common/runtime\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + chunkId + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"node-modules/uview-ui/components/u-avatar/u-avatar\":1,\"node-modules/uview-ui/components/u-icon/u-icon\":1,\"node-modules/uview-ui/components/u-swiper/u-swiper\":1,\"components/mainBut/mainBut\":1,\"node-modules/uview-ui/components/u-divider/u-divider\":1,\"node-modules/uview-ui/components/u-navbar/u-navbar\":1,\"components/cartFold/cartFold\":1,\"components/listItem/listItem\":1,\"node-modules/uview-ui/components/u-parse/u-parse\":1,\"node-modules/uview-ui/components/u-read-more/u-read-more\":1,\"node-modules/uview-ui/components/u-loading-icon/u-loading-icon\":1,\"node-modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator\":1,\"node-modules/uview-ui/components/u-tabbar-item/u-tabbar-item\":1,\"node-modules/uview-ui/components/u-tabbar/u-tabbar\":1,\"node-modules/uview-ui/components/u-image/u-image\":1,\"node-modules/uview-ui/components/u-line/u-line\":1,\"node-modules/uview-ui/components/u-status-bar/u-status-bar\":1,\"node-modules/uview-ui/components/u-empty/u-empty\":1,\"node-modules/uview-ui/components/u-modal/u-modal\":1,\"node-modules/uview-ui/components/u-popup/u-popup\":1,\"node-modules/uview-ui/components/u-parse/node/node\":1,\"node-modules/uview-ui/components/u-text/u-text\":1,\"node-modules/uview-ui/components/u-badge/u-badge\":1,\"node-modules/uview-ui/components/u-safe-bottom/u-safe-bottom\":1,\"node-modules/uview-ui/components/u-transition/u-transition\":1,\"node-modules/uview-ui/components/u-overlay/u-overlay\":1,\"node-modules/uview-ui/components/u-number-box/u-number-box\":1,\"node-modules/uview-ui/components/u-link/u-link\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"node-modules/uview-ui/components/u-avatar/u-avatar\":\"node-modules/uview-ui/components/u-avatar/u-avatar\",\"node-modules/uview-ui/components/u-icon/u-icon\":\"node-modules/uview-ui/components/u-icon/u-icon\",\"node-modules/uview-ui/components/u-swiper/u-swiper\":\"node-modules/uview-ui/components/u-swiper/u-swiper\",\"components/mainBut/mainBut\":\"components/mainBut/mainBut\",\"components/tabbar/tabbar\":\"components/tabbar/tabbar\",\"node-modules/uview-ui/components/u--image/u--image\":\"node-modules/uview-ui/components/u--image/u--image\",\"node-modules/uview-ui/components/u-divider/u-divider\":\"node-modules/uview-ui/components/u-divider/u-divider\",\"node-modules/uview-ui/components/u-navbar/u-navbar\":\"node-modules/uview-ui/components/u-navbar/u-navbar\",\"components/cartFold/cartFold\":\"components/cartFold/cartFold\",\"components/listItem/listItem\":\"components/listItem/listItem\",\"node-modules/uview-ui/components/u-parse/u-parse\":\"node-modules/uview-ui/components/u-parse/u-parse\",\"node-modules/uview-ui/components/u-read-more/u-read-more\":\"node-modules/uview-ui/components/u-read-more/u-read-more\",\"node-modules/uview-ui/components/u--text/u--text\":\"node-modules/uview-ui/components/u--text/u--text\",\"node-modules/uview-ui/components/u-loading-icon/u-loading-icon\":\"node-modules/uview-ui/components/u-loading-icon/u-loading-icon\",\"node-modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator\":\"node-modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator\",\"node-modules/uview-ui/components/u-tabbar-item/u-tabbar-item\":\"node-modules/uview-ui/components/u-tabbar-item/u-tabbar-item\",\"node-modules/uview-ui/components/u-tabbar/u-tabbar\":\"node-modules/uview-ui/components/u-tabbar/u-tabbar\",\"node-modules/uview-ui/components/u-image/u-image\":\"node-modules/uview-ui/components/u-image/u-image\",\"node-modules/uview-ui/components/u-line/u-line\":\"node-modules/uview-ui/components/u-line/u-line\",\"node-modules/uview-ui/components/u-status-bar/u-status-bar\":\"node-modules/uview-ui/components/u-status-bar/u-status-bar\",\"node-modules/uview-ui/components/u-empty/u-empty\":\"node-modules/uview-ui/components/u-empty/u-empty\",\"node-modules/uview-ui/components/u-modal/u-modal\":\"node-modules/uview-ui/components/u-modal/u-modal\",\"node-modules/uview-ui/components/u-popup/u-popup\":\"node-modules/uview-ui/components/u-popup/u-popup\",\"components/cart/cart\":\"components/cart/cart\",\"node-modules/uview-ui/components/u-parse/node/node\":\"node-modules/uview-ui/components/u-parse/node/node\",\"node-modules/uview-ui/components/u-text/u-text\":\"node-modules/uview-ui/components/u-text/u-text\",\"node-modules/uview-ui/components/u-badge/u-badge\":\"node-modules/uview-ui/components/u-badge/u-badge\",\"node-modules/uview-ui/components/u-safe-bottom/u-safe-bottom\":\"node-modules/uview-ui/components/u-safe-bottom/u-safe-bottom\",\"node-modules/uview-ui/components/u-transition/u-transition\":\"node-modules/uview-ui/components/u-transition/u-transition\",\"node-modules/uview-ui/components/u-overlay/u-overlay\":\"node-modules/uview-ui/components/u-overlay/u-overlay\",\"node-modules/uview-ui/components/u-number-box/u-number-box\":\"node-modules/uview-ui/components/u-number-box/u-number-box\",\"node-modules/uview-ui/components/u-link/u-link\":\"node-modules/uview-ui/components/u-link/u-link\"}[chunkId]||chunkId) + \".wxss\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
deleted file mode 100644
index 462a7b1..0000000
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/wx.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/global.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/interopRequireDefault.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/slicedToArray.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithHoles.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableRest.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/defineProperty.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPropertyKey.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/typeof.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPrimitive.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/construct.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/setPrototypeOf.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toConsumableArray.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArray.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableSpread.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/classCallCheck.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/createClass.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","uni-app:///utils/mqtt.js","uni-app:///node_modules/mqtt/lib/connect/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/node-libs-browser/mock/process.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/path-browserify/index.js","uni-app:///node_modules/mqtt/lib/client.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/events/events.js","uni-app:///node_modules/mqtt/lib/store.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/xtend/immutable.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/readable-browser.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/_stream_readable.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/process-nextick-args/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/isarray/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/internal/streams/stream-browser.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/safe-buffer/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/buffer/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/base64-js/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/ieee754/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/core-util-is/lib/util.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/inherits/inherits_browser.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/ignored C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib util","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/internal/streams/BufferList.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/ignored C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/internal/streams util","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/internal/streams/destroy.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/_stream_duplex.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/_stream_writable.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/util-deprecate/browser.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/string_decoder/lib/string_decoder.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/_stream_transform.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/lib/_stream_passthrough.js","uni-app:///node_modules/es6-map/index.js","uni-app:///node_modules/es6-map/is-implemented.js","uni-app:///node_modules/es6-map/polyfill.js","uni-app:///node_modules/es5-ext/array/#/clear.js","uni-app:///node_modules/es5-ext/object/valid-value.js","uni-app:///node_modules/es5-ext/object/is-value.js","uni-app:///node_modules/es5-ext/function/noop.js","uni-app:///node_modules/es5-ext/array/#/e-index-of.js","uni-app:///node_modules/es5-ext/number/is-nan/index.js","uni-app:///node_modules/es5-ext/number/is-nan/is-implemented.js","uni-app:///node_modules/es5-ext/number/is-nan/shim.js","uni-app:///node_modules/es5-ext/number/to-pos-integer.js","uni-app:///node_modules/es5-ext/number/to-integer.js","uni-app:///node_modules/es5-ext/math/sign/index.js","uni-app:///node_modules/es5-ext/math/sign/is-implemented.js","uni-app:///node_modules/es5-ext/math/sign/shim.js","uni-app:///node_modules/es5-ext/object/set-prototype-of/index.js","uni-app:///node_modules/es5-ext/object/set-prototype-of/is-implemented.js","uni-app:///node_modules/es5-ext/object/set-prototype-of/shim.js","uni-app:///node_modules/es5-ext/object/is-object.js","uni-app:///node_modules/es5-ext/object/create.js","uni-app:///node_modules/es5-ext/object/valid-callable.js","uni-app:///node_modules/d/index.js","uni-app:///node_modules/type/value/is.js","uni-app:///node_modules/type/plain-function/is.js","uni-app:///node_modules/type/function/is.js","uni-app:///node_modules/type/prototype/is.js","uni-app:///node_modules/type/object/is.js","uni-app:///node_modules/es5-ext/object/assign/index.js","uni-app:///node_modules/es5-ext/object/assign/is-implemented.js","uni-app:///node_modules/es5-ext/object/assign/shim.js","uni-app:///node_modules/es5-ext/object/keys/index.js","uni-app:///node_modules/es5-ext/object/keys/is-implemented.js","uni-app:///node_modules/es5-ext/object/keys/shim.js","uni-app:///node_modules/es5-ext/object/normalize-options.js","uni-app:///node_modules/es5-ext/string/#/contains/index.js","uni-app:///node_modules/es5-ext/string/#/contains/is-implemented.js","uni-app:///node_modules/es5-ext/string/#/contains/shim.js","uni-app:///node_modules/event-emitter/index.js","uni-app:///node_modules/es6-symbol/index.js","uni-app:///node_modules/es6-symbol/is-implemented.js","uni-app:///node_modules/ext/global-this/index.js","uni-app:///node_modules/ext/global-this/is-implemented.js","uni-app:///node_modules/ext/global-this/implementation.js","uni-app:///node_modules/es6-symbol/polyfill.js","uni-app:///node_modules/es6-symbol/validate-symbol.js","uni-app:///node_modules/es6-symbol/is-symbol.js","uni-app:///node_modules/es6-symbol/lib/private/generate-name.js","uni-app:///node_modules/es6-symbol/lib/private/setup/standard-symbols.js","uni-app:///node_modules/es6-symbol/lib/private/setup/symbol-registry.js","uni-app:///node_modules/es6-iterator/valid-iterable.js","uni-app:///node_modules/es6-iterator/is-iterable.js","uni-app:///node_modules/es5-ext/function/is-arguments.js","uni-app:///node_modules/es5-ext/string/is-string.js","uni-app:///node_modules/es6-iterator/for-of.js","uni-app:///node_modules/es6-iterator/get.js","uni-app:///node_modules/es6-iterator/array.js","uni-app:///node_modules/es6-iterator/index.js","uni-app:///node_modules/d/auto-bind.js","uni-app:///node_modules/type/value/ensure.js","uni-app:///node_modules/type/lib/resolve-exception.js","uni-app:///node_modules/type/lib/resolve-error-message.js","uni-app:///node_modules/type/string/coerce.js","uni-app:///node_modules/type/lib/to-short-string.js","uni-app:///node_modules/type/lib/safe-to-string.js","uni-app:///node_modules/type/plain-function/ensure.js","uni-app:///node_modules/es5-ext/object/copy.js","uni-app:///node_modules/es5-ext/array/from/index.js","uni-app:///node_modules/es5-ext/array/from/is-implemented.js","uni-app:///node_modules/es5-ext/array/from/shim.js","uni-app:///node_modules/es5-ext/function/is-function.js","uni-app:///node_modules/es5-ext/object/map.js","uni-app:///node_modules/es5-ext/object/for-each.js","uni-app:///node_modules/es5-ext/object/_iterate.js","uni-app:///node_modules/es6-iterator/string.js","uni-app:///node_modules/es6-map/lib/iterator.js","uni-app:///node_modules/es6-map/lib/iterator-kinds.js","uni-app:///node_modules/es5-ext/object/primitive-set.js","uni-app:///node_modules/es6-map/is-native-implemented.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/end-of-stream/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/once/once.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/wrappy/wrappy.js","uni-app:///node_modules/mqtt-packet/mqtt.js","uni-app:///node_modules/mqtt-packet/parser.js","uni-app:///node_modules/bl/bl.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/readable-stream/duplex-browser.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/util/util.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/util/support/isBufferBrowser.js","uni-app:///node_modules/mqtt-packet/packet.js","uni-app:///node_modules/mqtt-packet/constants.js","uni-app:///node_modules/mqtt-packet/generate.js","uni-app:///node_modules/mqtt-packet/writeToStream.js","uni-app:///node_modules/mqtt-packet/numbers.js","uni-app:///node_modules/reinterval/index.js","uni-app:///node_modules/mqtt/lib/validations.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/url/url.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/node-libs-browser/node_modules/punycode/punycode.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/module.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/url/util.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/querystring-es3/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/querystring-es3/decode.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/querystring-es3/encode.js","uni-app:///node_modules/mqtt/lib/connect/tcp.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/ignored D:/web/food_wechat/node_modules/mqtt/lib/connect net","uni-app:///node_modules/mqtt/lib/connect/tls.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/ignored D:/web/food_wechat/node_modules/mqtt/lib/connect tls","uni-app:///node_modules/mqtt/lib/connect/wx.js","uni-app:///node_modules/websocket-stream/stream.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/duplexify/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/stream-shift/index.js","uni-app:///node_modules/websocket-stream/ws-fallback.js","uni-app:///node_modules/mqtt/lib/connect/ws.js","uni-app:///settings.js","uni-app:///store/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js","uni-app:///node_modules/uview-ui/index.js","uni-app:///node_modules/uview-ui/libs/mixin/mixin.js","uni-app:///node_modules/uview-ui/libs/mixin/mpMixin.js","uni-app:///node_modules/uview-ui/libs/luch-request/index.js","uni-app:///node_modules/uview-ui/libs/luch-request/core/Request.js","uni-app:///node_modules/uview-ui/libs/luch-request/core/dispatchRequest.js","uni-app:///node_modules/uview-ui/libs/luch-request/adapters/index.js","uni-app:///node_modules/uview-ui/libs/luch-request/helpers/buildURL.js","uni-app:///node_modules/uview-ui/libs/luch-request/utils.js","uni-app:///node_modules/uview-ui/libs/luch-request/core/buildFullPath.js","uni-app:///node_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js","uni-app:///node_modules/uview-ui/libs/luch-request/helpers/combineURLs.js","uni-app:///node_modules/uview-ui/libs/luch-request/core/settle.js","uni-app:///node_modules/uview-ui/libs/luch-request/core/InterceptorManager.js","uni-app:///node_modules/uview-ui/libs/luch-request/core/mergeConfig.js","uni-app:///node_modules/uview-ui/libs/luch-request/core/defaults.js","uni-app:///node_modules/uview-ui/libs/luch-request/utils/clone.js","uni-app:///node_modules/uview-ui/libs/util/route.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/asyncToGenerator.js","uni-app:///node_modules/uview-ui/libs/function/colorGradient.js","uni-app:///node_modules/uview-ui/libs/function/test.js","uni-app:///node_modules/uview-ui/libs/function/debounce.js","uni-app:///node_modules/uview-ui/libs/function/throttle.js","uni-app:///node_modules/uview-ui/libs/function/index.js","uni-app:///node_modules/uview-ui/libs/function/digit.js","uni-app:///C:/Program Files/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toArray.js","uni-app:///node_modules/uview-ui/libs/config/config.js","uni-app:///node_modules/uview-ui/libs/config/props.js","uni-app:///node_modules/uview-ui/libs/config/props/actionSheet.js","uni-app:///node_modules/uview-ui/libs/config/props/album.js","uni-app:///node_modules/uview-ui/libs/config/props/alert.js","uni-app:///node_modules/uview-ui/libs/config/props/avatar.js","uni-app:///node_modules/uview-ui/libs/config/props/avatarGroup.js","uni-app:///node_modules/uview-ui/libs/config/props/backtop.js","uni-app:///node_modules/uview-ui/libs/config/props/badge.js","uni-app:///node_modules/uview-ui/libs/config/props/button.js","uni-app:///node_modules/uview-ui/libs/config/props/calendar.js","uni-app:///node_modules/uview-ui/libs/config/props/carKeyboard.js","uni-app:///node_modules/uview-ui/libs/config/props/cell.js","uni-app:///node_modules/uview-ui/libs/config/props/cellGroup.js","uni-app:///node_modules/uview-ui/libs/config/props/checkbox.js","uni-app:///node_modules/uview-ui/libs/config/props/checkboxGroup.js","uni-app:///node_modules/uview-ui/libs/config/props/circleProgress.js","uni-app:///node_modules/uview-ui/libs/config/props/code.js","uni-app:///node_modules/uview-ui/libs/config/props/codeInput.js","uni-app:///node_modules/uview-ui/libs/config/props/col.js","uni-app:///node_modules/uview-ui/libs/config/props/collapse.js","uni-app:///node_modules/uview-ui/libs/config/props/collapseItem.js","uni-app:///node_modules/uview-ui/libs/config/props/columnNotice.js","uni-app:///node_modules/uview-ui/libs/config/props/countDown.js","uni-app:///node_modules/uview-ui/libs/config/props/countTo.js","uni-app:///node_modules/uview-ui/libs/config/props/datetimePicker.js","uni-app:///node_modules/uview-ui/libs/config/props/divider.js","uni-app:///node_modules/uview-ui/libs/config/props/empty.js","uni-app:///node_modules/uview-ui/libs/config/props/form.js","uni-app:///node_modules/uview-ui/libs/config/props/formItem.js","uni-app:///node_modules/uview-ui/libs/config/props/gap.js","uni-app:///node_modules/uview-ui/libs/config/props/grid.js","uni-app:///node_modules/uview-ui/libs/config/props/gridItem.js","uni-app:///node_modules/uview-ui/libs/config/props/icon.js","uni-app:///node_modules/uview-ui/libs/config/props/image.js","uni-app:///node_modules/uview-ui/libs/config/props/indexAnchor.js","uni-app:///node_modules/uview-ui/libs/config/props/indexList.js","uni-app:///node_modules/uview-ui/libs/config/props/input.js","uni-app:///node_modules/uview-ui/libs/config/props/keyboard.js","uni-app:///node_modules/uview-ui/libs/config/props/line.js","uni-app:///node_modules/uview-ui/libs/config/props/lineProgress.js","uni-app:///node_modules/uview-ui/libs/config/props/link.js","uni-app:///node_modules/uview-ui/libs/config/props/list.js","uni-app:///node_modules/uview-ui/libs/config/props/listItem.js","uni-app:///node_modules/uview-ui/libs/config/props/loadingIcon.js","uni-app:///node_modules/uview-ui/libs/config/props/loadingPage.js","uni-app:///node_modules/uview-ui/libs/config/props/loadmore.js","uni-app:///node_modules/uview-ui/libs/config/props/modal.js","uni-app:///node_modules/uview-ui/libs/config/props/navbar.js","uni-app:///node_modules/uview-ui/libs/config/color.js","uni-app:///node_modules/uview-ui/libs/config/props/noNetwork.js","uni-app:///node_modules/uview-ui/libs/config/props/noticeBar.js","uni-app:///node_modules/uview-ui/libs/config/props/notify.js","uni-app:///node_modules/uview-ui/libs/config/props/numberBox.js","uni-app:///node_modules/uview-ui/libs/config/props/numberKeyboard.js","uni-app:///node_modules/uview-ui/libs/config/props/overlay.js","uni-app:///node_modules/uview-ui/libs/config/props/parse.js","uni-app:///node_modules/uview-ui/libs/config/props/picker.js","uni-app:///node_modules/uview-ui/libs/config/props/popup.js","uni-app:///node_modules/uview-ui/libs/config/props/radio.js","uni-app:///node_modules/uview-ui/libs/config/props/radioGroup.js","uni-app:///node_modules/uview-ui/libs/config/props/rate.js","uni-app:///node_modules/uview-ui/libs/config/props/readMore.js","uni-app:///node_modules/uview-ui/libs/config/props/row.js","uni-app:///node_modules/uview-ui/libs/config/props/rowNotice.js","uni-app:///node_modules/uview-ui/libs/config/props/scrollList.js","uni-app:///node_modules/uview-ui/libs/config/props/search.js","uni-app:///node_modules/uview-ui/libs/config/props/section.js","uni-app:///node_modules/uview-ui/libs/config/props/skeleton.js","uni-app:///node_modules/uview-ui/libs/config/props/slider.js","uni-app:///node_modules/uview-ui/libs/config/props/statusBar.js","uni-app:///node_modules/uview-ui/libs/config/props/steps.js","uni-app:///node_modules/uview-ui/libs/config/props/stepsItem.js","uni-app:///node_modules/uview-ui/libs/config/props/sticky.js","uni-app:///node_modules/uview-ui/libs/config/props/subsection.js","uni-app:///node_modules/uview-ui/libs/config/props/swipeAction.js","uni-app:///node_modules/uview-ui/libs/config/props/swipeActionItem.js","uni-app:///node_modules/uview-ui/libs/config/props/swiper.js","uni-app:///node_modules/uview-ui/libs/config/props/swipterIndicator.js","uni-app:///node_modules/uview-ui/libs/config/props/switch.js","uni-app:///node_modules/uview-ui/libs/config/props/tabbar.js","uni-app:///node_modules/uview-ui/libs/config/props/tabbarItem.js","uni-app:///node_modules/uview-ui/libs/config/props/tabs.js","uni-app:///node_modules/uview-ui/libs/config/props/tag.js","uni-app:///node_modules/uview-ui/libs/config/props/text.js","uni-app:///node_modules/uview-ui/libs/config/props/textarea.js","uni-app:///node_modules/uview-ui/libs/config/props/toast.js","uni-app:///node_modules/uview-ui/libs/config/props/toolbar.js","uni-app:///node_modules/uview-ui/libs/config/props/tooltip.js","uni-app:///node_modules/uview-ui/libs/config/props/transition.js","uni-app:///node_modules/uview-ui/libs/config/props/upload.js","uni-app:///node_modules/uview-ui/libs/config/zIndex.js","uni-app:///node_modules/uview-ui/libs/function/platform.js","uni-app:///uni.promisify.adaptor.js","uni-app:///utils/index.js","uni-app:///node_modules/uview-ui/components/u-swiper/props.js","uni-app:///node_modules/uview-ui/components/u-avatar/props.js","uni-app:///node_modules/uview-ui/components/u-icon/icons.js","uni-app:///node_modules/uview-ui/components/u-icon/props.js","uni-app:///node_modules/uview-ui/components/u-navbar/props.js","uni-app:///node_modules/uview-ui/components/u-image/props.js","uni-app:///node_modules/uview-ui/components/u-divider/props.js","uni-app:///node_modules/uview-ui/components/u-read-more/props.js","uni-app:///node_modules/uview-ui/components/u-parse/props.js","uni-app:///node_modules/uview-ui/components/u-parse/parser.js","uni-app:///node_modules/uview-ui/components/u-loading-icon/props.js","uni-app:///node_modules/uview-ui/components/u-swiper-indicator/props.js","uni-app:///node_modules/uview-ui/components/u-text/props.js","uni-app:///node_modules/uview-ui/components/u-tabbar/props.js","uni-app:///node_modules/uview-ui/components/u-tabbar-item/props.js","uni-app:///node_modules/uview-ui/components/u-status-bar/props.js","uni-app:///node_modules/uview-ui/components/u-line/props.js","uni-app:///node_modules/uview-ui/components/u-popup/props.js","uni-app:///node_modules/uview-ui/components/u-empty/props.js","uni-app:///node_modules/uview-ui/components/u-modal/props.js","uni-app:///node_modules/uview-ui/components/u-text/value.js","uni-app:///node_modules/uview-ui/libs/mixin/button.js","uni-app:///node_modules/uview-ui/libs/mixin/openType.js","uni-app:///node_modules/uview-ui/components/u-safe-bottom/props.js","uni-app:///node_modules/uview-ui/components/u-badge/props.js","uni-app:///node_modules/uview-ui/components/u-transition/props.js","uni-app:///node_modules/uview-ui/components/u-transition/transition.js","uni-app:///node_modules/uview-ui/components/u-transition/nvue.ani-map.js","uni-app:///node_modules/uview-ui/components/u-overlay/props.js","uni-app:///node_modules/uview-ui/components/u-number-box/props.js","uni-app:///node_modules/uview-ui/components/u-link/props.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","realAtob","b64","b64re","atob","str","String","replace","test","Error","slice","length","bitmap","result","r1","r2","i","charAt","fromCharCode","b64DecodeUnicode","decodeURIComponent","split","map","c","charCodeAt","toString","getCurrentUserInfo","token","wx","getStorageSync","tokenArr","uid","role","permission","tokenExpired","userInfo","JSON","parse","error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","params","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","finally","constructor","value","reason","promisify","promiseApi","success","fail","complete","assign","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","locale","normalizeLocale","language","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","initVueI18n","t","i18nMixin","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","deviceId","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","getUniEmitter","ctx","$on","arguments","$off","$emit","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","cid","cidErrMsg","enabled","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","$children","childVm","$scope","_$vueId","parentVm","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","configurable","enumerable","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","match","workletName","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","oldTriggerEvent","newTriggerEvent","comType","newEvent","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","$mp","mpType","mock","hasHook","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","canIUseApi","apiName","uni","Proxy","uni$1","_interopRequireDefault","__esModule","module","exports","arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","r","l","Symbol","iterator","n","u","a","f","o","next","done","arrayLikeToArray","_unsupportedIterableToArray","minLen","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","setPrototypeOf","isNativeReflectConstruct","_construct","Reflect","construct","p","bind","_setPrototypeOf","_isNativeReflectConstruct","valueOf","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","position","text","char","sub","isClosed","compiled","mode","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","$watch","getDefaultLocale","isWatchedAppLocale","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","client","settings","mqttHost","port","mqttPort","connectTimeout","clientId","topic_prefix","clean","keepalive","username","mqttUserName","password","mqttPassword","mqttConf","mqttDestroy","doSubscribe","publishFun","mqtt","connect","on","mqttState","topic","callBack","subscribe","qos","log","msg","publish","end","MqttClient","Store","xtend","tcp","ssl","tls","mqtts","wxs","ws","wss","parseAuthOptions","auth","brokerUrl","parsed","cert","isSecure","defaultProtocol","servers","_reconnectCount","hostname","events","eos","mqttPacket","Writable","inherits","reInterval","validations","setImmediate","nextTick","defaultConnectOptions","reschedulePings","protocolId","protocolVersion","reconnectPeriod","resubscribe","defaultId","sendPacket","packet","cb","emit","writeToStream","stream","flush","messageId","storeAndSend","outgoingStore","put","storedPacket","nop","streamBuilder","k","that","incomingStore","queueQoSZero","_resubscribeTopics","messageIdToTopic","pingTimer","connected","disconnecting","connackTimer","reconnectTimer","nextId","max","outgoing","disconnected","outStore","createStream","remove","removeListener","destroy","storeDeliver","read","status","_sendPacket","clearTimeout","_setupPingTimer","deliver","entry","shift","firstConnection","clear","_setupReconnect","EventEmitter","_setupStream","connectPacket","parser","completeParse","packets","_clearReconnect","nextTickWork","work","_handlePacket","_write","buf","enc","pipe","cmd","setMaxListeners","setTimeout","_cleanUp","_handlePublish","_handleAck","_handlePubrel","_handleConnack","_handlePingresp","_checkDisconnecting","defaultOpts","retain","dup","payload","_nextId","subs","invalidTopic","validateTopics","subscriptions","topics","granted","unsubscribe","unsubscriptions","force","closeStores","close","_deferredReconnect","finish","removeOutgoingMessage","mid","del","reconnect","_reconnect","reconnecting","setInterval","clearInterval","forced","_shiftPingInterval","pingResp","_checkPing","reschedule","rc","returnCode","errors","code","handleMessage","response","comp","pub","getLastMessageId","Readable","streamsOpts","objectMode","defaultStoreOptions","Map","_inflights","_read","self","entries","has","eIndexOf","callable","validValue","d","ee","forOf","Iterator","isNative","Function","defineProperties","getPrototypeOf","MapPoly","iterable","__mapKeysData__","__mapValuesData__","thisArg","_next","gs","toStringTag","isValue","_undefined","numberIsNaN","toPosInt","objHasOwnProperty","abs","searchElement","fromIndex","NaN","toInteger","sign","isFinite","plainObject","customCreate","objIsPrototypeOf","isPrototypeOf","nullDesc","validate","level","isNullBase","nullPolyfill","tmpObj1","tmpObj2","desc","getOwnPropertyDescriptor","ignore","function","object","shim","nullObject","polyProps","getOwnPropertyNames","isPlainFunction","normalizeOpts","contains","dscr","w","isFunction","classRe","functionToString","isPrototype","possibleTypes","foo","bar","trzy","dest","src","opts1","searchString","off","descriptors","base","listener","__ee__","__eeOnceListener__","listeners","candidate","validTypes","symbol","naiveFallback","window","__global__","validateSymbol","NativeSymbol","generateName","setupStandardSymbols","setupSymbolRegistry","SymbolPolyfill","HiddenSymbol","isNativeSafe","description","__description__","__name__","isSymbol","objPrototype","created","postfix","ie11BugWorkaround","hasInstance","isConcatSpreadable","search","species","unscopables","registry","for","keyFor","isIterable","isArguments","iteratorSymbol","objToString","some","doBreak","broken","ArrayIterator","StringIterator","kind","_resolve","__kind__","__list__","autoBind","list","__context__","__nextIndex__","_onAdd","_onDelete","_onClear","__redo__","_unBind","_createResult","redo","j","ensureValue","ensurePlainFunction","copy","normalizeOptions","define","dgs","overwriteDefinition","resolveContext","resolveException","errorMessage","resolveErrorMessage","defaultMessage","inputOptions","isOptional","ErrorConstructor","errorCode","stringCoerce","toShortString","valueInsertIndex","valueToken","nameInsertIndex","firstToken","secondToken","firstInsertIndex","secondInsertIndex","objectToString","valueToString","safeToString","reNewLine","string","error2","aFrom","propertyNames","propertyName","ensure","arrayLike","mapFn","Context","getIterator","isFunctionStringTag","RegExp","targetObj","objPropertyIsEnumerable","propertyIsEnumerable","defVal","compareFn","__length__","toStringTagSymbol","kinds","unBind","MapIterator","__values__","generate","bl","EE","Packet","constants","Parser","_states","_resetState","_list","_stateCounter","append","_parseHeader","zero","readUInt8","types","CMD_SHIFT","RETAIN_MASK","QOS_SHIFT","QOS_MASK","DUP_MASK","consume","_parseLength","bytes","mul","LENGTH_MASK","LENGTH_FIN_MASK","_parsePayload","_pos","_parseConnect","_parseConnack","_parsePublish","_parseMessageId","_parseSubscribe","_parseSuback","_parseUnsubscribe","_parseUnsuback","_emitError","flags","_parseString","USERNAME_MASK","PASSWORD_MASK","will","WILL_FLAG_MASK","WILL_RETAIN_MASK","WILL_QOS_MASK","WILL_QOS_SHIFT","CLEAN_SESSION_MASK","_parseNum","_parseBuffer","sessionPresent","SESSIONPRESENT_MASK","maybeBuffer","readUInt16BE","_newPacket","DuplexStream","util","Buffer","BufferList","_bufs","_callback","piper","onPipe","onUnpipe","_offset","offset","tot","_t","isBuffer","_appendBuffer","appendBuffer","encoding","min","chunk","start","dst","dstStart","srcStart","srcEnd","alloc","bufoff","allocUnsafe","shallowSlice","startOffset","endOffset","buffers","trunc","duplicate","m","codes","CMD_MASK","SESSIONPRESENT_HEADER","CONNACK_HEADER","CONNECT_HEADER","genHeader","writeUInt8","PUBLISH_HEADER","SUBSCRIBE_HEADER","UNSUBSCRIBE_HEADER","ACKS","unsuback","puback","pubcomp","pubrel","pubrec","SUBACK_HEADER","VERSION3","VERSION4","QOS","EMPTY","pingreq","pingresp","disconnect","Accumulator","_array","_i","write","lengths","pos","byteLength","empty","zeroBuf","numbers","numCache","generateNumber","generateCache","writeNumber","writeNumberCached","toGenerate","cork","uncork","connack","confirmation","suback","emptyPacket","writeNumberGenerated","providedUsername","isStringOrBuffer","writeLength","writeStringOrBuffer","writeString","itopic","iqos","jtopic","jqos","unsubs","calcLengthLength","genBufLength","digit","buffer","lengthCache","strlen","toWrite","bufOrString","field","generateBuffer","ReInterval","interval","_args","_interval","validateTopic","net","buildBuilder","createConnection","mqttClient","connection","rejectUnauthorized","authorized","handleTLSerrors","socketOpen","socketMsgQueue","sendSocketMessage","WebSocket","OPEN","CLOSING","CLOSED","readyState","send","closeSocket","onopen","onmessage","onclose","onerror","connectSocket","onSocketOpen","onSocketMessage","onSocketClose","onSocketError","websocket","buildUrl","transformWsUrl","setDefaultOpts","wsOptions","createWebSocket","websocketSubProtocol","Transform","duplexify","WS","WebSocketStream","buildProxy","socketWrite","socketEnd","proxy","_flush","socket","isBrowser","socketWriteBrowser","socketWriteNode","binary","_writev","writev","bufferSize","browserBufferSize","bufferTimeout","browserBufferTimeout","binaryType","onopenBrowser","coerceToBuffer","bufferedAmount","setReadable","setWritable","ArrayBuffer","chunks","MozWebSocket","urlModule","WSS_OPTIONS","IS_BROWSER","prop","buildBuilderBrowser","document","URL","baseURL","listPath","spuPath","skuPath","sitePath","logoPath","use","Vuex","shop_id","site_id","photo","sex","tel","siteList","menuList","spuList","skuList","shopCon","cartList","tabbarCurrent","cartShow","mutations","setTabbarCurrent","setUserInfo","clearUserInfo","setSiteList","setMenuList","setSpuList","setSkuList","setShopCon","setCartList","isExisting","skuG","countG","addMinPriceToSpuList","spuItem","totalPrice","bind_sku","skuGroup","minPrice","sku","skuId","price","parseFloat","toFixed","addSkuGToSpuList","actions","fetchSiteList","commit","$u","http","site","fetchMenuList","categoryList","category","fetchSpuList","spu","bs","pro_tag","fetchSkuList","fetchShopCon","logo","pleaseSetTranspileDependencies","babelTest","date","timeFormat","colorGradient","hexToRgb","rgbToHex","colorToRgba","Request","config","zIndex","debounce","throttle","mpMixin","color","install","timestamp","timeFrom","customStyle","customClass","linkType","getRect","$uGetRect","computed","deepMerge","bem","fixed","change","prefix","classes","openPage","urlKey","all","createSelectorQuery","in","boundingClientRect","rect","exec","getParentData","parentName","children","parentData","preventEvent","onReachBottom","beforeDestroy","array","childrenList","child","clone","defaults","request","InterceptorManager","mergeConfig","dispatchRequest","fulfilled","rejected","middleware","adapter","mergeKeys","config2","isUndefined","buildURL","buildFullPath","_config","header","settle","requestTask","otherConfig","filePath","optionalKeys","uploadFile","downloadFile","getTask","serializedParams","utils","isURLSearchParams","isDate","toISOString","hashmarkIndex","URLSearchParams","isBoolean","assignValue","requestedURL","isAbsoluteURL","combineURLs","relativeURL","validateStatus","statusCode","handlers","eject","h","globalsConfig","custom","defaultToConfig2Keys","uploadKeys","defaultsKeys","dataType","responseType","timeout","_instanceof","nativeMap","nativeSet","nativePromise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Infinity","_clone","proto","__isArray","__isRegExp","source","__getRegExpFlags","lastIndex","__isDate","getTime","keyChild","valueChild","entryChild","attrs","objProperty","ReferenceError","getOwnPropertySymbols","symbols","allPropertyNames","clonePrototype","__objToStr","re","ignoreCase","multiline","Router","animationType","animationDuration","intercept","addRootPath","queryParams","mixinParam","routeIntercept","isNext","navigateTo","switchTab","reLaunch","navigateBack","runtime","_regeneratorRuntime","asyncIterator","wrap","Generator","makeInvokeMethod","s","y","GeneratorFunction","GeneratorFunctionPrototype","g","defineIteratorMethods","_invoke","AsyncIterator","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","awrap","async","reverse","prev","stop","rval","handle","_catch","delegateYield","asyncGeneratorStep","gen","_throw","info","_asyncToGenerator","startColor","endColor","step","startRGB","startR","startG","startB","endRGB","endR","endG","endB","sR","sG","sB","colorArr","hex","round","sColor","reg","sColorNew","sColorChange","rgb","_this","aColor","strHex","aNum","numHex","alpha","email","mobile","dateISO","digits","idCard","carNo","xreg","creg","amount","chinese","letter","enOrNum","range","rangeLength","landline","jsonString","func","image","IMAGE_REGEXP","video","VIDEO_REGEXP","regExp","isEmpty","wait","immediate","callNow","timer","flag","getPx","unit","sleep","os","sys","gab","guid","firstU","radix","chars","uuid","addStyle","styleArray","style","addUnit","deepClone","WeakMap","merged","sourceValue","targetValue","randomArray","padStart","maxLength","fillString","fillLength","times","ceil","dateTime","formatStr","timeSource","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","beginIndex","tips","isPrefix","arrayFormat","_result","_value","commaStr","toast","duration","showToast","icon","type2icon","fill","iconName","priceFormat","decimals","decimalPoint","thousandsSeparator","prec","sep","dec","getDuration","valueNum","padZero","formValidate","formItem","form","validateField","getProperty","firstObj","setProperty","inFn","_obj","getHistoryPage","back","setConfig","_boundaryCheckingState","strip","num","precision","toPrecision","digitLength","eSplit","float2Fixed","dLen","pow","checkBoundary","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","iteratorOperation","operation","num1","num2","others","nums","num1Changed","num2Changed","baseNum","leftValue","plus","minus","divide","ratio","enableBoundaryChecking","_toArray","actionSheet","album","alert","avatar","avatarGroup","backtop","badge","button","calendar","carKeyboard","cell","cellGroup","checkbox","checkboxGroup","circleProgress","codeInput","col","collapse","collapseItem","columnNotice","countDown","countTo","datetimePicker","divider","gap","grid","gridItem","indexAnchor","indexList","input","keyboard","line","lineProgress","link","listItem","loadingIcon","loadingPage","loadmore","modal","navbar","noNetwork","noticeBar","notify","numberBox","numberKeyboard","overlay","picker","popup","radio","radioGroup","rate","readMore","row","rowNotice","scrollList","section","skeleton","slider","statusBar","steps","stepsItem","sticky","subsection","swipeAction","swipeActionItem","swiper","swipterIndicator","_switch","tabbar","tabbarItem","tabs","tag","textarea","toolbar","tooltip","transition","upload","cancelText","closeOnClickAction","safeAreaInsetBottom","openType","closeOnClickOverlay","keyName","singleSize","multipleSize","space","singleMode","multipleMode","maxCount","previewFullImage","rowCount","showMore","closable","showIcon","effect","fontSize","shape","bgColor","mpAvatar","randomBgColor","defaultUrl","colorIndex","extraValue","scrollTop","iconStyle","isDot","showZero","numberType","inverted","absolute","hairline","plain","disabled","loading","loadingText","loadingMode","loadingSize","formType","appParameter","hoverStopPropagation","sessionFrom","sendMessageTitle","sendMessagePath","sendMessageImg","showMessageCard","dataName","throttleTime","hoverStartTime","hoverStayTime","iconColor","showTitle","showSubtitle","startText","endText","customList","minDate","maxDate","defaultDate","rowHeight","formatter","showLunar","showMark","confirmText","confirmDisabledText","readonly","showConfirm","maxRange","rangePrompt","showRangePrompt","allowSameDay","monthNum","label","border","clickable","isLink","required","arrowDirection","rightIconStyle","rightIcon","titleStyle","activeColor","inactiveColor","iconSize","labelSize","labelColor","labelDisabled","placement","iconPlacement","borderBottom","percentage","seconds","changeText","keepRunning","uniqueKey","adjustPosition","maxlength","dot","focus","bold","disabledKeyboard","borderColor","disabledDot","span","justify","align","textAlign","accordion","speed","disableTouch","time","autoStart","millisecond","startVal","endVal","autoplay","useEasing","decimal","separator","showToolbar","minHour","maxHour","minMinute","maxMinute","itemHeight","cancelColor","confirmColor","visibleItemCount","defaultIndex","dashed","textPosition","textSize","textColor","lineColor","width","height","marginTop","rules","errorType","labelPosition","labelWidth","labelAlign","labelStyle","leftIcon","leftIconStyle","marginBottom","hoverClass","customPrefix","labelPos","imgMode","radius","lazyLoad","showMenuByLongpress","errorIcon","showLoading","showError","fade","webp","customNavHeight","disabledColor","clearable","placeholder","placeholderClass","placeholderStyle","showWordLimit","confirmType","confirmHold","holdKeyboard","autoBlur","disableDefaultPadding","cursor","cursorSpacing","selectionStart","selectionEnd","inputAlign","prefixIcon","prefixIconStyle","suffixIcon","suffixIconStyle","dotDisabled","showTips","showCancel","autoChange","direction","margin","showText","underLine","href","mpTips","showScrollbar","lowerThreshold","upperThreshold","offsetAccuracy","enableFlex","pagingEnabled","scrollable","scrollIntoView","scrollWithAnimation","enableBackToTop","preLoadScreen","anchor","vertical","timingFunction","loadingColor","loadmoreText","nomoreText","content","showConfirmButton","showCancelButton","buttonReverse","zoom","asyncClose","negativeTop","confirmButtonShape","safeAreaInsetTop","leftText","rightText","titleWidth","leftIconSize","leftIconColor","mainColor","autoBack","primary","warning","contentColor","tipsColor","lightColor","integer","disabledInput","asyncChange","inputWidth","showMinus","showPlus","decimalLength","longPress","buttonSize","disableMinus","disablePlus","opacity","copyLink","errorImg","loadingImg","pauseVideo","previewImg","setTitle","showImgMenu","columns","immediateChange","closeable","overlayStyle","closeIconPos","overlayOpacity","count","gutter","minCount","allowHalf","activeIcon","inactiveIcon","touchable","showHeight","toggle","closeText","openText","textIndent","indicatorWidth","indicatorBarWidth","indicatorColor","indicatorActiveColor","indicatorStyle","clearabled","showAction","actionStyle","actionText","inputStyle","searchIconColor","searchIconSize","placeholderColor","searchIcon","animation","subTitle","subColor","showLine","arrow","animate","rows","rowsWidth","rowsHeight","titleHeight","avatarSize","avatarShape","blockSize","blockColor","showValue","blockStyle","offsetTop","autoClose","threshold","indicatorInactiveColor","indicatorMode","currentItemId","previousMargin","nextMargin","acceleration","displayMultipleItems","easingFunction","swiperIndicator","switch","activeValue","inactiveValue","badgeStyle","activeStyle","inactiveStyle","lineWidth","lineHeight","lineBgSize","itemStyle","closeColor","plainFill","block","lines","decoration","wordWrap","autoHeight","showConfirmBar","isTab","copyText","showCopy","buttons","accept","capture","compressed","camera","maxDuration","uploadIcon","uploadIconColor","useBeforeRead","imageMode","sizeType","multiple","deletable","maxSize","MAX_VALUE","fileList","uploadText","mask","topTips","indexListSticky","parseTime","cFormat","formatObj","getDay","time_str","formatTime","hour","minute","period","formatPrice","formattedPrice","decimalCount","calculateTotal","order","spu_id","priceG","total","checkUserInfo","getStorage","wxLogin","login","post","validator","shadowStyle","backgroundImage","paddingTop","domain","scrollTable","selectable","tagStyle","useAnchor","trustTags","makeMap","blockTags","ignoreTags","voidTags","entities","lt","gt","quot","apos","ensp","emsp","nbsp","semi","ndash","mdash","middot","lsquo","rsquo","ldquo","rdquo","bull","hellip","address","big","caption","cite","dd","pre","small","blankChar","idIndex","decodeEntity","amp","substring","imgList","plugins","stack","nodes","onUpdate","lexer","popNode","expose","node","onParse","getUrl","parseStyle","styleObj","tmp","lastIndexOf","$","onTagName","tagName","xml","onAttrName","attrName","onAttrVal","onOpenTag","selfClose","siblings","autostart","controls","_j","_style","_src","newSrc","display","onCloseTag","setNavigationBarTitle","xmlns","traversal","_i2","float","face","class","A","I","_i4","padding","cellpadding","spacing","cellspacing","trList","cells","_i5","td","_style2","colspan","rowspan","temp","_i6","_i7","_td","table","_i8","_i9","_i10","_i11","_item","flex","getNFCAdapter","onText","checkClose","endTag","needVal","attrVal","formatName","onGetUserInfo","onContact","onGetPhoneNumber","onError","onLaunchApp","onOpenSetting","getClassNames","enter","leave","clickHandler","vueEnter","classNames","inited","$nextTick","transitionEnded","vueLeave","onTransitionEnd","transform"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,sBAAsB,+BAA+B;AACrD,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC,EAAE;AACrF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;;AAE3C;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;;AAEvC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,aAAoB;;AAErC;AACA;AACA;AACA,YAAY,aAAoB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA,iCAAiC;AACjC,uCAAuC,wBAAwB,EAAE;AACjE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wCAAwC,EAAE;AAC1C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,+BAA+B,oBAAoB,EAAE;AACrD;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD,iCAAiC,sBAAsB;AACvD;AACA,kBAAkB;AAClB,MAAM,IAAqC;AAC3C;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAoB;AACtC;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,OAAO,UAAU,IAAqC;AACtD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,mBAAmB;AACtC,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,oCAAoC;AACpC;AACA,qCAAqC;AACrC;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAEQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA,oCAAoC,yCAAyC,EAAE;AAC/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA,4BAA4B;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C,GAAG;AACH;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;;AAEA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,MAAM,EAEN;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,IAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,uCAAuC;AACvC;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,4CAA4C,eAAe;AAC3D,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD;AAClD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,KAAK,UAAU,KAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,gEAAgE;AACrG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4BAA4B,+BAA+B;AAC3D,4BAA4B,+BAA+B;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C,kDAAkD;AAClD;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,uFAAuF;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,+BAA+B;AAClC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oBAAoB;AACxC,sBAAsB,4BAA4B;AAClD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6CAA6C;AAC9E;AACA;AACA,6CAA6C,4CAA4C;;AAEzF;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG,MAAM,EAGN;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK,2CAA2C,8BAA8B,EAAE;;AAEhF;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAqC;AACrD;AACA,oBAAoB,SAAI;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;;AAEpD;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,oBAAoB,KAAqC;AACzD;AACA,MAAM,SAAE;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA,sBAAsB,iCAAiC;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU,IAAqC;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,8BAA8B;AAC9B,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,sCAAsC;AACtC,8C;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,0CAA0C,2BAA2B,EAAE;AACvE,KAAK;AACL;AACA,0CAA0C,4BAA4B,EAAE;AACxE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,yIAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,gCAAgC,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA,WAAW,yIAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,yIAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA,UAAU,yIAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,EAAE,SAAS;AACtH;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEe,kEAAG,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC97LnB;AACA;AACA;AADsC;AAAA,eAGvB;EACd+G,MAAM,EAAE,IAAI;EAAE;EACd1d,IAAI,EAAE2d,iBAAQ,CAACC,QAAQ;EAAE;EACzBlrB,OAAO,EAAE;IAAE;IACVmrB,IAAI,EAAEF,iBAAQ,CAACG,QAAQ;IACvBC,cAAc,EAAE,IAAI;IACpBC,QAAQ,EAAE5L,cAAK,CAACra,KAAK,CAACnK,QAAQ,CAACqwB,YAAY;IAC3CC,KAAK,EAAE,IAAI;IACXC,SAAS,EAAE,EAAE;IACbC,QAAQ,EAAET,iBAAQ,CAACU,YAAY;IAC/BC,QAAQ,EAAEX,iBAAQ,CAACY;EACpB,CAAC;EACDC,QAAQ,EAARA,QAAQ;EACRC,WAAW,EAAXA,WAAW;EACXC,WAAW,EAAXA,WAAW;EACXC,UAAU,EAAVA;AACD,CAAC;AAED;AACA;AACA;AAFA;AAGA,SAASH,QAAQ,GAAG;EACnB,IAAI,CAAC,IAAI,CAACd,MAAM,EAAE;IACjB;IACA,IAAI,CAACA,MAAM,GAAGkB,aAAI,CAACC,OAAO,CAAC,IAAI,CAAC7e,IAAI,EAAE,IAAI,CAACtN,OAAO,CAAC;IACnD;IACA,IAAI,CAACgrB,MAAM,CAACoB,EAAE,CAAC,OAAO,EAAE,YAAM;MAC7Bjd,OAAO,CAACC,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC,CAAC;IACF;IACA,IAAI,CAAC4b,MAAM,CAACoB,EAAE,CAAC,WAAW,EAAE,YAAM;MACjCjd,OAAO,CAACC,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC,CAAC;IACF;IACA,IAAI,CAAC4b,MAAM,CAACoB,EAAE,CAAC,SAAS,EAAE,YAAM;MAC/Bjd,OAAO,CAACC,IAAI,CAAC,WAAW,CAAC;MACzBsQ,cAAK,CAACra,KAAK,CAACgnB,SAAS,GAAG,KAAK,EAAC;IAC/B,CAAC,CAAC;EACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAASL,WAAW,CAACM,KAAK,EAAEC,QAAQ,EAAE;EAAA;EACrC;EACA,IAAI,CAACvB,MAAM,CAACoB,EAAE,CAAC,SAAS,EAAE,YAAM;IAC/B;IACA;IACA;IACA;IACA;IACA,KAAI,CAACpB,MAAM,CAACwB,SAAS,CAACF,KAAK,EAAE;MAC5BG,GAAG,EAAE;IACN,CAAC,EAAE,UAAAjrB,GAAG,EAAI;MACT,IAAI,CAACA,GAAG,EAAE;QACT2N,OAAO,CAACud,GAAG,CAACJ,KAAK,GAAG,QAAQ,CAAC;MAC9B,CAAC,MAAM;QACNnd,OAAO,CAACC,IAAI,CAACkd,KAAK,GAAG,QAAQ,CAAC;MAC/B;IACD,CAAC,CAAC;EACH,CAAC,CAAC;EACF;EACA,IAAI,CAACtB,MAAM,CAACoB,EAAE,CAAC,SAAS,EAAE,UAACE,KAAK,EAAEhxB,OAAO,EAAK;IAC7CixB,QAAQ,CAAC;MACRD,KAAK,EAAEA,KAAK;MACZK,GAAG,EAAErxB,OAAO,CAACd,QAAQ;IACtB,CAAC,CAAC;EACH,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAASyxB,UAAU,CAACK,KAAK,EAAEK,GAAG,EAAE;EAC/B;EACA,IAAI,CAAC3B,MAAM,CAAC4B,OAAO,CAACN,KAAK,EAAEK,GAAG,EAAE;IAC/BF,GAAG,EAAE;EACN,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,SAASV,WAAW,GAAG;EACtB,IAAI,IAAI,CAACf,MAAM,EAAE;IAChB,IAAI,CAACA,MAAM,CAAC6B,GAAG,EAAE,EAAC;IAClB,IAAI,CAAC7B,MAAM,GAAG,IAAI;EACnB;AACD,C;;;;;;;;;;;AC9FA,+CAAY;;AAAA;AAEZ,IAAI8B,UAAU,GAAG3I,mBAAO,CAAC,mBAAW,CAAC;AACrC,IAAI4I,KAAK,GAAG5I,mBAAO,CAAC,kBAAU,CAAC;AAC/B,IAAI7c,GAAG,GAAG6c,mBAAO,CAAC,cAAK,CAAC;AACxB,IAAI6I,KAAK,GAAG7I,mBAAO,CAAC,eAAO,CAAC;AAC5B,IAAI5V,SAAS,GAAG,CAAC,CAAC;AAElB,IAAIpD,OAAO,CAACwC,KAAK,KAAK,SAAS,EAAE;EAC/BY,SAAS,CAAC2d,IAAI,GAAG/H,mBAAO,CAAC,gBAAO,CAAC;EACjC5V,SAAS,CAAC0e,GAAG,GAAG9I,mBAAO,CAAC,gBAAO,CAAC;EAChC5V,SAAS,CAAC2e,GAAG,GAAG/I,mBAAO,CAAC,gBAAO,CAAC;EAChC5V,SAAS,CAAC4e,GAAG,GAAGhJ,mBAAO,CAAC,gBAAO,CAAC;EAChC5V,SAAS,CAAC6e,KAAK,GAAGjJ,mBAAO,CAAC,gBAAO,CAAC;AACpC,CAAC,MAAM;EACL5V,SAAS,CAAC5T,EAAE,GAAGwpB,mBAAO,CAAC,eAAM,CAAC;EAC9B5V,SAAS,CAAC8e,GAAG,GAAGlJ,mBAAO,CAAC,eAAM,CAAC;AACjC;AAEA5V,SAAS,CAAC+e,EAAE,GAAGnJ,mBAAO,CAAC,eAAM,CAAC;AAC9B5V,SAAS,CAACgf,GAAG,GAAGpJ,mBAAO,CAAC,eAAM,CAAC;;AAE/B;AACA;AACA;AACA;AACA;AACA,SAASqJ,gBAAgB,CAAExS,IAAI,EAAE;EAC/B,IAAIjF,OAAO;EACX,IAAIiF,IAAI,CAACyS,IAAI,EAAE;IACb1X,OAAO,GAAGiF,IAAI,CAACyS,IAAI,CAACzX,KAAK,CAAC,aAAa,CAAC;IACxC,IAAID,OAAO,EAAE;MACXiF,IAAI,CAAC0Q,QAAQ,GAAG3V,OAAO,CAAC,CAAC,CAAC;MAC1BiF,IAAI,CAAC4Q,QAAQ,GAAG7V,OAAO,CAAC,CAAC,CAAC;IAC5B,CAAC,MAAM;MACLiF,IAAI,CAAC0Q,QAAQ,GAAG1Q,IAAI,CAACyS,IAAI;IAC3B;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAStB,OAAO,CAAEuB,SAAS,EAAE1S,IAAI,EAAE;EACjC,IAAK,QAAO0S,SAAS,MAAK,QAAQ,IAAK,CAAC1S,IAAI,EAAE;IAC5CA,IAAI,GAAG0S,SAAS;IAChBA,SAAS,GAAG,IAAI;EAClB;EAEA1S,IAAI,GAAGA,IAAI,IAAI,CAAC,CAAC;EAEjB,IAAI0S,SAAS,EAAE;IACb,IAAIC,MAAM,GAAGrmB,GAAG,CAAClM,KAAK,CAACsyB,SAAS,EAAE,IAAI,CAAC;IACvC,IAAIC,MAAM,CAACxC,IAAI,IAAI,IAAI,EAAE;MACvBwC,MAAM,CAACxC,IAAI,GAAGloB,MAAM,CAAC0qB,MAAM,CAACxC,IAAI,CAAC;IACnC;IAEAnQ,IAAI,GAAGgS,KAAK,CAACW,MAAM,EAAE3S,IAAI,CAAC;IAE1B,IAAIA,IAAI,CAACzL,QAAQ,KAAK,IAAI,EAAE;MAC1B,MAAM,IAAI/V,KAAK,CAAC,kBAAkB,CAAC;IACrC;IACAwhB,IAAI,CAACzL,QAAQ,GAAGyL,IAAI,CAACzL,QAAQ,CAACjW,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;EACjD;;EAEA;EACAk0B,gBAAgB,CAACxS,IAAI,CAAC;;EAEtB;EACA,IAAIA,IAAI,CAAC8H,KAAK,IAAI,OAAO9H,IAAI,CAAC8H,KAAK,CAACwI,QAAQ,KAAK,QAAQ,EAAE;IACzDtQ,IAAI,CAACsQ,QAAQ,GAAGtQ,IAAI,CAAC8H,KAAK,CAACwI,QAAQ;EACrC;EAEA,IAAItQ,IAAI,CAAC4S,IAAI,IAAI5S,IAAI,CAAC3iB,GAAG,EAAE;IACzB,IAAI2iB,IAAI,CAACzL,QAAQ,EAAE;MACjB,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC1W,OAAO,CAACmiB,IAAI,CAACzL,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;QACzD,QAAQyL,IAAI,CAACzL,QAAQ;UACnB,KAAK,MAAM;YACTyL,IAAI,CAACzL,QAAQ,GAAG,OAAO;YACvB;UACF,KAAK,IAAI;YACPyL,IAAI,CAACzL,QAAQ,GAAG,KAAK;YACrB;UACF,KAAK,IAAI;YACPyL,IAAI,CAACzL,QAAQ,GAAG,KAAK;YACrB;UACF;YACE,MAAM,IAAI/V,KAAK,CAAC,2CAA2C,GAAGwhB,IAAI,CAACzL,QAAQ,GAAG,IAAI,CAAC;QAAA;MAEzF;IACF,CAAC,MAAM;MACL;MACA,MAAM,IAAI/V,KAAK,CAAC,6BAA6B,CAAC;IAChD;EACF;EAEA,IAAI,CAAC+U,SAAS,CAACyM,IAAI,CAACzL,QAAQ,CAAC,EAAE;IAC7B,IAAIse,QAAQ,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAACh1B,OAAO,CAACmiB,IAAI,CAACzL,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7DyL,IAAI,CAACzL,QAAQ,GAAG,CACd,MAAM,EACN,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,CACN,CAAC9G,MAAM,CAAC,UAAUpQ,GAAG,EAAEuG,KAAK,EAAE;MAC7B,IAAIivB,QAAQ,IAAIjvB,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;QAC/B;QACA,OAAO,KAAK;MACd;MACA,OAAQ,OAAO2P,SAAS,CAAClW,GAAG,CAAC,KAAK,UAAU;IAC9C,CAAC,CAAC,CAAC,CAAC,CAAC;EACP;EAEA,IAAI2iB,IAAI,CAACwQ,KAAK,KAAK,KAAK,IAAI,CAACxQ,IAAI,CAACsQ,QAAQ,EAAE;IAC1C,MAAM,IAAI9xB,KAAK,CAAC,sCAAsC,CAAC;EACzD;EAEA,IAAIwhB,IAAI,CAACzL,QAAQ,EAAE;IACjByL,IAAI,CAAC8S,eAAe,GAAG9S,IAAI,CAACzL,QAAQ;EACtC;EAEA,SAASD,OAAO,CAAE0b,MAAM,EAAE;IACxB,IAAIhQ,IAAI,CAAC+S,OAAO,EAAE;MAChB,IAAI,CAAC/C,MAAM,CAACgD,eAAe,IAAIhD,MAAM,CAACgD,eAAe,KAAKhT,IAAI,CAAC+S,OAAO,CAACr0B,MAAM,EAAE;QAC7EsxB,MAAM,CAACgD,eAAe,GAAG,CAAC;MAC5B;MAEAhT,IAAI,CAAC1N,IAAI,GAAG0N,IAAI,CAAC+S,OAAO,CAAC/C,MAAM,CAACgD,eAAe,CAAC,CAAC1gB,IAAI;MACrD0N,IAAI,CAACmQ,IAAI,GAAGnQ,IAAI,CAAC+S,OAAO,CAAC/C,MAAM,CAACgD,eAAe,CAAC,CAAC7C,IAAI;MACrDnQ,IAAI,CAACzL,QAAQ,GAAI,CAACyL,IAAI,CAAC+S,OAAO,CAAC/C,MAAM,CAACgD,eAAe,CAAC,CAACze,QAAQ,GAAGyL,IAAI,CAAC8S,eAAe,GAAG9S,IAAI,CAAC+S,OAAO,CAAC/C,MAAM,CAACgD,eAAe,CAAC,CAACze,QAAS;MACvIyL,IAAI,CAACiT,QAAQ,GAAGjT,IAAI,CAAC1N,IAAI;MAEzB0d,MAAM,CAACgD,eAAe,EAAE;IAC1B;IAEA,OAAOzf,SAAS,CAACyM,IAAI,CAACzL,QAAQ,CAAC,CAACyb,MAAM,EAAEhQ,IAAI,CAAC;EAC/C;EAEA,OAAO,IAAI8R,UAAU,CAACxd,OAAO,EAAE0L,IAAI,CAAC;AACtC;AAEAgJ,MAAM,CAACC,OAAO,GAAGkI,OAAO;AACxBnI,MAAM,CAACC,OAAO,CAACkI,OAAO,GAAGA,OAAO;AAChCnI,MAAM,CAACC,OAAO,CAAC6I,UAAU,GAAGA,UAAU;AACtC9I,MAAM,CAACC,OAAO,CAAC8I,KAAK,GAAGA,KAAK,C;;;;;;;;;;;ACpJ5B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,0BAA0B,mBAAO,CAAC,cAAM;AACxC;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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I,CAACA,MAAM,KAAK,KAAK,EAAE;IACzB,IAAI,CAACA,MAAM,GAAG,CAAC;EACjB;EACA,OAAOtS,EAAE;AACX,CAAC;;AAED;AACA;AACA;AACA;AACAyO,UAAU,CAACnxB,SAAS,CAACo6B,gBAAgB,GAAG,YAAY;EAClD,OAAQ,IAAI,CAACpF,MAAM,KAAK,CAAC,GAAI,KAAK,GAAI,IAAI,CAACA,MAAM,GAAG,CAAE;AACxD,CAAC;AAED3M,MAAM,CAACC,OAAO,GAAG6I,UAAU,C;;;;;;;;;;;;ACxmC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA,QAAQ,yBAAyB;AACjC;AACA;AACA;;AAEA;AA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;AAEA;AACA,aAAa,mBAAO,CAAC,mCAA2B;AAChD;;AAEA;;AAEA,aAAa,mBAAO,CAAC,qBAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yBAAyB,mBAAO,CAAC,sBAAc;AAC/C,gBAAgB,mBAAO,CAAC,kBAAU;AAClC;;AAEA;AACA,gBAAgB,mBAAO,CAAC,cAAM;AAC9B;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,uCAA+B;AACxD,kBAAkB,mBAAO,CAAC,oCAA4B;AACtD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE,6EAA6E;AACtJ;;AAEA;AACA,qBAAqB,mBAAO,CAAC,0BAAkB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,0FAA0F;;AAE3I;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wCAAwC,mBAAO,CAAC,yBAAiB;AACjE;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,0BAAkB;;AAE/C;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,kGAAkG;AAClG,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,4FAA4F;AAC5F,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,mBAAO,CAAC,yBAAiB;AAC/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA,mDAAmD,iEAAiE;AACpH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA,C;;;;;;;;;;;;AC1/BA,+CAAa;;AAEb;AACA;AACA;AACA;AACA,oBAAoB;AACpB,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;AC3CA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;ACJA,iBAAiB,mBAAO,CAAC,gBAAQ;;;;;;;;;;;ACAjC;AACA;AACA,aAAa,mBAAO,CAAC,gBAAQ;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,mBAAW;AAChC,cAAc,mBAAO,CAAC,iBAAS;AAC/B,cAAc,mBAAO,CAAC,iBAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;AC5vDY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;;AAEnB;AACA;AACA,QAAQ,UAAU;;AAElB;AACA;;;;;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,gBAAQ;;AAEnC;AACA;AACA;;;;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1BA,e;;;;;;;;;;;ACAa;;AAEb,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,aAAa,mBAAO,CAAC,qBAAa;AAClC,WAAW,mBAAO,CAAC,cAAM;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA,C;;;;;;;;;;AC9EA,e;;;;;;;;;;;ACAa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,8BAAsB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,8BAAsB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,yBAAyB,mBAAO,CAAC,sBAAc;AAC/C,gBAAgB,mBAAO,CAAC,kBAAU;AAClC;;AAEA,eAAe,mBAAO,CAAC,4BAAoB;AAC3C,eAAe,mBAAO,CAAC,4BAAoB;;AAE3C;;AAEA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;;AAEA,UAAU,mBAAO,CAAC,8BAAsB;AACxC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,yBAAyB,mBAAO,CAAC,sBAAc;AAC/C,gBAAgB,mBAAO,CAAC,kBAAU;AAClC;;AAEA;AACA;AACA,aAAa,mBAAO,CAAC,wBAAgB;AACrC;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,mCAA2B;AAChD;;AAEA;;AAEA,aAAa,mBAAO,CAAC,qBAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kBAAkB,mBAAO,CAAC,oCAA4B;;AAEtD;;AAEA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,0BAAkB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAiD,0FAA0F;;AAE3I;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAO,CAAC,0BAAkB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;;AAEA,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oDAAoD;AACpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;AC7qBA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,aAAa,mBAAO,CAAC,qBAAa;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,sCAAsC,sCAAsC;AACzG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;ACvSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,aAAa,mBAAO,CAAC,0BAAkB;;AAEvC;AACA,yBAAyB,mBAAO,CAAC,sBAAc;AAC/C,gBAAgB,mBAAO,CAAC,kBAAU;AAClC;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,C;;;;;;;;;;;ACrNA;AACA;AACA;A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ACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,4BAA4B;AAC9B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7FA,aAAa,mBAAO,CAAC,iBAAQ;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;;;;;;;;;;AChCY;;AAEZnS,OAAO,CAACkO,MAAM,GAAGhO,mBAAO,CAAC,mBAAU,CAAC;AACpCF,OAAO,CAAC+d,QAAQ,GAAG7d,mBAAO,CAAC,qBAAY,CAAC;AACxCF,OAAO,CAACqL,aAAa,GAAGnL,mBAAO,CAAC,0BAAiB,CAAC,C;;;;;;;;;;;ACJtC;;AAEZ,IAAI8d,EAAE,GAAG9d,mBAAO,CAAC,aAAI,CAAC;AACtB,IAAImK,QAAQ,GAAGnK,mBAAO,CAAC,kBAAU,CAAC;AAClC,IAAI+d,EAAE,GAAG/d,mBAAO,CAAC,gBAAQ,CAAC,CAAC6N,YAAY;AACvC,IAAImQ,MAAM,GAAGhe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AACyiC,CAAC,CAAC,CAAC,CAACA,CAAC,CAAC,CAAC,CAAC,CAAC;MACtD,CAAC;IACH,CAAC,EAACA,CAAC,CAAC;EACN;AACF,CAAC,GAAE;AAGHvjB,MAAM,CAACC,OAAO,GAAGwhB,UAAU,C;;;;;;;;;;ACjS3B,iBAAiB,mBAAO,CAAC,iCAAyB;;;;;;;;;;;ACAlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,uBAAuB,SAAS;AAChC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,mBAAmB,yIAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,KAAK;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,6BAAoB;;AAE/C;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,mBAAmB,mBAAO,CAAC,kBAAU;;AAErC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA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,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGk6B,MAAM,CAACv6B,MAAM,EAAEK,CAAC,EAAE,EAAE;IACtC,IAAI,CAACgyC,aAAa,CAAC9X,MAAM,CAACl6B,CAAC,CAAC,CAAC,EAAE;MAC7B,OAAOk6B,MAAM,CAACl6B,CAAC,CAAC;IAClB;EACF;EACA,OAAO,IAAI;AACb;AAEAiqB,MAAM,CAACC,OAAO,GAAG;EACf8P,cAAc,EAAEA;AAClB,CAAC,C;;;;;;;;;;;ACnDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,mBAAU;AACjC,WAAW,mBAAO,CAAC,iBAAQ;;AAE3B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,KAAK;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,2CAA2C,KAAK;AAChD,0CAA0C,KAAK;AAC/C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,kBAAkB,mBAAO,CAAC,sBAAa;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3tBA;AACA,CAAC;;AAED;AACA,mBAAmB,KAA0B;AAC7C;AACA,kBAAkB,KAAyB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,MAAM;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,SAAS;AACrB;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,KAAK;AACL,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB;;AAExB,yCAAyC,qBAAqB;;AAE9D;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;;AAEtD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,iBAAiB;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,oBAAoB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,IAEU;AACZ;AACA,EAAE,mCAAmB;AACrB;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAaN;;AAEF,CAAC;;;;;;;;;;;;ACphBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACfa;;AAEb,iCAAiC,mBAAO,CAAC,mBAAU;AACnD,qCAAqC,mBAAO,CAAC,mBAAU;;;;;;;;;;;;ACHvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpFY;;AACZ,IAAIiY,GAAG,GAAG7nB,mBAAO,CAAC,cAAK,CAAC;;AAExB;AACA;AACA;AACA;AACA,SAAS8nB,YAAY,CAAEjhB,MAAM,EAAEhQ,IAAI,EAAE;EACnC,IAAImQ,IAAI,EAAE7d,IAAI;EACd0N,IAAI,CAACmQ,IAAI,GAAGnQ,IAAI,CAACmQ,IAAI,IAAI,IAAI;EAC7BnQ,IAAI,CAACiT,QAAQ,GAAGjT,IAAI,CAACiT,QAAQ,IAAIjT,IAAI,CAAC1N,IAAI,IAAI,WAAW;EAEzD6d,IAAI,GAAGnQ,IAAI,CAACmQ,IAAI;EAChB7d,IAAI,GAAG0N,IAAI,CAACiT,QAAQ;EAEpB,OAAO+d,GAAG,CAACE,gB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G;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B,EAAE;AACvE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,cAAc,qBAAqB;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,oCAAoC,EAAE;AAClE;AACA;;AAEA;AACA,4BAA4B;AAC5B,uEAAuE,EAAE;AACzE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;;AAER;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,uBAAuB,EAAE;;AAE9D;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS,qBAAqB;;AAE1D;AACA;AACA;;AAEA;AACA,OAAO,IAAqC;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,6BAA6B,oCAAoC,EAAE;;AAEnE;AACA,KAAK,KAAqC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,mBAAmB,EAAE;AACnD,+BAA+B,yCAAyC,EAAE;AAC1E,GAAG;AACH,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD,mCAAmC,wCAAwC,EAAE;AAC7E,OAAO;AACP,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD,mCAAmC,+CAA+C,EAAE;AACpF,OAAO;AACP,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,yCAAyC,aAAa;AACtD;AACA;;AAEA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;AACA,6CAA6C,6CAA6C,EAAE;AAC5F;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;;AAEA,yEAAyE,iCAAiC;AAC1G;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB,EAAE;AACjD;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,yBAAyB,EAAE;AACzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,aAAoB;AACtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C,uBAAuB,2CAA2C;AAClE,KAAK;AACL;AACA,wBAAwB,0CAA0C;AAClE;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,4BAA4B;AAC5D,SAAS,IAAqC;AAC9C;AACA;AACA,GAAG,GAAG,yBAAyB;AAC/B;;AAEA;AACA,4CAA4C,mBAAmB,EAAE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW;AACX;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA,iCAAiC,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AAC1F,iBAAiB,iBAAiB,QAAQ,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB;AACzG,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,UAAU,qBAAqB,EAAE,EAAE;AACjE,2CAA2C,UAAU,0BAA0B,EAAE,EAAE;AACnF;;AAEA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC;AAChC,0BAA0B,iFAAiF,aAAa;AACxH,oCAAoC,+DAA+D,cAAc;AACjH,oDAAoD,6EAA6E,YAAY;AAC7I,sCAAsC,yEAAyE,aAAa;AAC5H,gDAAgD,yEAAyE,YAAY;AACrI,sCAAsC;AACtC,kCAAkC;AAClC,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD;AACtD,oDAAoD;AACpD,sDAAsD;AACtD;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;AC3tCA;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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;EAC3CgE,OAAO,CAACud,GAAG,wBAAiB3iB,OAAO,oCAAiC,yEAAyE,CAAC;AAC/I;AAAC,eAEc;EACXnE,CAAC,EAAEmE,OAAO;EACVA,OAAO,EAAPA,OAAO;EACP;EACA4H,IAAI,EAAE,CACF,SAAS,EACT,SAAS,EACT,MAAM,EACN,OAAO,EACP,SAAS,CACZ;EACD;EACAujC,KAAK,EAAE;IACH,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,SAAS;IACzB,iBAAiB,EAAE,SAAS;IAC5B,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE;EACrB,CAAC;EACJ;EACA+O,IAAI,EAAE;AACP,CAAC;AAAA,2B;;;;;;;;;;;;;;;;;;;AC5BD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAmC;AAAA;AAEnC,IACI/O,KAAK,GACLL,eAAM,CADNK,KAAK;AACC,muCAGHmV,oBAAW,GACXC,cAAK,GACLC,cAAK,GACLC,eAAM,GACNC,oBAAW,GACXC,gBAAO,GACPC,cAAK,GACLC,eAAM,GACNC,iBAAQ,GACRC,oBAAW,GACXC,aAAI,GACJC,kBAAS,GACTC,iBAAQ,GACRC,sBAAa,GACbC,uBAAc,GACdz1B,aAAI,GACJ01B,kBAAS,GACTC,YAAG,GACHC,i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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n 'lanDebug',\r\n 'router',\r\n 'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n return false\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n const newWx = {}\r\n for (const key in oldWx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = oldWx[key]\r\n }\r\n }\r\n return newWx\r\n}\r\ntarget[key] = initWx()\r\nexport default target[key]\r\n","import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n for (; i < str.length;) {\r\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n }\r\n return result\r\n };\r\n} else {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n const token = ( wx).getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0\r\n }\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n } catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n Vue.prototype.uniIDHasRole = function (roleId) {\r\n const {\r\n role\r\n } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1\r\n };\r\n Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n const {\r\n permission\r\n } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n };\r\n Vue.prototype.uniIDTokenValid = function () {\r\n const {\r\n tokenExpired\r\n } = getCurrentUserInfo();\r\n return tokenExpired > Date.now()\r\n };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isObject (obj) {\r\n return obj !== null && typeof obj === 'object'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n const sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj).sort().forEach(key => {\r\n sortObj[key] = obj[key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data, params) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook, params));\r\n } else {\r\n const res = hook(data, params);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () { }\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res, options).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n return api(\r\n wrapperOptions(getApiInterceptorHooks(method), options),\r\n ...params\r\n )\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then(res => {\r\n if (res[0]) {\r\n reject(res[0]);\r\n } else {\r\n resolve(res[1]);\r\n }\r\n });\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name) || !isFn(api)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n } else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n if (!isEnableLocale()) {\r\n return\r\n }\r\n const localeKeys = Object.keys(__uniConfig.locales);\r\n if (localeKeys.length) {\r\n localeKeys.forEach((locale) => {\r\n const curMessages = messages[locale];\r\n const userMessages = __uniConfig.locales[locale];\r\n if (curMessages) {\r\n Object.assign(curMessages, userMessages);\r\n } else {\r\n messages[locale] = userMessages;\r\n }\r\n });\r\n }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n locale,\r\n {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n beforeCreate () {\r\n const unwatch = i18n.i18n.watchLocale(() => {\r\n this.$forceUpdate();\r\n });\r\n this.$once('hook:beforeDestroy', function () {\r\n unwatch();\r\n });\r\n },\r\n methods: {\r\n $$t (key, values) {\r\n return t(key, values)\r\n }\r\n }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n const state = Vue.observable({\r\n locale: locale || i18n.getLocale()\r\n });\r\n const localeWatchers = [];\r\n appVm.$watchLocale = fn => {\r\n localeWatchers.push(fn);\r\n };\r\n Object.defineProperty(appVm, '$locale', {\r\n get () {\r\n return state.locale\r\n },\r\n set (v) {\r\n state.locale = v;\r\n localeWatchers.forEach(watch => watch(v));\r\n }\r\n });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n if (!locale) {\r\n return\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT\r\n }\r\n return LOCALE_ZH_HANS\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang\r\n }\r\n}\r\n// export function initI18n() {\r\n// const localeKeys = Object.keys(__uniConfig.locales || {})\r\n// if (localeKeys.length) {\r\n// localeKeys.forEach((locale) =>\r\n// i18n.add(locale, __uniConfig.locales[locale])\r\n// )\r\n// }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n // 优先使用 $locale\r\n if (isFn(getApp)) {\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale\r\n }\r\n }\r\n return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n const app = isFn(getApp) ? getApp() : false;\r\n if (!app) {\r\n return false\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({\r\n locale\r\n }));\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n getLocale: getLocale$1,\r\n setLocale: setLocale$1,\r\n onLocaleChange: onLocaleChange,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n const pages = getCurrentPages();\r\n let len = pages.length;\r\n while (len--) {\r\n const page = pages[len];\r\n if (page.$page && page.$page.fullPath === url) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nvar redirectTo = {\r\n name (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n return 'navigateBack'\r\n }\r\n return 'redirectTo'\r\n },\r\n args (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.url) {\r\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n if (existsPageIndex !== -1) {\r\n const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n if (delta > 0) {\r\n fromArgs.delta = delta;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId\r\n });\r\n }\r\n result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.screenHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n const {\r\n brand = '', model = '', system = '',\r\n language = '', theme, version,\r\n platform, fontSizeSetting,\r\n SDKVersion, pixelRatio, deviceOrientation\r\n } = result;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n const extraParam = {};\r\n\r\n // osName osVersion\r\n let osName = '';\r\n let osVersion = '';\r\n {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n let hostVersion = version;\r\n\r\n // deviceType\r\n const deviceType = getGetDeviceType(result, model);\r\n\r\n // deviceModel\r\n const deviceBrand = getDeviceBrand(brand);\r\n\r\n // hostName\r\n const _hostName = getHostName(result);\r\n\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n\r\n // hostLanguage\r\n const hostLanguage = language.replace(/_/g, '-');\r\n\r\n // wx.getAccountInfoSync\r\n\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined\r\n };\r\n\r\n Object.assign(result, parameters, extraParam);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n let deviceType = result.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc'\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break\r\n }\r\n }\r\n }\r\n return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = brand.toLocaleLowerCase();\r\n }\r\n return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n return getLocale$1\r\n ? getLocale$1()\r\n : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n const _platform = 'WeChat' ;\r\n let _hostName = result.hostName || _platform; // mp-jd\r\n {\r\n if (result.environment) {\r\n _hostName = result.environment;\r\n } else if (result.host && result.host.env) {\r\n _hostName = result.host.env;\r\n }\r\n }\r\n\r\n return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n useDeviceId(result);\r\n addSafeAreaInsets(result);\r\n populateParameters(result);\r\n }\r\n};\r\n\r\nvar showActionSheet = {\r\n args (fromArgs) {\r\n if (typeof fromArgs === 'object') {\r\n fromArgs.alertText = fromArgs.title;\r\n }\r\n }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n returnValue: function (result) {\r\n const { version, language, SDKVersion, theme } = result;\r\n\r\n const _hostName = getHostName(result);\r\n\r\n const hostLanguage = language.replace('_', '-');\r\n\r\n result = sortObject(Object.assign(result, {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme\r\n }));\r\n }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n returnValue: function (result) {\r\n const { brand, model } = result;\r\n const deviceType = getGetDeviceType(result, model);\r\n const deviceBrand = getDeviceBrand(brand);\r\n useDeviceId(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model\r\n }));\r\n }\r\n};\r\n\r\nvar getWindowInfo = {\r\n returnValue: function (result) {\r\n addSafeAreaInsets(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n windowTop: 0,\r\n windowBottom: 0\r\n }));\r\n }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n returnValue: function (result) {\r\n const { locationReducedAccuracy } = result;\r\n\r\n result.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n result.locationAccuracy = 'reduced';\r\n } else if (locationReducedAccuracy === false) {\r\n result.locationAccuracy = 'full';\r\n }\r\n }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst compressImage = {\r\n args (fromArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\r\n fromArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\r\n fromArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n }\r\n};\r\n\r\nconst protocols = {\r\n redirectTo,\r\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n previewImage,\r\n getSystemInfo,\r\n getSystemInfoSync: getSystemInfo,\r\n showActionSheet,\r\n getAppBaseInfo,\r\n getDeviceInfo,\r\n getWindowInfo,\r\n getAppAuthorizeSetting,\r\n compressImage\r\n};\r\nconst todos = [\r\n 'vibrate',\r\n 'preloadPage',\r\n 'unPreloadPage',\r\n 'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n if (isFn(fromArgs[key])) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n }\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n if (isFn(options.name)) {\r\n methodName = options.name(arg1);\r\n } else if (isStr(options.name)) {\r\n methodName = options.name;\r\n }\r\n const returnValue = wx[methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail method '${name}' not supported`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail service not found'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments)\r\n } catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n const apiCallbacks = {};\r\n for (const name in params) {\r\n const param = params[name];\r\n if (isFn(param)) {\r\n apiCallbacks[name] = tryCatch(param);\r\n delete params[name];\r\n }\r\n }\r\n return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n try {\r\n return JSON.parse(message)\r\n } catch (e) {}\r\n return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n args\r\n) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n } else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n } else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message)\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break\r\n }\r\n }\r\n } else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message)\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const {\r\n success,\r\n fail,\r\n complete\r\n } = getApiCallbacks(args);\r\n const hasSuccess = isFn(success);\r\n const hasFail = isFn(fail);\r\n const hasComplete = isFn(complete);\r\n\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'uniPush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n let res;\r\n if (cid) {\r\n res = {\r\n errMsg: 'getPushClientId:ok',\r\n cid\r\n };\r\n hasSuccess && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n };\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n } else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage =\r\n host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n shareVideoMessage: shareVideoMessage,\r\n getPushClientId: getPushClientId,\r\n onPushMessage: onPushMessage,\r\n offPushMessage: offPushMessage,\r\n invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector) || [];\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || toSkip(component);\r\n {\r\n if (component.dataset.vueGeneric === 'scoped') {\r\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n selectAllComponents(scopedComponent, selector, $refs);\r\n });\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction syncRefs (refs, newRefs) {\r\n const oldKeys = new Set(...Object.keys(refs));\r\n const newKeys = Object.keys(newRefs);\r\n newKeys.forEach(key => {\r\n const oldValue = refs[key];\r\n const newValue = newRefs[key];\r\n if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\r\n return\r\n }\r\n refs[key] = newValue;\r\n oldKeys.delete(key);\r\n });\r\n oldKeys.forEach(key => {\r\n delete refs[key];\r\n });\r\n return refs\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n const refs = {};\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n // TODO 暂不考虑 for 中的 scoped\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || toSkip(component));\r\n });\r\n return syncRefs(refs, $refs)\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction markMPComponent (component) {\r\n // 在 Vue 中标记为小程序组件\r\n const IS_MP = '__v_isMPComponent';\r\n Object.defineProperty(component, IS_MP, {\r\n configurable: true,\r\n enumerable: false,\r\n value: true\r\n });\r\n return component\r\n}\r\n\r\nfunction toSkip (obj) {\r\n const OB = '__ob__';\r\n const SKIP = '__v_skip';\r\n if (isObject(obj) && Object.isExtensible(obj)) {\r\n // 避免被 @vue/composition-api 观测\r\n Object.defineProperty(obj, OB, {\r\n configurable: true,\r\n enumerable: false,\r\n value: {\r\n [SKIP]: true\r\n }\r\n });\r\n }\r\n return obj\r\n}\r\n\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods (mpMethods, vueMethods) {\r\n if (vueMethods) {\r\n Object.keys(vueMethods).forEach((name) => {\r\n const matches = name.match(WORKLET_RE);\r\n if (matches) {\r\n const workletName = matches[1];\r\n mpMethods[name] = vueMethods[name];\r\n mpMethods[workletName] = vueMethods[workletName];\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\r\n if (this.$vm || (this.dataset && this.dataset.comType)) {\r\n event = customize(event);\r\n } else {\r\n // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\r\n const newEvent = customize(event);\r\n if (newEvent !== event) {\r\n oldTriggerEvent.apply(this, [newEvent, ...args]);\r\n }\r\n }\r\n return oldTriggerEvent.apply(this, [event, ...args])\r\n };\r\n try {\r\n // 京东小程序 triggerEvent 为只读\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n } catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n const oldHook = options[name];\r\n options[name] = function (...args) {\r\n markMPComponent(this);\r\n initTriggerEvent(this);\r\n if (oldHook) {\r\n return oldHook.apply(this, args)\r\n }\r\n };\r\n}\r\nif (!MPPage.__$wrappered) {\r\n MPPage.__$wrappered = true;\r\n Page = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n };\r\n Page.after = MPPage.after;\r\n\r\n Component = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\r\n findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\r\n}\r\n\r\nfunction findHooks (vueOptions, hooks = []) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\r\n hooks.push(name);\r\n }\r\n });\r\n }\r\n return hooks\r\n}\r\n\r\nfunction initHook$1 (mpOptions, hook, excludes) {\r\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n vueOptions = VueComponent.options;\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) { }\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n {\r\n if ( options.virtualHost) {\r\n properties.virtualHostStyle = {\r\n type: null,\r\n value: ''\r\n };\r\n properties.virtualHostClass = {\r\n type: null,\r\n value: ''\r\n };\r\n }\r\n }\r\n // scopedSlotsCompiler auto\r\n properties.scopedSlotsCompiler = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) { }\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n let vFor;\r\n if (Number.isInteger(dataPath)) {\r\n vFor = dataPath;\r\n } else if (!dataPath) {\r\n vFor = context;\r\n } else if (typeof dataPath === 'string' && dataPath) {\r\n if (dataPath.indexOf('#s#') === 0) {\r\n vFor = dataPath.substr(3);\r\n } else {\r\n vFor = vm.__get_value(dataPath, context);\r\n }\r\n }\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event, __args__) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath === 'arguments') {\r\n extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n\r\n // fixed 用户直接触发 mpInstance.triggerEvent\r\n const __args__ = isPlainObject(event.detail)\r\n ? event.detail.__args__ || [event.detail]\r\n : [event.detail];\r\n\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return __args__\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event, __args__);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n let $parent = vm.$parent;\r\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n $parent = $parent.$parent;\r\n }\r\n return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n const path = this.route || this.is;\r\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n let params = processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n );\r\n params = Array.isArray(params) ? params : [];\r\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n // eslint-disable-next-line no-sparse-arrays\r\n params = params.concat([, , , , , , , , , , event]);\r\n }\r\n ret.push(handler.apply(handlerCtx, params));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nfunction getEventChannel (id) {\r\n const eventChannel = eventChannels[id];\r\n delete eventChannels[id];\r\n return eventChannel\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n Vue.prototype.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return this.$scope.getOpenerEventChannel()\r\n }\r\n };\r\n const callHook = Vue.prototype.__call_hook;\r\n Vue.prototype.__call_hook = function (hook, args) {\r\n if (hook === 'onLoad' && args && args.__id__) {\r\n this.__eventChannel__ = getEventChannel(args.__id__);\r\n delete args.__id__;\r\n }\r\n return callHook.call(this, hook, args)\r\n };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n const center = {};\r\n const parents = {};\r\n\r\n function currentId (fn) {\r\n const vueIds = this.$options.propsData.vueId;\r\n if (vueIds) {\r\n const vueId = vueIds.split(',')[0];\r\n fn(vueId);\r\n }\r\n }\r\n\r\n Vue.prototype.$hasSSP = function (vueId) {\r\n const slot = center[vueId];\r\n if (!slot) {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n return slot\r\n };\r\n\r\n Vue.prototype.$getSSP = function (vueId, name, needAll) {\r\n const slot = center[vueId];\r\n if (slot) {\r\n const params = slot[name] || [];\r\n if (needAll) {\r\n return params\r\n }\r\n return params[0]\r\n }\r\n };\r\n\r\n Vue.prototype.$setSSP = function (name, value) {\r\n let index = 0;\r\n currentId.call(this, vueId => {\r\n const slot = center[vueId];\r\n const params = slot[name] = slot[name] || [];\r\n params.push(value);\r\n index = params.length - 1;\r\n });\r\n return index\r\n };\r\n\r\n Vue.prototype.$initSSP = function () {\r\n currentId.call(this, vueId => {\r\n center[vueId] = {};\r\n });\r\n };\r\n\r\n Vue.prototype.$callSSP = function () {\r\n currentId.call(this, vueId => {\r\n if (parents[vueId]) {\r\n parents[vueId].$forceUpdate();\r\n }\r\n });\r\n };\r\n\r\n Vue.mixin({\r\n destroyed () {\r\n const propsData = this.$options.propsData;\r\n const vueId = propsData && propsData.vueId;\r\n if (vueId) {\r\n delete center[vueId];\r\n delete parents[vueId];\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n initEventChannel();\r\n {\r\n initScopedSlotsParams();\r\n }\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n uniIdMixin(Vue);\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n if (\r\n ( this.mpType === 'page') &&\r\n typeof getApp === 'function'\r\n ) { // hack vue-i18n\r\n const app = getApp();\r\n if (app.$vm && app.$vm.$i18n) {\r\n this._i18n = app.$vm.$i18n;\r\n }\r\n }\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n initHooks(appOptions, hooks);\r\n initUnknownHooks(appOptions, vm.$options);\r\n\r\n return appOptions\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n .replace(encodeReserveRE, encodeReserveReplacer)\r\n .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n const res = obj ? Object.keys(obj).map(key => {\r\n const val = obj[key];\r\n\r\n if (val === undefined) {\r\n return ''\r\n }\r\n\r\n if (val === null) {\r\n return encodeStr(key)\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n const result = [];\r\n val.forEach(val2 => {\r\n if (val2 === undefined) {\r\n return\r\n }\r\n if (val2 === null) {\r\n result.push(encodeStr(key));\r\n } else {\r\n result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n }\r\n });\r\n return result.join('&')\r\n }\r\n\r\n return encodeStr(key) + '=' + encodeStr(val)\r\n }).filter(x => x.length > 0).join('&') : null;\r\n return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}, needVueOptions) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n // externalClasses\r\n if (vueOptions.externalClasses) {\r\n componentOptions.externalClasses = vueOptions.externalClasses;\r\n }\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (needVueOptions) {\r\n return [componentOptions, vueOptions, VueComponent]\r\n }\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions, needVueOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n }, needVueOptions)\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions) {\r\n const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vueOptions);\r\n\r\n pageOptions.methods.onLoad = function (query) {\r\n this.options = query;\r\n const copyQuery = Object.assign({}, query);\r\n delete copyQuery.__id__;\r\n this.$page = {\r\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n };\r\n this.$vm.$mp.query = query; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', query);\r\n };\r\n {\r\n initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\r\n }\r\n {\r\n initWorkletMethods(pageOptions.methods, vueOptions.methods);\r\n }\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions)\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n const appOptions = parseApp(vm);\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n vm.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach(name => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach(name => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n const appOptions = parseApp(vm);\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (hasOwn(target, name)) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, extraApi[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n [locale, messages] = [\n messages,\n locale,\n ];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. , , v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page\n if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){\n (slots['page'] || (slots['page'] = [])).push(child);\n }else{\n (slots.default || (slots.default = [])).push(child);\n }\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i, i, i); // fixed by xxxxxx\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i, i); // fixed by xxxxxx\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering \n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n // fixed by xxxxxx app-plus scopedSlot\n nodes = scopedSlotFn(props, this, props._i) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n callHook(componentInstance, 'onServiceCreated');\n callHook(componentInstance, 'onServiceAttached');\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n \n // fixed by xxxxxx update properties(mp runtime)\n vm._$updateProperties && vm._$updateProperties(vm);\n \n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n {\n if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn\n return\n }\n //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警\n if(\n key === 'value' && \n Array.isArray(vm.$options.behaviors) &&\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\n ){\n return\n }\n if(vm._getFormData){\n return\n }\n var $parent = vm.$parent;\n while($parent){\n if($parent.__next_tick_pending){\n return \n }\n $parent = $parent.$parent;\n }\n }\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.SharedObject.target) {// fixed by xxxxxx\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n !vm._$fallback && initInjections(vm); // resolve injections before data/props \n initState(vm);\n !vm._$fallback && initProvide(vm); // resolve provide after data/props\n !vm._$fallback && callHook(vm, 'created'); \n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\nvar NULLTYPE = '[object Null]';\nvar UNDEFINEDTYPE = '[object Undefined]';\n// const FUNCTIONTYPE = '[object Function]'\n\nfunction diff(current, pre) {\n var result = {};\n syncKeys(current, pre);\n _diff(current, pre, '', result);\n return result\n}\n\nfunction syncKeys(current, pre) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\n if(Object.keys(current).length >= Object.keys(pre).length){\n for (var key in pre) {\n var currentValue = current[key];\n if (currentValue === undefined) {\n current[key] = null;\n } else {\n syncKeys(currentValue, pre[key]);\n }\n }\n }\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\n if (current.length >= pre.length) {\n pre.forEach(function (item, index) {\n syncKeys(current[index], item);\n });\n }\n }\n}\n\nfunction nullOrUndefined(currentType, preType) {\n if(\n (currentType === NULLTYPE || currentType === UNDEFINEDTYPE) && \n (preType === NULLTYPE || preType === UNDEFINEDTYPE)\n ) {\n return false\n }\n return true\n}\n\nfunction _diff(current, pre, path, result) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE) {\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\n setResult(result, path, current);\n } else {\n var loop = function ( key ) {\n var currentValue = current[key];\n var preValue = pre[key];\n var currentType = type(currentValue);\n var preType = type(preValue);\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\n if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n }\n } else if (currentType == ARRAYTYPE) {\n if (preType != ARRAYTYPE) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n if (currentValue.length < preValue.length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n currentValue.forEach(function (item, index) {\n _diff(item, preValue[index], (path == '' ? '' : path + \".\") + key + '[' + index + ']', result);\n });\n }\n }\n } else if (currentType == OBJECTTYPE) {\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n for (var subKey in currentValue) {\n _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + \".\") + key + '.' + subKey, result);\n }\n }\n }\n };\n\n for (var key in current) loop( key );\n }\n } else if (rootCurrentType == ARRAYTYPE) {\n if (rootPreType != ARRAYTYPE) {\n setResult(result, path, current);\n } else {\n if (current.length < pre.length) {\n setResult(result, path, current);\n } else {\n current.forEach(function (item, index) {\n _diff(item, pre[index], path + '[' + index + ']', result);\n });\n }\n }\n } else {\n setResult(result, path, current);\n }\n}\n\nfunction setResult(result, k, v) {\n // if (type(v) != FUNCTIONTYPE) {\n result[k] = v;\n // }\n}\n\nfunction type(obj) {\n return Object.prototype.toString.call(obj)\n}\n\n/* */\r\n\r\nfunction flushCallbacks$1(vm) {\r\n if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n var mpInstance = vm.$scope;\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\r\n ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');\r\n }\r\n var copies = vm.__next_tick_callbacks.slice(0);\r\n vm.__next_tick_callbacks.length = 0;\r\n for (var i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\n\r\nfunction hasRenderWatcher(vm) {\r\n return queue.find(function (watcher) { return vm._watcher === watcher; })\r\n}\r\n\r\nfunction nextTick$1(vm, cb) {\r\n //1.nextTick 之前 已 setData 且 setData 还未回调完成\r\n //2.nextTick 之前存在 render watcher\r\n if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {\n if(process.env.VUE_APP_DEBUG){\n var mpInstance = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\n ']:nextVueTick');\n }\r\n return nextTick(cb, vm)\r\n }else{\n if(process.env.VUE_APP_DEBUG){\n var mpInstance$1 = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +\n ']:nextMPTick');\n }\n }\r\n var _resolve;\r\n if (!vm.__next_tick_callbacks) {\r\n vm.__next_tick_callbacks = [];\r\n }\r\n vm.__next_tick_callbacks.push(function () {\r\n if (cb) {\r\n try {\r\n cb.call(vm);\r\n } catch (e) {\r\n handleError(e, vm, 'nextTick');\r\n }\r\n } else if (_resolve) {\r\n _resolve(vm);\r\n }\r\n });\r\n // $flow-disable-line\r\n if (!cb && typeof Promise !== 'undefined') {\r\n return new Promise(function (resolve) {\r\n _resolve = resolve;\r\n })\r\n }\r\n}\n\n/* */\r\n\r\nfunction clearInstance(key, value) {\r\n // 简易去除 Vue 和小程序组件实例\r\n if (value) {\r\n if (value._isVue || value.__v_isMPComponent) {\r\n return {}\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction cloneWithData(vm) {\r\n // 确保当前 vm 所有数据被同步\r\n var ret = Object.create(null);\r\n var dataKeys = [].concat(\r\n Object.keys(vm._data || {}),\r\n Object.keys(vm._computedWatchers || {}));\r\n\r\n dataKeys.reduce(function(ret, key) {\r\n ret[key] = vm[key];\r\n return ret\r\n }, ret);\r\n\r\n // vue-composition-api\r\n var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;\r\n var rawBindings = compositionApiState && compositionApiState.rawBindings;\r\n if (rawBindings) {\r\n Object.keys(rawBindings).forEach(function (key) {\r\n ret[key] = vm[key];\r\n });\r\n }\r\n\r\n //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n Object.assign(ret, vm.$mp.data || {});\r\n if (\r\n Array.isArray(vm.$options.behaviors) &&\r\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n ) { //form-field\r\n ret['name'] = vm.name;\r\n ret['value'] = vm.value;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(ret, clearInstance))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n var this$1 = this;\n\r\n if (vnode === null) { //destroy\r\n return\r\n }\r\n if (this.mpType === 'page' || this.mpType === 'component') {\r\n var mpInstance = this.$scope;\r\n var data = Object.create(null);\r\n try {\r\n data = cloneWithData(this);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n data.__webviewId__ = mpInstance.data.__webviewId__;\r\n var mpData = Object.create(null);\r\n Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n mpData[key] = mpInstance.data[key];\r\n });\r\n var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n if (Object.keys(diffData).length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n ']差量更新',\r\n JSON.stringify(diffData));\r\n }\r\n this.__next_tick_pending = true;\r\n mpInstance.setData(diffData, function () {\r\n this$1.__next_tick_pending = false;\r\n flushCallbacks$1(this$1);\r\n });\r\n } else {\r\n flushCallbacks$1(this);\r\n }\r\n }\r\n};\n\n/* */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n vm,\n el,\n hydrating\n) {\n if (!vm.mpType) {//main.js 中的 new Vue\n return vm\n }\n if (vm.mpType === 'app') {\n vm.$options.render = createEmptyRender;\n }\n if (!vm.$options.render) {\n vm.$options.render = createEmptyRender;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n \n !vm._$fallback && callHook(vm, 'beforeMount');\n\n var updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before() {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n return vm\n}\n\n/* */\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/* */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n var parts = path.split('.');\r\n var key = parts[0];\r\n if (key.indexOf('__$n') === 0) { //number index\r\n key = parseInt(key.replace('__$n', ''));\r\n }\r\n if (parts.length === 1) {\r\n return obj[key]\r\n }\r\n return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n Vue.config.errorHandler = function(err, vm, info) {\r\n Vue.util.warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\r\n console.error(err);\r\n /* eslint-disable no-undef */\r\n var app = typeof getApp === 'function' && getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n }\r\n };\r\n\r\n var oldEmit = Vue.prototype.$emit;\r\n\r\n Vue.prototype.$emit = function(event) {\r\n if (this.$scope && event) {\r\n var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];\r\n if (triggerEvent) {\r\n try {\r\n triggerEvent.call(this.$scope, event, {\r\n __args__: toArray(arguments, 1)\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n return oldEmit.apply(this, arguments)\r\n };\r\n\r\n Vue.prototype.$nextTick = function(fn) {\r\n return nextTick$1(this, fn)\r\n };\r\n\r\n MP_METHODS.forEach(function (method) {\r\n Vue.prototype[method] = function(args) {\r\n if (this.$scope && this.$scope[method]) {\r\n return this.$scope[method](args)\r\n }\r\n // mp-alipay\r\n if (typeof my === 'undefined') {\r\n return\r\n }\r\n if (method === 'createSelectorQuery') {\r\n /* eslint-disable no-undef */\r\n return my.createSelectorQuery(args)\r\n } else if (method === 'createIntersectionObserver') {\r\n /* eslint-disable no-undef */\r\n return my.createIntersectionObserver(args)\r\n }\r\n // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent\r\n };\r\n });\r\n\r\n Vue.prototype.__init_provide = initProvide;\r\n\r\n Vue.prototype.__init_injections = initInjections;\r\n\r\n Vue.prototype.__call_hook = function(hook, args) {\r\n var vm = this;\r\n // #7573 disable dep collection when invoking lifecycle hooks\r\n pushTarget();\r\n var handlers = vm.$options[hook];\r\n var info = hook + \" hook\";\r\n var ret;\r\n if (handlers) {\r\n for (var i = 0, j = handlers.length; i < j; i++) {\r\n ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);\r\n }\r\n }\r\n if (vm._hasHookEvent) {\r\n vm.$emit('hook:' + hook, args);\r\n }\r\n popTarget();\r\n return ret\r\n };\r\n\r\n Vue.prototype.__set_model = function(target, key, value, modifiers) {\r\n if (Array.isArray(modifiers)) {\r\n if (modifiers.indexOf('trim') !== -1) {\r\n value = value.trim();\r\n }\r\n if (modifiers.indexOf('number') !== -1) {\r\n value = this._n(value);\r\n }\r\n }\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__set_sync = function(target, key, value) {\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__get_orig = function(item) {\r\n if (isPlainObject(item)) {\r\n return item['$orig'] || item\r\n }\r\n return item\r\n };\r\n\r\n Vue.prototype.__get_value = function(dataPath, target) {\r\n return getTarget(target || this, dataPath)\r\n };\r\n\r\n\r\n Vue.prototype.__get_class = function(dynamicClass, staticClass) {\r\n return renderClass(staticClass, dynamicClass)\r\n };\r\n\r\n Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {\r\n if (!dynamicStyle && !staticStyle) {\r\n return ''\r\n }\r\n var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);\r\n var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;\r\n return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + \":\" + (styleObj[name])); }).join(';')\r\n };\r\n\r\n Vue.prototype.__map = function(val, iteratee) {\r\n //TODO 暂不考虑 string\r\n var ret, i, l, keys, key;\r\n if (Array.isArray(val)) {\r\n ret = new Array(val.length);\r\n for (i = 0, l = val.length; i < l; i++) {\r\n ret[i] = iteratee(val[i], i);\r\n }\r\n return ret\r\n } else if (isObject(val)) {\r\n keys = Object.keys(val);\r\n ret = Object.create(null);\r\n for (i = 0, l = keys.length; i < l; i++) {\r\n key = keys[i];\r\n ret[key] = iteratee(val[key], key, i);\r\n }\r\n return ret\r\n } else if (typeof val === 'number') {\r\n ret = new Array(val);\r\n for (i = 0, l = val; i < l; i++) {\r\n // 第一个参数暂时仍和小程序一致\r\n ret[i] = iteratee(i, i);\r\n }\r\n return ret\r\n }\r\n return []\r\n };\r\n\r\n}\n\n/* */\r\n\r\nvar LIFECYCLE_HOOKS$1 = [\r\n //App\r\n 'onLaunch',\r\n 'onShow',\r\n 'onHide',\r\n 'onUniNViewMessage',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onError',\r\n 'onUnhandledRejection',\r\n //Page\r\n 'onInit',\r\n 'onLoad',\r\n // 'onShow',\r\n 'onReady',\r\n // 'onHide',\r\n 'onUnload',\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onTabItemTap',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onResize',\r\n 'onPageScroll',\r\n 'onNavigationBarButtonTap',\r\n 'onBackPress',\r\n 'onNavigationBarSearchInputChanged',\r\n 'onNavigationBarSearchInputConfirmed',\r\n 'onNavigationBarSearchInputClicked',\r\n 'onUploadDouyinVideo',\r\n 'onNFCReadMessage',\r\n //Component\r\n // 'onReady', // 兼容旧版本,应该移除该事件\r\n 'onPageShow',\r\n 'onPageHide',\r\n 'onPageResize'\r\n];\r\nfunction lifecycleMixin$1(Vue) {\r\n\r\n //fixed vue-class-component\r\n var oldExtend = Vue.extend;\r\n Vue.extend = function(extendOptions) {\r\n extendOptions = extendOptions || {};\r\n\r\n var methods = extendOptions.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(function (methodName) {\r\n if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {\r\n extendOptions[methodName] = methods[methodName];\r\n delete methods[methodName];\r\n }\r\n });\r\n }\r\n\r\n return oldExtend.call(this, extendOptions)\r\n };\r\n\r\n var strategies = Vue.config.optionMergeStrategies;\r\n var mergeHook = strategies.created;\r\n LIFECYCLE_HOOKS$1.forEach(function (hook) {\r\n strategies[hook] = mergeHook;\r\n });\r\n\r\n Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;\r\n}\n\n/* */\r\n\n// install platform patch function\r\nVue.prototype.__patch__ = patch;\r\n\r\n// public mount method\r\nVue.prototype.$mount = function(\r\n el ,\r\n hydrating \r\n) {\r\n return mountComponent$1(this, el, hydrating)\r\n};\r\n\r\nlifecycleMixin$1(Vue);\r\ninternalMixin(Vue);\n\n/* */\n\nexport default Vue;\n","import mqtt from 'mqtt'\r\nimport settings from '../settings.js' //全局属性\r\nimport store from '../store/index.js'\r\n\r\nexport default {\r\n\tclient: null, // mqtt连接 对象\r\n\thost: settings.mqttHost, // mqtt服务器地址\r\n\toptions: { // mqtt服务器 参数配置\r\n\t\tport: settings.mqttPort,\r\n\t\tconnectTimeout: 3000,\r\n\t\tclientId: store.state.userInfo.topic_prefix,\r\n\t\tclean: true,\r\n\t\tkeepalive: 60,\r\n\t\tusername: settings.mqttUserName,\r\n\t\tpassword: settings.mqttPassword\r\n\t},\r\n\tmqttConf,\r\n\tmqttDestroy,\r\n\tdoSubscribe,\r\n\tpublishFun\r\n}\r\n\r\n/**\r\n * @Description: mqtt对象初始化\r\n */\r\nfunction mqttConf() {\r\n\tif (!this.client) {\r\n\t\t// 链接mqtt\r\n\t\tthis.client = mqtt.connect(this.host, this.options)\r\n\t\t// mqtt服务器中断\r\n\t\tthis.client.on('error', () => {\r\n\t\t\tconsole.warn('指令服务器异常中断')\r\n\t\t})\r\n\t\t// 端口之后复连\r\n\t\tthis.client.on('reconnect', () => {\r\n\t\t\tconsole.warn('重新连接指令服务器')\r\n\t\t})\r\n\t\t// 监听断开连接事件\r\n\t\tthis.client.on('offline', () => {\r\n\t\t\tconsole.warn('指令服务器异常中断')\r\n\t\t\tstore.state.mqttState = false // 标记mqtt链接失败 掉线\r\n\t\t})\r\n\t}\r\n}\r\n/**\r\n * @description: 获取主题消息\r\n * @param {string} topic 主题名称\r\n * @param {fun} callBack 回调 传一个对象{topic订阅的主题,msg接收到主题的数据} 在父级给获取\r\n */\r\nfunction doSubscribe(topic, callBack) {\r\n\t// 订阅主题\r\n\tthis.client.on('connect', () => {\r\n\t\t// if (store.state.app.mqttState === false) {\r\n\t\t// \tconsole.log('成功连接指令服务器')\r\n\t\t// }\r\n\t\t// store.state.mqttState = true // 标记mqtt链接成功 在线\r\n\t\t// 订阅一个主题\r\n\t\tthis.client.subscribe(topic, {\r\n\t\t\tqos: 2\r\n\t\t}, err => {\r\n\t\t\tif (!err) {\r\n\t\t\t\tconsole.log(topic + '主题订阅成功')\r\n\t\t\t} else {\r\n\t\t\t\tconsole.warn(topic + '主题订阅失败')\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n\t// 获取订阅主题的消息\r\n\tthis.client.on('message', (topic, message) => {\r\n\t\tcallBack({\r\n\t\t\ttopic: topic,\r\n\t\t\tmsg: message.toString()\r\n\t\t})\r\n\t})\r\n}\r\n/**\r\n * @description: 向指定topic发送消息\r\n * @param {*} topic 发送信息到的主题 不包括前缀\r\n * @param {*} msg 要发送的信息\r\n */\r\nfunction publishFun(topic, msg) {\r\n\t// topic要保持一致\r\n\tthis.client.publish(topic, msg, {\r\n\t\tqos: 2\r\n\t})\r\n}\r\n/**\r\n * @Description: 销毁mqtt对象\r\n */\r\nfunction mqttDestroy() {\r\n\tif (this.client) {\r\n\t\tthis.client.end() // 离开页面的时候 关闭mqtt连接\r\n\t\tthis.client = null\r\n\t}\r\n}","'use strict'\r\n\r\nvar MqttClient = require('../client')\r\nvar Store = require('../store')\r\nvar url = require('url')\r\nvar xtend = require('xtend')\r\nvar protocols = {}\r\n\r\nif (process.title !== 'browser') {\r\n protocols.mqtt = require('./tcp')\r\n protocols.tcp = require('./tcp')\r\n protocols.ssl = require('./tls')\r\n protocols.tls = require('./tls')\r\n protocols.mqtts = require('./tls')\r\n} else {\r\n protocols.wx = require('./wx')\r\n protocols.wxs = require('./wx')\r\n}\r\n\r\nprotocols.ws = require('./ws')\r\nprotocols.wss = require('./ws')\r\n\r\n/**\r\n * Parse the auth attribute and merge username and password in the options object.\r\n *\r\n * @param {Object} [opts] option object\r\n */\r\nfunction parseAuthOptions (opts) {\r\n var matches\r\n if (opts.auth) {\r\n matches = opts.auth.match(/^(.+):(.+)$/)\r\n if (matches) {\r\n opts.username = matches[1]\r\n opts.password = matches[2]\r\n } else {\r\n opts.username = opts.auth\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * connect - connect to an MQTT broker.\r\n *\r\n * @param {String} [brokerUrl] - url of the broker, optional\r\n * @param {Object} opts - see MqttClient#constructor\r\n */\r\nfunction connect (brokerUrl, opts) {\r\n if ((typeof brokerUrl === 'object') && !opts) {\r\n opts = brokerUrl\r\n brokerUrl = null\r\n }\r\n\r\n opts = opts || {}\r\n\r\n if (brokerUrl) {\r\n var parsed = url.parse(brokerUrl, true)\r\n if (parsed.port != null) {\r\n parsed.port = Number(parsed.port)\r\n }\r\n\r\n opts = xtend(parsed, opts)\r\n\r\n if (opts.protocol === null) {\r\n throw new Error('Missing protocol')\r\n }\r\n opts.protocol = opts.protocol.replace(/:$/, '')\r\n }\r\n\r\n // merge in the auth options if supplied\r\n parseAuthOptions(opts)\r\n\r\n // support clientId passed in the query string of the url\r\n if (opts.query && typeof opts.query.clientId === 'string') {\r\n opts.clientId = opts.query.clientId\r\n }\r\n\r\n if (opts.cert && opts.key) {\r\n if (opts.protocol) {\r\n if (['mqtts', 'wss', 'wxs'].indexOf(opts.protocol) === -1) {\r\n switch (opts.protocol) {\r\n case 'mqtt':\r\n opts.protocol = 'mqtts'\r\n break\r\n case 'ws':\r\n opts.protocol = 'wss'\r\n break\r\n case 'wx':\r\n opts.protocol = 'wxs'\r\n break\r\n default:\r\n throw new Error('Unknown protocol for secure connection: \"' + opts.protocol + '\"!')\r\n }\r\n }\r\n } else {\r\n // don't know what protocol he want to use, mqtts or wss\r\n throw new Error('Missing secure protocol key')\r\n }\r\n }\r\n\r\n if (!protocols[opts.protocol]) {\r\n var isSecure = ['mqtts', 'wss'].indexOf(opts.protocol) !== -1\r\n opts.protocol = [\r\n 'mqtt',\r\n 'mqtts',\r\n 'ws',\r\n 'wss',\r\n 'wx',\r\n 'wxs'\r\n ].filter(function (key, index) {\r\n if (isSecure && index % 2 === 0) {\r\n // Skip insecure protocols when requesting a secure one.\r\n return false\r\n }\r\n return (typeof protocols[key] === 'function')\r\n })[0]\r\n }\r\n\r\n if (opts.clean === false && !opts.clientId) {\r\n throw new Error('Missing clientId for unclean clients')\r\n }\r\n\r\n if (opts.protocol) {\r\n opts.defaultProtocol = opts.protocol\r\n }\r\n\r\n function wrapper (client) {\r\n if (opts.servers) {\r\n if (!client._reconnectCount || client._reconnectCount === opts.servers.length) {\r\n client._reconnectCount = 0\r\n }\r\n\r\n opts.host = opts.servers[client._reconnectCount].host\r\n opts.port = opts.servers[client._reconnectCount].port\r\n opts.protocol = (!opts.servers[client._reconnectCount].protocol ? opts.defaultProtocol : opts.servers[client._reconnectCount].protocol)\r\n opts.hostname = opts.host\r\n\r\n client._reconnectCount++\r\n }\r\n\r\n return protocols[opts.protocol](client, opts)\r\n }\r\n\r\n return new MqttClient(wrapper, opts)\r\n}\r\n\r\nmodule.exports = connect\r\nmodule.exports.connect = connect\r\nmodule.exports.MqttClient = MqttClient\r\nmodule.exports.Store = Store\r\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","'use strict'\r\n\r\n/**\r\n * Module dependencies\r\n */\r\nvar events = require('events')\r\nvar Store = require('./store')\r\nvar eos = require('end-of-stream')\r\nvar mqttPacket = require('mqtt-packet')\r\nvar Writable = require('readable-stream').Writable\r\nvar inherits = require('inherits')\r\nvar reInterval = require('reinterval')\r\nvar validations = require('./validations')\r\nvar xtend = require('xtend')\r\nvar setImmediate = global.setImmediate || function (callback) {\r\n // works in node v0.8\r\n process.nextTick(callback)\r\n}\r\nvar defaultConnectOptions = {\r\n keepalive: 60,\r\n reschedulePings: true,\r\n protocolId: 'MQTT',\r\n protocolVersion: 4,\r\n reconnectPeriod: 1000,\r\n connectTimeout: 30 * 1000,\r\n clean: true,\r\n resubscribe: true\r\n}\r\n\r\nfunction defaultId () {\r\n return 'mqttjs_' + Math.random().toString(16).substr(2, 8)\r\n}\r\n\r\nfunction sendPacket (client, packet, cb) {\r\n client.emit('packetsend', packet)\r\n\r\n var result = mqttPacket.writeToStream(packet, client.stream)\r\n\r\n if (!result && cb) {\r\n client.stream.once('drain', cb)\r\n } else if (cb) {\r\n cb()\r\n }\r\n}\r\n\r\nfunction flush (queue) {\r\n if (queue) {\r\n Object.keys(queue).forEach(function (messageId) {\r\n if (typeof queue[messageId] === 'function') {\r\n queue[messageId](new Error('Connection closed'))\r\n delete queue[messageId]\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction storeAndSend (client, packet, cb) {\r\n client.outgoingStore.put(packet, function storedPacket (err) {\r\n if (err) {\r\n return cb && cb(err)\r\n }\r\n sendPacket(client, packet, cb)\r\n })\r\n}\r\n\r\nfunction nop () {}\r\n\r\n/**\r\n * MqttClient constructor\r\n *\r\n * @param {Stream} stream - stream\r\n * @param {Object} [options] - connection options\r\n * (see Connection#connect)\r\n */\r\nfunction MqttClient (streamBuilder, options) {\r\n var k\r\n var that = this\r\n\r\n if (!(this instanceof MqttClient)) {\r\n return new MqttClient(streamBuilder, options)\r\n }\r\n\r\n this.options = options || {}\r\n\r\n // Defaults\r\n for (k in defaultConnectOptions) {\r\n if (typeof this.options[k] === 'undefined') {\r\n this.options[k] = defaultConnectOptions[k]\r\n } else {\r\n this.options[k] = options[k]\r\n }\r\n }\r\n\r\n this.options.clientId = (typeof this.options.clientId === 'string') ? this.options.clientId : defaultId()\r\n\r\n this.streamBuilder = streamBuilder\r\n\r\n // Inflight message storages\r\n this.outgoingStore = this.options.outgoingStore || new Store()\r\n this.incomingStore = this.options.incomingStore || new Store()\r\n\r\n // Should QoS zero messages be queued when the connection is broken?\r\n this.queueQoSZero = this.options.queueQoSZero === undefined ? true : this.options.queueQoSZero\r\n\r\n // map of subscribed topics to support reconnection\r\n this._resubscribeTopics = {}\r\n\r\n // map of a subscribe messageId and a topic\r\n this.messageIdToTopic = {}\r\n\r\n // Ping timer, setup in _setupPingTimer\r\n this.pingTimer = null\r\n // Is the client connected?\r\n this.connected = false\r\n // Are we disconnecting?\r\n this.disconnecting = false\r\n // Packet queue\r\n this.queue = []\r\n // connack timer\r\n this.connackTimer = null\r\n // Reconnect timer\r\n this.reconnectTimer = null\r\n /**\r\n * MessageIDs starting with 1\r\n * ensure that nextId is min. 1, see https://github.com/mqttjs/MQTT.js/issues/810\r\n */\r\n this.nextId = Math.max(1, Math.floor(Math.random() * 65535))\r\n\r\n // Inflight callbacks\r\n this.outgoing = {}\r\n\r\n // Mark connected on connect\r\n this.on('connect', function () {\r\n if (this.disconnected) {\r\n return\r\n }\r\n\r\n this.connected = true\r\n var outStore = this.outgoingStore.createStream()\r\n\r\n this.once('close', remove)\r\n outStore.on('end', function () {\r\n that.removeListener('close', remove)\r\n })\r\n outStore.on('error', function (err) {\r\n that.removeListener('close', remove)\r\n that.emit('error', err)\r\n })\r\n\r\n function remove () {\r\n outStore.destroy()\r\n outStore = null\r\n }\r\n\r\n function storeDeliver () {\r\n // edge case, we wrapped this twice\r\n if (!outStore) {\r\n return\r\n }\r\n\r\n var packet = outStore.read(1)\r\n var cb\r\n\r\n if (!packet) {\r\n // read when data is available in the future\r\n outStore.once('readable', storeDeliver)\r\n return\r\n }\r\n\r\n // Avoid unnecessary stream read operations when disconnected\r\n if (!that.disconnecting && !that.reconnectTimer) {\r\n cb = that.outgoing[packet.messageId]\r\n that.outgoing[packet.messageId] = function (err, status) {\r\n // Ensure that the original callback passed in to publish gets invoked\r\n if (cb) {\r\n cb(err, status)\r\n }\r\n\r\n storeDeliver()\r\n }\r\n that._sendPacket(packet)\r\n } else if (outStore.destroy) {\r\n outStore.destroy()\r\n }\r\n }\r\n\r\n // start flowing\r\n storeDeliver()\r\n })\r\n\r\n // Mark disconnected on stream close\r\n this.on('close', function () {\r\n this.connected = false\r\n clearTimeout(this.connackTimer)\r\n })\r\n\r\n // Setup ping timer\r\n this.on('connect', this._setupPingTimer)\r\n\r\n // Send queued packets\r\n this.on('connect', function () {\r\n var queue = this.queue\r\n\r\n function deliver () {\r\n var entry = queue.shift()\r\n var packet = null\r\n\r\n if (!entry) {\r\n return\r\n }\r\n\r\n packet = entry.packet\r\n\r\n that._sendPacket(\r\n packet,\r\n function (err) {\r\n if (entry.cb) {\r\n entry.cb(err)\r\n }\r\n deliver()\r\n }\r\n )\r\n }\r\n\r\n deliver()\r\n })\r\n\r\n var firstConnection = true\r\n // resubscribe\r\n this.on('connect', function () {\r\n if (!firstConnection &&\r\n this.options.clean &&\r\n Object.keys(this._resubscribeTopics).length > 0) {\r\n if (this.options.resubscribe) {\r\n this._resubscribeTopics.resubscribe = true\r\n this.subscribe(this._resubscribeTopics)\r\n } else {\r\n this._resubscribeTopics = {}\r\n }\r\n }\r\n\r\n firstConnection = false\r\n })\r\n\r\n // Clear ping timer\r\n this.on('close', function () {\r\n if (that.pingTimer !== null) {\r\n that.pingTimer.clear()\r\n that.pingTimer = null\r\n }\r\n })\r\n\r\n // Setup reconnect timer on disconnect\r\n this.on('close', this._setupReconnect)\r\n\r\n events.EventEmitter.call(this)\r\n\r\n this._setupStream()\r\n}\r\ninherits(MqttClient, events.EventEmitter)\r\n\r\n/**\r\n * setup the event handlers in the inner stream.\r\n *\r\n * @api private\r\n */\r\nMqttClient.prototype._setupStream = function () {\r\n var connectPacket\r\n var that = this\r\n var writable = new Writable()\r\n var parser = mqttPacket.parser(this.options)\r\n var completeParse = null\r\n var packets = []\r\n\r\n this._clearReconnect()\r\n\r\n this.stream = this.streamBuilder(this)\r\n\r\n parser.on('packet', function (packet) {\r\n packets.push(packet)\r\n })\r\n\r\n function nextTickWork () {\r\n process.nextTick(work)\r\n }\r\n\r\n function work () {\r\n var packet = packets.shift()\r\n var done = completeParse\r\n\r\n if (packet) {\r\n that._handlePacket(packet, nextTickWork)\r\n } else {\r\n completeParse = null\r\n done()\r\n }\r\n }\r\n\r\n writable._write = function (buf, enc, done) {\r\n completeParse = done\r\n parser.parse(buf)\r\n work()\r\n }\r\n\r\n this.stream.pipe(writable)\r\n\r\n // Suppress connection errors\r\n this.stream.on('error', nop)\r\n\r\n // Echo stream close\r\n eos(this.stream, this.emit.bind(this, 'close'))\r\n\r\n // Send a connect packet\r\n connectPacket = Object.create(this.options)\r\n connectPacket.cmd = 'connect'\r\n // avoid message queue\r\n sendPacket(this, connectPacket)\r\n\r\n // Echo connection errors\r\n parser.on('error', this.emit.bind(this, 'error'))\r\n\r\n // many drain listeners are needed for qos 1 callbacks if the connection is intermittent\r\n this.stream.setMaxListeners(1000)\r\n\r\n clearTimeout(this.connackTimer)\r\n this.connackTimer = setTimeout(function () {\r\n that._cleanUp(true)\r\n }, this.options.connectTimeout)\r\n}\r\n\r\nMqttClient.prototype._handlePacket = function (packet, done) {\r\n this.emit('packetreceive', packet)\r\n\r\n switch (packet.cmd) {\r\n case 'publish':\r\n this._handlePublish(packet, done)\r\n break\r\n case 'puback':\r\n case 'pubrec':\r\n case 'pubcomp':\r\n case 'suback':\r\n case 'unsuback':\r\n this._handleAck(packet)\r\n done()\r\n break\r\n case 'pubrel':\r\n this._handlePubrel(packet, done)\r\n break\r\n case 'connack':\r\n this._handleConnack(packet)\r\n done()\r\n break\r\n case 'pingresp':\r\n this._handlePingresp(packet)\r\n done()\r\n break\r\n default:\r\n // do nothing\r\n // maybe we should do an error handling\r\n // or just log it\r\n break\r\n }\r\n}\r\n\r\nMqttClient.prototype._checkDisconnecting = function (callback) {\r\n if (this.disconnecting) {\r\n if (callback) {\r\n callback(new Error('client disconnecting'))\r\n } else {\r\n this.emit('error', new Error('client disconnecting'))\r\n }\r\n }\r\n return this.disconnecting\r\n}\r\n\r\n/**\r\n * publish - publish to \r\n *\r\n * @param {String} topic - topic to publish to\r\n * @param {String, Buffer} message - message to publish\r\n * @param {Object} [opts] - publish options, includes:\r\n * {Number} qos - qos level to publish on\r\n * {Boolean} retain - whether or not to retain the message\r\n * {Boolean} dup - whether or not mark a message as duplicate\r\n * @param {Function} [callback] - function(err){}\r\n * called when publish succeeds or fails\r\n * @returns {MqttClient} this - for chaining\r\n * @api public\r\n *\r\n * @example client.publish('topic', 'message');\r\n * @example\r\n * client.publish('topic', 'message', {qos: 1, retain: true, dup: true});\r\n * @example client.publish('topic', 'message', console.log);\r\n */\r\nMqttClient.prototype.publish = function (topic, message, opts, callback) {\r\n var packet\r\n\r\n // .publish(topic, payload, cb);\r\n if (typeof opts === 'function') {\r\n callback = opts\r\n opts = null\r\n }\r\n\r\n // default opts\r\n var defaultOpts = {qos: 0, retain: false, dup: false}\r\n opts = xtend(defaultOpts, opts)\r\n\r\n if (this._checkDisconnecting(callback)) {\r\n return this\r\n }\r\n\r\n packet = {\r\n cmd: 'publish',\r\n topic: topic,\r\n payload: message,\r\n qos: opts.qos,\r\n retain: opts.retain,\r\n messageId: this._nextId(),\r\n dup: opts.dup\r\n }\r\n\r\n switch (opts.qos) {\r\n case 1:\r\n case 2:\r\n\r\n // Add to callbacks\r\n this.outgoing[packet.messageId] = callback || nop\r\n this._sendPacket(packet)\r\n break\r\n default:\r\n this._sendPacket(packet, callback)\r\n break\r\n }\r\n\r\n return this\r\n}\r\n\r\n/**\r\n * subscribe - subscribe to \r\n *\r\n * @param {String, Array, Object} topic - topic(s) to subscribe to, supports objects in the form {'topic': qos}\r\n * @param {Object} [opts] - optional subscription options, includes:\r\n * {Number} qos - subscribe qos level\r\n * @param {Function} [callback] - function(err, granted){} where:\r\n * {Error} err - subscription error (none at the moment!)\r\n * {Array} granted - array of {topic: 't', qos: 0}\r\n * @returns {MqttClient} this - for chaining\r\n * @api public\r\n * @example client.subscribe('topic');\r\n * @example client.subscribe('topic', {qos: 1});\r\n * @example client.subscribe({'topic': 0, 'topic2': 1}, console.log);\r\n * @example client.subscribe('topic', console.log);\r\n */\r\nMqttClient.prototype.subscribe = function () {\r\n var packet\r\n var args = Array.prototype.slice.call(arguments)\r\n var subs = []\r\n var obj = args.shift()\r\n var resubscribe = obj.resubscribe\r\n var callback = args.pop() || nop\r\n var opts = args.pop()\r\n var invalidTopic\r\n var that = this\r\n\r\n delete obj.resubscribe\r\n\r\n if (typeof obj === 'string') {\r\n obj = [obj]\r\n }\r\n\r\n if (typeof callback !== 'function') {\r\n opts = callback\r\n callback = nop\r\n }\r\n\r\n invalidTopic = validations.validateTopics(obj)\r\n if (invalidTopic !== null) {\r\n setImmediate(callback, new Error('Invalid topic ' + invalidTopic))\r\n return this\r\n }\r\n\r\n if (this._checkDisconnecting(callback)) {\r\n return this\r\n }\r\n\r\n var defaultOpts = { qos: 0 }\r\n opts = xtend(defaultOpts, opts)\r\n\r\n if (Array.isArray(obj)) {\r\n obj.forEach(function (topic) {\r\n if (that._resubscribeTopics[topic] < opts.qos ||\r\n !that._resubscribeTopics.hasOwnProperty(topic) ||\r\n resubscribe) {\r\n subs.push({\r\n topic: topic,\r\n qos: opts.qos\r\n })\r\n }\r\n })\r\n } else {\r\n Object\r\n .keys(obj)\r\n .forEach(function (k) {\r\n if (that._resubscribeTopics[k] < obj[k] ||\r\n !that._resubscribeTopics.hasOwnProperty(k) ||\r\n resubscribe) {\r\n subs.push({\r\n topic: k,\r\n qos: obj[k]\r\n })\r\n }\r\n })\r\n }\r\n\r\n packet = {\r\n cmd: 'subscribe',\r\n subscriptions: subs,\r\n qos: 1,\r\n retain: false,\r\n dup: false,\r\n messageId: this._nextId()\r\n }\r\n\r\n if (!subs.length) {\r\n callback(null, [])\r\n return\r\n }\r\n\r\n // subscriptions to resubscribe to in case of disconnect\r\n if (this.options.resubscribe) {\r\n var topics = []\r\n subs.forEach(function (sub) {\r\n if (that.options.reconnectPeriod > 0) {\r\n that._resubscribeTopics[sub.topic] = sub.qos\r\n topics.push(sub.topic)\r\n }\r\n })\r\n that.messageIdToTopic[packet.messageId] = topics\r\n }\r\n\r\n this.outgoing[packet.messageId] = function (err, packet) {\r\n if (!err) {\r\n var granted = packet.granted\r\n for (var i = 0; i < granted.length; i += 1) {\r\n subs[i].qos = granted[i]\r\n }\r\n }\r\n\r\n callback(err, subs)\r\n }\r\n\r\n this._sendPacket(packet)\r\n\r\n return this\r\n}\r\n\r\n/**\r\n * unsubscribe - unsubscribe from topic(s)\r\n *\r\n * @param {String, Array} topic - topics to unsubscribe from\r\n * @param {Function} [callback] - callback fired on unsuback\r\n * @returns {MqttClient} this - for chaining\r\n * @api public\r\n * @example client.unsubscribe('topic');\r\n * @example client.unsubscribe('topic', console.log);\r\n */\r\nMqttClient.prototype.unsubscribe = function (topic, callback) {\r\n var packet = {\r\n cmd: 'unsubscribe',\r\n qos: 1,\r\n messageId: this._nextId()\r\n }\r\n var that = this\r\n\r\n callback = callback || nop\r\n\r\n if (this._checkDisconnecting(callback)) {\r\n return this\r\n }\r\n\r\n if (typeof topic === 'string') {\r\n packet.unsubscriptions = [topic]\r\n } else if (typeof topic === 'object' && topic.length) {\r\n packet.unsubscriptions = topic\r\n }\r\n\r\n if (this.options.resubscribe) {\r\n packet.unsubscriptions.forEach(function (topic) {\r\n delete that._resubscribeTopics[topic]\r\n })\r\n }\r\n\r\n this.outgoing[packet.messageId] = callback\r\n\r\n this._sendPacket(packet)\r\n\r\n return this\r\n}\r\n\r\n/**\r\n * end - close connection\r\n *\r\n * @returns {MqttClient} this - for chaining\r\n * @param {Boolean} force - do not wait for all in-flight messages to be acked\r\n * @param {Function} cb - called when the client has been closed\r\n *\r\n * @api public\r\n */\r\nMqttClient.prototype.end = function (force, cb) {\r\n var that = this\r\n\r\n if (typeof force === 'function') {\r\n cb = force\r\n force = false\r\n }\r\n\r\n function closeStores () {\r\n that.disconnected = true\r\n that.incomingStore.close(function () {\r\n that.outgoingStore.close(function () {\r\n if (cb) {\r\n cb.apply(null, arguments)\r\n }\r\n that.emit('end')\r\n })\r\n })\r\n if (that._deferredReconnect) {\r\n that._deferredReconnect()\r\n }\r\n }\r\n\r\n function finish () {\r\n // defer closesStores of an I/O cycle,\r\n // just to make sure things are\r\n // ok for websockets\r\n that._cleanUp(force, setImmediate.bind(null, closeStores))\r\n }\r\n\r\n if (this.disconnecting) {\r\n return this\r\n }\r\n\r\n this._clearReconnect()\r\n\r\n this.disconnecting = true\r\n\r\n if (!force && Object.keys(this.outgoing).length > 0) {\r\n // wait 10ms, just to be sure we received all of it\r\n this.once('outgoingEmpty', setTimeout.bind(null, finish, 10))\r\n } else {\r\n finish()\r\n }\r\n\r\n return this\r\n}\r\n\r\n/**\r\n * removeOutgoingMessage - remove a message in outgoing store\r\n * the outgoing callback will be called withe Error('Message removed') if the message is removed\r\n *\r\n * @param {Number} mid - messageId to remove message\r\n * @returns {MqttClient} this - for chaining\r\n * @api public\r\n *\r\n * @example client.removeOutgoingMessage(client.getLastMessageId());\r\n */\r\nMqttClient.prototype.removeOutgoingMessage = function (mid) {\r\n var cb = this.outgoing[mid]\r\n delete this.outgoing[mid]\r\n this.outgoingStore.del({messageId: mid}, function () {\r\n cb(new Error('Message removed'))\r\n })\r\n return this\r\n}\r\n\r\n/**\r\n * reconnect - connect again using the same options as connect()\r\n *\r\n * @param {Object} [opts] - optional reconnect options, includes:\r\n * {Store} incomingStore - a store for the incoming packets\r\n * {Store} outgoingStore - a store for the outgoing packets\r\n * if opts is not given, current stores are used\r\n * @returns {MqttClient} this - for chaining\r\n *\r\n * @api public\r\n */\r\nMqttClient.prototype.reconnect = function (opts) {\r\n var that = this\r\n var f = function () {\r\n if (opts) {\r\n that.options.incomingStore = opts.incomingStore\r\n that.options.outgoingStore = opts.outgoingStore\r\n } else {\r\n that.options.incomingStore = null\r\n that.options.outgoingStore = null\r\n }\r\n that.incomingStore = that.options.incomingStore || new Store()\r\n that.outgoingStore = that.options.outgoingStore || new Store()\r\n that.disconnecting = false\r\n that.disconnected = false\r\n that._deferredReconnect = null\r\n that._reconnect()\r\n }\r\n\r\n if (this.disconnecting && !this.disconnected) {\r\n this._deferredReconnect = f\r\n } else {\r\n f()\r\n }\r\n return this\r\n}\r\n\r\n/**\r\n * _reconnect - implement reconnection\r\n * @api privateish\r\n */\r\nMqttClient.prototype._reconnect = function () {\r\n this.emit('reconnect')\r\n this._setupStream()\r\n}\r\n\r\n/**\r\n * _setupReconnect - setup reconnect timer\r\n */\r\nMqttClient.prototype._setupReconnect = function () {\r\n var that = this\r\n\r\n if (!that.disconnecting && !that.reconnectTimer && (that.options.reconnectPeriod > 0)) {\r\n if (!this.reconnecting) {\r\n this.emit('offline')\r\n this.reconnecting = true\r\n }\r\n that.reconnectTimer = setInterval(function () {\r\n that._reconnect()\r\n }, that.options.reconnectPeriod)\r\n }\r\n}\r\n\r\n/**\r\n * _clearReconnect - clear the reconnect timer\r\n */\r\nMqttClient.prototype._clearReconnect = function () {\r\n if (this.reconnectTimer) {\r\n clearInterval(this.reconnectTimer)\r\n this.reconnectTimer = null\r\n }\r\n}\r\n\r\n/**\r\n * _cleanUp - clean up on connection end\r\n * @api private\r\n */\r\nMqttClient.prototype._cleanUp = function (forced, done) {\r\n if (done) {\r\n this.stream.on('close', done)\r\n }\r\n\r\n if (forced) {\r\n if ((this.options.reconnectPeriod === 0) && this.options.clean) {\r\n flush(this.outgoing)\r\n }\r\n this.stream.destroy()\r\n } else {\r\n this._sendPacket(\r\n { cmd: 'disconnect' },\r\n setImmediate.bind(\r\n null,\r\n this.stream.end.bind(this.stream)\r\n )\r\n )\r\n }\r\n\r\n if (!this.disconnecting) {\r\n this._clearReconnect()\r\n this._setupReconnect()\r\n }\r\n\r\n if (this.pingTimer !== null) {\r\n this.pingTimer.clear()\r\n this.pingTimer = null\r\n }\r\n\r\n if (done && !this.connected) {\r\n this.stream.removeListener('close', done)\r\n done()\r\n }\r\n}\r\n\r\n/**\r\n * _sendPacket - send or queue a packet\r\n * @param {String} type - packet type (see `protocol`)\r\n * @param {Object} packet - packet options\r\n * @param {Function} cb - callback when the packet is sent\r\n * @api private\r\n */\r\nMqttClient.prototype._sendPacket = function (packet, cb) {\r\n if (!this.connected) {\r\n if (((packet.qos || 0) === 0 && this.queueQoSZero) || packet.cmd !== 'publish') {\r\n this.queue.push({ packet: packet, cb: cb })\r\n } else if (packet.qos > 0) {\r\n cb = this.outgoing[packet.messageId]\r\n this.outgoingStore.put(packet, function (err) {\r\n if (err) {\r\n return cb && cb(err)\r\n }\r\n })\r\n } else if (cb) {\r\n cb(new Error('No connection to broker'))\r\n }\r\n\r\n return\r\n }\r\n\r\n // When sending a packet, reschedule the ping timer\r\n this._shiftPingInterval()\r\n\r\n switch (packet.cmd) {\r\n case 'publish':\r\n break\r\n case 'pubrel':\r\n storeAndSend(this, packet, cb)\r\n return\r\n default:\r\n sendPacket(this, packet, cb)\r\n return\r\n }\r\n\r\n switch (packet.qos) {\r\n case 2:\r\n case 1:\r\n storeAndSend(this, packet, cb)\r\n break\r\n /**\r\n * no need of case here since it will be caught by default\r\n * and jshint comply that before default it must be a break\r\n * anyway it will result in -1 evaluation\r\n */\r\n case 0:\r\n /* falls through */\r\n default:\r\n sendPacket(this, packet, cb)\r\n break\r\n }\r\n}\r\n\r\n/**\r\n * _setupPingTimer - setup the ping timer\r\n *\r\n * @api private\r\n */\r\nMqttClient.prototype._setupPingTimer = function () {\r\n var that = this\r\n\r\n if (!this.pingTimer && this.options.keepalive) {\r\n this.pingResp = true\r\n this.pingTimer = reInterval(function () {\r\n that._checkPing()\r\n }, this.options.keepalive * 1000)\r\n }\r\n}\r\n\r\n/**\r\n * _shiftPingInterval - reschedule the ping interval\r\n *\r\n * @api private\r\n */\r\nMqttClient.prototype._shiftPingInterval = function () {\r\n if (this.pingTimer && this.options.keepalive && this.options.reschedulePings) {\r\n this.pingTimer.reschedule(this.options.keepalive * 1000)\r\n }\r\n}\r\n/**\r\n * _checkPing - check if a pingresp has come back, and ping the server again\r\n *\r\n * @api private\r\n */\r\nMqttClient.prototype._checkPing = function () {\r\n if (this.pingResp) {\r\n this.pingResp = false\r\n this._sendPacket({ cmd: 'pingreq' })\r\n } else {\r\n // do a forced cleanup since socket will be in bad shape\r\n this._cleanUp(true)\r\n }\r\n}\r\n\r\n/**\r\n * _handlePingresp - handle a pingresp\r\n *\r\n * @api private\r\n */\r\nMqttClient.prototype._handlePingresp = function () {\r\n this.pingResp = true\r\n}\r\n\r\n/**\r\n * _handleConnack\r\n *\r\n * @param {Object} packet\r\n * @api private\r\n */\r\n\r\nMqttClient.prototype._handleConnack = function (packet) {\r\n var rc = packet.returnCode\r\n var errors = [\r\n '',\r\n 'Unacceptable protocol version',\r\n 'Identifier rejected',\r\n 'Server unavailable',\r\n 'Bad username or password',\r\n 'Not authorized'\r\n ]\r\n\r\n clearTimeout(this.connackTimer)\r\n\r\n if (rc === 0) {\r\n this.reconnecting = false\r\n this.emit('connect', packet)\r\n } else if (rc > 0) {\r\n var err = new Error('Connection refused: ' + errors[rc])\r\n err.code = rc\r\n this.emit('error', err)\r\n }\r\n}\r\n\r\n/**\r\n * _handlePublish\r\n *\r\n * @param {Object} packet\r\n * @api private\r\n */\r\n/*\r\nthose late 2 case should be rewrite to comply with coding style:\r\n\r\ncase 1:\r\ncase 0:\r\n // do not wait sending a puback\r\n // no callback passed\r\n if (1 === qos) {\r\n this._sendPacket({\r\n cmd: 'puback',\r\n messageId: mid\r\n });\r\n }\r\n // emit the message event for both qos 1 and 0\r\n this.emit('message', topic, message, packet);\r\n this.handleMessage(packet, done);\r\n break;\r\ndefault:\r\n // do nothing but every switch mus have a default\r\n // log or throw an error about unknown qos\r\n break;\r\n\r\nfor now i just suppressed the warnings\r\n*/\r\nMqttClient.prototype._handlePublish = function (packet, done) {\r\n done = typeof done !== 'undefined' ? done : nop\r\n var topic = packet.topic.toString()\r\n var message = packet.payload\r\n var qos = packet.qos\r\n var mid = packet.messageId\r\n var that = this\r\n\r\n switch (qos) {\r\n case 2:\r\n this.incomingStore.put(packet, function (err) {\r\n if (err) {\r\n return done(err)\r\n }\r\n that._sendPacket({cmd: 'pubrec', messageId: mid}, done)\r\n })\r\n break\r\n case 1:\r\n // emit the message event\r\n this.emit('message', topic, message, packet)\r\n this.handleMessage(packet, function (err) {\r\n if (err) {\r\n return done(err)\r\n }\r\n // send 'puback' if the above 'handleMessage' method executed\r\n // successfully.\r\n that._sendPacket({cmd: 'puback', messageId: mid}, done)\r\n })\r\n break\r\n case 0:\r\n // emit the message event\r\n this.emit('message', topic, message, packet)\r\n this.handleMessage(packet, done)\r\n break\r\n default:\r\n // do nothing\r\n // log or throw an error about unknown qos\r\n break\r\n }\r\n}\r\n\r\n/**\r\n * Handle messages with backpressure support, one at a time.\r\n * Override at will.\r\n *\r\n * @param Packet packet the packet\r\n * @param Function callback call when finished\r\n * @api public\r\n */\r\nMqttClient.prototype.handleMessage = function (packet, callback) {\r\n callback()\r\n}\r\n\r\n/**\r\n * _handleAck\r\n *\r\n * @param {Object} packet\r\n * @api private\r\n */\r\n\r\nMqttClient.prototype._handleAck = function (packet) {\r\n /* eslint no-fallthrough: \"off\" */\r\n var mid = packet.messageId\r\n var type = packet.cmd\r\n var response = null\r\n var cb = this.outgoing[mid]\r\n var that = this\r\n\r\n if (!cb) {\r\n // Server sent an ack in error, ignore it.\r\n return\r\n }\r\n\r\n // Process\r\n switch (type) {\r\n case 'pubcomp':\r\n // same thing as puback for QoS 2\r\n case 'puback':\r\n // Callback - we're done\r\n delete this.outgoing[mid]\r\n this.outgoingStore.del(packet, cb)\r\n break\r\n case 'pubrec':\r\n response = {\r\n cmd: 'pubrel',\r\n qos: 2,\r\n messageId: mid\r\n }\r\n\r\n this._sendPacket(response)\r\n break\r\n case 'suback':\r\n delete this.outgoing[mid]\r\n if (packet.granted.length === 1 && (packet.granted[0] & 0x80) !== 0) {\r\n // suback with Failure status\r\n var topics = this.messageIdToTopic[mid]\r\n if (topics) {\r\n topics.forEach(function (topic) {\r\n delete that._resubscribeTopics[topic]\r\n })\r\n }\r\n }\r\n cb(null, packet)\r\n break\r\n case 'unsuback':\r\n delete this.outgoing[mid]\r\n cb(null)\r\n break\r\n default:\r\n that.emit('error', new Error('unrecognized packet type'))\r\n }\r\n\r\n if (this.disconnecting &&\r\n Object.keys(this.outgoing).length === 0) {\r\n this.emit('outgoingEmpty')\r\n }\r\n}\r\n\r\n/**\r\n * _handlePubrel\r\n *\r\n * @param {Object} packet\r\n * @api private\r\n */\r\nMqttClient.prototype._handlePubrel = function (packet, callback) {\r\n callback = typeof callback !== 'undefined' ? callback : nop\r\n var mid = packet.messageId\r\n var that = this\r\n\r\n var comp = {cmd: 'pubcomp', messageId: mid}\r\n\r\n that.incomingStore.get(packet, function (err, pub) {\r\n if (!err && pub.cmd !== 'pubrel') {\r\n that.emit('message', pub.topic, pub.payload, pub)\r\n that.incomingStore.put(packet, function (err) {\r\n if (err) {\r\n return callback(err)\r\n }\r\n that.handleMessage(pub, function (err) {\r\n if (err) {\r\n return callback(err)\r\n }\r\n that._sendPacket(comp, callback)\r\n })\r\n })\r\n } else {\r\n that._sendPacket(comp, callback)\r\n }\r\n })\r\n}\r\n\r\n/**\r\n * _nextId\r\n * @return unsigned int\r\n */\r\nMqttClient.prototype._nextId = function () {\r\n // id becomes current state of this.nextId and increments afterwards\r\n var id = this.nextId++\r\n // Ensure 16 bit unsigned int (max 65535, nextId got one higher)\r\n if (this.nextId === 65536) {\r\n this.nextId = 1\r\n }\r\n return id\r\n}\r\n\r\n/**\r\n * getLastMessageId\r\n * @return unsigned int\r\n */\r\nMqttClient.prototype.getLastMessageId = function () {\r\n return (this.nextId === 1) ? 65535 : (this.nextId - 1)\r\n}\r\n\r\nmodule.exports = MqttClient\r\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict'\r\n\r\n/**\r\n * Module dependencies\r\n */\r\nvar xtend = require('xtend')\r\n\r\nvar Readable = require('readable-stream').Readable\r\nvar streamsOpts = { objectMode: true }\r\nvar defaultStoreOptions = {\r\n clean: true\r\n}\r\n\r\n/**\r\n * es6-map can preserve insertion order even if ES version is older.\r\n *\r\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Description\r\n * It should be noted that a Map which is a map of an object, especially\r\n * a dictionary of dictionaries, will only map to the object's insertion\r\n * order. In ES2015 this is ordered for objects but for older versions of\r\n * ES, this may be random and not ordered.\r\n *\r\n */\r\nvar Map = require('es6-map')\r\n\r\n/**\r\n * In-memory implementation of the message store\r\n * This can actually be saved into files.\r\n *\r\n * @param {Object} [options] - store options\r\n */\r\nfunction Store (options) {\r\n if (!(this instanceof Store)) {\r\n return new Store(options)\r\n }\r\n\r\n this.options = options || {}\r\n\r\n // Defaults\r\n this.options = xtend(defaultStoreOptions, options)\r\n\r\n this._inflights = new Map()\r\n}\r\n\r\n/**\r\n * Adds a packet to the store, a packet is\r\n * anything that has a messageId property.\r\n *\r\n */\r\nStore.prototype.put = function (packet, cb) {\r\n this._inflights.set(packet.messageId, packet)\r\n\r\n if (cb) {\r\n cb()\r\n }\r\n\r\n return this\r\n}\r\n\r\n/**\r\n * Creates a stream with all the packets in the store\r\n *\r\n */\r\nStore.prototype.createStream = function () {\r\n var stream = new Readable(streamsOpts)\r\n var destroyed = false\r\n var values = []\r\n var i = 0\r\n\r\n this._inflights.forEach(function (value, key) {\r\n values.push(value)\r\n })\r\n\r\n stream._read = function () {\r\n if (!destroyed && i < values.length) {\r\n this.push(values[i++])\r\n } else {\r\n this.push(null)\r\n }\r\n }\r\n\r\n stream.destroy = function () {\r\n if (destroyed) {\r\n return\r\n }\r\n\r\n var self = this\r\n\r\n destroyed = true\r\n\r\n process.nextTick(function () {\r\n self.emit('close')\r\n })\r\n }\r\n\r\n return stream\r\n}\r\n\r\n/**\r\n * deletes a packet from the store.\r\n */\r\nStore.prototype.del = function (packet, cb) {\r\n packet = this._inflights.get(packet.messageId)\r\n if (packet) {\r\n this._inflights.delete(packet.messageId)\r\n cb(null, packet)\r\n } else if (cb) {\r\n cb(new Error('missing packet'))\r\n }\r\n\r\n return this\r\n}\r\n\r\n/**\r\n * get a packet from the store.\r\n */\r\nStore.prototype.get = function (packet, cb) {\r\n packet = this._inflights.get(packet.messageId)\r\n if (packet) {\r\n cb(null, packet)\r\n } else if (cb) {\r\n cb(new Error('missing packet'))\r\n }\r\n\r\n return this\r\n}\r\n\r\n/**\r\n * Close the store\r\n */\r\nStore.prototype.close = function (cb) {\r\n if (this.options.clean) {\r\n this._inflights = null\r\n }\r\n if (cb) {\r\n cb()\r\n }\r\n}\r\n\r\nmodule.exports = Store\r\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","module.exports = require('events').EventEmitter;\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('buffer').Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/* (ignored) */","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","/* (ignored) */","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","'use strict';\n\nmodule.exports = require('./is-implemented')() ? Map : require('./polyfill');\n","'use strict';\n\nmodule.exports = function () {\n\tvar map, iterator, result;\n\tif (typeof Map !== 'function') return false;\n\ttry {\n\t\t// WebKit doesn't support arguments and crashes\n\t\tmap = new Map([['raz', 'one'], ['dwa', 'two'], ['trzy', 'three']]);\n\t} catch (e) {\n\t\treturn false;\n\t}\n\tif (String(map) !== '[object Map]') return false;\n\tif (map.size !== 3) return false;\n\tif (typeof map.clear !== 'function') return false;\n\tif (typeof map.delete !== 'function') return false;\n\tif (typeof map.entries !== 'function') return false;\n\tif (typeof map.forEach !== 'function') return false;\n\tif (typeof map.get !== 'function') return false;\n\tif (typeof map.has !== 'function') return false;\n\tif (typeof map.keys !== 'function') return false;\n\tif (typeof map.set !== 'function') return false;\n\tif (typeof map.values !== 'function') return false;\n\n\titerator = map.entries();\n\tresult = iterator.next();\n\tif (result.done !== false) return false;\n\tif (!result.value) return false;\n\tif (result.value[0] !== 'raz') return false;\n\tif (result.value[1] !== 'one') return false;\n\n\treturn true;\n};\n","'use strict';\n\nvar clear = require('es5-ext/array/#/clear')\n , eIndexOf = require('es5-ext/array/#/e-index-of')\n , setPrototypeOf = require('es5-ext/object/set-prototype-of')\n , callable = require('es5-ext/object/valid-callable')\n , validValue = require('es5-ext/object/valid-value')\n , d = require('d')\n , ee = require('event-emitter')\n , Symbol = require('es6-symbol')\n , iterator = require('es6-iterator/valid-iterable')\n , forOf = require('es6-iterator/for-of')\n , Iterator = require('./lib/iterator')\n , isNative = require('./is-native-implemented')\n\n , call = Function.prototype.call\n , defineProperties = Object.defineProperties, getPrototypeOf = Object.getPrototypeOf\n , MapPoly;\n\nmodule.exports = MapPoly = function (/*iterable*/) {\n\tvar iterable = arguments[0], keys, values, self;\n\tif (!(this instanceof MapPoly)) throw new TypeError('Constructor requires \\'new\\'');\n\tif (isNative && setPrototypeOf && (Map !== MapPoly)) {\n\t\tself = setPrototypeOf(new Map(), getPrototypeOf(this));\n\t} else {\n\t\tself = this;\n\t}\n\tif (iterable != null) iterator(iterable);\n\tdefineProperties(self, {\n\t\t__mapKeysData__: d('c', keys = []),\n\t\t__mapValuesData__: d('c', values = [])\n\t});\n\tif (!iterable) return self;\n\tforOf(iterable, function (value) {\n\t\tvar key = validValue(value)[0];\n\t\tvalue = value[1];\n\t\tif (eIndexOf.call(keys, key) !== -1) return;\n\t\tkeys.push(key);\n\t\tvalues.push(value);\n\t}, self);\n\treturn self;\n};\n\nif (isNative) {\n\tif (setPrototypeOf) setPrototypeOf(MapPoly, Map);\n\tMapPoly.prototype = Object.create(Map.prototype, {\n\t\tconstructor: d(MapPoly)\n\t});\n}\n\nee(defineProperties(MapPoly.prototype, {\n\tclear: d(function () {\n\t\tif (!this.__mapKeysData__.length) return;\n\t\tclear.call(this.__mapKeysData__);\n\t\tclear.call(this.__mapValuesData__);\n\t\tthis.emit('_clear');\n\t}),\n\tdelete: d(function (key) {\n\t\tvar index = eIndexOf.call(this.__mapKeysData__, key);\n\t\tif (index === -1) return false;\n\t\tthis.__mapKeysData__.splice(index, 1);\n\t\tthis.__mapValuesData__.splice(index, 1);\n\t\tthis.emit('_delete', index, key);\n\t\treturn true;\n\t}),\n\tentries: d(function () { return new Iterator(this, 'key+value'); }),\n\tforEach: d(function (cb/*, thisArg*/) {\n\t\tvar thisArg = arguments[1], iterator, result;\n\t\tcallable(cb);\n\t\titerator = this.entries();\n\t\tresult = iterator._next();\n\t\twhile (result !== undefined) {\n\t\t\tcall.call(cb, thisArg, this.__mapValuesData__[result],\n\t\t\t\tthis.__mapKeysData__[result], this);\n\t\t\tresult = iterator._next();\n\t\t}\n\t}),\n\tget: d(function (key) {\n\t\tvar index = eIndexOf.call(this.__mapKeysData__, key);\n\t\tif (index === -1) return;\n\t\treturn this.__mapValuesData__[index];\n\t}),\n\thas: d(function (key) {\n\t\treturn (eIndexOf.call(this.__mapKeysData__, key) !== -1);\n\t}),\n\tkeys: d(function () { return new Iterator(this, 'key'); }),\n\tset: d(function (key, value) {\n\t\tvar index = eIndexOf.call(this.__mapKeysData__, key), emit;\n\t\tif (index === -1) {\n\t\t\tindex = this.__mapKeysData__.push(key) - 1;\n\t\t\temit = true;\n\t\t}\n\t\tthis.__mapValuesData__[index] = value;\n\t\tif (emit) this.emit('_add', index, key);\n\t\treturn this;\n\t}),\n\tsize: d.gs(function () { return this.__mapKeysData__.length; }),\n\tvalues: d(function () { return new Iterator(this, 'value'); }),\n\ttoString: d(function () { return '[object Map]'; })\n}));\nObject.defineProperty(MapPoly.prototype, Symbol.iterator, d(function () {\n\treturn this.entries();\n}));\nObject.defineProperty(MapPoly.prototype, Symbol.toStringTag, d('c', 'Map'));\n","// Inspired by Google Closure:\n// http://closure-library.googlecode.com/svn/docs/\n// closure_goog_array_array.js.html#goog.array.clear\n\n\"use strict\";\n\nvar value = require(\"../../object/valid-value\");\n\nmodule.exports = function () {\n\tvalue(this).length = 0;\n\treturn this;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nvar numberIsNaN = require(\"../../number/is-nan\")\n , toPosInt = require(\"../../number/to-pos-integer\")\n , value = require(\"../../object/valid-value\")\n , indexOf = Array.prototype.indexOf\n , objHasOwnProperty = Object.prototype.hasOwnProperty\n , abs = Math.abs\n , floor = Math.floor;\n\nmodule.exports = function (searchElement /*, fromIndex*/) {\n\tvar i, length, fromIndex, val;\n\tif (!numberIsNaN(searchElement)) return indexOf.apply(this, arguments);\n\n\tlength = toPosInt(value(this).length);\n\tfromIndex = arguments[1];\n\tif (isNaN(fromIndex)) fromIndex = 0;\n\telse if (fromIndex >= 0) fromIndex = floor(fromIndex);\n\telse fromIndex = toPosInt(this.length) - floor(abs(fromIndex));\n\n\tfor (i = fromIndex; i < length; ++i) {\n\t\tif (objHasOwnProperty.call(this, i)) {\n\t\t\tval = this[i];\n\t\t\tif (numberIsNaN(val)) return i; // Jslint: ignore\n\t\t}\n\t}\n\treturn -1;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Number.isNaN : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar numberIsNaN = Number.isNaN;\n\tif (typeof numberIsNaN !== \"function\") return false;\n\treturn !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\t// eslint-disable-next-line no-self-compare\n\treturn value !== value;\n};\n","\"use strict\";\n\nvar toInteger = require(\"./to-integer\")\n , max = Math.max;\n\nmodule.exports = function (value) { return max(0, toInteger(value)); };\n","\"use strict\";\n\nvar sign = require(\"../math/sign\")\n , abs = Math.abs\n , floor = Math.floor;\n\nmodule.exports = function (value) {\n\tif (isNaN(value)) return 0;\n\tvalue = Number(value);\n\tif (value === 0 || !isFinite(value)) return value;\n\treturn sign(value) * floor(abs(value));\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Math.sign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar sign = Math.sign;\n\tif (typeof sign !== \"function\") return false;\n\treturn sign(10) === 1 && sign(-20) === -1;\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\tvalue = Number(value);\n\tif (isNaN(value) || value === 0) return value;\n\treturn value > 0 ? 1 : -1;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.setPrototypeOf : require(\"./shim\");\n","\"use strict\";\n\nvar create = Object.create, getPrototypeOf = Object.getPrototypeOf, plainObject = {};\n\nmodule.exports = function (/* CustomCreate*/) {\n\tvar setPrototypeOf = Object.setPrototypeOf, customCreate = arguments[0] || create;\n\tif (typeof setPrototypeOf !== \"function\") return false;\n\treturn getPrototypeOf(setPrototypeOf(customCreate(null), plainObject)) === plainObject;\n};\n","/* eslint no-proto: \"off\" */\n\n// Big thanks to @WebReflection for sorting this out\n// https://gist.github.com/WebReflection/5593554\n\n\"use strict\";\n\nvar isObject = require(\"../is-object\")\n , value = require(\"../valid-value\")\n , objIsPrototypeOf = Object.prototype.isPrototypeOf\n , defineProperty = Object.defineProperty\n , nullDesc = { configurable: true, enumerable: false, writable: true, value: undefined }\n , validate;\n\nvalidate = function (obj, prototype) {\n\tvalue(obj);\n\tif (prototype === null || isObject(prototype)) return obj;\n\tthrow new TypeError(\"Prototype must be null or an object\");\n};\n\nmodule.exports = (function (status) {\n\tvar fn, set;\n\tif (!status) return null;\n\tif (status.level === 2) {\n\t\tif (status.set) {\n\t\t\tset = status.set;\n\t\t\tfn = function (obj, prototype) {\n\t\t\t\tset.call(validate(obj, prototype), prototype);\n\t\t\t\treturn obj;\n\t\t\t};\n\t\t} else {\n\t\t\tfn = function (obj, prototype) {\n\t\t\t\tvalidate(obj, prototype).__proto__ = prototype;\n\t\t\t\treturn obj;\n\t\t\t};\n\t\t}\n\t} else {\n\t\tfn = function self(obj, prototype) {\n\t\t\tvar isNullBase;\n\t\t\tvalidate(obj, prototype);\n\t\t\tisNullBase = objIsPrototypeOf.call(self.nullPolyfill, obj);\n\t\t\tif (isNullBase) delete self.nullPolyfill.__proto__;\n\t\t\tif (prototype === null) prototype = self.nullPolyfill;\n\t\t\tobj.__proto__ = prototype;\n\t\t\tif (isNullBase) defineProperty(self.nullPolyfill, \"__proto__\", nullDesc);\n\t\t\treturn obj;\n\t\t};\n\t}\n\treturn Object.defineProperty(fn, \"level\", {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tvalue: status.level\n\t});\n})(\n\t(function () {\n\t\tvar tmpObj1 = Object.create(null)\n\t\t , tmpObj2 = {}\n\t\t , set\n\t\t , desc = Object.getOwnPropertyDescriptor(Object.prototype, \"__proto__\");\n\n\t\tif (desc) {\n\t\t\ttry {\n\t\t\t\tset = desc.set; // Opera crashes at this point\n\t\t\t\tset.call(tmpObj1, tmpObj2);\n\t\t\t} catch (ignore) {}\n\t\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { set: set, level: 2 };\n\t\t}\n\n\t\ttmpObj1.__proto__ = tmpObj2;\n\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 2 };\n\n\t\ttmpObj1 = {};\n\t\ttmpObj1.__proto__ = tmpObj2;\n\t\tif (Object.getPrototypeOf(tmpObj1) === tmpObj2) return { level: 1 };\n\n\t\treturn false;\n\t})()\n);\n\nrequire(\"../create\");\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n","// Workaround for http://code.google.com/p/v8/issues/detail?id=2804\n\n\"use strict\";\n\nvar create = Object.create, shim;\n\nif (!require(\"./set-prototype-of/is-implemented\")()) {\n\tshim = require(\"./set-prototype-of/shim\");\n}\n\nmodule.exports = (function () {\n\tvar nullObject, polyProps, desc;\n\tif (!shim) return create;\n\tif (shim.level !== 1) return create;\n\n\tnullObject = {};\n\tpolyProps = {};\n\tdesc = { configurable: false, enumerable: false, writable: true, value: undefined };\n\tObject.getOwnPropertyNames(Object.prototype).forEach(function (name) {\n\t\tif (name === \"__proto__\") {\n\t\t\tpolyProps[name] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tvalue: undefined\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tpolyProps[name] = desc;\n\t});\n\tObject.defineProperties(nullObject, polyProps);\n\n\tObject.defineProperty(shim, \"nullPolyfill\", {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tvalue: nullObject\n\t});\n\n\treturn function (prototype, props) {\n\t\treturn create(prototype === null ? nullObject : prototype, props);\n\t};\n})();\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n","\"use strict\";\n\nvar isFunction = require(\"../function/is\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n","\"use strict\";\n\nvar isPrototype = require(\"../prototype/is\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n","\"use strict\";\n\nvar isObject = require(\"../object/is\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) return false;\n\ttry {\n\t\tif (!value.constructor) return false;\n\t\treturn value.constructor.prototype === value;\n\t} catch (error) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../value/is\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src /*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")()\n\t? require(\"ext/global-this\").Symbol\n\t: require(\"./polyfill\");\n","\"use strict\";\n\nvar global = require(\"ext/global-this\")\n , validTypes = { object: true, symbol: true };\n\nmodule.exports = function () {\n\tvar Symbol = global.Symbol;\n\tvar symbol;\n\tif (typeof Symbol !== \"function\") return false;\n\tsymbol = Symbol(\"test symbol\");\n\ttry { String(symbol); }\n\tcatch (e) { return false; }\n\n\t// Return 'true' also for polyfills\n\tif (!validTypes[typeof Symbol.iterator]) return false;\n\tif (!validTypes[typeof Symbol.toPrimitive]) return false;\n\tif (!validTypes[typeof Symbol.toStringTag]) return false;\n\n\treturn true;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? globalThis : require(\"./implementation\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tif (typeof globalThis !== \"object\") return false;\n\tif (!globalThis) return false;\n\treturn globalThis.Array === Array;\n};\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of Object.prototype being sealed (via preventExtensions, seal or freeze)\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ is resolved with global context, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","// ES2015 Symbol polyfill for environments that do not (or partially) support it\n\n\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"./validate-symbol\")\n , NativeSymbol = require(\"ext/global-this\").Symbol\n , generateName = require(\"./lib/private/generate-name\")\n , setupStandardSymbols = require(\"./lib/private/setup/standard-symbols\")\n , setupSymbolRegistry = require(\"./lib/private/setup/symbol-registry\");\n\nvar create = Object.create\n , defineProperties = Object.defineProperties\n , defineProperty = Object.defineProperty;\n\nvar SymbolPolyfill, HiddenSymbol, isNativeSafe;\n\nif (typeof NativeSymbol === \"function\") {\n\ttry {\n\t\tString(NativeSymbol());\n\t\tisNativeSafe = true;\n\t} catch (ignore) {}\n} else {\n\tNativeSymbol = null;\n}\n\n// Internal constructor (not one exposed) for creating Symbol instances.\n// This one is used to ensure that `someSymbol instanceof Symbol` always return false\nHiddenSymbol = function Symbol(description) {\n\tif (this instanceof HiddenSymbol) throw new TypeError(\"Symbol is not a constructor\");\n\treturn SymbolPolyfill(description);\n};\n\n// Exposed `Symbol` constructor\n// (returns instances of HiddenSymbol)\nmodule.exports = SymbolPolyfill = function Symbol(description) {\n\tvar symbol;\n\tif (this instanceof Symbol) throw new TypeError(\"Symbol is not a constructor\");\n\tif (isNativeSafe) return NativeSymbol(description);\n\tsymbol = create(HiddenSymbol.prototype);\n\tdescription = description === undefined ? \"\" : String(description);\n\treturn defineProperties(symbol, {\n\t\t__description__: d(\"\", description),\n\t\t__name__: d(\"\", generateName(description))\n\t});\n};\n\nsetupStandardSymbols(SymbolPolyfill);\nsetupSymbolRegistry(SymbolPolyfill);\n\n// Internal tweaks for real symbol producer\ndefineProperties(HiddenSymbol.prototype, {\n\tconstructor: d(SymbolPolyfill),\n\ttoString: d(\"\", function () { return this.__name__; })\n});\n\n// Proper implementation of methods exposed on Symbol.prototype\n// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype\ndefineProperties(SymbolPolyfill.prototype, {\n\ttoString: d(function () { return \"Symbol (\" + validateSymbol(this).__description__ + \")\"; }),\n\tvalueOf: d(function () { return validateSymbol(this); })\n});\ndefineProperty(\n\tSymbolPolyfill.prototype, SymbolPolyfill.toPrimitive,\n\td(\"\", function () {\n\t\tvar symbol = validateSymbol(this);\n\t\tif (typeof symbol === \"symbol\") return symbol;\n\t\treturn symbol.toString();\n\t})\n);\ndefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d(\"c\", \"Symbol\"));\n\n// Proper implementaton of toPrimitive and toStringTag for returned symbol instances\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toStringTag,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toStringTag])\n);\n\n// Note: It's important to define `toPrimitive` as last one, as some implementations\n// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)\n// And that may invoke error in definition flow:\n// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toPrimitive,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive])\n);\n","\"use strict\";\n\nvar isSymbol = require(\"./is-symbol\");\n\nmodule.exports = function (value) {\n\tif (!isSymbol(value)) throw new TypeError(value + \" is not a symbol\");\n\treturn value;\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\tif (!value) return false;\n\tif (typeof value === \"symbol\") return true;\n\tif (!value.constructor) return false;\n\tif (value.constructor.name !== \"Symbol\") return false;\n\treturn value[value.constructor.toStringTag] === \"Symbol\";\n};\n","\"use strict\";\n\nvar d = require(\"d\");\n\nvar create = Object.create, defineProperty = Object.defineProperty, objPrototype = Object.prototype;\n\nvar created = create(null);\nmodule.exports = function (desc) {\n\tvar postfix = 0, name, ie11BugWorkaround;\n\twhile (created[desc + (postfix || \"\")]) ++postfix;\n\tdesc += postfix || \"\";\n\tcreated[desc] = true;\n\tname = \"@@\" + desc;\n\tdefineProperty(\n\t\tobjPrototype, name,\n\t\td.gs(null, function (value) {\n\t\t\t// For IE11 issue see:\n\t\t\t// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/\n\t\t\t// ie11-broken-getters-on-dom-objects\n\t\t\t// https://github.com/medikoo/es6-symbol/issues/12\n\t\t\tif (ie11BugWorkaround) return;\n\t\t\tie11BugWorkaround = true;\n\t\t\tdefineProperty(this, name, d(value));\n\t\t\tie11BugWorkaround = false;\n\t\t})\n\t);\n\treturn name;\n};\n","\"use strict\";\n\nvar d = require(\"d\")\n , NativeSymbol = require(\"ext/global-this\").Symbol;\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\t// To ensure proper interoperability with other native functions (e.g. Array.from)\n\t\t// fallback to eventual native implementation of given symbol\n\t\thasInstance: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill(\"hasInstance\")\n\t\t),\n\t\tisConcatSpreadable: d(\n\t\t\t\"\",\n\t\t\t(NativeSymbol && NativeSymbol.isConcatSpreadable) ||\n\t\t\t\tSymbolPolyfill(\"isConcatSpreadable\")\n\t\t),\n\t\titerator: d(\"\", (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill(\"iterator\")),\n\t\tmatch: d(\"\", (NativeSymbol && NativeSymbol.match) || SymbolPolyfill(\"match\")),\n\t\treplace: d(\"\", (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill(\"replace\")),\n\t\tsearch: d(\"\", (NativeSymbol && NativeSymbol.search) || SymbolPolyfill(\"search\")),\n\t\tspecies: d(\"\", (NativeSymbol && NativeSymbol.species) || SymbolPolyfill(\"species\")),\n\t\tsplit: d(\"\", (NativeSymbol && NativeSymbol.split) || SymbolPolyfill(\"split\")),\n\t\ttoPrimitive: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill(\"toPrimitive\")\n\t\t),\n\t\ttoStringTag: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill(\"toStringTag\")\n\t\t),\n\t\tunscopables: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill(\"unscopables\")\n\t\t)\n\t});\n};\n","\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"../../../validate-symbol\");\n\nvar registry = Object.create(null);\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\tfor: d(function (key) {\n\t\t\tif (registry[key]) return registry[key];\n\t\t\treturn (registry[key] = SymbolPolyfill(String(key)));\n\t\t}),\n\t\tkeyFor: d(function (symbol) {\n\t\t\tvar key;\n\t\t\tvalidateSymbol(symbol);\n\t\t\tfor (key in registry) {\n\t\t\t\tif (registry[key] === symbol) return key;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t})\n\t});\n};\n","\"use strict\";\n\nvar isIterable = require(\"./is-iterable\");\n\nmodule.exports = function (value) {\n\tif (!isIterable(value)) throw new TypeError(value + \" is not iterable\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , isValue = require(\"es5-ext/object/is-value\")\n , isString = require(\"es5-ext/string/is-string\");\n\nvar iteratorSymbol = require(\"es6-symbol\").iterator\n , isArray = Array.isArray;\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\tif (isArray(value)) return true;\n\tif (isString(value)) return true;\n\tif (isArguments(value)) return true;\n\treturn typeof value[iteratorSymbol] === \"function\";\n};\n","\"use strict\";\n\nvar objToString = Object.prototype.toString\n , id = objToString.call((function () { return arguments; })());\n\nmodule.exports = function (value) { return objToString.call(value) === id; };\n","\"use strict\";\n\nvar objToString = Object.prototype.toString, id = objToString.call(\"\");\n\nmodule.exports = function (value) {\n\treturn (\n\t\ttypeof value === \"string\" ||\n\t\t(value &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\t(value instanceof String || objToString.call(value) === id)) ||\n\t\tfalse\n\t);\n};\n","\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , callable = require(\"es5-ext/object/valid-callable\")\n , isString = require(\"es5-ext/string/is-string\")\n , get = require(\"./get\");\n\nvar isArray = Array.isArray, call = Function.prototype.call, some = Array.prototype.some;\n\nmodule.exports = function (iterable, cb /*, thisArg*/) {\n\tvar mode, thisArg = arguments[2], result, doBreak, broken, i, length, char, code;\n\tif (isArray(iterable) || isArguments(iterable)) mode = \"array\";\n\telse if (isString(iterable)) mode = \"string\";\n\telse iterable = get(iterable);\n\n\tcallable(cb);\n\tdoBreak = function () {\n\t\tbroken = true;\n\t};\n\tif (mode === \"array\") {\n\t\tsome.call(iterable, function (value) {\n\t\t\tcall.call(cb, thisArg, value, doBreak);\n\t\t\treturn broken;\n\t\t});\n\t\treturn;\n\t}\n\tif (mode === \"string\") {\n\t\tlength = iterable.length;\n\t\tfor (i = 0; i < length; ++i) {\n\t\t\tchar = iterable[i];\n\t\t\tif (i + 1 < length) {\n\t\t\t\tcode = char.charCodeAt(0);\n\t\t\t\tif (code >= 0xd800 && code <= 0xdbff) char += iterable[++i];\n\t\t\t}\n\t\t\tcall.call(cb, thisArg, char, doBreak);\n\t\t\tif (broken) break;\n\t\t}\n\t\treturn;\n\t}\n\tresult = iterable.next();\n\n\twhile (!result.done) {\n\t\tcall.call(cb, thisArg, result.value, doBreak);\n\t\tif (broken) return;\n\t\tresult = iterable.next();\n\t}\n};\n","\"use strict\";\n\nvar isArguments = require(\"es5-ext/function/is-arguments\")\n , isString = require(\"es5-ext/string/is-string\")\n , ArrayIterator = require(\"./array\")\n , StringIterator = require(\"./string\")\n , iterable = require(\"./valid-iterable\")\n , iteratorSymbol = require(\"es6-symbol\").iterator;\n\nmodule.exports = function (obj) {\n\tif (typeof iterable(obj)[iteratorSymbol] === \"function\") return obj[iteratorSymbol]();\n\tif (isArguments(obj)) return new ArrayIterator(obj);\n\tif (isString(obj)) return new StringIterator(obj);\n\treturn new ArrayIterator(obj);\n};\n","\"use strict\";\n\nvar setPrototypeOf = require(\"es5-ext/object/set-prototype-of\")\n , contains = require(\"es5-ext/string/#/contains\")\n , d = require(\"d\")\n , Symbol = require(\"es6-symbol\")\n , Iterator = require(\"./\");\n\nvar defineProperty = Object.defineProperty, ArrayIterator;\n\nArrayIterator = module.exports = function (arr, kind) {\n\tif (!(this instanceof ArrayIterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tIterator.call(this, arr);\n\tif (!kind) kind = \"value\";\n\telse if (contains.call(kind, \"key+value\")) kind = \"key+value\";\n\telse if (contains.call(kind, \"key\")) kind = \"key\";\n\telse kind = \"value\";\n\tdefineProperty(this, \"__kind__\", d(\"\", kind));\n};\nif (setPrototypeOf) setPrototypeOf(ArrayIterator, Iterator);\n\n// Internal %ArrayIteratorPrototype% doesn't expose its constructor\ndelete ArrayIterator.prototype.constructor;\n\nArrayIterator.prototype = Object.create(Iterator.prototype, {\n\t_resolve: d(function (i) {\n\t\tif (this.__kind__ === \"value\") return this.__list__[i];\n\t\tif (this.__kind__ === \"key+value\") return [i, this.__list__[i]];\n\t\treturn i;\n\t})\n});\ndefineProperty(ArrayIterator.prototype, Symbol.toStringTag, d(\"c\", \"Array Iterator\"));\n","\"use strict\";\n\nvar clear = require(\"es5-ext/array/#/clear\")\n , assign = require(\"es5-ext/object/assign\")\n , callable = require(\"es5-ext/object/valid-callable\")\n , value = require(\"es5-ext/object/valid-value\")\n , d = require(\"d\")\n , autoBind = require(\"d/auto-bind\")\n , Symbol = require(\"es6-symbol\");\n\nvar defineProperty = Object.defineProperty, defineProperties = Object.defineProperties, Iterator;\n\nmodule.exports = Iterator = function (list, context) {\n\tif (!(this instanceof Iterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tdefineProperties(this, {\n\t\t__list__: d(\"w\", value(list)),\n\t\t__context__: d(\"w\", context),\n\t\t__nextIndex__: d(\"w\", 0)\n\t});\n\tif (!context) return;\n\tcallable(context.on);\n\tcontext.on(\"_add\", this._onAdd);\n\tcontext.on(\"_delete\", this._onDelete);\n\tcontext.on(\"_clear\", this._onClear);\n};\n\n// Internal %IteratorPrototype% doesn't expose its constructor\ndelete Iterator.prototype.constructor;\n\ndefineProperties(\n\tIterator.prototype,\n\tassign(\n\t\t{\n\t\t\t_next: d(function () {\n\t\t\t\tvar i;\n\t\t\t\tif (!this.__list__) return undefined;\n\t\t\t\tif (this.__redo__) {\n\t\t\t\t\ti = this.__redo__.shift();\n\t\t\t\t\tif (i !== undefined) return i;\n\t\t\t\t}\n\t\t\t\tif (this.__nextIndex__ < this.__list__.length) return this.__nextIndex__++;\n\t\t\t\tthis._unBind();\n\t\t\t\treturn undefined;\n\t\t\t}),\n\t\t\tnext: d(function () {\n\t\t\t\treturn this._createResult(this._next());\n\t\t\t}),\n\t\t\t_createResult: d(function (i) {\n\t\t\t\tif (i === undefined) return { done: true, value: undefined };\n\t\t\t\treturn { done: false, value: this._resolve(i) };\n\t\t\t}),\n\t\t\t_resolve: d(function (i) {\n\t\t\t\treturn this.__list__[i];\n\t\t\t}),\n\t\t\t_unBind: d(function () {\n\t\t\t\tthis.__list__ = null;\n\t\t\t\tdelete this.__redo__;\n\t\t\t\tif (!this.__context__) return;\n\t\t\t\tthis.__context__.off(\"_add\", this._onAdd);\n\t\t\t\tthis.__context__.off(\"_delete\", this._onDelete);\n\t\t\t\tthis.__context__.off(\"_clear\", this._onClear);\n\t\t\t\tthis.__context__ = null;\n\t\t\t}),\n\t\t\ttoString: d(function () {\n\t\t\t\treturn \"[object \" + (this[Symbol.toStringTag] || \"Object\") + \"]\";\n\t\t\t})\n\t\t},\n\t\tautoBind({\n\t\t\t_onAdd: d(function (index) {\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t++this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) {\n\t\t\t\t\tdefineProperty(this, \"__redo__\", d(\"c\", [index]));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.__redo__.forEach(function (redo, i) {\n\t\t\t\t\tif (redo >= index) this.__redo__[i] = ++redo;\n\t\t\t\t}, this);\n\t\t\t\tthis.__redo__.push(index);\n\t\t\t}),\n\t\t\t_onDelete: d(function (index) {\n\t\t\t\tvar i;\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t--this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) return;\n\t\t\t\ti = this.__redo__.indexOf(index);\n\t\t\t\tif (i !== -1) this.__redo__.splice(i, 1);\n\t\t\t\tthis.__redo__.forEach(function (redo, j) {\n\t\t\t\t\tif (redo > index) this.__redo__[j] = --redo;\n\t\t\t\t}, this);\n\t\t\t}),\n\t\t\t_onClear: d(function () {\n\t\t\t\tif (this.__redo__) clear.call(this.__redo__);\n\t\t\t\tthis.__nextIndex__ = 0;\n\t\t\t})\n\t\t})\n\t)\n);\n\ndefineProperty(\n\tIterator.prototype,\n\tSymbol.iterator,\n\td(function () {\n\t\treturn this;\n\t})\n);\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , ensureValue = require(\"type/value/ensure\")\n , ensurePlainFunction = require(\"type/plain-function/ensure\")\n , copy = require(\"es5-ext/object/copy\")\n , normalizeOptions = require(\"es5-ext/object/normalize-options\")\n , map = require(\"es5-ext/object/map\");\n\nvar bind = Function.prototype.bind\n , defineProperty = Object.defineProperty\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , define;\n\ndefine = function (name, desc, options) {\n\tvar value = ensureValue(desc) && ensurePlainFunction(desc.value), dgs;\n\tdgs = copy(desc);\n\tdelete dgs.writable;\n\tdelete dgs.value;\n\tdgs.get = function () {\n\t\tif (!options.overwriteDefinition && hasOwnProperty.call(this, name)) return value;\n\t\tdesc.value = bind.call(value, options.resolveContext ? options.resolveContext(this) : this);\n\t\tdefineProperty(this, name, desc);\n\t\treturn this[name];\n\t};\n\treturn dgs;\n};\n\nmodule.exports = function (props/*, options*/) {\n\tvar options = normalizeOptions(arguments[1]);\n\tif (isValue(options.resolveContext)) ensurePlainFunction(options.resolveContext);\n\treturn map(props, function (desc, name) { return define(name, desc, options); });\n};\n","\"use strict\";\n\nvar resolveException = require(\"../lib/resolve-exception\")\n , is = require(\"./is\");\n\nmodule.exports = function (value/*, options*/) {\n\tif (is(value)) return value;\n\tvar options = arguments[1];\n\tvar errorMessage =\n\t\toptions && options.name ? \"Expected a value for %n, received %v\" : \"Cannot use %v\";\n\treturn resolveException(value, errorMessage, options);\n};\n","\"use strict\";\n\nvar isValue = require(\"../value/is\")\n , resolveErrorMessage = require(\"./resolve-error-message\");\n\nmodule.exports = function (value, defaultMessage, inputOptions) {\n\tif (inputOptions && !isValue(value)) {\n\t\tif (\"default\" in inputOptions) return inputOptions[\"default\"];\n\t\tif (inputOptions.isOptional) return null;\n\t}\n\tvar ErrorConstructor = (inputOptions && inputOptions.Error) || TypeError;\n\tvar error = new ErrorConstructor(resolveErrorMessage(defaultMessage, value, inputOptions));\n\tif (inputOptions && inputOptions.errorCode) error.code = inputOptions.errorCode;\n\tthrow error;\n};\n","\"use strict\";\n\nvar stringCoerce = require(\"../string/coerce\")\n , toShortString = require(\"./to-short-string\");\n\nmodule.exports = function (errorMessage, value, inputOptions) {\n\tif (inputOptions && inputOptions.errorMessage) {\n\t\terrorMessage = stringCoerce(inputOptions.errorMessage);\n\t}\n\n\tvar valueInsertIndex = errorMessage.indexOf(\"%v\");\n\tvar valueToken = valueInsertIndex > -1 ? toShortString(value) : null;\n\tif (inputOptions && inputOptions.name) {\n\t\tvar nameInsertIndex = errorMessage.indexOf(\"%n\");\n\t\tif (nameInsertIndex > -1) {\n\t\t\tif (valueInsertIndex > -1) {\n\t\t\t\tvar firstToken, secondToken, firstInsertIndex, secondInsertIndex;\n\t\t\t\tif (nameInsertIndex > valueInsertIndex) {\n\t\t\t\t\tfirstToken = valueToken;\n\t\t\t\t\tfirstInsertIndex = valueInsertIndex;\n\t\t\t\t\tsecondToken = inputOptions.name;\n\t\t\t\t\tsecondInsertIndex = nameInsertIndex;\n\t\t\t\t} else {\n\t\t\t\t\tfirstToken = inputOptions.name;\n\t\t\t\t\tfirstInsertIndex = nameInsertIndex;\n\t\t\t\t\tsecondToken = valueToken;\n\t\t\t\t\tsecondInsertIndex = valueInsertIndex;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\terrorMessage.slice(0, firstInsertIndex) +\n\t\t\t\t\tfirstToken +\n\t\t\t\t\terrorMessage.slice(firstInsertIndex + 2, secondInsertIndex) +\n\t\t\t\t\tsecondToken +\n\t\t\t\t\terrorMessage.slice(secondInsertIndex + 2)\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\terrorMessage.slice(0, nameInsertIndex) +\n\t\t\t\tinputOptions.name +\n\t\t\t\terrorMessage.slice(nameInsertIndex + 2)\n\t\t\t);\n\t\t}\n\t}\n\tif (valueInsertIndex > -1) {\n\t\treturn (\n\t\t\terrorMessage.slice(0, valueInsertIndex) +\n\t\t\tvalueToken +\n\t\t\terrorMessage.slice(valueInsertIndex + 2)\n\t\t);\n\t}\n\treturn errorMessage;\n};\n","\"use strict\";\n\nvar isValue = require(\"../value/is\")\n , isObject = require(\"../object/is\");\n\nvar objectToString = Object.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return null;\n\tif (isObject(value)) {\n\t\t// Reject Object.prototype.toString coercion\n\t\tvar valueToString = value.toString;\n\t\tif (typeof valueToString !== \"function\") return null;\n\t\tif (valueToString === objectToString) return null;\n\t\t// Note: It can be object coming from other realm, still as there's no ES3 and CSP compliant\n\t\t// way to resolve its realm's Object.prototype.toString it's left as not addressed edge case\n\t}\n\ttry {\n\t\treturn \"\" + value; // Ensure implicit coercion\n\t} catch (error) {\n\t\treturn null;\n\t}\n};\n","\"use strict\";\n\nvar safeToString = require(\"./safe-to-string\");\n\nvar reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n\nmodule.exports = function (value) {\n\tvar string = safeToString(value);\n\tif (string === null) return \"\";\n\t// Trim if too long\n\tif (string.length > 100) string = string.slice(0, 99) + \"…\";\n\t// Replace eventual new lines\n\tstring = string.replace(reNewLine, function (char) {\n\t\tswitch (char) {\n\t\t\tcase \"\\n\":\n\t\t\t\treturn \"\\\\n\";\n\t\t\tcase \"\\r\":\n\t\t\t\treturn \"\\\\r\";\n\t\t\tcase \"\\u2028\":\n\t\t\t\treturn \"\\\\u2028\";\n\t\t\tcase \"\\u2029\":\n\t\t\t\treturn \"\\\\u2029\";\n\t\t\t/* istanbul ignore next */\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unexpected character\");\n\t\t}\n\t});\n\treturn string;\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\ttry {\n\t\treturn value.toString();\n\t} catch (error) {\n\t\ttry { return String(value); }\n\t\tcatch (error2) { return null; }\n\t}\n};\n","\"use strict\";\n\nvar resolveException = require(\"../lib/resolve-exception\")\n , is = require(\"./is\");\n\nmodule.exports = function (value/*, options*/) {\n\tif (is(value)) return value;\n\tvar options = arguments[1];\n\tvar errorMessage =\n\t\toptions && options.name\n\t\t\t? \"Expected a plain function for %n, received %v\"\n\t\t\t: \"%v is not a plain function\";\n\treturn resolveException(value, errorMessage, options);\n};\n","\"use strict\";\n\nvar aFrom = require(\"../array/from\")\n , assign = require(\"./assign\")\n , value = require(\"./valid-value\");\n\nmodule.exports = function (obj /*, propertyNames, options*/) {\n\tvar copy = Object(value(obj)), propertyNames = arguments[1], options = Object(arguments[2]);\n\tif (copy !== obj && !propertyNames) return copy;\n\tvar result = {};\n\tif (propertyNames) {\n\t\taFrom(propertyNames, function (propertyName) {\n\t\t\tif (options.ensure || propertyName in obj) result[propertyName] = obj[propertyName];\n\t\t});\n\t} else {\n\t\tassign(result, obj);\n\t}\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Array.from : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar from = Array.from, arr, result;\n\tif (typeof from !== \"function\") return false;\n\tarr = [\"raz\", \"dwa\"];\n\tresult = from(arr);\n\treturn Boolean(result && result !== arr && result[1] === \"dwa\");\n};\n","\"use strict\";\n\nvar iteratorSymbol = require(\"es6-symbol\").iterator\n , isArguments = require(\"../../function/is-arguments\")\n , isFunction = require(\"../../function/is-function\")\n , toPosInt = require(\"../../number/to-pos-integer\")\n , callable = require(\"../../object/valid-callable\")\n , validValue = require(\"../../object/valid-value\")\n , isValue = require(\"../../object/is-value\")\n , isString = require(\"../../string/is-string\")\n , isArray = Array.isArray\n , call = Function.prototype.call\n , desc = { configurable: true, enumerable: true, writable: true, value: null }\n , defineProperty = Object.defineProperty;\n\n// eslint-disable-next-line complexity, max-lines-per-function\nmodule.exports = function (arrayLike /*, mapFn, thisArg*/) {\n\tvar mapFn = arguments[1]\n\t , thisArg = arguments[2]\n\t , Context\n\t , i\n\t , j\n\t , arr\n\t , length\n\t , code\n\t , iterator\n\t , result\n\t , getIterator\n\t , value;\n\n\tarrayLike = Object(validValue(arrayLike));\n\n\tif (isValue(mapFn)) callable(mapFn);\n\tif (!this || this === Array || !isFunction(this)) {\n\t\t// Result: Plain array\n\t\tif (!mapFn) {\n\t\t\tif (isArguments(arrayLike)) {\n\t\t\t\t// Source: Arguments\n\t\t\t\tlength = arrayLike.length;\n\t\t\t\tif (length !== 1) return Array.apply(null, arrayLike);\n\t\t\t\tarr = new Array(1);\n\t\t\t\tarr[0] = arrayLike[0];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tif (isArray(arrayLike)) {\n\t\t\t\t// Source: Array\n\t\t\t\tarr = new Array((length = arrayLike.length));\n\t\t\t\tfor (i = 0; i < length; ++i) arr[i] = arrayLike[i];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t}\n\t\tarr = [];\n\t} else {\n\t\t// Result: Non plain array\n\t\tContext = this;\n\t}\n\n\tif (!isArray(arrayLike)) {\n\t\tif ((getIterator = arrayLike[iteratorSymbol]) !== undefined) {\n\t\t\t// Source: Iterator\n\t\t\titerator = callable(getIterator).call(arrayLike);\n\t\t\tif (Context) arr = new Context();\n\t\t\tresult = iterator.next();\n\t\t\ti = 0;\n\t\t\twhile (!result.done) {\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[i] = value;\n\t\t\t\t}\n\t\t\t\tresult = iterator.next();\n\t\t\t\t++i;\n\t\t\t}\n\t\t\tlength = i;\n\t\t} else if (isString(arrayLike)) {\n\t\t\t// Source: String\n\t\t\tlength = arrayLike.length;\n\t\t\tif (Context) arr = new Context();\n\t\t\tfor (i = 0, j = 0; i < length; ++i) {\n\t\t\t\tvalue = arrayLike[i];\n\t\t\t\tif (i + 1 < length) {\n\t\t\t\t\tcode = value.charCodeAt(0);\n\t\t\t\t\t// eslint-disable-next-line max-depth\n\t\t\t\t\tif (code >= 0xd800 && code <= 0xdbff) value += arrayLike[++i];\n\t\t\t\t}\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, j, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[j] = value;\n\t\t\t\t}\n\t\t\t\t++j;\n\t\t\t}\n\t\t\tlength = j;\n\t\t}\n\t}\n\tif (length === undefined) {\n\t\t// Source: array or array-like\n\t\tlength = toPosInt(arrayLike.length);\n\t\tif (Context) arr = new Context(length);\n\t\tfor (i = 0; i < length; ++i) {\n\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n\t\t\tif (Context) {\n\t\t\t\tdesc.value = value;\n\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t} else {\n\t\t\t\tarr[i] = value;\n\t\t\t}\n\t\t}\n\t}\n\tif (Context) {\n\t\tdesc.value = null;\n\t\tarr.length = length;\n\t}\n\treturn arr;\n};\n","\"use strict\";\n\nvar objToString = Object.prototype.toString\n , isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n\nmodule.exports = function (value) {\n\treturn typeof value === \"function\" && isFunctionStringTag(objToString.call(value));\n};\n","\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , forEach = require(\"./for-each\")\n , call = Function.prototype.call;\n\nmodule.exports = function (obj, cb /*, thisArg*/) {\n\tvar result = {}, thisArg = arguments[2];\n\tcallable(cb);\n\tforEach(obj, function (value, key, targetObj, index) {\n\t\tresult[key] = call.call(cb, thisArg, value, key, targetObj, index);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./_iterate\")(\"forEach\");\n","// Internal method, used by iteration functions.\n// Calls a function for each key-value pair found in object\n// Optionally takes compareFn to iterate object in specific order\n\n\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , value = require(\"./valid-value\")\n , bind = Function.prototype.bind\n , call = Function.prototype.call\n , keys = Object.keys\n , objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nmodule.exports = function (method, defVal) {\n\treturn function (obj, cb /*, thisArg, compareFn*/) {\n\t\tvar list, thisArg = arguments[2], compareFn = arguments[3];\n\t\tobj = Object(value(obj));\n\t\tcallable(cb);\n\n\t\tlist = keys(obj);\n\t\tif (compareFn) {\n\t\t\tlist.sort(typeof compareFn === \"function\" ? bind.call(compareFn, obj) : undefined);\n\t\t}\n\t\tif (typeof method !== \"function\") method = list[method];\n\t\treturn call.call(method, list, function (key, index) {\n\t\t\tif (!objPropertyIsEnumerable.call(obj, key)) return defVal;\n\t\t\treturn call.call(cb, thisArg, obj[key], key, obj, index);\n\t\t});\n\t};\n};\n","// Thanks @mathiasbynens\n// http://mathiasbynens.be/notes/javascript-unicode#iterating-over-symbols\n\n\"use strict\";\n\nvar setPrototypeOf = require(\"es5-ext/object/set-prototype-of\")\n , d = require(\"d\")\n , Symbol = require(\"es6-symbol\")\n , Iterator = require(\"./\");\n\nvar defineProperty = Object.defineProperty, StringIterator;\n\nStringIterator = module.exports = function (str) {\n\tif (!(this instanceof StringIterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tstr = String(str);\n\tIterator.call(this, str);\n\tdefineProperty(this, \"__length__\", d(\"\", str.length));\n};\nif (setPrototypeOf) setPrototypeOf(StringIterator, Iterator);\n\n// Internal %ArrayIteratorPrototype% doesn't expose its constructor\ndelete StringIterator.prototype.constructor;\n\nStringIterator.prototype = Object.create(Iterator.prototype, {\n\t_next: d(function () {\n\t\tif (!this.__list__) return undefined;\n\t\tif (this.__nextIndex__ < this.__length__) return this.__nextIndex__++;\n\t\tthis._unBind();\n\t\treturn undefined;\n\t}),\n\t_resolve: d(function (i) {\n\t\tvar char = this.__list__[i], code;\n\t\tif (this.__nextIndex__ === this.__length__) return char;\n\t\tcode = char.charCodeAt(0);\n\t\tif (code >= 0xd800 && code <= 0xdbff) return char + this.__list__[this.__nextIndex__++];\n\t\treturn char;\n\t})\n});\ndefineProperty(StringIterator.prototype, Symbol.toStringTag, d(\"c\", \"String Iterator\"));\n","'use strict';\n\nvar setPrototypeOf = require('es5-ext/object/set-prototype-of')\n , d = require('d')\n , Iterator = require('es6-iterator')\n , toStringTagSymbol = require('es6-symbol').toStringTag\n , kinds = require('./iterator-kinds')\n\n , defineProperties = Object.defineProperties\n , unBind = Iterator.prototype._unBind\n , MapIterator;\n\nMapIterator = module.exports = function (map, kind) {\n\tif (!(this instanceof MapIterator)) return new MapIterator(map, kind);\n\tIterator.call(this, map.__mapKeysData__, map);\n\tif (!kind || !kinds[kind]) kind = 'key+value';\n\tdefineProperties(this, {\n\t\t__kind__: d('', kind),\n\t\t__values__: d('w', map.__mapValuesData__)\n\t});\n};\nif (setPrototypeOf) setPrototypeOf(MapIterator, Iterator);\n\nMapIterator.prototype = Object.create(Iterator.prototype, {\n\tconstructor: d(MapIterator),\n\t_resolve: d(function (i) {\n\t\tif (this.__kind__ === 'value') return this.__values__[i];\n\t\tif (this.__kind__ === 'key') return this.__list__[i];\n\t\treturn [this.__list__[i], this.__values__[i]];\n\t}),\n\t_unBind: d(function () {\n\t\tthis.__values__ = null;\n\t\tunBind.call(this);\n\t}),\n\ttoString: d(function () { return '[object Map Iterator]'; })\n});\nObject.defineProperty(MapIterator.prototype, toStringTagSymbol,\n\td('c', 'Map Iterator'));\n","'use strict';\n\nmodule.exports = require('es5-ext/object/primitive-set')('key',\n\t'value', 'key+value');\n","\"use strict\";\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (arg /*, …args*/) {\n\tvar set = create(null);\n\tforEach.call(arguments, function (name) { set[name] = true; });\n\treturn set;\n};\n","// Exports true if environment provides native `Map` implementation,\n// whatever that is.\n\n'use strict';\n\nmodule.exports = (function () {\n\tif (typeof Map === 'undefined') return false;\n\treturn (Object.prototype.toString.call(new Map()) === '[object Map]');\n}());\n","var once = require('once');\n\nvar noop = function() {};\n\nvar isRequest = function(stream) {\n\treturn stream.setHeader && typeof stream.abort === 'function';\n};\n\nvar isChildProcess = function(stream) {\n\treturn stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3\n};\n\nvar eos = function(stream, opts, callback) {\n\tif (typeof opts === 'function') return eos(stream, null, opts);\n\tif (!opts) opts = {};\n\n\tcallback = once(callback || noop);\n\n\tvar ws = stream._writableState;\n\tvar rs = stream._readableState;\n\tvar readable = opts.readable || (opts.readable !== false && stream.readable);\n\tvar writable = opts.writable || (opts.writable !== false && stream.writable);\n\tvar cancelled = false;\n\n\tvar onlegacyfinish = function() {\n\t\tif (!stream.writable) onfinish();\n\t};\n\n\tvar onfinish = function() {\n\t\twritable = false;\n\t\tif (!readable) callback.call(stream);\n\t};\n\n\tvar onend = function() {\n\t\treadable = false;\n\t\tif (!writable) callback.call(stream);\n\t};\n\n\tvar onexit = function(exitCode) {\n\t\tcallback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null);\n\t};\n\n\tvar onerror = function(err) {\n\t\tcallback.call(stream, err);\n\t};\n\n\tvar onclose = function() {\n\t\tprocess.nextTick(onclosenexttick);\n\t};\n\n\tvar onclosenexttick = function() {\n\t\tif (cancelled) return;\n\t\tif (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error('premature close'));\n\t\tif (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error('premature close'));\n\t};\n\n\tvar onrequest = function() {\n\t\tstream.req.on('finish', onfinish);\n\t};\n\n\tif (isRequest(stream)) {\n\t\tstream.on('complete', onfinish);\n\t\tstream.on('abort', onclose);\n\t\tif (stream.req) onrequest();\n\t\telse stream.on('request', onrequest);\n\t} else if (writable && !ws) { // legacy streams\n\t\tstream.on('end', onlegacyfinish);\n\t\tstream.on('close', onlegacyfinish);\n\t}\n\n\tif (isChildProcess(stream)) stream.on('exit', onexit);\n\n\tstream.on('end', onend);\n\tstream.on('finish', onfinish);\n\tif (opts.error !== false) stream.on('error', onerror);\n\tstream.on('close', onclose);\n\n\treturn function() {\n\t\tcancelled = true;\n\t\tstream.removeListener('complete', onfinish);\n\t\tstream.removeListener('abort', onclose);\n\t\tstream.removeListener('request', onrequest);\n\t\tif (stream.req) stream.req.removeListener('finish', onfinish);\n\t\tstream.removeListener('end', onlegacyfinish);\n\t\tstream.removeListener('close', onlegacyfinish);\n\t\tstream.removeListener('finish', onfinish);\n\t\tstream.removeListener('exit', onexit);\n\t\tstream.removeListener('end', onend);\n\t\tstream.removeListener('error', onerror);\n\t\tstream.removeListener('close', onclose);\n\t};\n};\n\nmodule.exports = eos;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n","'use strict'\n\nexports.parser = require('./parser')\nexports.generate = require('./generate')\nexports.writeToStream = require('./writeToStream')\n","'use strict'\n\nvar bl = require('bl')\nvar inherits = require('inherits')\nvar EE = require('events').EventEmitter\nvar Packet = require('./packet')\nvar constants = require('./constants')\n\nfunction Parser () {\n if (!(this instanceof Parser)) return new Parser()\n\n this._states = [\n '_parseHeader',\n '_parseLength',\n '_parsePayload',\n '_newPacket'\n ]\n\n this._resetState()\n}\n\ninherits(Parser, EE)\n\nParser.prototype._resetState = function () {\n this.packet = new Packet()\n this.error = null\n this._list = bl()\n this._stateCounter = 0\n}\n\nParser.prototype.parse = function (buf) {\n if (this.error) this._resetState()\n\n this._list.append(buf)\n\n while ((this.packet.length !== -1 || this._list.length > 0) &&\n this[this._states[this._stateCounter]]() &&\n !this.error) {\n this._stateCounter++\n\n if (this._stateCounter >= this._states.length) this._stateCounter = 0\n }\n\n return this._list.length\n}\n\nParser.prototype._parseHeader = function () {\n // There is at least one byte in the buffer\n var zero = this._list.readUInt8(0)\n this.packet.cmd = constants.types[zero >> constants.CMD_SHIFT]\n this.packet.retain = (zero & constants.RETAIN_MASK) !== 0\n this.packet.qos = (zero >> constants.QOS_SHIFT) & constants.QOS_MASK\n this.packet.dup = (zero & constants.DUP_MASK) !== 0\n\n this._list.consume(1)\n\n return true\n}\n\nParser.prototype._parseLength = function () {\n // There is at least one byte in the list\n var bytes = 0\n var mul = 1\n var length = 0\n var result = true\n var current\n\n while (bytes < 5) {\n current = this._list.readUInt8(bytes++)\n length += mul * (current & constants.LENGTH_MASK)\n mul *= 0x80\n\n if ((current & constants.LENGTH_FIN_MASK) === 0) break\n if (this._list.length <= bytes) {\n result = false\n break\n }\n }\n\n if (result) {\n this.packet.length = length\n this._list.consume(bytes)\n }\n\n return result\n}\n\nParser.prototype._parsePayload = function () {\n var result = false\n\n // Do we have a payload? Do we have enough data to complete the payload?\n // PINGs have no payload\n if (this.packet.length === 0 || this._list.length >= this.packet.length) {\n this._pos = 0\n\n switch (this.packet.cmd) {\n case 'connect':\n this._parseConnect()\n break\n case 'connack':\n this._parseConnack()\n break\n case 'publish':\n this._parsePublish()\n break\n case 'puback':\n case 'pubrec':\n case 'pubrel':\n case 'pubcomp':\n this._parseMessageId()\n break\n case 'subscribe':\n this._parseSubscribe()\n break\n case 'suback':\n this._parseSuback()\n break\n case 'unsubscribe':\n this._parseUnsubscribe()\n break\n case 'unsuback':\n this._parseUnsuback()\n break\n case 'pingreq':\n case 'pingresp':\n case 'disconnect':\n // These are empty, nothing to do\n break\n default:\n this._emitError(new Error('Not supported'))\n }\n\n result = true\n }\n\n return result\n}\n\nParser.prototype._parseConnect = function () {\n var protocolId // Protocol ID\n var clientId // Client ID\n var topic // Will topic\n var payload // Will payload\n var password // Password\n var username // Username\n var flags = {}\n var packet = this.packet\n\n // Parse protocolId\n protocolId = this._parseString()\n\n if (protocolId === null) return this._emitError(new Error('Cannot parse protocolId'))\n if (protocolId !== 'MQTT' && protocolId !== 'MQIsdp') {\n return this._emitError(new Error('Invalid protocolId'))\n }\n\n packet.protocolId = protocolId\n\n // Parse constants version number\n if (this._pos >= this._list.length) return this._emitError(new Error('Packet too short'))\n\n packet.protocolVersion = this._list.readUInt8(this._pos)\n\n if (packet.protocolVersion !== 3 && packet.protocolVersion !== 4) {\n return this._emitError(new Error('Invalid protocol version'))\n }\n\n this._pos++\n\n if (this._pos >= this._list.length) {\n return this._emitError(new Error('Packet too short'))\n }\n\n // Parse connect flags\n flags.username = (this._list.readUInt8(this._pos) & constants.USERNAME_MASK)\n flags.password = (this._list.readUInt8(this._pos) & constants.PASSWORD_MASK)\n flags.will = (this._list.readUInt8(this._pos) & constants.WILL_FLAG_MASK)\n\n if (flags.will) {\n packet.will = {}\n packet.will.retain = (this._list.readUInt8(this._pos) & constants.WILL_RETAIN_MASK) !== 0\n packet.will.qos = (this._list.readUInt8(this._pos) &\n constants.WILL_QOS_MASK) >> constants.WILL_QOS_SHIFT\n }\n\n packet.clean = (this._list.readUInt8(this._pos) & constants.CLEAN_SESSION_MASK) !== 0\n this._pos++\n\n // Parse keepalive\n packet.keepalive = this._parseNum()\n if (packet.keepalive === -1) return this._emitError(new Error('Packet too short'))\n\n // Parse clientId\n clientId = this._parseString()\n if (clientId === null) return this._emitError(new Error('Packet too short'))\n packet.clientId = clientId\n\n if (flags.will) {\n // Parse will topic\n topic = this._parseString()\n if (topic === null) return this._emitError(new Error('Cannot parse will topic'))\n packet.will.topic = topic\n\n // Parse will payload\n payload = this._parseBuffer()\n if (payload === null) return this._emitError(new Error('Cannot parse will payload'))\n packet.will.payload = payload\n }\n\n // Parse username\n if (flags.username) {\n username = this._parseString()\n if (username === null) return this._emitError(new Error('Cannot parse username'))\n packet.username = username\n }\n\n // Parse password\n if (flags.password) {\n password = this._parseBuffer()\n if (password === null) return this._emitError(new Error('Cannot parse password'))\n packet.password = password\n }\n\n return packet\n}\n\nParser.prototype._parseConnack = function () {\n var packet = this.packet\n\n if (this._list.length < 2) return null\n\n packet.sessionPresent = !!(this._list.readUInt8(this._pos++) & constants.SESSIONPRESENT_MASK)\n packet.returnCode = this._list.readUInt8(this._pos)\n\n if (packet.returnCode === -1) return this._emitError(new Error('Cannot parse return code'))\n}\n\nParser.prototype._parsePublish = function () {\n var packet = this.packet\n packet.topic = this._parseString()\n\n if (packet.topic === null) return this._emitError(new Error('Cannot parse topic'))\n\n // Parse messageId\n if (packet.qos > 0) if (!this._parseMessageId()) { return }\n\n packet.payload = this._list.slice(this._pos, packet.length)\n}\n\nParser.prototype._parseSubscribe = function () {\n var packet = this.packet\n var topic\n var qos\n\n if (packet.qos !== 1) {\n return this._emitError(new Error('Wrong subscribe header'))\n }\n\n packet.subscriptions = []\n\n if (!this._parseMessageId()) { return }\n\n while (this._pos < packet.length) {\n // Parse topic\n topic = this._parseString()\n if (topic === null) return this._emitError(new Error('Cannot parse topic'))\n\n if (this._pos >= packet.length) return this._emitError(new Error('Malformed Subscribe Payload'))\n qos = this._list.readUInt8(this._pos++)\n\n // Push pair to subscriptions\n packet.subscriptions.push({ topic: topic, qos: qos })\n }\n}\n\nParser.prototype._parseSuback = function () {\n this.packet.granted = []\n\n if (!this._parseMessageId()) { return }\n\n // Parse granted QoSes\n while (this._pos < this.packet.length) {\n this.packet.granted.push(this._list.readUInt8(this._pos++))\n }\n}\n\nParser.prototype._parseUnsubscribe = function () {\n var packet = this.packet\n\n packet.unsubscriptions = []\n\n // Parse messageId\n if (!this._parseMessageId()) { return }\n\n while (this._pos < packet.length) {\n var topic\n\n // Parse topic\n topic = this._parseString()\n if (topic === null) return this._emitError(new Error('Cannot parse topic'))\n\n // Push topic to unsubscriptions\n packet.unsubscriptions.push(topic)\n }\n}\n\nParser.prototype._parseUnsuback = function () {\n if (!this._parseMessageId()) return this._emitError(new Error('Cannot parse messageId'))\n}\n\nParser.prototype._parseMessageId = function () {\n var packet = this.packet\n\n packet.messageId = this._parseNum()\n\n if (packet.messageId === null) {\n this._emitError(new Error('Cannot parse messageId'))\n return false\n }\n\n return true\n}\n\nParser.prototype._parseString = function (maybeBuffer) {\n var length = this._parseNum()\n var result\n var end = length + this._pos\n\n if (length === -1 || end > this._list.length || end > this.packet.length) return null\n\n result = this._list.toString('utf8', this._pos, end)\n this._pos += length\n\n return result\n}\n\nParser.prototype._parseBuffer = function () {\n var length = this._parseNum()\n var result\n var end = length + this._pos\n\n if (length === -1 || end > this._list.length || end > this.packet.length) return null\n\n result = this._list.slice(this._pos, end)\n\n this._pos += length\n\n return result\n}\n\nParser.prototype._parseNum = function () {\n if (this._list.length - this._pos < 2) return -1\n\n var result = this._list.readUInt16BE(this._pos)\n this._pos += 2\n\n return result\n}\n\nParser.prototype._newPacket = function () {\n if (this.packet) {\n this._list.consume(this.packet.length)\n this.emit('packet', this.packet)\n }\n\n this.packet = new Packet()\n\n return true\n}\n\nParser.prototype._emitError = function (err) {\n this.error = err\n this.emit('error', err)\n}\n\nmodule.exports = Parser\n","var DuplexStream = require('readable-stream/duplex')\n , util = require('util')\n , Buffer = require('safe-buffer').Buffer\n\n\nfunction BufferList (callback) {\n if (!(this instanceof BufferList))\n return new BufferList(callback)\n\n this._bufs = []\n this.length = 0\n\n if (typeof callback == 'function') {\n this._callback = callback\n\n var piper = function piper (err) {\n if (this._callback) {\n this._callback(err)\n this._callback = null\n }\n }.bind(this)\n\n this.on('pipe', function onPipe (src) {\n src.on('error', piper)\n })\n this.on('unpipe', function onUnpipe (src) {\n src.removeListener('error', piper)\n })\n } else {\n this.append(callback)\n }\n\n DuplexStream.call(this)\n}\n\n\nutil.inherits(BufferList, DuplexStream)\n\n\nBufferList.prototype._offset = function _offset (offset) {\n var tot = 0, i = 0, _t\n if (offset === 0) return [ 0, 0 ]\n for (; i < this._bufs.length; i++) {\n _t = tot + this._bufs[i].length\n if (offset < _t || i == this._bufs.length - 1)\n return [ i, offset - tot ]\n tot = _t\n }\n}\n\n\nBufferList.prototype.append = function append (buf) {\n var i = 0\n\n if (Buffer.isBuffer(buf)) {\n this._appendBuffer(buf);\n } else if (Array.isArray(buf)) {\n for (; i < buf.length; i++)\n this.append(buf[i])\n } else if (buf instanceof BufferList) {\n // unwrap argument into individual BufferLists\n for (; i < buf._bufs.length; i++)\n this.append(buf._bufs[i])\n } else if (buf != null) {\n // coerce number arguments to strings, since Buffer(number) does\n // uninitialized memory allocation\n if (typeof buf == 'number')\n buf = buf.toString()\n\n this._appendBuffer(Buffer.from(buf));\n }\n\n return this\n}\n\n\nBufferList.prototype._appendBuffer = function appendBuffer (buf) {\n this._bufs.push(buf)\n this.length += buf.length\n}\n\n\nBufferList.prototype._write = function _write (buf, encoding, callback) {\n this._appendBuffer(buf)\n\n if (typeof callback == 'function')\n callback()\n}\n\n\nBufferList.prototype._read = function _read (size) {\n if (!this.length)\n return this.push(null)\n\n size = Math.min(size, this.length)\n this.push(this.slice(0, size))\n this.consume(size)\n}\n\n\nBufferList.prototype.end = function end (chunk) {\n DuplexStream.prototype.end.call(this, chunk)\n\n if (this._callback) {\n this._callback(null, this.slice())\n this._callback = null\n }\n}\n\n\nBufferList.prototype.get = function get (index) {\n return this.slice(index, index + 1)[0]\n}\n\n\nBufferList.prototype.slice = function slice (start, end) {\n if (typeof start == 'number' && start < 0)\n start += this.length\n if (typeof end == 'number' && end < 0)\n end += this.length\n return this.copy(null, 0, start, end)\n}\n\n\nBufferList.prototype.copy = function copy (dst, dstStart, srcStart, srcEnd) {\n if (typeof srcStart != 'number' || srcStart < 0)\n srcStart = 0\n if (typeof srcEnd != 'number' || srcEnd > this.length)\n srcEnd = this.length\n if (srcStart >= this.length)\n return dst || Buffer.alloc(0)\n if (srcEnd <= 0)\n return dst || Buffer.alloc(0)\n\n var copy = !!dst\n , off = this._offset(srcStart)\n , len = srcEnd - srcStart\n , bytes = len\n , bufoff = (copy && dstStart) || 0\n , start = off[1]\n , l\n , i\n\n // copy/slice everything\n if (srcStart === 0 && srcEnd == this.length) {\n if (!copy) { // slice, but full concat if multiple buffers\n return this._bufs.length === 1\n ? this._bufs[0]\n : Buffer.concat(this._bufs, this.length)\n }\n\n // copy, need to copy individual buffers\n for (i = 0; i < this._bufs.length; i++) {\n this._bufs[i].copy(dst, bufoff)\n bufoff += this._bufs[i].length\n }\n\n return dst\n }\n\n // easy, cheap case where it's a subset of one of the buffers\n if (bytes <= this._bufs[off[0]].length - start) {\n return copy\n ? this._bufs[off[0]].copy(dst, dstStart, start, start + bytes)\n : this._bufs[off[0]].slice(start, start + bytes)\n }\n\n if (!copy) // a slice, we need something to copy in to\n dst = Buffer.allocUnsafe(len)\n\n for (i = off[0]; i < this._bufs.length; i++) {\n l = this._bufs[i].length - start\n\n if (bytes > l) {\n this._bufs[i].copy(dst, bufoff, start)\n bufoff += l\n } else {\n this._bufs[i].copy(dst, bufoff, start, start + bytes)\n bufoff += l\n break\n }\n\n bytes -= l\n\n if (start)\n start = 0\n }\n\n // safeguard so that we don't return uninitialized memory\n if (dst.length > bufoff) return dst.slice(0, bufoff)\n\n return dst\n}\n\nBufferList.prototype.shallowSlice = function shallowSlice (start, end) {\n start = start || 0\n end = end || this.length\n\n if (start < 0)\n start += this.length\n if (end < 0)\n end += this.length\n\n var startOffset = this._offset(start)\n , endOffset = this._offset(end)\n , buffers = this._bufs.slice(startOffset[0], endOffset[0] + 1)\n\n if (endOffset[1] == 0)\n buffers.pop()\n else\n buffers[buffers.length-1] = buffers[buffers.length-1].slice(0, endOffset[1])\n\n if (startOffset[1] != 0)\n buffers[0] = buffers[0].slice(startOffset[1])\n\n return new BufferList(buffers)\n}\n\nBufferList.prototype.toString = function toString (encoding, start, end) {\n return this.slice(start, end).toString(encoding)\n}\n\nBufferList.prototype.consume = function consume (bytes) {\n // first, normalize the argument, in accordance with how Buffer does it\n bytes = Math.trunc(bytes)\n // do nothing if not a positive number\n if (Number.isNaN(bytes) || bytes <= 0) return this\n\n while (this._bufs.length) {\n if (bytes >= this._bufs[0].length) {\n bytes -= this._bufs[0].length\n this.length -= this._bufs[0].length\n this._bufs.shift()\n } else {\n this._bufs[0] = this._bufs[0].slice(bytes)\n this.length -= bytes\n break\n }\n }\n return this\n}\n\n\nBufferList.prototype.duplicate = function duplicate () {\n var i = 0\n , copy = new BufferList()\n\n for (; i < this._bufs.length; i++)\n copy.append(this._bufs[i])\n\n return copy\n}\n\n\nBufferList.prototype.destroy = function destroy () {\n this._bufs.length = 0\n this.length = 0\n this.push(null)\n}\n\n\n;(function () {\n var methods = {\n 'readDoubleBE' : 8\n , 'readDoubleLE' : 8\n , 'readFloatBE' : 4\n , 'readFloatLE' : 4\n , 'readInt32BE' : 4\n , 'readInt32LE' : 4\n , 'readUInt32BE' : 4\n , 'readUInt32LE' : 4\n , 'readInt16BE' : 2\n , 'readInt16LE' : 2\n , 'readUInt16BE' : 2\n , 'readUInt16LE' : 2\n , 'readInt8' : 1\n , 'readUInt8' : 1\n }\n\n for (var m in methods) {\n (function (m) {\n BufferList.prototype[m] = function (offset) {\n return this.slice(offset, offset + methods[m])[m](0)\n }\n }(m))\n }\n}())\n\n\nmodule.exports = BufferList\n","module.exports = require('./lib/_stream_duplex.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","\nfunction Packet () {\n this.cmd = null\n this.retain = false\n this.qos = 0\n this.dup = false\n this.length = -1\n this.topic = null\n this.payload = null\n}\n\nmodule.exports = Packet\n","'use strict'\n\nvar Buffer = require('safe-buffer').Buffer\n\n/* Protocol - protocol constants */\nvar protocol = module.exports\n\n/* Command code => mnemonic */\nprotocol.types = {\n 0: 'reserved',\n 1: 'connect',\n 2: 'connack',\n 3: 'publish',\n 4: 'puback',\n 5: 'pubrec',\n 6: 'pubrel',\n 7: 'pubcomp',\n 8: 'subscribe',\n 9: 'suback',\n 10: 'unsubscribe',\n 11: 'unsuback',\n 12: 'pingreq',\n 13: 'pingresp',\n 14: 'disconnect',\n 15: 'reserved'\n}\n\n/* Mnemonic => Command code */\nprotocol.codes = {}\nfor (var k in protocol.types) {\n var v = protocol.types[k]\n protocol.codes[v] = k\n}\n\n/* Header */\nprotocol.CMD_SHIFT = 4\nprotocol.CMD_MASK = 0xF0\nprotocol.DUP_MASK = 0x08\nprotocol.QOS_MASK = 0x03\nprotocol.QOS_SHIFT = 1\nprotocol.RETAIN_MASK = 0x01\n\n/* Length */\nprotocol.LENGTH_MASK = 0x7F\nprotocol.LENGTH_FIN_MASK = 0x80\n\n/* Connack */\nprotocol.SESSIONPRESENT_MASK = 0x01\nprotocol.SESSIONPRESENT_HEADER = Buffer.from([protocol.SESSIONPRESENT_MASK])\nprotocol.CONNACK_HEADER = Buffer.from([protocol.codes['connack'] << protocol.CMD_SHIFT])\n\n/* Connect */\nprotocol.USERNAME_MASK = 0x80\nprotocol.PASSWORD_MASK = 0x40\nprotocol.WILL_RETAIN_MASK = 0x20\nprotocol.WILL_QOS_MASK = 0x18\nprotocol.WILL_QOS_SHIFT = 3\nprotocol.WILL_FLAG_MASK = 0x04\nprotocol.CLEAN_SESSION_MASK = 0x02\nprotocol.CONNECT_HEADER = Buffer.from([protocol.codes['connect'] << protocol.CMD_SHIFT])\n\nfunction genHeader (type) {\n return [0, 1, 2].map(function (qos) {\n return [0, 1].map(function (dup) {\n return [0, 1].map(function (retain) {\n var buf = new Buffer(1)\n buf.writeUInt8(\n protocol.codes[type] << protocol.CMD_SHIFT |\n (dup ? protocol.DUP_MASK : 0) |\n qos << protocol.QOS_SHIFT | retain, 0, true)\n return buf\n })\n })\n })\n}\n\n/* Publish */\nprotocol.PUBLISH_HEADER = genHeader('publish')\n\n/* Subscribe */\nprotocol.SUBSCRIBE_HEADER = genHeader('subscribe')\n\n/* Unsubscribe */\nprotocol.UNSUBSCRIBE_HEADER = genHeader('unsubscribe')\n\n/* Confirmations */\nprotocol.ACKS = {\n unsuback: genHeader('unsuback'),\n puback: genHeader('puback'),\n pubcomp: genHeader('pubcomp'),\n pubrel: genHeader('pubrel'),\n pubrec: genHeader('pubrec')\n}\n\nprotocol.SUBACK_HEADER = Buffer.from([protocol.codes['suback'] << protocol.CMD_SHIFT])\n\n/* Protocol versions */\nprotocol.VERSION3 = Buffer.from([3])\nprotocol.VERSION4 = Buffer.from([4])\n\n/* QoS */\nprotocol.QOS = [0, 1, 2].map(function (qos) {\n return Buffer.from([qos])\n})\n\n/* Empty packets */\nprotocol.EMPTY = {\n pingreq: Buffer.from([protocol.codes['pingreq'] << 4, 0]),\n pingresp: Buffer.from([protocol.codes['pingresp'] << 4, 0]),\n disconnect: Buffer.from([protocol.codes['disconnect'] << 4, 0])\n}\n","'use strict'\n\nvar Buffer = require('safe-buffer').Buffer\nvar writeToStream = require('./writeToStream')\nvar EE = require('events').EventEmitter\nvar inherits = require('inherits')\n\nfunction generate (packet) {\n var stream = new Accumulator()\n writeToStream(packet, stream)\n return stream.concat()\n}\n\nfunction Accumulator () {\n this._array = new Array(20)\n this._i = 0\n}\n\ninherits(Accumulator, EE)\n\nAccumulator.prototype.write = function (chunk) {\n this._array[this._i++] = chunk\n return true\n}\n\nAccumulator.prototype.concat = function () {\n var length = 0\n var lengths = new Array(this._array.length)\n var list = this._array\n var pos = 0\n var i\n var result\n\n for (i = 0; i < list.length && list[i] !== undefined; i++) {\n if (typeof list[i] !== 'string') lengths[i] = list[i].length\n else lengths[i] = Buffer.byteLength(list[i])\n\n length += lengths[i]\n }\n\n result = Buffer.allocUnsafe(length)\n\n for (i = 0; i < list.length && list[i] !== undefined; i++) {\n if (typeof list[i] !== 'string') {\n list[i].copy(result, pos)\n pos += lengths[i]\n } else {\n result.write(list[i], pos)\n pos += lengths[i]\n }\n }\n\n return result\n}\n\nmodule.exports = generate\n","'use strict'\n\nvar protocol = require('./constants')\nvar Buffer = require('safe-buffer').Buffer\nvar empty = Buffer.allocUnsafe(0)\nvar zeroBuf = Buffer.from([0])\nvar numbers = require('./numbers')\nvar nextTick = require('process-nextick-args').nextTick\n\nvar numCache = numbers.cache\nvar generateNumber = numbers.generateNumber\nvar generateCache = numbers.generateCache\nvar writeNumber = writeNumberCached\nvar toGenerate = true\n\nfunction generate (packet, stream) {\n if (stream.cork) {\n stream.cork()\n nextTick(uncork, stream)\n }\n\n if (toGenerate) {\n toGenerate = false\n generateCache()\n }\n\n switch (packet.cmd) {\n case 'connect':\n return connect(packet, stream)\n case 'connack':\n return connack(packet, stream)\n case 'publish':\n return publish(packet, stream)\n case 'puback':\n case 'pubrec':\n case 'pubrel':\n case 'pubcomp':\n case 'unsuback':\n return confirmation(packet, stream)\n case 'subscribe':\n return subscribe(packet, stream)\n case 'suback':\n return suback(packet, stream)\n case 'unsubscribe':\n return unsubscribe(packet, stream)\n case 'pingreq':\n case 'pingresp':\n case 'disconnect':\n return emptyPacket(packet, stream)\n default:\n stream.emit('error', new Error('Unknown command'))\n return false\n }\n}\n/**\n * Controls numbers cache.\n * Set to \"false\" to allocate buffers on-the-flight instead of pre-generated cache\n */\nObject.defineProperty(generate, 'cacheNumbers', {\n get: function () {\n return writeNumber === writeNumberCached\n },\n set: function (value) {\n if (value) {\n if (!numCache || Object.keys(numCache).length === 0) toGenerate = true\n writeNumber = writeNumberCached\n } else {\n toGenerate = false\n writeNumber = writeNumberGenerated\n }\n }\n})\n\nfunction uncork (stream) {\n stream.uncork()\n}\n\nfunction connect (opts, stream) {\n var settings = opts || {}\n var protocolId = settings.protocolId || 'MQTT'\n var protocolVersion = settings.protocolVersion || 4\n var will = settings.will\n var clean = settings.clean\n var keepalive = settings.keepalive || 0\n var clientId = settings.clientId || ''\n var username = settings.username\n var password = settings.password\n\n if (clean === undefined) clean = true\n\n var length = 0\n\n // Must be a string and non-falsy\n if (!protocolId ||\n (typeof protocolId !== 'string' && !Buffer.isBuffer(protocolId))) {\n stream.emit('error', new Error('Invalid protocolId'))\n return false\n } else length += protocolId.length + 2\n\n // Must be 3 or 4\n if (protocolVersion !== 3 && protocolVersion !== 4) {\n stream.emit('error', new Error('Invalid protocol version'))\n return false\n } else length += 1\n\n // ClientId might be omitted in 3.1.1, but only if cleanSession is set to 1\n if ((typeof clientId === 'string' || Buffer.isBuffer(clientId)) &&\n (clientId || protocolVersion === 4) && (clientId || clean)) {\n length += clientId.length + 2\n } else {\n if (protocolVersion < 4) {\n stream.emit('error', new Error('clientId must be supplied before 3.1.1'))\n return false\n }\n if ((clean * 1) === 0) {\n stream.emit('error', new Error('clientId must be given if cleanSession set to 0'))\n return false\n }\n }\n\n // Must be a two byte number\n if (typeof keepalive !== 'number' ||\n keepalive < 0 ||\n keepalive > 65535 ||\n keepalive % 1 !== 0) {\n stream.emit('error', new Error('Invalid keepalive'))\n return false\n } else length += 2\n\n // Connect flags\n length += 1\n\n // If will exists...\n if (will) {\n // It must be an object\n if (typeof will !== 'object') {\n stream.emit('error', new Error('Invalid will'))\n return false\n }\n // It must have topic typeof string\n if (!will.topic || typeof will.topic !== 'string') {\n stream.emit('error', new Error('Invalid will topic'))\n return false\n } else {\n length += Buffer.byteLength(will.topic) + 2\n }\n\n // Payload\n if (will.payload && will.payload) {\n if (will.payload.length >= 0) {\n if (typeof will.payload === 'string') {\n length += Buffer.byteLength(will.payload) + 2\n } else {\n length += will.payload.length + 2\n }\n } else {\n stream.emit('error', new Error('Invalid will payload'))\n return false\n }\n } else {\n length += 2\n }\n }\n\n // Username\n var providedUsername = false\n if (username != null) {\n if (isStringOrBuffer(username)) {\n providedUsername = true\n length += Buffer.byteLength(username) + 2\n } else {\n stream.emit('error', new Error('Invalid username'))\n return false\n }\n }\n\n // Password\n if (password != null) {\n if (!providedUsername) {\n stream.emit('error', new Error('Username is required to use password'))\n return false\n }\n\n if (isStringOrBuffer(password)) {\n length += byteLength(password) + 2\n } else {\n stream.emit('error', new Error('Invalid password'))\n return false\n }\n }\n\n // Generate header\n stream.write(protocol.CONNECT_HEADER)\n\n // Generate length\n writeLength(stream, length)\n\n // Generate protocol ID\n writeStringOrBuffer(stream, protocolId)\n stream.write(\n protocolVersion === 4 ? protocol.VERSION4 : protocol.VERSION3\n )\n\n // Connect flags\n var flags = 0\n flags |= (username != null) ? protocol.USERNAME_MASK : 0\n flags |= (password != null) ? protocol.PASSWORD_MASK : 0\n flags |= (will && will.retain) ? protocol.WILL_RETAIN_MASK : 0\n flags |= (will && will.qos) ? will.qos << protocol.WILL_QOS_SHIFT : 0\n flags |= will ? protocol.WILL_FLAG_MASK : 0\n flags |= clean ? protocol.CLEAN_SESSION_MASK : 0\n\n stream.write(Buffer.from([flags]))\n\n // Keepalive\n writeNumber(stream, keepalive)\n\n // Client ID\n writeStringOrBuffer(stream, clientId)\n\n // Will\n if (will) {\n writeString(stream, will.topic)\n writeStringOrBuffer(stream, will.payload)\n }\n\n // Username and password\n if (username != null) {\n writeStringOrBuffer(stream, username)\n }\n if (password != null) {\n writeStringOrBuffer(stream, password)\n }\n // This is a small packet that happens only once on a stream\n // We assume the stream is always free to receive more data after this\n return true\n}\n\nfunction connack (opts, stream) {\n var settings = opts || {}\n var rc = settings.returnCode\n\n // Check return code\n if (typeof rc !== 'number') {\n stream.emit('error', new Error('Invalid return code'))\n return false\n }\n\n stream.write(protocol.CONNACK_HEADER)\n writeLength(stream, 2)\n stream.write(opts.sessionPresent ? protocol.SESSIONPRESENT_HEADER : zeroBuf)\n\n return stream.write(Buffer.from([rc]))\n}\n\nfunction publish (opts, stream) {\n var settings = opts || {}\n var qos = settings.qos || 0\n var retain = settings.retain ? protocol.RETAIN_MASK : 0\n var topic = settings.topic\n var payload = settings.payload || empty\n var id = settings.messageId\n\n var length = 0\n\n // Topic must be a non-empty string or Buffer\n if (typeof topic === 'string') length += Buffer.byteLength(topic) + 2\n else if (Buffer.isBuffer(topic)) length += topic.length + 2\n else {\n stream.emit('error', new Error('Invalid topic'))\n return false\n }\n\n // Get the payload length\n if (!Buffer.isBuffer(payload)) length += Buffer.byteLength(payload)\n else length += payload.length\n\n // Message ID must a number if qos > 0\n if (qos && typeof id !== 'number') {\n stream.emit('error', new Error('Invalid messageId'))\n return false\n } else if (qos) length += 2\n\n // Header\n stream.write(protocol.PUBLISH_HEADER[qos][opts.dup ? 1 : 0][retain ? 1 : 0])\n\n // Remaining length\n writeLength(stream, length)\n\n // Topic\n writeNumber(stream, byteLength(topic))\n stream.write(topic)\n\n // Message ID\n if (qos > 0) writeNumber(stream, id)\n\n // Payload\n return stream.write(payload)\n}\n\n/* Puback, pubrec, pubrel and pubcomp */\nfunction confirmation (opts, stream) {\n var settings = opts || {}\n var type = settings.cmd || 'puback'\n var id = settings.messageId\n var dup = (settings.dup && type === 'pubrel') ? protocol.DUP_MASK : 0\n var qos = 0\n\n if (type === 'pubrel') qos = 1\n\n // Check message ID\n if (typeof id !== 'number') {\n stream.emit('error', new Error('Invalid messageId'))\n return false\n }\n\n // Header\n stream.write(protocol.ACKS[type][qos][dup][0])\n\n // Length\n writeLength(stream, 2)\n\n // Message ID\n return writeNumber(stream, id)\n}\n\nfunction subscribe (opts, stream) {\n var settings = opts || {}\n var dup = settings.dup ? protocol.DUP_MASK : 0\n var id = settings.messageId\n var subs = settings.subscriptions\n\n var length = 0\n\n // Check message ID\n if (typeof id !== 'number') {\n stream.emit('error', new Error('Invalid messageId'))\n return false\n } else length += 2\n\n // Check subscriptions\n if (typeof subs === 'object' && subs.length) {\n for (var i = 0; i < subs.length; i += 1) {\n var itopic = subs[i].topic\n var iqos = subs[i].qos\n\n if (typeof itopic !== 'string') {\n stream.emit('error', new Error('Invalid subscriptions - invalid topic'))\n return false\n }\n if (typeof iqos !== 'number') {\n stream.emit('error', new Error('Invalid subscriptions - invalid qos'))\n return false\n }\n\n length += Buffer.byteLength(itopic) + 2 + 1\n }\n } else {\n stream.emit('error', new Error('Invalid subscriptions'))\n return false\n }\n\n // Generate header\n stream.write(protocol.SUBSCRIBE_HEADER[1][dup ? 1 : 0][0])\n\n // Generate length\n writeLength(stream, length)\n\n // Generate message ID\n writeNumber(stream, id)\n\n var result = true\n\n // Generate subs\n for (var j = 0; j < subs.length; j++) {\n var sub = subs[j]\n var jtopic = sub.topic\n var jqos = sub.qos\n\n // Write topic string\n writeString(stream, jtopic)\n\n // Write qos\n result = stream.write(protocol.QOS[jqos])\n }\n\n return result\n}\n\nfunction suback (opts, stream) {\n var settings = opts || {}\n var id = settings.messageId\n var granted = settings.granted\n\n var length = 0\n\n // Check message ID\n if (typeof id !== 'number') {\n stream.emit('error', new Error('Invalid messageId'))\n return false\n } else length += 2\n\n // Check granted qos vector\n if (typeof granted === 'object' && granted.length) {\n for (var i = 0; i < granted.length; i += 1) {\n if (typeof granted[i] !== 'number') {\n stream.emit('error', new Error('Invalid qos vector'))\n return false\n }\n length += 1\n }\n } else {\n stream.emit('error', new Error('Invalid qos vector'))\n return false\n }\n\n // header\n stream.write(protocol.SUBACK_HEADER)\n\n // Length\n writeLength(stream, length)\n\n // Message ID\n writeNumber(stream, id)\n\n return stream.write(Buffer.from(granted))\n}\n\nfunction unsubscribe (opts, stream) {\n var settings = opts || {}\n var id = settings.messageId\n var dup = settings.dup ? protocol.DUP_MASK : 0\n var unsubs = settings.unsubscriptions\n\n var length = 0\n\n // Check message ID\n if (typeof id !== 'number') {\n stream.emit('error', new Error('Invalid messageId'))\n return false\n } else {\n length += 2\n }\n // Check unsubs\n if (typeof unsubs === 'object' && unsubs.length) {\n for (var i = 0; i < unsubs.length; i += 1) {\n if (typeof unsubs[i] !== 'string') {\n stream.emit('error', new Error('Invalid unsubscriptions'))\n return false\n }\n length += Buffer.byteLength(unsubs[i]) + 2\n }\n } else {\n stream.emit('error', new Error('Invalid unsubscriptions'))\n return false\n }\n\n // Header\n stream.write(protocol.UNSUBSCRIBE_HEADER[1][dup ? 1 : 0][0])\n\n // Length\n writeLength(stream, length)\n\n // Message ID\n writeNumber(stream, id)\n\n // Unsubs\n var result = true\n for (var j = 0; j < unsubs.length; j++) {\n result = writeString(stream, unsubs[j])\n }\n\n return result\n}\n\nfunction emptyPacket (opts, stream) {\n return stream.write(protocol.EMPTY[opts.cmd])\n}\n\n/**\n * calcLengthLength - calculate the length of the remaining\n * length field\n *\n * @api private\n */\nfunction calcLengthLength (length) {\n if (length >= 0 && length < 128) return 1\n else if (length >= 128 && length < 16384) return 2\n else if (length >= 16384 && length < 2097152) return 3\n else if (length >= 2097152 && length < 268435456) return 4\n else return 0\n}\n\nfunction genBufLength (length) {\n var digit = 0\n var pos = 0\n var buffer = Buffer.allocUnsafe(calcLengthLength(length))\n\n do {\n digit = length % 128 | 0\n length = length / 128 | 0\n if (length > 0) digit = digit | 0x80\n\n buffer.writeUInt8(digit, pos++)\n } while (length > 0)\n\n return buffer\n}\n\n/**\n * writeLength - write an MQTT style length field to the buffer\n *\n * @param buffer - destination\n * @param pos - offset\n * @param length - length (>0)\n * @returns number of bytes written\n *\n * @api private\n */\n\nvar lengthCache = {}\nfunction writeLength (stream, length) {\n var buffer = lengthCache[length]\n\n if (!buffer) {\n buffer = genBufLength(length)\n if (length < 16384) lengthCache[length] = buffer\n }\n\n stream.write(buffer)\n}\n\n/**\n * writeString - write a utf8 string to the buffer\n *\n * @param buffer - destination\n * @param pos - offset\n * @param string - string to write\n * @return number of bytes written\n *\n * @api private\n */\n\nfunction writeString (stream, string) {\n var strlen = Buffer.byteLength(string)\n writeNumber(stream, strlen)\n\n stream.write(string, 'utf8')\n}\n\n/**\n * writeNumber - write a two byte number to the buffer\n *\n * @param buffer - destination\n * @param pos - offset\n * @param number - number to write\n * @return number of bytes written\n *\n * @api private\n */\nfunction writeNumberCached (stream, number) {\n return stream.write(numCache[number])\n}\nfunction writeNumberGenerated (stream, number) {\n return stream.write(generateNumber(number))\n}\n\n/**\n * writeStringOrBuffer - write a String or Buffer with the its length prefix\n *\n * @param buffer - destination\n * @param pos - offset\n * @param toWrite - String or Buffer\n * @return number of bytes written\n */\nfunction writeStringOrBuffer (stream, toWrite) {\n if (typeof toWrite === 'string') {\n writeString(stream, toWrite)\n } else if (toWrite) {\n writeNumber(stream, toWrite.length)\n stream.write(toWrite)\n } else writeNumber(stream, 0)\n}\n\nfunction byteLength (bufOrString) {\n if (!bufOrString) return 0\n else if (bufOrString instanceof Buffer) return bufOrString.length\n else return Buffer.byteLength(bufOrString)\n}\n\nfunction isStringOrBuffer (field) {\n return typeof field === 'string' || field instanceof Buffer\n}\n\nmodule.exports = generate\n","'use strict'\n\nvar Buffer = require('safe-buffer').Buffer\nvar max = 65536\nvar cache = {}\n\nfunction generateBuffer (i) {\n var buffer = Buffer.allocUnsafe(2)\n buffer.writeUInt8(i >> 8, 0)\n buffer.writeUInt8(i & 0x00FF, 0 + 1)\n\n return buffer\n}\n\nfunction generateCache () {\n for (var i = 0; i < max; i++) {\n cache[i] = generateBuffer(i)\n }\n}\n\nmodule.exports = {\n cache: cache,\n generateCache: generateCache,\n generateNumber: generateBuffer\n}\n","'use strict'\n\nfunction ReInterval (callback, interval, args) {\n var self = this;\n\n this._callback = callback;\n this._args = args;\n\n this._interval = setInterval(callback, interval, this._args);\n\n this.reschedule = function (interval) {\n // if no interval entered, use the interval passed in on creation\n if (!interval)\n interval = self._interval;\n\n if (self._interval)\n clearInterval(self._interval);\n self._interval = setInterval(self._callback, interval, self._args);\n };\n\n this.clear = function () {\n if (self._interval) {\n clearInterval(self._interval);\n self._interval = undefined;\n }\n };\n \n this.destroy = function () {\n if (self._interval) {\n clearInterval(self._interval);\n }\n self._callback = undefined;\n self._interval = undefined;\n self._args = undefined;\n };\n}\n\nfunction reInterval () {\n if (typeof arguments[0] !== 'function')\n throw new Error('callback needed');\n if (typeof arguments[1] !== 'number')\n throw new Error('interval needed');\n\n var args;\n\n if (arguments.length > 0) {\n args = new Array(arguments.length - 2);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 2];\n }\n }\n\n return new ReInterval(arguments[0], arguments[1], args);\n}\n\nmodule.exports = reInterval;\n","'use strict'\r\n\r\n/**\r\n * Validate a topic to see if it's valid or not.\r\n * A topic is valid if it follow below rules:\r\n * - Rule #1: If any part of the topic is not `+` or `#`, then it must not contain `+` and '#'\r\n * - Rule #2: Part `#` must be located at the end of the mailbox\r\n *\r\n * @param {String} topic - A topic\r\n * @returns {Boolean} If the topic is valid, returns true. Otherwise, returns false.\r\n */\r\nfunction validateTopic (topic) {\r\n var parts = topic.split('/')\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (parts[i] === '+') {\r\n continue\r\n }\r\n\r\n if (parts[i] === '#') {\r\n // for Rule #2\r\n return i === parts.length - 1\r\n }\r\n\r\n if (parts[i].indexOf('+') !== -1 || parts[i].indexOf('#') !== -1) {\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n}\r\n\r\n/**\r\n * Validate an array of topics to see if any of them is valid or not\r\n * @param {Array} topics - Array of topics\r\n * @returns {String} If the topics is valid, returns null. Otherwise, returns the invalid one\r\n */\r\nfunction validateTopics (topics) {\r\n if (topics.length === 0) {\r\n return 'empty_topic_list'\r\n }\r\n for (var i = 0; i < topics.length; i++) {\r\n if (!validateTopic(topics[i])) {\r\n return topics[i]\r\n }\r\n }\r\n return null\r\n}\r\n\r\nmodule.exports = {\r\n validateTopics: validateTopics\r\n}\r\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","'use strict'\r\nvar net = require('net')\r\n\r\n/*\r\n variables port and host can be removed since\r\n you have all required information in opts object\r\n*/\r\nfunction buildBuilder (client, opts) {\r\n var port, host\r\n opts.port = opts.port || 1883\r\n opts.hostname = opts.hostname || opts.host || 'localhost'\r\n\r\n port = opts.port\r\n host = opts.hostname\r\n\r\n return net.createConnection(port, host)\r\n}\r\n\r\nmodule.exports = buildBuilder\r\n","/* (ignored) */","'use strict'\r\nvar tls = require('tls')\r\n\r\nfunction buildBuilder (mqttClient, opts) {\r\n var connection\r\n opts.port = opts.port || 8883\r\n opts.host = opts.hostname || opts.host || 'localhost'\r\n\r\n opts.rejectUnauthorized = opts.rejectUnauthorized !== false\r\n\r\n delete opts.path\r\n\r\n connection = tls.connect(opts)\r\n /* eslint no-use-before-define: [2, \"nofunc\"] */\r\n connection.on('secureConnect', function () {\r\n if (opts.rejectUnauthorized && !connection.authorized) {\r\n connection.emit('error', new Error('TLS not authorized'))\r\n } else {\r\n connection.removeListener('error', handleTLSerrors)\r\n }\r\n })\r\n\r\n function handleTLSerrors (err) {\r\n // How can I get verify this error is a tls error?\r\n if (opts.rejectUnauthorized) {\r\n mqttClient.emit('error', err)\r\n }\r\n\r\n // close this connection to match the behaviour of net\r\n // otherwise all we get is an error from the connection\r\n // and close event doesn't fire. This is a work around\r\n // to enable the reconnect code to work the same as with\r\n // net.createConnection\r\n connection.end()\r\n }\r\n\r\n connection.on('error', handleTLSerrors)\r\n return connection\r\n}\r\n\r\nmodule.exports = buildBuilder\r\n","/* (ignored) */","'use strict'\r\n\r\n/* global wx */\r\nvar socketOpen = false\r\nvar socketMsgQueue = []\r\n\r\nfunction sendSocketMessage (msg) {\r\n if (socketOpen) {\r\n wx.sendSocketMessage({\r\n data: msg.buffer || msg\r\n })\r\n } else {\r\n socketMsgQueue.push(msg)\r\n }\r\n}\r\n\r\nfunction WebSocket (url, protocols) {\r\n var ws = {\r\n OPEN: 1,\r\n CLOSING: 2,\r\n CLOSED: 3,\r\n readyState: socketOpen ? 1 : 0,\r\n send: sendSocketMessage,\r\n close: wx.closeSocket,\r\n onopen: null,\r\n onmessage: null,\r\n onclose: null,\r\n onerror: null\r\n }\r\n\r\n wx.connectSocket({\r\n url: url,\r\n protocols: protocols\r\n })\r\n wx.onSocketOpen(function (res) {\r\n ws.readyState = ws.OPEN\r\n socketOpen = true\r\n for (var i = 0; i < socketMsgQueue.length; i++) {\r\n sendSocketMessage(socketMsgQueue[i])\r\n }\r\n socketMsgQueue = []\r\n\r\n ws.onopen && ws.onopen.apply(ws, arguments)\r\n })\r\n wx.onSocketMessage(function (res) {\r\n ws.onmessage && ws.onmessage.apply(ws, arguments)\r\n })\r\n wx.onSocketClose(function () {\r\n ws.onclose && ws.onclose.apply(ws, arguments)\r\n ws.readyState = ws.CLOSED\r\n socketOpen = false\r\n })\r\n wx.onSocketError(function () {\r\n ws.onerror && ws.onerror.apply(ws, arguments)\r\n ws.readyState = ws.CLOSED\r\n socketOpen = false\r\n })\r\n\r\n return ws\r\n}\r\n\r\nvar websocket = require('websocket-stream')\r\n\r\nfunction buildUrl (opts, client) {\r\n var protocol = opts.protocol === 'wxs' ? 'wss' : 'ws'\r\n var url = protocol + '://' + opts.hostname + opts.path\r\n if (opts.port && opts.port !== 80 && opts.port !== 443) {\r\n url = protocol + '://' + opts.hostname + ':' + opts.port + opts.path\r\n }\r\n if (typeof (opts.transformWsUrl) === 'function') {\r\n url = opts.transformWsUrl(url, opts, client)\r\n }\r\n return url\r\n}\r\n\r\nfunction setDefaultOpts (opts) {\r\n if (!opts.hostname) {\r\n opts.hostname = 'localhost'\r\n }\r\n if (!opts.path) {\r\n opts.path = '/'\r\n }\r\n\r\n if (!opts.wsOptions) {\r\n opts.wsOptions = {}\r\n }\r\n}\r\n\r\nfunction createWebSocket (client, opts) {\r\n var websocketSubProtocol =\r\n (opts.protocolId === 'MQIsdp') && (opts.protocolVersion === 3)\r\n ? 'mqttv3.1'\r\n : 'mqtt'\r\n\r\n setDefaultOpts(opts)\r\n var url = buildUrl(opts, client)\r\n return websocket(WebSocket(url, [websocketSubProtocol]))\r\n}\r\n\r\nfunction buildBuilder (client, opts) {\r\n opts.hostname = opts.hostname || opts.host\r\n\r\n if (!opts.hostname) {\r\n throw new Error('Could not determine host. Specify host manually.')\r\n }\r\n\r\n return createWebSocket(client, opts)\r\n}\r\n\r\nmodule.exports = buildBuilder\r\n","'use strict'\n\nvar Transform = require('readable-stream').Transform\nvar duplexify = require('duplexify')\nvar WS = require('ws')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = WebSocketStream\n\nfunction buildProxy (options, socketWrite, socketEnd) {\n var proxy = new Transform({\n objectMode: options.objectMode\n })\n\n proxy._write = socketWrite\n proxy._flush = socketEnd\n\n return proxy\n}\n\nfunction WebSocketStream(target, protocols, options) {\n var stream, socket\n\n var isBrowser = process.title === 'browser'\n var isNative = !!global.WebSocket\n var socketWrite = isBrowser ? socketWriteBrowser : socketWriteNode\n\n if (protocols && !Array.isArray(protocols) && 'object' === typeof protocols) {\n // accept the \"options\" Object as the 2nd argument\n options = protocols\n protocols = null\n\n if (typeof options.protocol === 'string' || Array.isArray(options.protocol)) {\n protocols = options.protocol;\n }\n }\n\n if (!options) options = {}\n\n if (options.objectMode === undefined) {\n options.objectMode = !(options.binary === true || options.binary === undefined)\n }\n\n var proxy = buildProxy(options, socketWrite, socketEnd)\n\n if (!options.objectMode) {\n proxy._writev = writev\n }\n\n // browser only: sets the maximum socket buffer size before throttling\n var bufferSize = options.browserBufferSize || 1024 * 512\n\n // browser only: how long to wait when throttling\n var bufferTimeout = options.browserBufferTimeout || 1000\n\n // use existing WebSocket object that was passed in\n if (typeof target === 'object') {\n socket = target\n // otherwise make a new one\n } else {\n // special constructor treatment for native websockets in browsers, see\n // https://github.com/maxogden/websocket-stream/issues/82\n if (isNative && isBrowser) {\n socket = new WS(target, protocols)\n } else {\n socket = new WS(target, protocols, options)\n }\n\n socket.binaryType = 'arraybuffer'\n }\n\n // was already open when passed in\n if (socket.readyState === socket.OPEN) {\n stream = proxy\n } else if (isBrowser) {\n stream = proxy\n stream.cork()\n socket.onopen = onopenBrowser\n } else {\n stream = duplexify.obj()\n socket.onopen = onopen\n }\n\n stream.socket = socket\n\n socket.onclose = onclose\n socket.onerror = onerror\n socket.onmessage = onmessage\n\n proxy.on('close', destroy)\n\n var coerceToBuffer = !options.objectMode\n\n function socketWriteNode(chunk, enc, next) {\n // avoid errors, this never happens unless\n // destroy() is called\n if (socket.readyState !== socket.OPEN) {\n next()\n return\n }\n\n if (coerceToBuffer && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, 'utf8')\n }\n socket.send(chunk, next)\n }\n\n function socketWriteBrowser(chunk, enc, next) {\n if (socket.bufferedAmount > bufferSize) {\n setTimeout(socketWriteBrowser, bufferTimeout, chunk, enc, next)\n return\n }\n\n if (coerceToBuffer && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, 'utf8')\n }\n\n try {\n socket.send(chunk)\n } catch(err) {\n return next(err)\n }\n\n next()\n }\n\n function socketEnd(done) {\n socket.close()\n done()\n }\n\n function onopen() {\n stream.setReadable(proxy)\n stream.setWritable(proxy)\n stream.emit('connect')\n }\n\n function onopenBrowser () {\n stream.uncork()\n stream.emit('connect')\n }\n\n function onclose() {\n stream.end()\n stream.destroy()\n }\n\n function onerror(err) {\n stream.destroy(err)\n }\n\n function onmessage(event) {\n var data = event.data\n if (data instanceof ArrayBuffer) data = Buffer.from(data)\n else data = Buffer.from(data, 'utf8')\n proxy.push(data)\n }\n\n function destroy() {\n socket.close()\n }\n\n // this is to be enabled only if objectMode is false\n function writev (chunks, cb) {\n var buffers = new Array(chunks.length)\n for (var i = 0; i < chunks.length; i++) {\n if (typeof chunks[i].chunk === 'string') {\n buffers[i] = Buffer.from(chunks[i], 'utf8')\n } else {\n buffers[i] = chunks[i].chunk\n }\n }\n\n this._write(Buffer.concat(buffers), 'binary', cb)\n }\n\n return stream\n}\n","var stream = require('readable-stream')\nvar eos = require('end-of-stream')\nvar inherits = require('inherits')\nvar shift = require('stream-shift')\n\nvar SIGNAL_FLUSH = (Buffer.from && Buffer.from !== Uint8Array.from)\n ? Buffer.from([0])\n : new Buffer([0])\n\nvar onuncork = function(self, fn) {\n if (self._corked) self.once('uncork', fn)\n else fn()\n}\n\nvar autoDestroy = function (self, err) {\n if (self._autoDestroy) self.destroy(err)\n}\n\nvar destroyer = function(self, end) {\n return function(err) {\n if (err) autoDestroy(self, err.message === 'premature close' ? null : err)\n else if (end && !self._ended) self.end()\n }\n}\n\nvar end = function(ws, fn) {\n if (!ws) return fn()\n if (ws._writableState && ws._writableState.finished) return fn()\n if (ws._writableState) return ws.end(fn)\n ws.end()\n fn()\n}\n\nvar toStreams2 = function(rs) {\n return new (stream.Readable)({objectMode:true, highWaterMark:16}).wrap(rs)\n}\n\nvar Duplexify = function(writable, readable, opts) {\n if (!(this instanceof Duplexify)) return new Duplexify(writable, readable, opts)\n stream.Duplex.call(this, opts)\n\n this._writable = null\n this._readable = null\n this._readable2 = null\n\n this._autoDestroy = !opts || opts.autoDestroy !== false\n this._forwardDestroy = !opts || opts.destroy !== false\n this._forwardEnd = !opts || opts.end !== false\n this._corked = 1 // start corked\n this._ondrain = null\n this._drained = false\n this._forwarding = false\n this._unwrite = null\n this._unread = null\n this._ended = false\n\n this.destroyed = false\n\n if (writable) this.setWritable(writable)\n if (readable) this.setReadable(readable)\n}\n\ninherits(Duplexify, stream.Duplex)\n\nDuplexify.obj = function(writable, readable, opts) {\n if (!opts) opts = {}\n opts.objectMode = true\n opts.highWaterMark = 16\n return new Duplexify(writable, readable, opts)\n}\n\nDuplexify.prototype.cork = function() {\n if (++this._corked === 1) this.emit('cork')\n}\n\nDuplexify.prototype.uncork = function() {\n if (this._corked && --this._corked === 0) this.emit('uncork')\n}\n\nDuplexify.prototype.setWritable = function(writable) {\n if (this._unwrite) this._unwrite()\n\n if (this.destroyed) {\n if (writable && writable.destroy) writable.destroy()\n return\n }\n\n if (writable === null || writable === false) {\n this.end()\n return\n }\n\n var self = this\n var unend = eos(writable, {writable:true, readable:false}, destroyer(this, this._forwardEnd))\n\n var ondrain = function() {\n var ondrain = self._ondrain\n self._ondrain = null\n if (ondrain) ondrain()\n }\n\n var clear = function() {\n self._writable.removeListener('drain', ondrain)\n unend()\n }\n\n if (this._unwrite) process.nextTick(ondrain) // force a drain on stream reset to avoid livelocks\n\n this._writable = writable\n this._writable.on('drain', ondrain)\n this._unwrite = clear\n\n this.uncork() // always uncork setWritable\n}\n\nDuplexify.prototype.setReadable = function(readable) {\n if (this._unread) this._unread()\n\n if (this.destroyed) {\n if (readable && readable.destroy) readable.destroy()\n return\n }\n\n if (readable === null || readable === false) {\n this.push(null)\n this.resume()\n return\n }\n\n var self = this\n var unend = eos(readable, {writable:false, readable:true}, destroyer(this))\n\n var onreadable = function() {\n self._forward()\n }\n\n var onend = function() {\n self.push(null)\n }\n\n var clear = function() {\n self._readable2.removeListener('readable', onreadable)\n self._readable2.removeListener('end', onend)\n unend()\n }\n\n this._drained = true\n this._readable = readable\n this._readable2 = readable._readableState ? readable : toStreams2(readable)\n this._readable2.on('readable', onreadable)\n this._readable2.on('end', onend)\n this._unread = clear\n\n this._forward()\n}\n\nDuplexify.prototype._read = function() {\n this._drained = true\n this._forward()\n}\n\nDuplexify.prototype._forward = function() {\n if (this._forwarding || !this._readable2 || !this._drained) return\n this._forwarding = true\n\n var data\n\n while (this._drained && (data = shift(this._readable2)) !== null) {\n if (this.destroyed) continue\n this._drained = this.push(data)\n }\n\n this._forwarding = false\n}\n\nDuplexify.prototype.destroy = function(err) {\n if (this.destroyed) return\n this.destroyed = true\n\n var self = this\n process.nextTick(function() {\n self._destroy(err)\n })\n}\n\nDuplexify.prototype._destroy = function(err) {\n if (err) {\n var ondrain = this._ondrain\n this._ondrain = null\n if (ondrain) ondrain(err)\n else this.emit('error', err)\n }\n\n if (this._forwardDestroy) {\n if (this._readable && this._readable.destroy) this._readable.destroy()\n if (this._writable && this._writable.destroy) this._writable.destroy()\n }\n\n this.emit('close')\n}\n\nDuplexify.prototype._write = function(data, enc, cb) {\n if (this.destroyed) return cb()\n if (this._corked) return onuncork(this, this._write.bind(this, data, enc, cb))\n if (data === SIGNAL_FLUSH) return this._finish(cb)\n if (!this._writable) return cb()\n\n if (this._writable.write(data) === false) this._ondrain = cb\n else cb()\n}\n\nDuplexify.prototype._finish = function(cb) {\n var self = this\n this.emit('preend')\n onuncork(this, function() {\n end(self._forwardEnd && self._writable, function() {\n // haxx to not emit prefinish twice\n if (self._writableState.prefinished === false) self._writableState.prefinished = true\n self.emit('prefinish')\n onuncork(self, cb)\n })\n })\n}\n\nDuplexify.prototype.end = function(data, enc, cb) {\n if (typeof data === 'function') return this.end(null, null, data)\n if (typeof enc === 'function') return this.end(data, null, enc)\n this._ended = true\n if (data) this.write(data)\n if (!this._writableState.ending) this.write(SIGNAL_FLUSH)\n return stream.Writable.prototype.end.call(this, cb)\n}\n\nmodule.exports = Duplexify\n","module.exports = shift\n\nfunction shift (stream) {\n var rs = stream._readableState\n if (!rs) return null\n return (rs.objectMode || typeof stream._duplexState === 'number') ? stream.read() : stream.read(getStateLength(rs))\n}\n\nfunction getStateLength (state) {\n if (state.buffer.length) {\n // Since node 6.3.0 state.buffer is a BufferList not an array\n if (state.buffer.head) {\n return state.buffer.head.data.length\n }\n\n return state.buffer[0].length\n }\n\n return state.length\n}\n","\nvar ws = null\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else if (typeof MozWebSocket !== 'undefined') {\n ws = MozWebSocket\n} else if (typeof window !== 'undefined') {\n ws = window.WebSocket || window.MozWebSocket\n}\n\nmodule.exports = ws\n","'use strict'\r\n\r\nvar websocket = require('websocket-stream')\r\nvar urlModule = require('url')\r\nvar WSS_OPTIONS = [\r\n 'rejectUnauthorized',\r\n 'ca',\r\n 'cert',\r\n 'key',\r\n 'pfx',\r\n 'passphrase'\r\n]\r\nvar IS_BROWSER = process.title === 'browser'\r\n\r\nfunction buildUrl (opts, client) {\r\n var url = opts.protocol + '://' + opts.hostname + ':' + opts.port + opts.path\r\n if (typeof (opts.transformWsUrl) === 'function') {\r\n url = opts.transformWsUrl(url, opts, client)\r\n }\r\n return url\r\n}\r\n\r\nfunction setDefaultOpts (opts) {\r\n if (!opts.hostname) {\r\n opts.hostname = 'localhost'\r\n }\r\n if (!opts.port) {\r\n if (opts.protocol === 'wss') {\r\n opts.port = 443\r\n } else {\r\n opts.port = 80\r\n }\r\n }\r\n if (!opts.path) {\r\n opts.path = '/'\r\n }\r\n\r\n if (!opts.wsOptions) {\r\n opts.wsOptions = {}\r\n }\r\n if (!IS_BROWSER && opts.protocol === 'wss') {\r\n // Add cert/key/ca etc options\r\n WSS_OPTIONS.forEach(function (prop) {\r\n if (opts.hasOwnProperty(prop) && !opts.wsOptions.hasOwnProperty(prop)) {\r\n opts.wsOptions[prop] = opts[prop]\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction createWebSocket (client, opts) {\r\n var websocketSubProtocol =\r\n (opts.protocolId === 'MQIsdp') && (opts.protocolVersion === 3)\r\n ? 'mqttv3.1'\r\n : 'mqtt'\r\n\r\n setDefaultOpts(opts)\r\n var url = buildUrl(opts, client)\r\n return websocket(url, [websocketSubProtocol], opts.wsOptions)\r\n}\r\n\r\nfunction buildBuilder (client, opts) {\r\n return createWebSocket(client, opts)\r\n}\r\n\r\nfunction buildBuilderBrowser (client, opts) {\r\n if (!opts.hostname) {\r\n opts.hostname = opts.host\r\n }\r\n\r\n if (!opts.hostname) {\r\n // Throwing an error in a Web Worker if no `hostname` is given, because we\r\n // can not determine the `hostname` automatically. If connecting to\r\n // localhost, please supply the `hostname` as an argument.\r\n if (typeof (document) === 'undefined') {\r\n throw new Error('Could not determine host. Specify host manually.')\r\n }\r\n var parsed = urlModule.parse(document.URL)\r\n opts.hostname = parsed.hostname\r\n\r\n if (!opts.port) {\r\n opts.port = parsed.port\r\n }\r\n }\r\n return createWebSocket(client, opts)\r\n}\r\n\r\nif (IS_BROWSER) {\r\n module.exports = buildBuilderBrowser\r\n} else {\r\n module.exports = buildBuilder\r\n}\r\n","const host = 'https://www.szdot.top'\r\nconst baseURL = host + '/flycube.php'\r\nconst listPath = host + '/Data/UploadFiles/category/'\r\nconst spuPath = host + '/Data/UploadFiles/spu/'\r\nconst skuPath = host + '/Data/UploadFiles/sku/'\r\nconst sitePath = host + '/Data/UploadFiles/site/'\r\nconst logoPath = host + '/Data/UploadFiles/logo/'\r\nexport default {\r\n\t/**\r\n\t * @description: api服务器\r\n\t * host 主站\r\n\t * api接口地址\r\n\t * 分类列表路径\r\n\t * spu产品图片路径\r\n\t * sku产品图片路径\r\n\t * 站点图片路径\r\n\t * 商铺logo路径\r\n\t */\r\n\t\"host\": host,\r\n\t\"baseURL\": baseURL,\r\n\t\"listPath\": listPath,\r\n\t\"spuPath\": spuPath,\r\n\t\"skuPath\": skuPath,\r\n\t\"sitePath\": sitePath,\r\n\t\"logoPath\": logoPath,\r\n\t/**\r\n\t * @description: mqtt服务器\r\n\t * host 主站\r\n\t */\r\n\t\"mqttHost\": 'wxs://szdot.top',\r\n\t\"mqttPort\": 8083,\r\n\t\"mqttUserName\": 'admin',\r\n\t'mqttPassword': '123456'\r\n}","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\n//把vuex作为插件引入到Vue示例中 ps:注册\r\nVue.use(Vuex)\r\n\r\n//引用全局设定\r\nimport settings from '@/settings.js'\r\nconst {\r\n\thost,\r\n\tbaseURL,\r\n\tlistPath,\r\n\tspuPath,\r\n\tskuPath,\r\n\tsitePath,\r\n\tlogoPath\r\n} = settings\r\n\r\nconst store = new Vuex.Store({\r\n\t//全局状态\r\n\tstate: {\r\n\t\tshop_id: \"2dc23dcfecc05fb1\", //商铺id\r\n\t\tsite_id: 1, //当前站点id\r\n\t\tuserInfo: {\r\n\t\t\tname: null,\r\n\t\t\tphoto: null,\r\n\t\t\tsex: '0',\r\n\t\t\ttel: null,\r\n\t\t\ttoken: null,\r\n\t\t\ttopic_prefix: null\r\n\t\t}, //用户信息\r\n\r\n\t\tsiteList: [], //站点列表\r\n\t\tmenuList: [], //分类列表\r\n\t\tspuList: [], //spu列表\r\n\t\tskuList: [], //sku列表\r\n\t\tshopCon: {}, //商铺信息\r\n\t\tcartList: [], //购物车列表 结构:[{\"spu_id\":\"id\",\"skuG\":[sku_id,sku_id],\"conutG\":[数量,数量],\"priceG\":[单价,单价]},{.....}]\r\n\r\n\t\ttabbarCurrent: 0, //tabbar的当前激活项\r\n\t\tcartShow: false, //列表页 购物车折叠显隐\r\n\t\tmqttState: false, //标记mqtt服务器是否已经连接成功\r\n\t},\r\n\t//修改状态\r\n\tmutations: {\r\n\t\t//设置tabbar当前激活像\r\n\t\tsetTabbarCurrent(state,val){\r\n\t\t\tVue.set(state,'tabbarCurrent', val)\r\n\t\t},\r\n\t\t//把用户信息 从本地缓存 提取到内存当中\r\n\t\tsetUserInfo(state, obj) {\r\n\t\t\tVue.set(state.userInfo, 'name', obj.name)\r\n\t\t\tVue.set(state.userInfo, 'photo', obj.photo)\r\n\t\t\tVue.set(state.userInfo, 'sex', obj.sex)\r\n\t\t\tVue.set(state.userInfo, 'tel', obj.tel)\r\n\t\t\tVue.set(state.userInfo, 'token', obj.token)\r\n\t\t\tVue.set(state.userInfo, 'topic_prefix', obj.topic_prefix)\r\n\t\t},\r\n\t\t//清除用户信息\r\n\t\tclearUserInfo(state) {\r\n\t\t\tVue.set(state.userInfo, 'name', null)\r\n\t\t\tVue.set(state.userInfo, 'photo', null)\r\n\t\t\tVue.set(state.userInfo, 'sex', '0')\r\n\t\t\tVue.set(state.userInfo, 'tel', null)\r\n\t\t\tVue.set(state.userInfo, 'token', null)\r\n\t\t\tVue.set(state.userInfo, 'topic_prefix', null)\r\n\t\t},\r\n\t\t//设置站点列表\r\n\t\tsetSiteList(state, list) {\r\n\t\t\tstate.siteList = list\r\n\t\t},\r\n\t\t//设置分类列表\r\n\t\tsetMenuList(state, list) {\r\n\t\t\tstate.menuList = list\r\n\t\t},\r\n\t\t//设置spu列表\r\n\t\tsetSpuList(state, list) {\r\n\t\t\tstate.spuList = list\r\n\t\t},\r\n\t\t//设置sku列表\r\n\t\tsetSkuList(state, list) {\r\n\t\t\tstate.skuList = list\r\n\t\t},\r\n\t\t//设置商铺信息\r\n\t\tsetShopCon(state, obj) {\r\n\t\t\tstate.shopCon = obj\r\n\t\t},\r\n\t\t// 设置购物车列表\r\n\t\tsetCartList(state, obj) {\r\n\t\t\tlet isExisting = false\r\n\t\t\tstate.cartList.forEach(item => {\r\n\t\t\t\t// 判断是否存在相同的skuG组合\r\n\t\t\t\tif (JSON.stringify(item.skuG) === JSON.stringify(obj.skuG)) {\r\n\t\t\t\t\t// 如果存在相同的skuG组合,则将现有商品的数量加1\r\n\t\t\t\t\tfor (let i = 0; i < item.countG.length; i++) {\r\n\t\t\t\t\t\t// 使用 Vue.set 或 this.$set 来确保 Vue 能够响应这个变化\r\n\t\t\t\t\t\tVue.set(item.countG, i, item.countG[i] + 1)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tisExisting = true\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t// 如果购物车中不存在相同的skuG组合,则将新商品添加到购物车列表中\r\n\t\t\tif (!isExisting) {\r\n\t\t\t\tstate.cartList.push(obj)\r\n\t\t\t}\r\n\t\t},\r\n\t\t//给spu添加最低价格字段\r\n\t\taddMinPriceToSpuList(state) {\r\n\t\t\tstate.spuList.forEach((spuItem, index) => {\r\n\t\t\t\tlet totalPrice = 0\r\n\t\t\t\tspuItem.bind_sku.forEach(skuGroup => {\r\n\t\t\t\t\tlet minPrice = 0\r\n\t\t\t\t\tlet sku\r\n\t\t\t\t\tskuGroup.value.forEach(skuId => {\r\n\t\t\t\t\t\tsku = state.skuList.find(sku => skuId == sku\r\n\t\t\t\t\t\t\t.id)\r\n\t\t\t\t\t\tif (Number(minPrice) === 0 || Number(minPrice) > Number(sku\r\n\t\t\t\t\t\t\t\t.price)) {\r\n\t\t\t\t\t\t\tminPrice = Number(sku.price)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\ttotalPrice += Number(minPrice)\r\n\t\t\t\t})\r\n\t\t\t\t// 添加新的字段 js不能用this.$set(注意)\r\n\t\t\t\tVue.set(spuItem, 'minPrice', parseFloat(totalPrice.toFixed(2)))\r\n\t\t\t})\r\n\t\t},\r\n\t\t//给spu.bind_sku.skuG 字段添加解构数据 ps:此函数在加载完skuList后执行\r\n\t\taddSkuGToSpuList(state) {\r\n\t\t\tstate.spuList.forEach(spuItem => {\r\n\t\t\t\tspuItem.bind_sku.forEach(item => {\r\n\t\t\t\t\tconst skuG = item.value.map(id => state.skuList.find(sku => Number(sku\r\n\t\t\t\t\t\t.id) === Number(id)))\r\n\t\t\t\t\tVue.set(item, 'skuG', skuG)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\t},\r\n\t//异步修改\r\n\tactions: {\r\n\t\t//获取站点列表\r\n\t\tfetchSiteList({\r\n\t\t\tstate,\r\n\t\t\tcommit\r\n\t\t}) {\r\n\t\t\tuni.$u.http.get('/Api/Normal/getSiteList', {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tshop_id: state.shop_id\r\n\t\t\t\t}\r\n\t\t\t}).then(res => {\r\n\t\t\t\tif (res.data.status === 1) {\r\n\t\t\t\t\t// 反序列化处理 字段\r\n\t\t\t\t\tres.data.siteList.forEach(site => {\r\n\t\t\t\t\t\tsite.photo = JSON.parse(site.photo)\r\n\t\t\t\t\t\tsite.photo.forEach((p, index) => {\r\n\t\t\t\t\t\t\tsite.photo[index] = sitePath + p\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t\t\t//更新数据\r\n\t\t\t\t\tcommit('setSiteList', res.data.siteList)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcommit('setSiteList', [])\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\t//获取分类列表\r\n\t\tfetchMenuList({\r\n\t\t\tstate,\r\n\t\t\tcommit\r\n\t\t}) {\r\n\t\t\tuni.$u.http.get('/Api/Normal/getCategoryList', {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tshop_id: state.shop_id\r\n\t\t\t\t}\r\n\t\t\t}).then(res => {\r\n\t\t\t\tif (res.data.status === 1) {\r\n\t\t\t\t\t// 反序列化处理 字段\r\n\t\t\t\t\tres.data.categoryList.forEach(category => {\r\n\t\t\t\t\t\tcategory.photo = JSON.parse(category.photo)\r\n\t\t\t\t\t\tcategory.photo.forEach((p, index) => {\r\n\t\t\t\t\t\t\tcategory.photo[index] = listPath + p\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t\t\t//更新数据\r\n\t\t\t\t\tcommit('setMenuList', res.data.categoryList)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcommit('setMenuList', [])\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\t// 获取spu列表\r\n\t\tfetchSpuList({\r\n\t\t\tstate,\r\n\t\t\tcommit\r\n\t\t}) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\tuni.$u.http.get('/Api/Normal/getSpuList', {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tshop_id: state.shop_id\r\n\t\t\t\t\t}\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.data.status === 1) {\r\n\t\t\t\t\t\t// 反序列化处理 字段\r\n\t\t\t\t\t\tres.data.spuList.forEach(spu => {\r\n\t\t\t\t\t\t\tspu.photo = JSON.parse(spu.photo)\r\n\t\t\t\t\t\t\tspu.photo.forEach((p, index) => {\r\n\t\t\t\t\t\t\t\tspu.photo[index] = spuPath + p\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tspu.bind_sku = JSON.parse(spu.bind_sku)\r\n\t\t\t\t\t\t\tspu.bind_sku.forEach(bs => {\r\n\t\t\t\t\t\t\t\tVue.set(bs, 'skuG',\r\n\t\t\t\t\t\t\t\t\t[]\r\n\t\t\t\t\t\t\t\t) //添加对应sku组 字段 临时先加一个空数组 在另外的方法等skuList异步加载完成在 添加 结构这个字段\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tVue.set(spu, 'bind_sku', spu.bind_sku)\r\n\t\t\t\t\t\t\tVue.set(spu, 'pro_tag', JSON.parse(spu.pro_tag))\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t//更新数据\r\n\t\t\t\t\t\tcommit('setSpuList', res.data.spuList)\r\n\t\t\t\t\t\tresolve() // 请求成功后 resolve\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcommit('setSpuList', [])\r\n\t\t\t\t\t\treject() // 请求失败时 reject\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(error => {\r\n\t\t\t\t\treject(error) // 请求出错时 reject\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t\t// 获取sku列表\r\n\t\tfetchSkuList({\r\n\t\t\tstate,\r\n\t\t\tcommit\r\n\t\t}) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\tuni.$u.http.get('/Api/Normal/getSkuList', {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tshop_id: state.shop_id\r\n\t\t\t\t\t}\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.data.status === 1) {\r\n\t\t\t\t\t\t// 反序列化处理 字段\r\n\t\t\t\t\t\tres.data.skuList.forEach(sku => {\r\n\t\t\t\t\t\t\tsku.photo = JSON.parse(sku.photo)\r\n\t\t\t\t\t\t\tsku.photo.forEach((p, index) => {\r\n\t\t\t\t\t\t\t\tsku.photo[index] = skuPath + p\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t//更新数据\r\n\t\t\t\t\t\tcommit('setSkuList', res.data.skuList)\r\n\t\t\t\t\t\tresolve() // 请求成功后 resolve\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcommit('setSkuList', [])\r\n\t\t\t\t\t\treject() // 请求失败时 reject\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(error => {\r\n\t\t\t\t\treject(error) // 请求出错时 reject\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t\t//获取商品信息\r\n\t\tfetchShopCon({\r\n\t\t\tstate,\r\n\t\t\tcommit\r\n\t\t}) {\r\n\t\t\tuni.$u.http.get('/Api/Normal/getShopCon', {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tshop_id: state.shop_id\r\n\t\t\t\t}\r\n\t\t\t}).then(res => {\r\n\t\t\t\tif (res.data.status === 1) {\r\n\t\t\t\t\t// 反序列化处理 字段\r\n\t\t\t\t\tres.data.shopCon.logo = JSON.parse(res.data.shopCon.logo)\r\n\t\t\t\t\tres.data.shopCon.logo.forEach((p, index) => {\r\n\t\t\t\t\t\tres.data.shopCon.logo[index] = logoPath + p\r\n\t\t\t\t\t})\r\n\t\t\t\t\t//更新数据\r\n\t\t\t\t\tcommit('setShopCon', res.data.shopCon)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcommit('setShopCon', {})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t}\r\n})\r\n\r\nexport default store","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\n'use strict';\n\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array