From 634566172d44eafba7b469a5555a923f07b7dcc3 Mon Sep 17 00:00:00 2001 From: legomushroom Date: Wed, 21 Jun 2017 00:18:32 -0500 Subject: [PATCH 01/11] fix the speed control --- bower.json | 2 +- build/mojs-player.js | 130 +- build/mojs-player.min.js | 10 +- css/blocks/speed-control.postcss.css | 6 +- css/blocks/speed-control.postcss.css.json | 2 +- index.html | 12 +- js/components/handle.babel.js | 21 +- js/components/ripple.babel.js | 40 +- js/mojs-player.babel.js | 112 +- lib/components/handle.js | 17 +- lib/components/icon.js | 1 + lib/components/ripple.js | 42 +- lib/components/track.js | 6 +- package.json | 6 +- vendor/mo.js | 4371 +++++++++++++++++++++ vendor/mo.js.map | 1 + 16 files changed, 4624 insertions(+), 155 deletions(-) create mode 100644 vendor/mo.js create mode 100644 vendor/mo.js.map diff --git a/bower.json b/bower.json index 53912a5..327958b 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "mojs-player", - "version": "0.43.15", + "version": "0.43.18", "description": "Player controls for [mojs](mojs.io). Intended to help you to craft `mojs` animation sequences.", "main": "build/mojs-player.min.js", "authors": [ diff --git a/build/mojs-player.js b/build/mojs-player.js index 89c4825..a4a76e4 100644 --- a/build/mojs-player.js +++ b/build/mojs-player.js @@ -1,3 +1,9 @@ +/*! + :: MojsPlayer :: Player controls for [mojs](mojs.io). Intended to help you to craft `mojs` animation sequences. + Oleg Solomka @LegoMushroom 2016 MIT + 0.43.18 +*/ + (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -174,6 +180,8 @@ return /******/ (function(modules) { // webpackBootstrap this._defaults.precision = 0.1; this._defaults.name = 'mojs-player'; + this._play = this._play.bind(this); + this.revision = '0.43.16'; var str = this._fallbackTo(this._o.name, this._defaults.name); @@ -428,23 +436,26 @@ return /******/ (function(modules) { // webpackBootstrap var isUndefined = typeof add === 'undefined'; if (!isUndefined) { - add = add.timeline || add; + add = add.timeline || add.tween || add; } - var isTween = add instanceof mojs.Tween; - var isTimeline = add instanceof mojs.Timeline; + var isAdd = !!add.setProgress; - if (isUndefined || !(isTween || isTimeline)) { + if (isUndefined || !isAdd) { throw new Error('MojsPlayer expects Tween/Timeline/Module as `add` option in constructor call. [ new MojsPlayer({ add: new mojs.Tween }); ]'); return; } this.timeline.add(this._o.add); + var _props = this.timeline._props; + + var duration = _props.repeatTime !== void 0 ? _props : _props.delay + _props.duration; + this._sysTween = new mojs.Tween({ easing: 'linear.none', - duration: this.timeline._props.repeatTime, - onProgress: this._onSysProgress.bind(this), + duration: duration, + onUpdate: this._onSysProgress.bind(this), onComplete: this._onSysTweenComplete.bind(this), onPlaybackStop: function onPlaybackStop() { _this3._setPlayState('off'); @@ -475,18 +486,14 @@ return /******/ (function(modules) { // webpackBootstrap // different when piped thru tween, so add `0.01` gap to soften that if (p < leftBound - 0.01 && p !== 0) { this._reset(); - requestAnimationFrame(this._play.bind(this)); + requestAnimationFrame(this._play); } if (p >= rightBound) { - this._reset(rightBound === 1); - // if ( rightBound === 1 ) { this._sysTween.stop( ); } - // else { this._reset() } - if (this._props.isRepeat) { - requestAnimationFrame(this._play.bind(this)); + requestAnimationFrame(this._play); } else { this._props.isPlaying = false; } @@ -499,9 +506,9 @@ return /******/ (function(modules) { // webpackBootstrap MojsPlayer.prototype._play = function _play() { - var p = this._props, - leftBound = p.isBounds ? p.leftBound : p.progress, - progress = p.progress >= this._getBound('right') ? leftBound : p.progress; + var p = this._props; + var leftBound = p.isBounds ? p.leftBound : p.progress; + var progress = p.progress >= this._getBound('right') ? leftBound : p.progress; if (progress === 1) { progress = p.isBounds ? p.leftBound : 0; @@ -522,19 +529,18 @@ return /******/ (function(modules) { // webpackBootstrap MojsPlayer.prototype._reset = function _reset(isPause) { this._sysTween.reset(); - if (!isPause) { - // this.timeline.pause(); - var p = this._props, - progress = p.progress; - - var start = progress, - leftBound = p.isBounds ? p.leftBound : 0; - - while (start - p.precision >= leftBound) { - start -= p.precision; - this.timeline.setProgress(start); - } - } + // if ( !isPause ) { + // const p = this._props, + // progress = p.progress; + // + // let start = progress, + // leftBound = (p.isBounds) ? p.leftBound : 0; + // + // // while ( (start - p.precision) >= leftBound ) { + // // start -= p.precision; + // // this.timeline.setProgress( start ); + // // } + // } this.timeline.reset(); }; @@ -684,13 +690,14 @@ return /******/ (function(modules) { // webpackBootstrap this._props.progress = progress; // if timeline was reset - refresh it's state // by incremental updates until progress (0 always) - if (!this.timeline._prevTime && progress > 0) { - var start = 0; - do { - this.timeline.setProgress(start); - start += this._props.precision; - } while (start + this._props.precision < progress); - } + // if ( !this.timeline._prevTime && progress > 0 ) { + // let start = 0; + // do { + // this.timeline.setProgress( start ); + // start += this._props.precision; + // } while ( start + this._props.precision < progress ); + // } + // console.log(`timeline.setProgress: ${progress}`); this.timeline.setProgress(progress); }; /* @@ -3555,7 +3562,7 @@ return /******/ (function(modules) { // webpackBootstrap minBound = p.minBound * this._maxWidth, maxBound = p.maxBound * this._maxWidth; - shift = mojs.h.clamp(shift, minBound, maxBound); + shift = this.clamp(shift, minBound, maxBound); this._applyShift(shift); if (isCallback) { this._onProgress(shift); @@ -3564,6 +3571,21 @@ return /******/ (function(modules) { // webpackBootstrap } return shift; }; + + /** + * clamp - functiboundson to clamp a `value` between `min` and `max` + * + * @param {Number} value Value to clamp. + * @param {Number} min Min bound + * @param {Number} max Max bound + * @return {Number} Clamped value. + */ + + + Handle.prototype.clamp = function clamp(value, min, max) { + return Math.min(Math.max(value, min), max); + }; + /* Method to apply shift to the DOMElement. @private @@ -6999,9 +7021,6 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - // require('css/blocks/handle.postcss.css'); - // let CLASSES = require('css/blocks/handle.postcss.css.json'); - var Ripple = function (_Module) { (0, _inherits3.default)(Ripple, _Module); @@ -7041,7 +7060,9 @@ return /******/ (function(modules) { // webpackBootstrap this.el.appendChild(this.curtain); - this._addRipple(); + if (mojs.Shape) { + this._addRipple(); + } }; /* Method to construct ripple object. @@ -7079,7 +7100,10 @@ return /******/ (function(modules) { // webpackBootstrap } if (p >= .15 && this.isStart && !this.isRelease) { this.isStart = false; - this.shape.setSpeed(.02); + + if (mojs.Shape) { + this.shape.setSpeed(.02); + } } }; /* @@ -7093,7 +7117,10 @@ return /******/ (function(modules) { // webpackBootstrap return; } this.isRelease = true; - this.shape.setSpeed(1).play(); + + if (mojs.Shape) { + this.shape.setSpeed(1).play(); + } }; /* Method that should be run on touch serface hold. @@ -7107,7 +7134,9 @@ return /******/ (function(modules) { // webpackBootstrap y = e.offsetY != null ? e.offsetY : e.layerY; this.isRelease = false; - this.shape.tune({ x: x, y: y }).replay(); + if (mojs.Shape) { + this.shape.tune({ x: x, y: y }).replay(); + } }; /* Method that should be run on touch serface cancel. @@ -7120,7 +7149,10 @@ return /******/ (function(modules) { // webpackBootstrap return; } this.isRelease = true; - this.shape.pause().setSpeed(1).playBackward(); + + if (mojs.Shape) { + this.shape.pause().setSpeed(1).playBackward(); + } }; return Ripple; @@ -8408,7 +8440,7 @@ return /******/ (function(modules) { // webpackBootstrap // module - exports.push([module.id, "/*$PX: 1/16rem;*/\n\n._speed-control_1mxm4_4 {\n position: relative;\n display: inline-block;\n height: 40px\n}\n\n._speed-control__slider_1mxm4_1 {\n position: absolute;\n bottom: 100%;\n left: 3px;\n width: 30px;\n height: 120px;\n padding-top: 20px;\n padding-bottom: 20px;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n background: #3A0839;\n -webkit-transform: translate(-99999999px, -99999999px);\n transform: translate(-99999999px, -99999999px);\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden\n}\n\n._speed-control__slider_1mxm4_1:before, ._speed-control__slider_1mxm4_1:after {\n content: '';\n position: absolute;\n top: 50%;\n width: 3px;\n height: 1px;\n background: #FFF\n}\n\n._speed-control__slider_1mxm4_1:before {\n left: 5px\n}\n\n._speed-control__slider_1mxm4_1:after {\n right: 5px\n}\n\n._speed-control__button_1mxm4_1 {\n border: 1px solid cyan\n}\n\n._speed-control_1mxm4_4._is-on_1mxm4_49 ._speed-control__slider_1mxm4_1 {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0)\n}\n", ""]); + exports.push([module.id, "/*$PX: 1/16rem;*/\n\n._speed-control_1jd3z_3 {\n position: relative;\n display: inline-block;\n height: 40px\n}\n\n._speed-control__slider_1jd3z_1 {\n position: absolute;\n bottom: 100%;\n left: 3px;\n width: 30px;\n height: 120px;\n padding-top: 20px;\n padding-bottom: 20px;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n background: #3A0839;\n -webkit-transform: translate(-99999999px, -99999999px);\n transform: translate(-99999999px, -99999999px);\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden\n}\n\n._speed-control__slider_1jd3z_1:before, ._speed-control__slider_1jd3z_1:after {\n content: '';\n position: absolute;\n top: 50%;\n width: 3px;\n height: 1px;\n background: #FFF\n}\n\n._speed-control__slider_1jd3z_1:before {\n left: 5px\n}\n\n._speed-control__slider_1jd3z_1:after {\n right: 5px\n}\n\n._speed-control__button_1jd3z_1 {\n border: 1px solid cyan\n}\n\n._speed-control_1jd3z_3._is-on_1jd3z_48 ._speed-control__slider_1jd3z_1 {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0)\n}\n", ""]); // exports @@ -8418,10 +8450,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports) { module.exports = { - "speed-control": "_speed-control_1mxm4_4", - "speed-control__slider": "_speed-control__slider_1mxm4_1", - "speed-control__button": "_speed-control__button_1mxm4_1", - "is-on": "_is-on_1mxm4_49" + "speed-control": "_speed-control_1jd3z_3", + "speed-control__slider": "_speed-control__slider_1jd3z_1", + "speed-control__button": "_speed-control__button_1jd3z_1", + "is-on": "_is-on_1jd3z_48" }; /***/ }, diff --git a/build/mojs-player.min.js b/build/mojs-player.min.js index 056fb56..73de678 100644 --- a/build/mojs-player.min.js +++ b/build/mojs-player.min.js @@ -1,10 +1,10 @@ /*! :: MojsPlayer :: Player controls for [mojs](mojs.io). Intended to help you to craft `mojs` animation sequences. Oleg Solomka @LegoMushroom 2016 MIT - 0.43.15 + 0.43.18 */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("mojs-player",[],e):"object"==typeof exports?exports["mojs-player"]=e():t["mojs-player"]=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="build/",e(0)}([function(t,e,n){t.exports=n(1)},function(t,e,n){var i;(function(t,o){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var s=n(3),a=r(s),u=n(71),l=r(u),p=n(73),h=r(p),c=n(78),d=r(c),f=n(79),_=r(f),g=n(80),y=r(g),v=n(88),m=(r(v),n(89)),b=r(m),x=n(90),w=r(x),S=n(91),P=r(S),k=n(111),T=r(k),C=n(123),E=r(C),M=n(135),O=r(M),L=n(143),B=r(L),j=n(147),D=r(j),I=n(155),R=r(I),A=n(156),F=r(A);n(160);var N=n(162),q=function(t){function e(n){if((0,d["default"])(this,e),"undefined"==typeof mojs)throw new Error("MojsPlayer relies on mojs^0.225.2, please include it before player initialization. [ https://github.com/legomushroom/mojs ] ");return(0,_["default"])(this,t.call(this,n))}return(0,y["default"])(e,t),e.prototype._declareDefaults=function(){t.prototype._declareDefaults.call(this),this._defaults.isSaveState=!0,this._defaults.isPlaying=!1,this._defaults.progress=0,this._defaults.isRepeat=!1,this._defaults.isBounds=!1,this._defaults.leftBound=0,this._defaults.rightBound=1,this._defaults.isSpeed=!1,this._defaults.speed=1,this._defaults.isHidden=!1,this._defaults.precision=.1,this._defaults.name="mojs-player",this.revision="0.43.15";var e=this._fallbackTo(this._o.name,this._defaults.name);e+=e===this._defaults.name?"":"__"+this._defaults.name,this._localStorage=e+"__"+this._hashCode(e)},e.prototype._extendDefaults=function(){this._props={};var t=this._props,e=this._o,n=this._defaults;t.isSaveState=this._fallbackTo(e.isSaveState,n.isSaveState);var i=t.isSaveState?JSON.parse(localStorage.getItem(this._localStorage))||{}:{};for(var o in n){var r=this._fallbackTo(i[o],e[o]);this._assignProp(o,this._fallbackTo(r,n[o]))}this._props["raw-speed"]=this._fallbackTo(i["raw-speed"],.5)},e.prototype._keyUp=function(t){if(t.altKey)switch(t.keyCode){case 80:this._props.isPlaying=!this._props.isPlaying,this._onPlayStateChange(this._props.isPlaying);break;case 189:this.playButton.off(),this.playerSlider.decreaseProgress(t.shiftKey?.1:.01);break;case 187:this.playButton.off(),this.playerSlider.increaseProgress(t.shiftKey?.1:.01);break;case 83:this._onStop();break;case 82:this._props.isRepeat=!this._props.isRepeat;var e=this._props.isRepeat?"on":"off";this.repeatButton[e]();break;case 66:this._props.isBounds=!this._props.isBounds;var e=this._props.isBounds?"on":"off";this.boundsButton[e]();break;case 72:this._props.isHidden=!this._props.isHidden,this._onHideStateChange(this._props.isHidden);var e=this._props.isHidden?"on":"off";this.hideButton[e]();break;case 81:this.speedControl.reset();break;case 50:this.speedControl.decreaseSpeed(t.shiftKey?.05:.01);break;case 51:this.speedControl.increaseSpeed(t.shiftKey?.05:.01)}},e.prototype._vars=function(){this._hideCount=0},e.prototype._render=function(){this._initTimeline();var e=this._props,n="mojs-player";new b["default"]({prefix:this._props.prefix});t.prototype._render.call(this),this.el.classList.add(N[n]),this.el.setAttribute("id","js-mojs-player");var i=this._createChild("div",N[n+"__left"]),o=this._createChild("div",N[n+"__mid"]),r=this._createChild("div",N[n+"__right"]);this.repeatButton=new D["default"]({parent:i,isOn:e.isRepeat,onStateChange:this._onRepeatStateChange.bind(this),prefix:this._props.prefix}),this.playerSlider=new P["default"]({parent:o,isBounds:e.isBounds,leftProgress:e.leftBound,rightProgress:e.rightBound,progress:e.progress,onLeftProgress:this._onLeftProgress.bind(this),onProgress:this._onProgress.bind(this),onRightProgress:this._onRightProgress.bind(this),onSeekStart:this._onSeekStart.bind(this),onSeekEnd:this._onSeekEnd.bind(this)}),this.boundsButton=new R["default"]({isOn:e.isBounds,parent:i,onStateChange:this._boundsStateChange.bind(this),prefix:this._props.prefix}),this.speedControl=new E["default"]({parent:i,speed:e.speed,isOn:e.isSpeed,onSpeedChange:this._onSpeedChange.bind(this),onIsSpeed:this._onIsSpeed.bind(this),prefix:this._props.prefix});this.stopButton=new B["default"]({parent:i,isPrepend:!0,onPointerUp:this._onStop.bind(this),prefix:this._props.prefix}),this.playButton=new O["default"]({parent:i,isOn:e.isPlaying,isPrepend:!0,onStateChange:this._onPlayStateChange.bind(this),prefix:this._props.prefix}),this.mojsButton=new T["default"]({parent:r,icon:"mojs",target:"_blank",link:"https://github.com/legomushroom/mojs-player",title:"mo • js",prefix:this._props.prefix}),this.hideButton=new F["default"]({parent:this.el,className:N[n+"__hide-button"],isOn:e.isHidden,onStateChange:this._onHideStateChange.bind(this),prefix:this._props.prefix}),this._listen()},e.prototype._listen=function(){var t="onpagehide"in window?"pagehide":"beforeunload";window.addEventListener(t,this._onUnload.bind(this)),document.addEventListener("keyup",this._keyUp.bind(this))},e.prototype._onSeekStart=function(t){this._sysTween.pause()},e.prototype._onSeekEnd=function(t){var e=this;clearTimeout(this._endTimer),this._endTimer=setTimeout(function(){e._props.isPlaying&&e._play()},20)},e.prototype._initTimeline=function(){var t=this;this.timeline=new mojs.Timeline({});var e=this._o.add,n="undefined"==typeof e;n||(e=e.timeline||e);var i=e instanceof mojs.Tween,o=e instanceof mojs.Timeline;if(n||!i&&!o)throw new Error("MojsPlayer expects Tween/Timeline/Module as `add` option in constructor call. [ new MojsPlayer({ add: new mojs.Tween }); ]");this.timeline.add(this._o.add),this._sysTween=new mojs.Tween({easing:"linear.none",duration:this.timeline._props.repeatTime,onProgress:this._onSysProgress.bind(this),onComplete:this._onSysTweenComplete.bind(this),onPlaybackStop:function(){t._setPlayState("off")},onPlaybackPause:function(){t._setPlayState("off")},onPlaybackStart:function(){t._setPlayState("on")}})},e.prototype._onSysProgress=function(t){this.playerSlider.setTrackProgress(t);var e=this._props.isBounds?this._props.rightBound:1,n=this._props.isBounds?this._props.leftBound:-1;n-.01>t&&0!==t&&(this._reset(),requestAnimationFrame(this._play.bind(this))),t>=e&&(this._reset(1===e),this._props.isRepeat?requestAnimationFrame(this._play.bind(this)):this._props.isPlaying=!1)},e.prototype._play=function(){var t=this._props,e=t.isBounds?t.leftBound:t.progress,n=t.progress>=this._getBound("right")?e:t.progress;1===n&&(n=t.isBounds?t.leftBound:0),0!==n&&this._sysTween.setProgress(n),this._sysTween.play()},e.prototype._reset=function(t){if(this._sysTween.reset(),!t)for(var e=this._props,n=e.progress,i=n,o=e.isBounds?e.leftBound:0;i-e.precision>=o;)i-=e.precision,this.timeline.setProgress(i);this.timeline.reset()},e.prototype._setPlayState=function(t){var e=this;clearTimeout(this._playTimeout),this._playTimeout=setTimeout(function(){e.playButton&&e.playButton[t](!1)},20)},e.prototype._onSysTweenComplete=function(t){},e.prototype._onPlayStateChange=function(t){this._props.isPlaying=t,t?this._play():this._sysTween.pause()},e.prototype._onHideStateChange=function(t){this._props.isHidden=t;var e=t?"add":"remove";this.el.classList[e](N["is-hidden"]),1===this._hideCount++&&this.el.classList.add(N["is-transition"])},e.prototype._onStop=function(){var t=this._props;t.isPlaying=!1;var e=t.isBounds?t.leftBound:0;this._sysTween.setProgress(e+.01),this._sysTween.setProgress(e),this._reset()},e.prototype._onRepeatStateChange=function(t){this._props.isRepeat=t},e.prototype._boundsStateChange=function(t){this.playerSlider._props.isBounds=t,this.playerSlider[(t?"enable":"disable")+"Bounds"](),this._props.isBounds=t},e.prototype._onSpeedChange=function(t,e){this._props["raw-speed"]=e,this._props.speed=t,this._sysTween.setSpeed(t)},e.prototype._onIsSpeed=function(t){this._props.isSpeed=t},e.prototype._onLeftProgress=function(t){this._props.leftBound=t},e.prototype._onProgress=function(t){if(this._props.progress=t,!this.timeline._prevTime&&t>0){var e=0;do this.timeline.setProgress(e),e+=this._props.precision;while(e+this._props.precisione;e++)n=t.charCodeAt(e),o=(o<<5)-o+n,o|=0;return Math.abs(o)},e}(w["default"]);i=function(){return q}.call(e,n,e,t),!(void 0!==i&&(t.exports=i)),"object"===(0,a["default"])(t)&&"object"===(0,a["default"])(t.exports)&&(t.exports=q);var z="undefined"!=typeof o?o:window;z.MojsPlayer=q,e["default"]=q}).call(e,n(2)(t),function(){return this}())},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var o=n(4),r=i(o),s=n(55),a=i(s),u="function"==typeof a["default"]&&"symbol"==typeof r["default"]?function(t){return typeof t}:function(t){return t&&"function"==typeof a["default"]&&t.constructor===a["default"]?"symbol":typeof t};e["default"]="function"==typeof a["default"]&&"symbol"===u(r["default"])?function(t){return"undefined"==typeof t?"undefined":u(t)}:function(t){return t&&"function"==typeof a["default"]&&t.constructor===a["default"]?"symbol":"undefined"==typeof t?"undefined":u(t)}},function(t,e,n){t.exports={"default":n(5),__esModule:!0}},function(t,e,n){n(6),n(50),t.exports=n(54).f("iterator")},function(t,e,n){"use strict";var i=n(7)(!0);n(10)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){var i=n(8),o=n(9);t.exports=function(t){return function(e,n){var r,s,a=String(o(e)),u=i(n),l=a.length;return 0>u||u>=l?t?"":void 0:(r=a.charCodeAt(u),55296>r||r>56319||u+1===l||(s=a.charCodeAt(u+1))<56320||s>57343?t?a.charAt(u):r:t?a.slice(u,u+2):(r-55296<<10)+(s-56320)+65536)}}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";var i=n(11),o=n(12),r=n(27),s=n(17),a=n(28),u=n(29),l=n(30),p=n(46),h=n(48),c=n(47)("iterator"),d=!([].keys&&"next"in[].keys()),f="@@iterator",_="keys",g="values",y=function(){return this};t.exports=function(t,e,n,v,m,b,x){l(n,e,v);var w,S,P,k=function(t){if(!d&&t in M)return M[t];switch(t){case _:return function(){return new n(this,t)};case g:return function(){return new n(this,t)}}return function(){return new n(this,t)}},T=e+" Iterator",C=m==g,E=!1,M=t.prototype,O=M[c]||M[f]||m&&M[m],L=O||k(m),B=m?C?k("entries"):L:void 0,j="Array"==e?M.entries||O:O;if(j&&(P=h(j.call(new t)),P!==Object.prototype&&(p(P,T,!0),i||a(P,c)||s(P,c,y))),C&&O&&O.name!==g&&(E=!0,L=function(){return O.call(this)}),i&&!x||!d&&!E&&M[c]||s(M,c,L),u[e]=L,u[T]=y,m)if(w={values:C?L:k(g),keys:b?L:k(_),entries:B},x)for(S in w)S in M||r(M,S,w[S]);else o(o.P+o.F*(d||E),e,w);return w}},function(t,e){t.exports=!0},function(t,e,n){var i=n(13),o=n(14),r=n(15),s=n(17),a="prototype",u=function(t,e,n){var l,p,h,c=t&u.F,d=t&u.G,f=t&u.S,_=t&u.P,g=t&u.B,y=t&u.W,v=d?o:o[e]||(o[e]={}),m=v[a],b=d?i:f?i[e]:(i[e]||{})[a];d&&(n=e);for(l in n)p=!c&&b&&void 0!==b[l],p&&l in v||(h=p?b[l]:n[l],v[l]=d&&"function"!=typeof b[l]?n[l]:g&&p?r(h,i):y&&b[l]==h?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e[a]=t[a],e}(h):_&&"function"==typeof h?r(Function.call,h):h,_&&((v.virtual||(v.virtual={}))[l]=h,t&u.R&&m&&!m[l]&&s(m,l,h)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var i=n(16);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,o){return t.call(e,n,i,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var i=n(18),o=n(26);t.exports=n(22)?function(t,e,n){return i.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(19),o=n(21),r=n(25),s=Object.defineProperty;e.f=n(22)?Object.defineProperty:function(t,e,n){if(i(t),e=r(e,!0),i(n),o)try{return s(t,e,n)}catch(a){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(20);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(22)&&!n(23)(function(){return 7!=Object.defineProperty(n(24)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){t.exports=!n(23)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e,n){var i=n(20),o=n(13).document,r=i(o)&&i(o.createElement);t.exports=function(t){return r?o.createElement(t):{}}},function(t,e,n){var i=n(20);t.exports=function(t,e){if(!i(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!i(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!i(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!i(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){t.exports=n(17)},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e){t.exports={}},function(t,e,n){"use strict";var i=n(31),o=n(26),r=n(46),s={};n(17)(s,n(47)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:o(1,n)}),r(t,e+" Iterator")}},function(t,e,n){var i=n(19),o=n(32),r=n(44),s=n(41)("IE_PROTO"),a=function(){},u="prototype",l=function(){var t,e=n(24)("iframe"),i=r.length,o=">";for(e.style.display="none",n(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(" + +