diff --git a/CHANGELOG.md b/CHANGELOG.md index 77d5408e..cd6e14b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # ImageOptimize Changelog +## 1.4.38 - 2018.08.20 +### Changed +* Fixed an incompatibility with the Spoon plugin by removing `matrix-field` class from field type settings +* Fixed an erroneous 2:2 aspect ratio in the default settings +* Moved to a modern webpack build config for the AdminCP +* Added install confetti + ## 1.4.37 - 2018.08.09 ### Changed * Reverted an errant commit that removed a fix for propagating field data in multi-site environments diff --git a/composer.json b/composer.json index 84b06e68..d7c31431 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "nystudio107/craft-imageoptimize", "description": "Automatically create & optimize responsive image transforms, using either native Craft transforms or a service like Imgix, with zero template changes.", "type": "craft-plugin", - "version": "1.4.37", + "version": "1.4.38", "keywords": [ "craft", "cms", diff --git a/package.json b/package.json new file mode 100644 index 00000000..d6724269 --- /dev/null +++ b/package.json @@ -0,0 +1,145 @@ +{ + "name": "imageoptimize", + "version": "1.0.0", + "description": "Automatically optimize images after they've been transformed", + "copyright": "nystudio107", + "main": "index.js", + "scripts": { + "dev": "webpack --config webpack.dev.js --progress --hide-modules", + "watch": "webpack --config webpack.dev.js --progress --watch --hide-modules", + "build": "webpack --config webpack.prod.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/nystudio107/craft-imageoptimize.git" + }, + "author": "andrew@nystudio107.com", + "license": "proprietary", + "bugs": { + "url": "https://github.com/nystudio107/craft-imageoptimize/issues" + }, + "homepage": "https://github.com/nystudio107/craft-imageoptimize", + "paths": { + "src": { + "base": "./src/assetbundles/imageoptimize/src/", + "js": "./src/assetbundles/imageoptimize/src/js/", + "css": "./src/assetbundles/imageoptimize/src/css/" + }, + "dist": { + "base": "./src/assetbundles/imageoptimize/dist/", + "public": "/cpresources/imageoptimize/", + "clean": [ + "./js", + "./css" + ] + }, + "copyFiles": [ + { + } + ], + "manifest": { + "basePath": "", + "template": { + "twigCss": "./src/templates/_src/include-css-module.twig", + "twigModern": "./src/templates/_src/include-modern-module.twig", + "twigLegacy": "./src/templates/_src/include-legacy-module.twig" + }, + "filename": { + "twigCss": "./src/templates/_includes/include-css-module.twig", + "twigModern": "./src/templates/_includes/include-modern-module.twig", + "twigLegacy": "./src/templates/_includes/include-legacy-module.twig" + } + }, + "templates": "./src/templates/" + }, + "entries": { + "imageoptimize": "ImageOptimize.js", + "welcome": "Welcome.js" + }, + "babelConfig": { + "legacyBrowsers": [ + "> 1%", + "last 2 versions", + "Firefox ESR" + ], + "modernBrowsers": [ + "last 2 Chrome versions", + "not Chrome < 60", + "last 2 Safari versions", + "not Safari < 10.1", + "last 2 iOS versions", + "not iOS < 10.3", + "last 2 Firefox versions", + "not Firefox < 54", + "last 2 Edge versions", + "not Edge < 15" + ] + }, + "purgeCss": { + "paths": [ + "./src/templates/**/*.{twig,html}" + ], + "whitelist": [ + "../css/components.pcss" + ], + "whitelistPatterns": [], + "extensions": [ + "html", + "js", + "twig", + "vue" + ] + }, + "urls": {}, + "vars": { + "cssName": "imageoptimize.css", + "jsName": "imageoptimize.js" + }, + "devDependencies": { + "autoprefixer": "^8.1.0", + "babel-core": "^6.26.0", + "babel-loader": "^7.1.4", + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-runtime": "^6.23.0", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "^1.7.0", + "clean-webpack-plugin": "^0.1.19", + "copy-webpack-plugin": "^4.5.1", + "css-loader": "^0.28.10", + "cssnano": "^3.10.0", + "extract-text-webpack-plugin": "^4.0.0-beta.0", + "file-loader": "^1.1.11", + "git-rev-sync": "^1.10.0", + "glob-all": "^3.1.0", + "html-webpack-plugin": "^3.2.0", + "ignore-loader": "^0.1.2", + "mini-css-extract-plugin": "^0.4.0", + "moment": "^2.21.0", + "optimize-css-assets-webpack-plugin": "^4.0.3", + "postcss": "^6.0.19", + "postcss-extend": "^1.0.5", + "postcss-hexrgba": "^1.0.0", + "postcss-import": "^11.1.0", + "postcss-loader": "^2.1.1", + "postcss-nested": "^3.0.0", + "postcss-nested-ancestors": "^1.0.0", + "postcss-simple-vars": "^4.1.0", + "purgecss-webpack-plugin": "^1.2.0", + "purgecss-whitelister": "^2.1.0", + "resolve-url-loader": "^2.3.0", + "tailwindcss": "^0.6.4", + "uglifyjs-webpack-plugin": "^1.2.7", + "vue-loader": "^15.3.0", + "vue-style-loader": "^4.1.2", + "vue-template-compiler": "^2.5.17", + "webpack": "^4.1.1", + "webpack-bundle-analyzer": "^2.13.1", + "webpack-cli": "^2.0.11", + "webpack-manifest-plugin": "^2.0.3", + "webpack-merge": "^4.1.2" + }, + "dependencies": { + "vue": "^2.5.17", + "vue-confetti": "^0.4.1" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 00000000..c325f6aa --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,12 @@ +module.exports = { + plugins: [ + require('postcss-import'), + require('postcss-extend'), + require('postcss-simple-vars'), + require('postcss-nested-ancestors'), + require('postcss-nested'), + require('postcss-hexrgba'), + require('autoprefixer'), + require('tailwindcss')('./tailwind.config.js') + ] +} \ No newline at end of file diff --git a/src/ImageOptimize.php b/src/ImageOptimize.php index c1be3356..85c71f8d 100644 --- a/src/ImageOptimize.php +++ b/src/ImageOptimize.php @@ -31,6 +31,7 @@ use craft\events\GenerateTransformEvent; use craft\events\PluginEvent; use craft\events\RegisterComponentTypesEvent; +use craft\events\RegisterUrlRulesEvent; use craft\events\ReplaceAssetEvent; use craft\events\VolumeEvent; use craft\helpers\UrlHelper; @@ -43,6 +44,7 @@ use craft\services\Volumes; use craft\web\twig\variables\CraftVariable; use craft\web\Controller; +use craft\web\UrlManager; use markhuot\CraftQL\CraftQL; @@ -228,6 +230,11 @@ protected function installEventHandlers() $this->installElementEventHandlers(); $this->installMiscEventHandlers(); $this->installCraftQLEventHandlers(); + $request = Craft::$app->getRequest(); + // Install only for non-console site requests + if ($request->getIsSiteRequest() && !$request->getIsConsoleRequest()) { + $this->installSiteEventListeners(); + } } /** @@ -467,6 +474,42 @@ protected function installCraftQLEventHandlers() } } + /** + * Install site event listeners for site requests only + */ + protected function installSiteEventListeners() + { + // Handler: UrlManager::EVENT_REGISTER_SITE_URL_RULES + Event::on( + UrlManager::class, + UrlManager::EVENT_REGISTER_SITE_URL_RULES, + function (RegisterUrlRulesEvent $event) { + Craft::debug( + 'UrlManager::EVENT_REGISTER_SITE_URL_RULES', + __METHOD__ + ); + // Register our AdminCP routes + $event->rules = array_merge( + $event->rules, + $this->customFrontendRoutes() + ); + } + ); + } + + /** + * Return the custom frontend routes + * + * @return array + */ + protected function customFrontendRoutes(): array + { + return [ + // Make webpack async bundle loading work out of published AssetBundles + '/cpresources/imageoptimize//' => 'image-optimize/cp-nav/resource', + ]; + } + /** * If the Field being saved is an OptimizedImages field, re-save the * responsive image variants automatically diff --git a/src/assetbundles/imageoptimize/ImageOptimizeAsset.php b/src/assetbundles/imageoptimize/ImageOptimizeAsset.php index 8b2fbce4..fee9ba06 100644 --- a/src/assetbundles/imageoptimize/ImageOptimizeAsset.php +++ b/src/assetbundles/imageoptimize/ImageOptimizeAsset.php @@ -10,7 +10,6 @@ namespace nystudio107\imageoptimize\assetbundles\ImageOptimize; -use Craft; use craft\web\AssetBundle; use craft\web\assets\cp\CpAsset; @@ -29,20 +28,12 @@ class ImageOptimizeAsset extends AssetBundle */ public function init() { - $this->sourcePath = "@nystudio107/imageoptimize/assetbundles/imageoptimize/dist"; + $this->sourcePath = '@nystudio107/imageoptimize/assetbundles/imageoptimize/dist'; $this->depends = [ CpAsset::class, ]; - $this->js = [ - 'js/ImageOptimize.js', - ]; - - $this->css = [ - 'css/ImageOptimize.css', - ]; - parent::init(); } } diff --git a/src/assetbundles/imageoptimize/ImageOptimizeWelcomeAsset.php b/src/assetbundles/imageoptimize/ImageOptimizeWelcomeAsset.php new file mode 100644 index 00000000..6ec4b8ce --- /dev/null +++ b/src/assetbundles/imageoptimize/ImageOptimizeWelcomeAsset.php @@ -0,0 +1,40 @@ +sourcePath = '@nystudio107/imageoptimize/assetbundles/imageoptimize/dist'; + + $this->depends = [ + CpAsset::class, + ImageOptimizeAsset::class, + ]; + + parent::init(); + } +} diff --git a/src/assetbundles/imageoptimize/dist/css/imageoptimize.5c2a9acc33f65ffa2d5d.css b/src/assetbundles/imageoptimize/dist/css/imageoptimize.5c2a9acc33f65ffa2d5d.css new file mode 100644 index 00000000..29e7d4dd --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/css/imageoptimize.5c2a9acc33f65ffa2d5d.css @@ -0,0 +1,10 @@ +/*! + * @project nystudio107 + * @name imageoptimize.5c2a9acc33f65ffa2d5d.css + * @author andrew@nystudio107.com + * @build Sun, Aug 19, 2018 6:51 PM ET + * @release 815239c2e88b0c2633d113727c414b65c1766ff5 [develop] + * @copyright Copyright (c) 2018 nystudio107 + * + */table.image-optimize{table-layout:fixed}.image-optimize h2{font-weight:700;color:#29323d}table.data thead th.io-format-column,table.data thead th.io-name-column{width:20%}table.data thead th.io-command-column,table.data thead th.io-installed-column{width:50%}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.table{display:table}.hidden{display:none}.relative{position:relative}.uppercase{text-transform:uppercase} +/*# sourceMappingURL=imageoptimize.5c2a9acc33f65ffa2d5d.css.map */ \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/css/imageoptimize.5c2a9acc33f65ffa2d5d.css.map b/src/assetbundles/imageoptimize/dist/css/imageoptimize.5c2a9acc33f65ffa2d5d.css.map new file mode 100644 index 00000000..87014925 --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/css/imageoptimize.5c2a9acc33f65ffa2d5d.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["imageoptimize.5c2a9acc33f65ffa2d5d.css"],"names":[],"mappings":"AAAA;;;;;;;;GAQG,AAuDH,qBACE,kBAAoB,CACrB,AAED,mBACE,gBAAkB,AAClB,aAAe,CAChB,AAMD,wEACE,SAAW,CACZ,AAMD,8EACE,SAAW,CACZ,AAQD,OACE,aAAe,CAChB,AAED,cACE,oBAAsB,CACvB,AAED,QACE,cAAgB,CACjB,AAED,OACE,aAAe,CAChB,AAED,QACE,YAAc,CACf,AAED,UACE,iBAAmB,CACpB,AAED,WACE,wBAA0B,CAC3B","file":"imageoptimize.5c2a9acc33f65ffa2d5d.css","sourcesContent":["/*!\n * @project nystudio107\n * @name imageoptimize.5c2a9acc33f65ffa2d5d.css\n * @author andrew@nystudio107.com\n * @build Sun, Aug 19, 2018 6:51 PM ET\n * @release 815239c2e88b0c2633d113727c414b65c1766ff5 [develop]\n * @copyright Copyright (c) 2018 nystudio107\n *\n */\n\n/**\n * app.css\n *\n * The entry point for the css.\n *\n */\n\n/**\n * This injects Tailwind's base styles, which is a combination of\n * Normalize.css and some additional base styles.\n *\n * You can see the styles here:\n * https://github.com/tailwindcss/tailwindcss/blob/master/css/preflight.css\n */\n\n/**\n * We don't want these in the AdminCP\n * @import \"tailwindcss/preflight\";\n */\n\n/**\n * This injects any component classes registered by plugins.\n *\n */\n\n/**\n * Here we add custom component classes; stuff we want loaded\n * *before* the utilities so that the utilities can still\n * override them.\n *\n */\n\n/**\n * components/webfonts.css\n * \n * Project webfonts.\n *\n */\n\n/**\n * components/typography.css\n * \n * Typography rules.\n *\n */\n\n/**\n * components/global.css\n *\n * Project-wide styles\n *\n */\n\ntable.image-optimize {\n table-layout: fixed;\n}\n\n.image-optimize h2 {\n font-weight: bold;\n color: #29323d;\n}\n\ntable.data thead th.io-format-column {\n width: 20%;\n}\n\ntable.data thead th.io-name-column {\n width: 20%;\n}\n\ntable.data thead th.io-command-column {\n width: 50%;\n}\n\ntable.data thead th.io-installed-column {\n width: 50%;\n}\n\n/**\n * This injects all of Tailwind's utility classes, generated based on your\n * config file.\n *\n */\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.table {\n display: table;\n}\n\n.hidden {\n display: none;\n}\n\n.relative {\n position: relative;\n}\n\n.uppercase {\n text-transform: uppercase;\n}\n\n/**\n * Include styles for individual pages\n *\n */\n\n/**\n * pages/settings.pcss\n *\n * Styles for the Settings page.\n *\n */\n\n/**\n * Include vendor css.\n *\n */\n\n/**\n * vendor.css\n * \n * All vendor CSS is imported here.\n *\n */\n\n\n"]} \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/confetti-legacy.baad1576cc19758e2f00.js b/src/assetbundles/imageoptimize/dist/js/confetti-legacy.baad1576cc19758e2f00.js new file mode 100644 index 00000000..6329aa3d --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/confetti-legacy.baad1576cc19758e2f00.js @@ -0,0 +1,11 @@ +/*! + * @project nystudio107 + * @name confetti-legacy.baad1576cc19758e2f00.js + * @author andrew@nystudio107.com + * @build Sun, Aug 19, 2018 6:51 PM ET + * @release 815239c2e88b0c2633d113727c414b65c1766ff5 [develop] + * @copyright Copyright (c) 2018 nystudio107 + * + */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{80:function(t,i,e){"use strict";e.r(i);var n=function(){var t=this.$createElement;return(this._self._c||t)("main")};n._withStripped=!0;var s=e(79),a=e(85),r=e.n(a);s.default.use(r.a);var o=function(t,i,e,n,s,a,r,o){var h,c="function"==typeof t?t.options:t;if(i&&(c.render=i,c.staticRenderFns=e,c._compiled=!0),n&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),r?(h=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),s&&s.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=h):s&&(h=o?function(){s.call(this,this.$root.$options.shadowRoot)}:s),h)if(c.functional){c._injectStyles=h;var l=c.render;c.render=function(t,i){return h.call(i),l(t,i)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,h):[h]}return{exports:t,options:c}}({mounted:function(){var t=this;this.$confetti.start(),setTimeout(function(){t.$confetti.stop()},5e3)},methods:{}},n,[],!1,null,null,null);o.options.__file="src/assetbundles/imageoptimize/src/vue/Confetti.vue";i.default=o.exports},85:function(t,i,e){t.exports=function(t){function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}var e={};return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=0)}([function(t,i,e){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n=e(1);i.default={install:function(t,i){this.installed||(this.installed=!0,t.prototype.$confetti=new n.a(i))}}},function(t,i,e){"use strict";var n=e(2),s=function(){function t(t,i){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{};this.particles=new n.a({ctx:this.ctx,W:this.W,H:this.H,wind:this.wind,windPosCoef:this.windPosCoef,windSpeedMax:this.windSpeedMax,count:0,shape:t.shape||"circle",colors:{opts:t.colors||["DodgerBlue","OliveDrab","Gold","pink","SlateBlue","lightblue","Violet","PaleGreen","SteelBlue","SandyBrown","Chocolate","Crimson"],idx:0,step:10,get color(){return this.opts[(this.idx++/this.step|0)%this.opts.length]}}})}},{key:"createContext",value:function(){this.canvas=document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.canvas.style.display="block",this.canvas.style.position="fixed",this.canvas.style.pointerEvents="none",this.canvas.style.top=0,this.canvas.style.width="100vw",this.canvas.style.height="100vh",this.canvas.id="confetti-canvas",document.querySelector("body").appendChild(this.canvas)}},{key:"start",value:function(t){this.ctx||this.createContext(),this.animationId&&cancelAnimationFrame(this.animationId),this.createParticles(t),this.updateDimensions(),this.particlesPerFrame=this.maxParticlesPerFrame,this.animationId=requestAnimationFrame(this.mainLoop.bind(this)),window.addEventListener("resize",this.onResizeCallback)}},{key:"stop",value:function(){this.particlesPerFrame=0,window.removeEventListener("resize",this.onResizeCallback)}},{key:"remove",value:function(){this.stop(),this.animationId&&cancelAnimationFrame(this.animationId),this.canvas&&document.body.removeChild(this.canvas),this.initialize()}},{key:"updateDimensions",value:function(){this.W===window.innerWidth&&this.H===window.innerHeight||(this.W=this.particles.opts.W=this.canvas.width=window.innerWidth,this.H=this.particles.opts.H=this.canvas.height=window.innerHeight)}},{key:"mainLoop",value:function(t){for(this.updateDimensions(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.W,this.H),this.windSpeed=Math.sin(t/8e3)*this.windSpeedMax,this.wind=this.particles.opts.wind+=this.windChange;this.droppedCount0?this.items.push(this.pool.pop().setup(this.opts)):this.items.push((new n.a).setup(this.opts))}}]),t}();i.a=a},function(t,i,e){"use strict";var n=function(){function t(t,i){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t|0}},{key:"rand",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t}},{key:"update",value:function(){return this.tiltAngle+=this.tiltAngleIncremental*(.2*Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)+1),this.y+=(Math.cos(this.angle+this.d)+3+this.r/2)/2,this.x+=Math.sin(this.angle),this.x+=Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.y+=Math.sin(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.tilt=15*Math.sin(this.tiltAngle-this.count/3),this.y>this.H}},{key:"drawCircle",value:function(){this.ctx.arc(0,0,this.r/2,0,2*Math.PI,!1),this.ctx.fill()}},{key:"drawRect",value:function(){this.ctx.fillRect(0,0,this.r,this.r/2)}},{key:"drawHeart",value:function(){var t=this,i=function(i,e,n,s,a,r){t.ctx.bezierCurveTo(i/t.r*2,e/t.r*2,n/t.r*2,s/t.r*2,a/t.r*2,r/t.r*2)};this.ctx.moveTo(37.5/this.r,20/this.r),i(75,37,70,25,50,25),i(20,25,20,62.5,20,62.5),i(20,80,40,102,75,120),i(110,102,130,80,130,62.5),i(130,62.5,130,25,100,25),i(85,25,75,37,75,40),this.ctx.fill()}},{key:"draw",value:function(){this.ctx.fillStyle=this.color,this.ctx.beginPath(),this.ctx.setTransform(Math.cos(this.tiltAngle),Math.sin(this.tiltAngle),0,1,this.x,this.y),"circle"===this.shape?this.drawCircle():"rect"===this.shape?this.drawRect():"heart"===this.shape&&this.drawHeart()}}]),t}();i.a=s}])}}]); +//# sourceMappingURL=confetti-legacy.baad1576cc19758e2f00.js.map \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/confetti-legacy.baad1576cc19758e2f00.js.map b/src/assetbundles/imageoptimize/dist/js/confetti-legacy.baad1576cc19758e2f00.js.map new file mode 100644 index 00000000..e670db70 --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/confetti-legacy.baad1576cc19758e2f00.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/assetbundles/imageoptimize/src/vue/Confetti.vue?80bb","webpack:///src/assetbundles/imageoptimize/src/vue/Confetti.vue","webpack:///./src/assetbundles/imageoptimize/src/vue/Confetti.vue","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/vue-confetti/dist/vue-confetti.js"],"names":["render","_h","this","$createElement","_self","_c","_withStripped","vue_esm","use","vue_confetti_default","a","component","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","normalizeComponent","mounted","_this","$confetti","start","setTimeout","stop","methods","__file","__webpack_exports__","module","t","i","n","e","s","l","m","c","d","o","Object","defineProperty","configurable","enumerable","get","__esModule","default","prototype","hasOwnProperty","p","value","install","installed","length","writable","key","TypeError","initialize","onResizeCallback","updateDimensions","bind","canvas","ctx","W","H","particles","droppedCount","particlesPerFrame","wind","windSpeed","windSpeedMax","windChange","windPosCoef","maxParticlesPerFrame","animationId","arguments","count","shape","colors","opts","idx","step","color","document","createElement","getContext","style","display","position","pointerEvents","top","width","height","id","querySelector","appendChild","createContext","cancelAnimationFrame","createParticles","requestAnimationFrame","mainLoop","window","addEventListener","removeEventListener","body","removeChild","innerWidth","innerHeight","setTransform","clearRect","Math","sin","update","draw","items","pool","push","splice","pop","setup","r","x","rand","y","tilt","randI","tiltAngleIncremental","tiltAngle","angle","PI","random","cos","arc","fill","fillRect","bezierCurveTo","moveTo","fillStyle","beginPath","drawCircle","drawRect","drawHeart"],"mappings":"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","file":"js/confetti-legacy.baad1576cc19758e2f00.js","sourcesContent":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"main\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Confetti.vue?vue&type=template&id=a2397bd0&\"\nimport script from \"./Confetti.vue?vue&type=script&lang=js&\"\nexport * from \"./Confetti.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/vagrant/webdev/craft/craft-imageoptimize/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('a2397bd0', component.options)\n } else {\n api.reload('a2397bd0', component.options)\n }\n module.hot.accept(\"./Confetti.vue?vue&type=template&id=a2397bd0&\", function () {\n api.rerender('a2397bd0', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/assetbundles/imageoptimize/src/vue/Confetti.vue\"\nexport default component.exports","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","!function(t,i){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define([],i):\"object\"==typeof exports?exports[\"vue-confetti\"]=i():t[\"vue-confetti\"]=i()}(this,function(){return function(t){function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}var e={};return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p=\"\",i(i.s=0)}([function(t,i,e){\"use strict\";Object.defineProperty(i,\"__esModule\",{value:!0});var n=e(1);i.default={install:function(t,i){this.installed||(this.installed=!0,t.prototype.$confetti=new n.a(i))}}},function(t,i,e){\"use strict\";function n(t,i){if(!(t instanceof i))throw new TypeError(\"Cannot call a class as a function\")}var s=e(2),a=function(){function t(t,i){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{};this.particles=new s.a({ctx:this.ctx,W:this.W,H:this.H,wind:this.wind,windPosCoef:this.windPosCoef,windSpeedMax:this.windSpeedMax,count:0,shape:t.shape||\"circle\",colors:{opts:t.colors||[\"DodgerBlue\",\"OliveDrab\",\"Gold\",\"pink\",\"SlateBlue\",\"lightblue\",\"Violet\",\"PaleGreen\",\"SteelBlue\",\"SandyBrown\",\"Chocolate\",\"Crimson\"],idx:0,step:10,get color(){return this.opts[(this.idx++/this.step|0)%this.opts.length]}}})}},{key:\"createContext\",value:function(){this.canvas=document.createElement(\"canvas\"),this.ctx=this.canvas.getContext(\"2d\"),this.canvas.style.display=\"block\",this.canvas.style.position=\"fixed\",this.canvas.style.pointerEvents=\"none\",this.canvas.style.top=0,this.canvas.style.width=\"100vw\",this.canvas.style.height=\"100vh\",this.canvas.id=\"confetti-canvas\",document.querySelector(\"body\").appendChild(this.canvas)}},{key:\"start\",value:function(t){this.ctx||this.createContext(),this.animationId&&cancelAnimationFrame(this.animationId),this.createParticles(t),this.updateDimensions(),this.particlesPerFrame=this.maxParticlesPerFrame,this.animationId=requestAnimationFrame(this.mainLoop.bind(this)),window.addEventListener(\"resize\",this.onResizeCallback)}},{key:\"stop\",value:function(){this.particlesPerFrame=0,window.removeEventListener(\"resize\",this.onResizeCallback)}},{key:\"remove\",value:function(){this.stop(),this.animationId&&cancelAnimationFrame(this.animationId),this.canvas&&document.body.removeChild(this.canvas),this.initialize()}},{key:\"updateDimensions\",value:function(){this.W===window.innerWidth&&this.H===window.innerHeight||(this.W=this.particles.opts.W=this.canvas.width=window.innerWidth,this.H=this.particles.opts.H=this.canvas.height=window.innerHeight)}},{key:\"mainLoop\",value:function(t){for(this.updateDimensions(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.W,this.H),this.windSpeed=Math.sin(t/8e3)*this.windSpeedMax,this.wind=this.particles.opts.wind+=this.windChange;this.droppedCount0?this.items.push(this.pool.pop().setup(this.opts)):this.items.push((new s.a).setup(this.opts))}}]),t}();i.a=h},function(t,i,e){\"use strict\";function n(t,i){if(!(t instanceof i))throw new TypeError(\"Cannot call a class as a function\")}var s=function(){function t(t,i){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t|0}},{key:\"rand\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t}},{key:\"update\",value:function(){return this.tiltAngle+=this.tiltAngleIncremental*(.2*Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)+1),this.y+=(Math.cos(this.angle+this.d)+3+this.r/2)/2,this.x+=Math.sin(this.angle),this.x+=Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.y+=Math.sin(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.tilt=15*Math.sin(this.tiltAngle-this.count/3),this.y>this.H}},{key:\"drawCircle\",value:function(){this.ctx.arc(0,0,this.r/2,0,2*Math.PI,!1),this.ctx.fill()}},{key:\"drawRect\",value:function(){this.ctx.fillRect(0,0,this.r,this.r/2)}},{key:\"drawHeart\",value:function(){var t=this,i=function(i,e,n,s,a,h){t.ctx.bezierCurveTo(i/t.r*2,e/t.r*2,n/t.r*2,s/t.r*2,a/t.r*2,h/t.r*2)};this.ctx.moveTo(37.5/this.r,20/this.r),i(75,37,70,25,50,25),i(20,25,20,62.5,20,62.5),i(20,80,40,102,75,120),i(110,102,130,80,130,62.5),i(130,62.5,130,25,100,25),i(85,25,75,37,75,40),this.ctx.fill()}},{key:\"draw\",value:function(){this.ctx.fillStyle=this.color,this.ctx.beginPath(),this.ctx.setTransform(Math.cos(this.tiltAngle),Math.sin(this.tiltAngle),0,1,this.x,this.y),\"circle\"===this.shape?this.drawCircle():\"rect\"===this.shape?this.drawRect():\"heart\"===this.shape&&this.drawHeart()}}]),t}();i.a=a}])});"],"sourceRoot":""} \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/confetti.47ab93946f55559f9b04.js b/src/assetbundles/imageoptimize/dist/js/confetti.47ab93946f55559f9b04.js new file mode 100644 index 00000000..53c34e30 --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/confetti.47ab93946f55559f9b04.js @@ -0,0 +1,11 @@ +/*! + * @project nystudio107 + * @name confetti.47ab93946f55559f9b04.js + * @author andrew@nystudio107.com + * @build Sun, Aug 19, 2018 6:51 PM ET + * @release 815239c2e88b0c2633d113727c414b65c1766ff5 [develop] + * @copyright Copyright (c) 2018 nystudio107 + * + */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{4:function(t,i,e){"use strict";e.r(i);var n=function(){var t=this.$createElement;return(this._self._c||t)("main")};n._withStripped=!0;var s=e(3),a=e(9),r=e.n(a);s.default.use(r.a);var o=function(t,i,e,n,s,a,r,o){var h,c="function"==typeof t?t.options:t;if(i&&(c.render=i,c.staticRenderFns=e,c._compiled=!0),n&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),r?(h=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),s&&s.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=h):s&&(h=o?function(){s.call(this,this.$root.$options.shadowRoot)}:s),h)if(c.functional){c._injectStyles=h;var l=c.render;c.render=function(t,i){return h.call(i),l(t,i)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,h):[h]}return{exports:t,options:c}}({mounted:function(){this.$confetti.start(),setTimeout(()=>{this.$confetti.stop()},5e3)},methods:{}},n,[],!1,null,null,null);o.options.__file="src/assetbundles/imageoptimize/src/vue/Confetti.vue";i.default=o.exports},9:function(t,i,e){t.exports=function(t){function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}var e={};return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=0)}([function(t,i,e){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n=e(1);i.default={install:function(t,i){this.installed||(this.installed=!0,t.prototype.$confetti=new n.a(i))}}},function(t,i,e){"use strict";var n=e(2),s=function(){function t(t,i){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{};this.particles=new n.a({ctx:this.ctx,W:this.W,H:this.H,wind:this.wind,windPosCoef:this.windPosCoef,windSpeedMax:this.windSpeedMax,count:0,shape:t.shape||"circle",colors:{opts:t.colors||["DodgerBlue","OliveDrab","Gold","pink","SlateBlue","lightblue","Violet","PaleGreen","SteelBlue","SandyBrown","Chocolate","Crimson"],idx:0,step:10,get color(){return this.opts[(this.idx++/this.step|0)%this.opts.length]}}})}},{key:"createContext",value:function(){this.canvas=document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.canvas.style.display="block",this.canvas.style.position="fixed",this.canvas.style.pointerEvents="none",this.canvas.style.top=0,this.canvas.style.width="100vw",this.canvas.style.height="100vh",this.canvas.id="confetti-canvas",document.querySelector("body").appendChild(this.canvas)}},{key:"start",value:function(t){this.ctx||this.createContext(),this.animationId&&cancelAnimationFrame(this.animationId),this.createParticles(t),this.updateDimensions(),this.particlesPerFrame=this.maxParticlesPerFrame,this.animationId=requestAnimationFrame(this.mainLoop.bind(this)),window.addEventListener("resize",this.onResizeCallback)}},{key:"stop",value:function(){this.particlesPerFrame=0,window.removeEventListener("resize",this.onResizeCallback)}},{key:"remove",value:function(){this.stop(),this.animationId&&cancelAnimationFrame(this.animationId),this.canvas&&document.body.removeChild(this.canvas),this.initialize()}},{key:"updateDimensions",value:function(){this.W===window.innerWidth&&this.H===window.innerHeight||(this.W=this.particles.opts.W=this.canvas.width=window.innerWidth,this.H=this.particles.opts.H=this.canvas.height=window.innerHeight)}},{key:"mainLoop",value:function(t){for(this.updateDimensions(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.W,this.H),this.windSpeed=Math.sin(t/8e3)*this.windSpeedMax,this.wind=this.particles.opts.wind+=this.windChange;this.droppedCount0?this.items.push(this.pool.pop().setup(this.opts)):this.items.push((new n.a).setup(this.opts))}}]),t}();i.a=a},function(t,i,e){"use strict";var n=function(){function t(t,i){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t|0}},{key:"rand",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t}},{key:"update",value:function(){return this.tiltAngle+=this.tiltAngleIncremental*(.2*Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)+1),this.y+=(Math.cos(this.angle+this.d)+3+this.r/2)/2,this.x+=Math.sin(this.angle),this.x+=Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.y+=Math.sin(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.tilt=15*Math.sin(this.tiltAngle-this.count/3),this.y>this.H}},{key:"drawCircle",value:function(){this.ctx.arc(0,0,this.r/2,0,2*Math.PI,!1),this.ctx.fill()}},{key:"drawRect",value:function(){this.ctx.fillRect(0,0,this.r,this.r/2)}},{key:"drawHeart",value:function(){var t=this,i=function(i,e,n,s,a,r){t.ctx.bezierCurveTo(i/t.r*2,e/t.r*2,n/t.r*2,s/t.r*2,a/t.r*2,r/t.r*2)};this.ctx.moveTo(37.5/this.r,20/this.r),i(75,37,70,25,50,25),i(20,25,20,62.5,20,62.5),i(20,80,40,102,75,120),i(110,102,130,80,130,62.5),i(130,62.5,130,25,100,25),i(85,25,75,37,75,40),this.ctx.fill()}},{key:"draw",value:function(){this.ctx.fillStyle=this.color,this.ctx.beginPath(),this.ctx.setTransform(Math.cos(this.tiltAngle),Math.sin(this.tiltAngle),0,1,this.x,this.y),"circle"===this.shape?this.drawCircle():"rect"===this.shape?this.drawRect():"heart"===this.shape&&this.drawHeart()}}]),t}();i.a=s}])}}]); +//# sourceMappingURL=confetti.47ab93946f55559f9b04.js.map \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/confetti.47ab93946f55559f9b04.js.map b/src/assetbundles/imageoptimize/dist/js/confetti.47ab93946f55559f9b04.js.map new file mode 100644 index 00000000..5e15a88c --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/confetti.47ab93946f55559f9b04.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/assetbundles/imageoptimize/src/vue/Confetti.vue?80bb","webpack:///src/assetbundles/imageoptimize/src/vue/Confetti.vue","webpack:///./src/assetbundles/imageoptimize/src/vue/Confetti.vue","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/vue-confetti/dist/vue-confetti.js"],"names":["render","_h","this","$createElement","_self","_c","_withStripped","vue_esm","use","vue_confetti_default","a","component","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","normalizeComponent","mounted","$confetti","start","setTimeout","stop","methods","__file","__webpack_exports__","module","t","i","n","e","s","l","m","c","d","o","Object","defineProperty","configurable","enumerable","get","__esModule","default","prototype","hasOwnProperty","p","value","install","installed","length","writable","key","TypeError","initialize","onResizeCallback","updateDimensions","bind","canvas","ctx","W","H","particles","droppedCount","particlesPerFrame","wind","windSpeed","windSpeedMax","windChange","windPosCoef","maxParticlesPerFrame","animationId","arguments","count","shape","colors","opts","idx","step","color","document","createElement","getContext","style","display","position","pointerEvents","top","width","height","id","querySelector","appendChild","createContext","cancelAnimationFrame","createParticles","requestAnimationFrame","mainLoop","window","addEventListener","removeEventListener","body","removeChild","innerWidth","innerHeight","setTransform","clearRect","Math","sin","update","draw","items","pool","push","splice","pop","setup","r","x","rand","y","tilt","randI","tiltAngleIncremental","tiltAngle","angle","PI","random","cos","arc","fill","fillRect","bezierCurveTo","moveTo","fillStyle","beginPath","drawCircle","drawRect","drawHeart"],"mappings":"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","file":"js/confetti.47ab93946f55559f9b04.js","sourcesContent":["var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"main\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Confetti.vue?vue&type=template&id=a2397bd0&\"\nimport script from \"./Confetti.vue?vue&type=script&lang=js&\"\nexport * from \"./Confetti.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/vagrant/webdev/craft/craft-imageoptimize/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!module.hot.data) {\n api.createRecord('a2397bd0', component.options)\n } else {\n api.reload('a2397bd0', component.options)\n }\n module.hot.accept(\"./Confetti.vue?vue&type=template&id=a2397bd0&\", function () {\n api.rerender('a2397bd0', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/assetbundles/imageoptimize/src/vue/Confetti.vue\"\nexport default component.exports","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","!function(t,i){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define([],i):\"object\"==typeof exports?exports[\"vue-confetti\"]=i():t[\"vue-confetti\"]=i()}(this,function(){return function(t){function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}var e={};return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p=\"\",i(i.s=0)}([function(t,i,e){\"use strict\";Object.defineProperty(i,\"__esModule\",{value:!0});var n=e(1);i.default={install:function(t,i){this.installed||(this.installed=!0,t.prototype.$confetti=new n.a(i))}}},function(t,i,e){\"use strict\";function n(t,i){if(!(t instanceof i))throw new TypeError(\"Cannot call a class as a function\")}var s=e(2),a=function(){function t(t,i){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{};this.particles=new s.a({ctx:this.ctx,W:this.W,H:this.H,wind:this.wind,windPosCoef:this.windPosCoef,windSpeedMax:this.windSpeedMax,count:0,shape:t.shape||\"circle\",colors:{opts:t.colors||[\"DodgerBlue\",\"OliveDrab\",\"Gold\",\"pink\",\"SlateBlue\",\"lightblue\",\"Violet\",\"PaleGreen\",\"SteelBlue\",\"SandyBrown\",\"Chocolate\",\"Crimson\"],idx:0,step:10,get color(){return this.opts[(this.idx++/this.step|0)%this.opts.length]}}})}},{key:\"createContext\",value:function(){this.canvas=document.createElement(\"canvas\"),this.ctx=this.canvas.getContext(\"2d\"),this.canvas.style.display=\"block\",this.canvas.style.position=\"fixed\",this.canvas.style.pointerEvents=\"none\",this.canvas.style.top=0,this.canvas.style.width=\"100vw\",this.canvas.style.height=\"100vh\",this.canvas.id=\"confetti-canvas\",document.querySelector(\"body\").appendChild(this.canvas)}},{key:\"start\",value:function(t){this.ctx||this.createContext(),this.animationId&&cancelAnimationFrame(this.animationId),this.createParticles(t),this.updateDimensions(),this.particlesPerFrame=this.maxParticlesPerFrame,this.animationId=requestAnimationFrame(this.mainLoop.bind(this)),window.addEventListener(\"resize\",this.onResizeCallback)}},{key:\"stop\",value:function(){this.particlesPerFrame=0,window.removeEventListener(\"resize\",this.onResizeCallback)}},{key:\"remove\",value:function(){this.stop(),this.animationId&&cancelAnimationFrame(this.animationId),this.canvas&&document.body.removeChild(this.canvas),this.initialize()}},{key:\"updateDimensions\",value:function(){this.W===window.innerWidth&&this.H===window.innerHeight||(this.W=this.particles.opts.W=this.canvas.width=window.innerWidth,this.H=this.particles.opts.H=this.canvas.height=window.innerHeight)}},{key:\"mainLoop\",value:function(t){for(this.updateDimensions(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.W,this.H),this.windSpeed=Math.sin(t/8e3)*this.windSpeedMax,this.wind=this.particles.opts.wind+=this.windChange;this.droppedCount0?this.items.push(this.pool.pop().setup(this.opts)):this.items.push((new s.a).setup(this.opts))}}]),t}();i.a=h},function(t,i,e){\"use strict\";function n(t,i){if(!(t instanceof i))throw new TypeError(\"Cannot call a class as a function\")}var s=function(){function t(t,i){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t|0}},{key:\"rand\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+(t=0);return Math.random()*(i-t)+t}},{key:\"update\",value:function(){return this.tiltAngle+=this.tiltAngleIncremental*(.2*Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)+1),this.y+=(Math.cos(this.angle+this.d)+3+this.r/2)/2,this.x+=Math.sin(this.angle),this.x+=Math.cos(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.y+=Math.sin(this.wind+(this.d+this.x+this.y)*this.windPosCoef)*this.windSpeedMax,this.tilt=15*Math.sin(this.tiltAngle-this.count/3),this.y>this.H}},{key:\"drawCircle\",value:function(){this.ctx.arc(0,0,this.r/2,0,2*Math.PI,!1),this.ctx.fill()}},{key:\"drawRect\",value:function(){this.ctx.fillRect(0,0,this.r,this.r/2)}},{key:\"drawHeart\",value:function(){var t=this,i=function(i,e,n,s,a,h){t.ctx.bezierCurveTo(i/t.r*2,e/t.r*2,n/t.r*2,s/t.r*2,a/t.r*2,h/t.r*2)};this.ctx.moveTo(37.5/this.r,20/this.r),i(75,37,70,25,50,25),i(20,25,20,62.5,20,62.5),i(20,80,40,102,75,120),i(110,102,130,80,130,62.5),i(130,62.5,130,25,100,25),i(85,25,75,37,75,40),this.ctx.fill()}},{key:\"draw\",value:function(){this.ctx.fillStyle=this.color,this.ctx.beginPath(),this.ctx.setTransform(Math.cos(this.tiltAngle),Math.sin(this.tiltAngle),0,1,this.x,this.y),\"circle\"===this.shape?this.drawCircle():\"rect\"===this.shape?this.drawRect():\"heart\"===this.shape&&this.drawHeart()}}]),t}();i.a=a}])});"],"sourceRoot":""} \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js b/src/assetbundles/imageoptimize/dist/js/imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js new file mode 100644 index 00000000..a340b03e --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js @@ -0,0 +1,10 @@ +/*! + * @project nystudio107 + * @name imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js + * @author andrew@nystudio107.com + * @build Sun, Aug 19, 2018 6:51 PM ET + * @release 815239c2e88b0c2633d113727c414b65c1766ff5 [develop] + * @copyright Copyright (c) 2018 nystudio107 + * + */!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/cpresources/imageoptimize/",r(r.s=37)}({37:function(e,t,r){"use strict";r.r(t);r(38)},38:function(e,t,r){}}); +//# sourceMappingURL=imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js.map \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js.map b/src/assetbundles/imageoptimize/dist/js/imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js.map new file mode 100644 index 00000000..27ddc6e5 --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assetbundles/imageoptimize/src/js/ImageOptimize.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s"],"mappings":";;;;;;;;gBACA,IAAAA,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAC,QAGA,IAAAC,EAAAJ,EAAAE,IACAG,EAAAH,EACAI,GAAA,EACAH,YAUA,OANAI,EAAAL,GAAAM,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAF,GAGAG,EAAAE,GAAA,EAGAF,EAAAD,QAKAF,EAAAQ,EAAAF,EAGAN,EAAAS,EAAAV,EAGAC,EAAAU,EAAA,SAAAR,EAAAS,EAAAC,GACAZ,EAAAa,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GAA0CK,YAAA,EAAAC,IAAAL,KAK1CZ,EAAAkB,EAAA,SAAAhB,GACA,oBAAAiB,eAAAC,aACAN,OAAAC,eAAAb,EAAAiB,OAAAC,aAAwDC,MAAA,WAExDP,OAAAC,eAAAb,EAAA,cAAiDmB,OAAA,KAQjDrB,EAAAsB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAArB,EAAAqB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFA1B,EAAAkB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAArB,EAAAU,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAzB,EAAA6B,EAAA,SAAA1B,GACA,IAAAS,EAAAT,KAAAqB,WACA,WAA2B,OAAArB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAH,EAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAiB,EAAAC,GAAsD,OAAAjB,OAAAkB,UAAAC,eAAA1B,KAAAuB,EAAAC,IAGtD/B,EAAAkC,EAAA,8BAIAlC,IAAAmC,EAAA,6CClFAnC,EAAA","file":"js/imageoptimize-legacy.5c2a9acc33f65ffa2d5d.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\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 = \"/cpresources/imageoptimize/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 37);\n","/**\n * Image Optimize plugin for Craft CMS\n *\n * Image Optimize JS\n *\n * @author nystudio107\n * @copyright Copyright (c) 2017 nystudio107\n * @link https://nystudio107.com\n * @package ImageOptimize\n * @since 1.2.0\n */\n\n// Import our CSS\nimport styles from '../css/app.pcss';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/imageoptimize.52dcad1fda30bcf8f06a.js b/src/assetbundles/imageoptimize/dist/js/imageoptimize.52dcad1fda30bcf8f06a.js new file mode 100644 index 00000000..ff21e44a --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/imageoptimize.52dcad1fda30bcf8f06a.js @@ -0,0 +1,10 @@ +/*! + * @project nystudio107 + * @name imageoptimize.52dcad1fda30bcf8f06a.js + * @author andrew@nystudio107.com + * @build Sun, Aug 19, 2018 6:51 PM ET + * @release 815239c2e88b0c2633d113727c414b65c1766ff5 [develop] + * @copyright Copyright (c) 2018 nystudio107 + * + */!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/cpresources/imageoptimize/",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);r(1)},function(e,t){}]); +//# sourceMappingURL=imageoptimize.52dcad1fda30bcf8f06a.js.map \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/imageoptimize.52dcad1fda30bcf8f06a.js.map b/src/assetbundles/imageoptimize/dist/js/imageoptimize.52dcad1fda30bcf8f06a.js.map new file mode 100644 index 00000000..2c33945e --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/imageoptimize.52dcad1fda30bcf8f06a.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assetbundles/imageoptimize/src/js/ImageOptimize.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s"],"mappings":";;;;;;;;gBACA,IAAAA,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAC,QAGA,IAAAC,EAAAJ,EAAAE,IACAG,EAAAH,EACAI,GAAA,EACAH,YAUA,OANAI,EAAAL,GAAAM,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAF,GAGAG,EAAAE,GAAA,EAGAF,EAAAD,QAKAF,EAAAQ,EAAAF,EAGAN,EAAAS,EAAAV,EAGAC,EAAAU,EAAA,SAAAR,EAAAS,EAAAC,GACAZ,EAAAa,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GAA0CK,YAAA,EAAAC,IAAAL,KAK1CZ,EAAAkB,EAAA,SAAAhB,GACA,oBAAAiB,eAAAC,aACAN,OAAAC,eAAAb,EAAAiB,OAAAC,aAAwDC,MAAA,WAExDP,OAAAC,eAAAb,EAAA,cAAiDmB,OAAA,KAQjDrB,EAAAsB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAArB,EAAAqB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFA1B,EAAAkB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAArB,EAAAU,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAzB,EAAA6B,EAAA,SAAA1B,GACA,IAAAS,EAAAT,KAAAqB,WACA,WAA2B,OAAArB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAH,EAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAiB,EAAAC,GAAsD,OAAAjB,OAAAkB,UAAAC,eAAA1B,KAAAuB,EAAAC,IAGtD/B,EAAAkC,EAAA,8BAIAlC,IAAAmC,EAAA,yCClFAnC,EAAA","file":"js/imageoptimize.52dcad1fda30bcf8f06a.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\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 = \"/cpresources/imageoptimize/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/**\n * Image Optimize plugin for Craft CMS\n *\n * Image Optimize JS\n *\n * @author nystudio107\n * @copyright Copyright (c) 2017 nystudio107\n * @link https://nystudio107.com\n * @package ImageOptimize\n * @since 1.2.0\n */\n\n// Import our CSS\nimport styles from '../css/app.pcss';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/assetbundles/imageoptimize/dist/js/vendors~confetti~vue-legacy.1e150b9a3825a680b683.js b/src/assetbundles/imageoptimize/dist/js/vendors~confetti~vue-legacy.1e150b9a3825a680b683.js new file mode 100644 index 00000000..61cc3c13 --- /dev/null +++ b/src/assetbundles/imageoptimize/dist/js/vendors~confetti~vue-legacy.1e150b9a3825a680b683.js @@ -0,0 +1,17 @@ +/*! + * @project nystudio107 + * @name vendors~confetti~vue-legacy.1e150b9a3825a680b683.js + * @author andrew@nystudio107.com + * @build Sun, Aug 19, 2018 6:51 PM ET + * @release 815239c2e88b0c2633d113727c414b65c1766ff5 [develop] + * @copyright Copyright (c) 2018 nystudio107 + * + */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{79:function(e,t,n){"use strict";n.r(t),function(e,n){ +/*! + * Vue.js v2.5.17 + * (c) 2014-2018 Evan You + * Released under the MIT License. + */ +var r=Object.freeze({});function i(e){return void 0===e||null===e}function o(e){return void 0!==e&&null!==e}function a(e){return!0===e}function s(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function c(e){return null!==e&&"object"==typeof e}var u=Object.prototype.toString;function l(e){return"[object Object]"===u.call(e)}function f(e){return"[object RegExp]"===u.call(e)}function p(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function d(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function v(e){var t=parseFloat(e);return isNaN(t)?e:t}function h(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function b(e,t){return _.call(e,t)}function $(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var w=/-(\w)/g,C=$(function(e){return e.replace(w,function(e,t){return t?t.toUpperCase():""})}),x=$(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),k=/\B([A-Z])/g,A=$(function(e){return e.replace(k,"-$1").toLowerCase()});var O=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function T(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function S(e,t){for(var n in t)e[n]=t[n];return e}function E(e){for(var t={},n=0;n0,Y=G&&G.indexOf("edge/")>0,Q=(G&&G.indexOf("android"),G&&/iphone|ipad|ipod|ios/.test(G)||"ios"===W),ee=(G&&/chrome\/\d+/.test(G),{}.watch),te=!1;if(J)try{var ne={};Object.defineProperty(ne,"passive",{get:function(){te=!0}}),window.addEventListener("test-passive",null,ne)}catch(e){}var re=function(){return void 0===z&&(z=!J&&!q&&void 0!==e&&"server"===e.process.env.VUE_ENV),z},ie=J&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function oe(e){return"function"==typeof e&&/native code/.test(e.toString())}var ae,se="undefined"!=typeof Symbol&&oe(Symbol)&&"undefined"!=typeof Reflect&&oe(Reflect.ownKeys);ae="undefined"!=typeof Set&&oe(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ce=I,ue=0,le=function(){this.id=ue++,this.subs=[]};le.prototype.addSub=function(e){this.subs.push(e)},le.prototype.removeSub=function(e){g(this.subs,e)},le.prototype.depend=function(){le.target&&le.target.addDep(this)},le.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t-1)if(o&&!b(i,"default"))a=!1;else if(""===a||a===A(e)){var c=Ue(String,i.type);(c<0||s0&&(ft((u=e(u,(n||"")+"_"+c))[0])&&ft(f)&&(r[l]=ye(f.text+u[0].text),u.shift()),r.push.apply(r,u)):s(u)?ft(f)?r[l]=ye(f.text+u):""!==u&&r.push(ye(u)):ft(u)&&ft(f)?r[l]=ye(f.text+u.text):(a(t._isVList)&&o(u.tag)&&i(u.key)&&o(n)&&(u.key="__vlist"+n+"_"+c+"__"),r.push(u)));return r}(e):void 0}function ft(e){return o(e)&&o(e.text)&&function(e){return!1===e}(e.isComment)}function pt(e,t){return(e.__esModule||se&&"Module"===e[Symbol.toStringTag])&&(e=e.default),c(e)?t.extend(e):e}function dt(e){return e.isComment&&e.asyncFactory}function vt(e){if(Array.isArray(e))for(var t=0;tEt&&kt[n].id>e.id;)n--;kt.splice(n+1,0,e)}else kt.push(e);Tt||(Tt=!0,tt(It))}}(this)},Lt.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Ve(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Lt.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Lt.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},Lt.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Nt={enumerable:!0,configurable:!0,get:I,set:I};function Mt(e,t,n){Nt.get=function(){return this[t][n]},Nt.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Nt)}function Dt(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&Ce(!1);var o=function(o){i.push(o);var a=Re(o,t,n,e);Te(r,o,a),o in e||Mt(e,"_props",o)};for(var a in t)o(a);Ce(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?I:O(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;l(t=e._data="function"==typeof t?function(e,t){pe();try{return e.call(t,t)}catch(e){return Ve(e,t,"data()"),{}}finally{de()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];0,r&&b(r,o)||B(o)||Mt(e,"_data",o)}Oe(t,!0)}(e):Oe(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=re();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;0,r||(n[i]=new Lt(e,a||I,I,Pt)),i in e||Ft(e,i,o)}}(e,t.computed),t.watch&&t.watch!==ee&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}function dn(e){this._init(e)}function vn(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name;var a=function(e){this._init(e)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=t++,a.options=Pe(n.options,e),a.super=n,a.options.props&&function(e){var t=e.options.props;for(var n in t)Mt(e.prototype,"_props",n)}(a),a.options.computed&&function(e){var t=e.options.computed;for(var n in t)Ft(e.prototype,n,t[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,F.forEach(function(e){a[e]=n[e]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=S({},a.options),i[r]=a,a}}function hn(e){return e&&(e.Ctor.options.name||e.tag)}function mn(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!f(e)&&e.test(t)}function yn(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=hn(a.componentOptions);s&&!t(s)&&gn(n,o,r,i)}}}function gn(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,g(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=ln++,t._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Pe(fn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&yt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,i=n&&n.context;e.$slots=gt(t._renderChildren,i),e.$scopedSlots=r,e._c=function(t,n,r,i){return un(e,t,n,r,i,!1)},e.$createElement=function(t,n,r,i){return un(e,t,n,r,i,!0)};var o=n&&n.data;Te(e,"$attrs",o&&o.attrs||r,null,!0),Te(e,"$listeners",t._parentListeners||r,null,!0)}(t),xt(t,"beforeCreate"),function(e){var t=Bt(e.$options.inject,e);t&&(Ce(!1),Object.keys(t).forEach(function(n){Te(e,n,t[n])}),Ce(!0))}(t),Dt(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),xt(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(dn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Se,e.prototype.$delete=Ee,e.prototype.$watch=function(e,t,n){if(l(t))return Ht(this,e,t,n);(n=n||{}).user=!0;var r=new Lt(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}}}(dn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){if(Array.isArray(e))for(var r=0,i=e.length;r1?T(t):t;for(var n=T(arguments,1),r=0,i=t.length;rparseInt(this.max)&&gn(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return H}};Object.defineProperty(e,"config",t),e.util={warn:ce,extend:S,mergeOptions:Pe,defineReactive:Te},e.set=Se,e.delete=Ee,e.nextTick=tt,e.options=Object.create(null),F.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,S(e.options.components,bn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=T(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Pe(this.options,e),this}}(e),vn(e),function(e){F.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&l(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(e)}(dn),Object.defineProperty(dn.prototype,"$isServer",{get:re}),Object.defineProperty(dn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(dn,"FunctionalRenderContext",{value:en}),dn.version="2.5.17";var $n=h("style,class"),wn=h("input,textarea,option,select,progress"),Cn=function(e,t,n){return"value"===n&&wn(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},xn=h("contenteditable,draggable,spellcheck"),kn=h("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),An="http://www.w3.org/1999/xlink",On=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Tn=function(e){return On(e)?e.slice(6,e.length):""},Sn=function(e){return null==e||!1===e};function En(e){for(var t=e.data,n=e,r=e;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=In(r.data,t));for(;o(n=n.parent);)n&&n.data&&(t=In(t,n.data));return function(e,t){if(o(e)||o(t))return jn(e,Ln(t));return""}(t.staticClass,t.class)}function In(e,t){return{staticClass:jn(e.staticClass,t.staticClass),class:o(e.class)?[e.class,t.class]:t.class}}function jn(e,t){return e?t?e+" "+t:e:t||""}function Ln(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,i=e.length;r-1?ir(e,t,n):kn(t)?Sn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):xn(t)?e.setAttribute(t,Sn(n)||"false"===n?"false":"true"):On(t)?Sn(n)?e.removeAttributeNS(An,Tn(t)):e.setAttributeNS(An,t,n):ir(e,t,n)}function ir(e,t,n){if(Sn(n))e.removeAttribute(t);else{if(Z&&!X&&"TEXTAREA"===e.tagName&&"placeholder"===t&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var or={create:nr,update:nr};function ar(e,t){var n=t.elm,r=t.data,a=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=En(t),c=n._transitionClasses;o(c)&&(s=jn(s,Ln(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var sr,cr,ur,lr,fr,pr,dr={create:ar,update:ar},vr=/[\w).+\-_$\]]/;function hr(e){var t,n,r,i,o,a=!1,s=!1,c=!1,u=!1,l=0,f=0,p=0,d=0;for(r=0;r=0&&" "===(h=e.charAt(v));v--);h&&vr.test(h)||(u=!0)}}else void 0===i?(d=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==d&&m(),o)for(r=0;r-1?{exp:e.slice(0,lr),key:'"'+e.slice(lr+1)+'"'}:{exp:e,key:null};cr=e,lr=fr=pr=0;for(;!Sr();)Er(ur=Tr())?jr(ur):91===ur&&Ir(ur);return{exp:e.slice(0,fr),key:e.slice(fr+1,pr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function Tr(){return cr.charCodeAt(++lr)}function Sr(){return lr>=sr}function Er(e){return 34===e||39===e}function Ir(e){var t=1;for(fr=lr;!Sr();)if(Er(e=Tr()))jr(e);else if(91===e&&t++,93===e&&t--,0===t){pr=lr;break}}function jr(e){for(var t=e;!Sr()&&(e=Tr())!==t;);}var Lr,Nr="__r",Mr="__c";function Dr(e,t,n,r,i){t=function(e){return e._withTask||(e._withTask=function(){Xe=!0;var t=e.apply(null,arguments);return Xe=!1,t})}(t),n&&(t=function(e,t,n){var r=Lr;return function i(){null!==e.apply(null,arguments)&&Pr(t,i,n,r)}}(t,e,r)),Lr.addEventListener(e,t,te?{capture:r,passive:i}:r)}function Pr(e,t,n,r){(r||Lr).removeEventListener(e,t._withTask||t,n)}function Fr(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Lr=t.elm,function(e){if(o(e[Nr])){var t=Z?"change":"input";e[t]=[].concat(e[Nr],e[t]||[]),delete e[Nr]}o(e[Mr])&&(e.change=[].concat(e[Mr],e.change||[]),delete e[Mr])}(n),st(n,r,Dr,Pr,t.context),Lr=void 0}}var Rr={create:Fr,update:Fr};function Hr(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in o(c.__ob__)&&(c=t.data.domProps=S({},c)),s)i(c[n])&&(a[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=r;var u=i(r)?"":String(r);Br(a,u)&&(a.value=u)}else a[n]=r}}}function Br(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(o(r)){if(r.lazy)return!1;if(r.number)return v(n)!==v(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var Ur={create:Hr,update:Hr},Vr=$(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t});function zr(e){var t=Kr(e.style);return e.staticStyle?S(e.staticStyle,t):t}function Kr(e){return Array.isArray(e)?E(e):"string"==typeof e?Vr(e):e}var Jr,qr=/^--/,Wr=/\s*!important$/,Gr=function(e,t,n){if(qr.test(t))e.style.setProperty(t,n);else if(Wr.test(n))e.style.setProperty(t,n.replace(Wr,""),"important");else{var r=Xr(t);if(Array.isArray(n))for(var i=0,o=n.length;i-1?t.split(/\s+/).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function ti(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function ni(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&S(t,ri(e.name||"v")),S(t,e),t}return"string"==typeof e?ri(e):void 0}}var ri=$(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),ii=J&&!X,oi="transition",ai="animation",si="transition",ci="transitionend",ui="animation",li="animationend";ii&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(si="WebkitTransition",ci="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ui="WebkitAnimation",li="webkitAnimationEnd"));var fi=J?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function pi(e){fi(function(){fi(e)})}function di(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),ei(e,t))}function vi(e,t){e._transitionClasses&&g(e._transitionClasses,t),ti(e,t)}function hi(e,t,n){var r=yi(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===oi?ci:li,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c0&&(n=oi,l=a,f=o.length):t===ai?u>0&&(n=ai,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?oi:ai:null)?n===oi?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===oi&&mi.test(r[si+"Property"])}}function gi(e,t){for(;e.length1}function xi(e,t){!0!==t.data.show&&bi(t)}var ki=function(e){var t,n,r={},c=e.modules,u=e.nodeOps;for(t=0;tv?_(e,i(n[y+1])?null:n[y+1].elm,n,d,y,r):d>y&&$(0,t,p,v)}(c,d,v,n,s):o(v)?(o(e.text)&&u.setTextContent(c,""),_(c,null,v,0,v.length-1,n)):o(d)?$(0,d,0,d.length-1):o(e.text)&&u.setTextContent(c,""):e.text!==t.text&&u.setTextContent(c,t.text),o(p)&&o(l=p.hook)&&o(l=l.postpatch)&&l(e,t)}}}function k(e,t,n){if(a(n)&&o(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,a.selected!==o&&(a.selected=o);else if(N(Ei(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function Si(e,t){return t.every(function(t){return!N(t,e)})}function Ei(e){return"_value"in e?e._value:e.value}function Ii(e){e.target.composing=!0}function ji(e){e.target.composing&&(e.target.composing=!1,Li(e.target,"input"))}function Li(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Ni(e){return!e.componentInstance||e.data&&e.data.transition?e:Ni(e.componentInstance._vnode)}var Mi={model:Ai,show:{bind:function(e,t,n){var r=t.value,i=(n=Ni(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,bi(n,function(){e.style.display=o})):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Ni(n)).data&&n.data.transition?(n.data.show=!0,r?bi(n,function(){e.style.display=e.__vOriginalDisplay}):$i(n,function(){e.style.display="none"})):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},Di={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Pi(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Pi(vt(t.children)):e}function Fi(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[C(o)]=i[o];return t}function Ri(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Hi={name:"transition",props:Di,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(function(e){return e.tag||dt(e)})).length){0;var r=this.mode;0;var i=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var o=Pi(i);if(!o)return i;if(this._leaving)return Ri(e,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var c=(o.data||(o.data={})).transition=Fi(this),u=this._vnode,l=Pi(u);if(o.data.directives&&o.data.directives.some(function(e){return"show"===e.name})&&(o.data.show=!0),l&&l.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(o,l)&&!dt(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=S({},c);if("out-in"===r)return this._leaving=!0,ct(f,"afterLeave",function(){t._leaving=!1,t.$forceUpdate()}),Ri(e,i);if("in-out"===r){if(dt(o))return u;var p,d=function(){p()};ct(c,"afterEnter",d),ct(c,"enterCancelled",d),ct(f,"delayLeave",function(e){p=e})}}return i}}},Bi=S({tag:String,moveClass:String},Di);function Ui(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Vi(e){e.data.newPos=e.elm.getBoundingClientRect()}function zi(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete Bi.mode;var Ki={Transition:Hi,TransitionGroup:{props:Bi,render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Fi(this),s=0;s-1?Rn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Rn[e]=/HTMLUnknownElement/.test(t.toString())},S(dn.options.directives,Mi),S(dn.options.components,Ki),dn.prototype.__patch__=J?ki:I,dn.prototype.$mount=function(e,t){return function(e,t,n){return e.$el=t,e.$options.render||(e.$options.render=me),xt(e,"beforeMount"),new Lt(e,function(){e._update(e._render(),n)},I,null,!0),n=!1,null==e.$vnode&&(e._isMounted=!0,xt(e,"mounted")),e}(this,e=e&&J?Bn(e):void 0,t)},J&&setTimeout(function(){H.devtools&&ie&&ie.emit("init",dn)},0);var Ji=/\{\{((?:.|\n)+?)\}\}/g,qi=/[-.*+?^${}()|[\]\/\\]/g,Wi=$(function(e){var t=e[0].replace(qi,"\\$&"),n=e[1].replace(qi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")});var Gi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=kr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=xr(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var Zi,Xi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=kr(e,"style");n&&(e.staticStyle=JSON.stringify(Vr(n)));var r=xr(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},Yi=function(e){return(Zi=Zi||document.createElement("div")).innerHTML=e,Zi.textContent},Qi=h("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),eo=h("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),to=h("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),no=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ro="[a-zA-Z_][\\w\\-\\.]*",io="((?:"+ro+"\\:)?"+ro+")",oo=new RegExp("^<"+io),ao=/^\s*(\/?)>/,so=new RegExp("^<\\/"+io+"[^>]*>"),co=/^]+>/i,uo=/^",""":'"',"&":"&"," ":"\n"," ":"\t"},mo=/&(?:lt|gt|quot|amp);/g,yo=/&(?:lt|gt|quot|amp|#10|#9);/g,go=h("pre,textarea",!0),_o=function(e,t){return e&&go(e)&&"\n"===t[0]};function bo(e,t){var n=t?yo:mo;return e.replace(n,function(e){return ho[e]})}var $o,wo,Co,xo,ko,Ao,Oo,To,So=/^@|^v-on:/,Eo=/^v-|^@|^:/,Io=/([^]*?)\s+(?:in|of)\s+([^]*)/,jo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Lo=/^\(|\)$/g,No=/:(.*)$/,Mo=/^:|^v-bind:/,Do=/\.[^.]+/g,Po=$(Yi);function Fo(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n]*>)","i")),p=e.replace(f,function(e,n,r){return u=r.length,po(l)||"noscript"===l||(n=n.replace(//g,"$1").replace(//g,"$1")),_o(l,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});c+=e.length-p.length,e=p,A(l,c-u,c)}else{var d=e.indexOf("<");if(0===d){if(uo.test(e)){var v=e.indexOf("--\x3e");if(v>=0){t.shouldKeepComment&&t.comment(e.substring(4,v)),C(v+3);continue}}if(lo.test(e)){var h=e.indexOf("]>");if(h>=0){C(h+2);continue}}var m=e.match(co);if(m){C(m[0].length);continue}var y=e.match(so);if(y){var g=c;C(y[0].length),A(y[1],g,c);continue}var _=x();if(_){k(_),_o(r,e)&&C(1);continue}}var b=void 0,$=void 0,w=void 0;if(d>=0){for($=e.slice(d);!(so.test($)||oo.test($)||uo.test($)||lo.test($)||(w=$.indexOf("<",1))<0);)d+=w,$=e.slice(d);b=e.substring(0,d),C(d)}d<0&&(b=e,e=""),t.chars&&b&&t.chars(b)}if(e===n){t.chars&&t.chars(e);break}}function C(t){c+=t,e=e.substring(t)}function x(){var t=e.match(oo);if(t){var n,r,i={tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n=e.match(ao))&&(r=e.match(no));)C(r[0].length),i.attrs.push(r);if(n)return i.unarySlash=n[1],C(n[0].length),i.end=c,i}}function k(e){var n=e.tagName,c=e.unarySlash;o&&("p"===r&&to(n)&&A(r),s(n)&&r===n&&A(n));for(var u=a(n)||!!c,l=e.attrs.length,f=new Array(l),p=0;p=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=i.length-1;u>=a;u--)t.end&&t.end(i[u].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,o):"p"===s&&(t.start&&t.start(e,[],!1,n,o),t.end&&t.end(e,n,o))}A()}(e,{warn:$o,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,start:function(e,o,u){var l=r&&r.ns||To(e);Z&&"svg"===l&&(o=function(e){for(var t=[],n=0;nc&&(s.push(o=e.slice(c,i)),a.push(JSON.stringify(o)));var u=hr(r[1].trim());a.push("_s("+u+")"),s.push({"@binding":u}),c=i+r[0].length}return c-1"+("true"===o?":("+t+")":":_q("+t+","+o+")")),Cr(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Or(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Or(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Or(t,"$$c")+"}",null,!0)}(e,r,i);else if("input"===o&&"radio"===a)!function(e,t,n){var r=n&&n.number,i=xr(e,"value")||"null";_r(e,"checked","_q("+t+","+(i=r?"_n("+i+")":i)+")"),Cr(e,"change",Or(t,i),null,!0)}(e,r,i);else if("input"===o||"textarea"===o)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,u=o?"change":"range"===r?Nr:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=Or(t,l);c&&(f="if($event.target.composing)return;"+f),_r(e,"value","("+t+")"),Cr(e,u,f,null,!0),(s||a)&&Cr(e,"blur","$forceUpdate()")}(e,r,i);else if(!H.isReservedTag(o))return Ar(e,r,i),!1;return!0},text:function(e,t){t.value&&_r(e,"textContent","_s("+t.value+")")},html:function(e,t){t.value&&_r(e,"innerHTML","_s("+t.value+")")}},isPreTag:function(e){return"pre"===e},isUnaryTag:Qi,mustUseProp:Cn,canBeLeftOpenTag:eo,isReservedTag:Pn,getTagNamespace:Fn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(",")}(qo)},Xo=$(function(e){return h("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(e?","+e:""))});function Yo(e,t){e&&(Wo=Xo(t.staticKeys||""),Go=t.isReservedTag||j,function e(t){t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||m(e.tag)||!Go(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(Wo)))}(t);if(1===t.type){if(!Go(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n|^function\s*\(/,ea=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,ta={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},na={esc:"Escape",tab:"Tab",enter:"Enter",space:" ",up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete"]},ra=function(e){return"if("+e+")return null;"},ia={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:ra("$event.target !== $event.currentTarget"),ctrl:ra("!$event.ctrlKey"),shift:ra("!$event.shiftKey"),alt:ra("!$event.altKey"),meta:ra("!$event.metaKey"),left:ra("'button' in $event && $event.button !== 0"),middle:ra("'button' in $event && $event.button !== 1"),right:ra("'button' in $event && $event.button !== 2")};function oa(e,t,n){var r=t?"nativeOn:{":"on:{";for(var i in e)r+='"'+i+'":'+aa(i,e[i])+",";return r.slice(0,-1)+"}"}function aa(e,t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map(function(t){return aa(e,t)}).join(",")+"]";var n=ea.test(t.value),r=Qo.test(t.value);if(t.modifiers){var i="",o="",a=[];for(var s in t.modifiers)if(ia[s])o+=ia[s],ta[s]&&a.push(s);else if("exact"===s){var c=t.modifiers;o+=ra(["ctrl","shift","alt","meta"].filter(function(e){return!c[e]}).map(function(e){return"$event."+e+"Key"}).join("||"))}else a.push(s);return a.length&&(i+=function(e){return"if(!('button' in $event)&&"+e.map(sa).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(n?"return "+t.value+"($event)":r?"return ("+t.value+")($event)":t.value)+"}"}return n||r?t.value:"function($event){"+t.value+"}"}function sa(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=ta[e],r=na[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var ca={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:I},ua=function(e){this.options=e,this.warn=e.warn||yr,this.transforms=gr(e.modules,"transformCode"),this.dataGenFns=gr(e.modules,"genData"),this.directives=S(S({},ca),e.directives);var t=e.isReservedTag||j;this.maybeComponent=function(e){return!t(e.tag)},this.onceId=0,this.staticRenderFns=[]};function la(e,t){var n=new ua(t);return{render:"with(this){return "+(e?fa(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function fa(e,t){if(e.staticRoot&&!e.staticProcessed)return pa(e,t);if(e.once&&!e.onceProcessed)return da(e,t);if(e.for&&!e.forProcessed)return function(e,t,n,r){var i=e.for,o=e.alias,a=e.iterator1?","+e.iterator1:"",s=e.iterator2?","+e.iterator2:"";0;return e.forProcessed=!0,(r||"_l")+"(("+i+"),function("+o+a+s+"){return "+(n||fa)(e,t)+"})"}(e,t);if(e.if&&!e.ifProcessed)return va(e,t);if("template"!==e.tag||e.slotTarget){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=ya(e,t),i="_t("+n+(r?","+r:""),o=e.attrs&&"{"+e.attrs.map(function(e){return C(e.name)+":"+e.value}).join(",")+"}",a=e.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:ya(t,n,!0);return"_c("+e+","+ha(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r=e.plain?void 0:ha(e,t),i=e.inlineTemplate?null:ya(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o':'
',Ca.innerHTML.indexOf(" ")>0}var Aa=!!J&&ka(!1),Oa=!!J&&ka(!0),Ta=$(function(e){var t=Bn(e);return t&&t.innerHTML}),Sa=dn.prototype.$mount;dn.prototype.$mount=function(e,t){if((e=e&&Bn(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=Ta(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){0;var i=xa(r,{shouldDecodeNewlines:Aa,shouldDecodeNewlinesForHref:Oa,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return Sa.call(this,e,t)},dn.compile=xa,t.default=dn}.call(this,n(81),n(82).setImmediate)},81:function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},82:function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(83),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(81))},83:function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i=1,o={},a=!1,s=e.document,c=Object.getPrototypeOf&&Object.getPrototypeOf(e);c=c&&c.setTimeout?c:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick(function(){l(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?function(){var t="setImmediate$"+Math.random()+"$",n=function(n){n.source===e&&"string"==typeof n.data&&0===n.data.indexOf(t)&&l(+n.data.slice(t.length))};e.addEventListener?e.addEventListener("message",n,!1):e.attachEvent("onmessage",n),r=function(n){e.postMessage(t+n,"*")}}():e.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){l(e.data)},r=function(t){e.port2.postMessage(t)}}():s&&"onreadystatechange"in s.createElement("script")?function(){var e=s.documentElement;r=function(t){var n=s.createElement("script");n.onreadystatechange=function(){l(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():r=function(e){setTimeout(l,0,e)},c.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a 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 a 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 the 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... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards 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/**\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/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\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 (!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\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 SSR_ATTR = 'data-server-rendered';\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];\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 * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\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 = /[^\\w.$]/;\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;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\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'].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 = (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 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) {\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 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\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.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\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 there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\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 vnode.children,\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.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 var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property 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(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 an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an 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 ) {\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 (\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 if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\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.target) {\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 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(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 var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\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 return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\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 (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\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 = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\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 var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, 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 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\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 && isObject(value) && ('@binding' in value))\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 if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\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\n/* */\n\nfunction handleError (err, vm, info) {\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}\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 logError(e, null, 'config.errorHandler');\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/* globals MessageChannel */\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 both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = 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 {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\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 if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\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\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/* 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 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) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n 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 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\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) {\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 cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\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);\n }\n add(event.name, cur, event.once, 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\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\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 return\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 return res\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.