diff --git a/README.md b/README.md
index 179b62e..16be793 100644
--- a/README.md
+++ b/README.md
@@ -64,11 +64,107 @@ let imgObj =  new ImagePreview({
 imgObj.show(n);
 
 // Distroy image preview instance. Remove HTML generated by this ImagePreview instance and other resources. For better performance, then you can set imgObj = null;
-imgObj.distory();
+imgObj.destroy();
 
 ```
 The above code shows two ways about image preview generated, the first way bind click event on the HTMLElement supplied with selector automatically, and the second way requires yourself to bind trigger event manually. Actually, it is very simple, you just call `imgObj.show(n)` in your code where the image preview should open.
 
+#### use with vue:
+HTML:
+```HTML
+<div
+    v-for="(item, index) in imgs"
+    :key="index"
+    @click="showImg(index)"
+>
+    {{index}}
+</div>
+```
+JS:
+```javascript
+import {ImagePreview} from '@daxiazilong/image-preview'
+export default {
+    data () {
+        return {
+            imgs: [
+                'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201909%2F30%2F20190930192812_ZdJUw.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629013294&t=0fefdbd28f9926ff195325bd9d2bd4a9',
+                'https://iknow-pic.cdn.bcebos.com/9213b07eca806538184ec36695dda144ad34821a',
+                'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F1e93e74fb4b87734fb11bc487f9d7e2e9ce666f2.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629028767&t=83072eef6345c4169751cef753b79bd7',
+                'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp.ssl.qhimg.com%2Ft017bbc635928363c05.jpg&refer=http%3A%2F%2Fp.ssl.qhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629274751&t=89d2696d8027df24bb767e6acb5330ac',
+                'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ff.mgame.netease.com%2Fforum%2F201509%2F21%2F171337o26avxzpb6wpowza.gif&refer=http%3A%2F%2Ff.mgame.netease.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1628907951&t=85efd61fe8604d1fb018b1555e23d316',
+            ],
+        }
+    },
+    // for vue3,  vue2.x is [beforeDestroy](https://cn.vuejs.org/v2/api/#beforeDestroy)
+    beforeUnmount () {
+        if (this.imgPreview) {
+            this.imgPreview.destroy();
+        }
+    },
+    methods: {
+        showImg(index: any) {
+            if (!this.imgPreview) {
+                this.imgPreview = new ImagePreview({
+                    imgs: [
+                        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201909%2F30%2F20190930192812_ZdJUw.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629013294&t=0fefdbd28f9926ff195325bd9d2bd4a9',
+                        'https://iknow-pic.cdn.bcebos.com/9213b07eca806538184ec36695dda144ad34821a',
+                        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F1e93e74fb4b87734fb11bc487f9d7e2e9ce666f2.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629028767&t=83072eef6345c4169751cef753b79bd7',
+                        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp.ssl.qhimg.com%2Ft017bbc635928363c05.jpg&refer=http%3A%2F%2Fp.ssl.qhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629274751&t=89d2696d8027df24bb767e6acb5330ac',
+                        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ff.mgame.netease.com%2Fforum%2F201509%2F21%2F171337o26avxzpb6wpowza.gif&refer=http%3A%2F%2Ff.mgame.netease.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1628907951&t=85efd61fe8604d1fb018b1555e23d316',
+                    ]
+                });
+            }
+            this.imgPreview.show(index);
+        }
+    },
+}
+```
+                
+#### use with React:
+```javascript
+
+export default() => {
+    // a ref 
+    const imgInstance = useRef(null as unknown as ImagePreview);
+    useEffect(()=> {
+        return () => {
+            if (imgInstance.current) {
+               // never forget to destroy
+                imgInstance.current.destroy();
+            }
+        }
+    }, [])
+
+    const imgs =  [
+        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201909%2F30%2F20190930192812_ZdJUw.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629013294&t=0fefdbd28f9926ff195325bd9d2bd4a9',
+        'https://iknow-pic.cdn.bcebos.com/9213b07eca806538184ec36695dda144ad34821a',
+        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F1e93e74fb4b87734fb11bc487f9d7e2e9ce666f2.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629028767&t=83072eef6345c4169751cef753b79bd7',
+        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp.ssl.qhimg.com%2Ft017bbc635928363c05.jpg&refer=http%3A%2F%2Fp.ssl.qhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629274751&t=89d2696d8027df24bb767e6acb5330ac',
+        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ff.mgame.netease.com%2Fforum%2F201509%2F21%2F171337o26avxzpb6wpowza.gif&refer=http%3A%2F%2Ff.mgame.netease.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1628907951&t=85efd61fe8604d1fb018b1555e23d316',
+    ];
+    function handleClick (index: number) {
+        if (!imgInstance.current) {
+            imgInstance.current = new ImagePreview({
+                imgs,
+            })
+        }
+        imgInstance.current.show(index);
+    }
+
+    return (<div>
+        {
+            imgs.map((src, index) => {
+                return (
+                    <div key={index} onClick={() =>handleClick(index)}>
+                        {index}
+                    </div>
+                )
+            })
+        }
+    </div>)
+}
+
+```
 ### example
 [click here](https://daxiazilong.github.io/image-preview/index.html) . 
 
diff --git a/REAEME-zh-CN.md b/REAEME-zh-CN.md
index 6e9cdc1..c03c4d3 100644
--- a/REAEME-zh-CN.md
+++ b/REAEME-zh-CN.md
@@ -32,6 +32,10 @@
     ```javascript
      import {ImagePreview} from 'js/image-preview-esm.js'
     ```
+    如果由npm安装:
+    ```javascript
+     import {ImagePreview} from '@daxiazilong/image-preview'
+    ```
 #### 用法:
 html:
 ```html
@@ -58,11 +62,109 @@ let imgObj =  new ImagePreview({
 imgObj.show(n);
 
 // Distroy image preview instance. Remove HTML generated by this ImagePreview instance and other resources. For better performance, then you can set imgObj = null;
-imgObj.distory();
+imgObj.destroy();
 
 ```
 上面的代码展示了生成image preview实例的两种方法, 第一种方法会在给定的HTML元素上自动绑定点击事件, 而第二种则需要自己手动绑定触发事件. 实际上, 这是很简单的, 你只需要在你代码需要打开image preview的地方调用 `imgObj.show(n)` 就好.
 
+#### 与vue一起使用:
+HTML:
+```HTML
+<div
+    v-for="(item, index) in imgs"
+    :key="index"
+    @click="showImg(index)"
+>
+    {{index}}
+</div>
+```
+JS:
+```javascript
+import {ImagePreview} from '@daxiazilong/image-preview'
+export default {
+    data () {
+        return {
+            imgs: [
+                'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201909%2F30%2F20190930192812_ZdJUw.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629013294&t=0fefdbd28f9926ff195325bd9d2bd4a9',
+                'https://iknow-pic.cdn.bcebos.com/9213b07eca806538184ec36695dda144ad34821a',
+                'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F1e93e74fb4b87734fb11bc487f9d7e2e9ce666f2.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629028767&t=83072eef6345c4169751cef753b79bd7',
+                'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp.ssl.qhimg.com%2Ft017bbc635928363c05.jpg&refer=http%3A%2F%2Fp.ssl.qhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629274751&t=89d2696d8027df24bb767e6acb5330ac',
+                'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ff.mgame.netease.com%2Fforum%2F201509%2F21%2F171337o26avxzpb6wpowza.gif&refer=http%3A%2F%2Ff.mgame.netease.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1628907951&t=85efd61fe8604d1fb018b1555e23d316',
+            ],
+        }
+    },
+    // for vue3,  vue2.x is [beforeDestroy](https://cn.vuejs.org/v2/api/#beforeDestroy)
+    beforeUnmount () {
+        if (this.imgPreview) {
+            this.imgPreview.destroy();
+        }
+    },
+    methods: {
+        showImg(index: any) {
+            if (!this.imgPreview) {
+                this.imgPreview = new ImagePreview({
+                    imgs: [
+                        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201909%2F30%2F20190930192812_ZdJUw.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629013294&t=0fefdbd28f9926ff195325bd9d2bd4a9',
+                        'https://iknow-pic.cdn.bcebos.com/9213b07eca806538184ec36695dda144ad34821a',
+                        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F1e93e74fb4b87734fb11bc487f9d7e2e9ce666f2.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629028767&t=83072eef6345c4169751cef753b79bd7',
+                        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp.ssl.qhimg.com%2Ft017bbc635928363c05.jpg&refer=http%3A%2F%2Fp.ssl.qhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629274751&t=89d2696d8027df24bb767e6acb5330ac',
+                        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ff.mgame.netease.com%2Fforum%2F201509%2F21%2F171337o26avxzpb6wpowza.gif&refer=http%3A%2F%2Ff.mgame.netease.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1628907951&t=85efd61fe8604d1fb018b1555e23d316',
+                    ]
+                });
+            }
+            this.imgPreview.show(index);
+        }
+    },
+}
+```
+
+#### 与React一起使用:
+```javascript
+
+export default() => {
+    // a ref 
+    const imgInstance = useRef(null as unknown as ImagePreview);
+    useEffect(()=> {
+        return () => {
+            if (imgInstance.current) {
+               // never forget to destroy
+                imgInstance.current.destroy();
+            }
+        }
+    }, [])
+
+    const imgs =  [
+        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201909%2F30%2F20190930192812_ZdJUw.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629013294&t=0fefdbd28f9926ff195325bd9d2bd4a9',
+        'https://iknow-pic.cdn.bcebos.com/9213b07eca806538184ec36695dda144ad34821a',
+        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F1e93e74fb4b87734fb11bc487f9d7e2e9ce666f2.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629028767&t=83072eef6345c4169751cef753b79bd7',
+        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp.ssl.qhimg.com%2Ft017bbc635928363c05.jpg&refer=http%3A%2F%2Fp.ssl.qhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629274751&t=89d2696d8027df24bb767e6acb5330ac',
+        'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ff.mgame.netease.com%2Fforum%2F201509%2F21%2F171337o26avxzpb6wpowza.gif&refer=http%3A%2F%2Ff.mgame.netease.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1628907951&t=85efd61fe8604d1fb018b1555e23d316',
+    ];
+    function handleClick (index: number) {
+        if (!imgInstance.current) {
+            imgInstance.current = new ImagePreview({
+                imgs,
+            })
+        }
+        imgInstance.current.show(index);
+    }
+
+    return (<div>
+        {
+            imgs.map((src, index) => {
+                return (
+                    <div key={index} onClick={() =>handleClick(index)}>
+                        {index}
+                    </div>
+                )
+            })
+        }
+    </div>)
+}
+
+```
+
+
 ### 例子
 [click here](https://daxiazilong.github.io/image-preview/index.html) . 
 
diff --git a/example/.DS_Store b/example/.DS_Store
new file mode 100644
index 0000000..4e4190e
Binary files /dev/null and b/example/.DS_Store differ
diff --git a/example/image-preview/index.html b/example/image-preview/index.html
index 5db4b11..3b91825 100644
--- a/example/image-preview/index.html
+++ b/example/image-preview/index.html
@@ -76,7 +76,7 @@
       hm.src = "https://hm.baidu.com/hm.js?e301069b9a5d63dcc7066a0a140f2195";
       var s = document.getElementsByTagName("script")[0]; 
       s.parentNode.insertBefore(hm, s);
-    })();</script><script defer="defer" src="test2.1.1.js"></script></head><h1>🌲image preview example</h1><h3>1.Generated by query selector</h3><h4>HTML:</h4><div class="code"><pre>
+    })();</script><script defer="defer" src="test2.2.0.js"></script></head><h1>🌲image preview example</h1><h3>1.Generated by query selector</h3><h4>HTML:</h4><div class="code"><pre>
         &lt;div class="imageWraper"&gt;
             &lt;img data-src="/testImage/main_body3.png" src="/testImage/main_body3.png"&gt;
             &lt;img data-src="/testImage/phone20190624.png" src="/testImage/phone20190624.png"&gt;
diff --git a/example/image-preview/test2.2.0.js b/example/image-preview/test2.2.0.js
new file mode 100644
index 0000000..579b177
--- /dev/null
+++ b/example/image-preview/test2.2.0.js
@@ -0,0 +1 @@
+(()=>{var t={572:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Rotate=e.Zoom=e.Move=void 0;var n=i(730);Object.defineProperty(e,"Move",{enumerable:!0,get:function(){return n.Move}});var r=i(704);Object.defineProperty(e,"Zoom",{enumerable:!0,get:function(){return r.Zoom}});var o=i(841);Object.defineProperty(e,"Rotate",{enumerable:!0,get:function(){return o.Rotate}})},730:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Move=void 0;var i=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,c=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=c)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var l="resetEnlargeMove";this.addTouchEndTask(l,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else i&&"right"==o||n&&"left"==o||this.isEnlargeMove?(this.isEnlargeMove=!0,this.handleMoveNormal(t),l="resetEnlargeMove",this.addTouchEndTask(l,{priority:1,callback:function(){return e.isEnlargeMove=!1}})):this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>c)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0,this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;this.imgContainerMoveX+=r,this.startX=n,0!==r&&(this.normalMoved=!0,this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})),i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i,n,r=this.imgContainer.getBoundingClientRect(),o=r.width,s=r.height,a=e.viewRect,h=(a.height,a.left),c=a.right,l=a.top,u=a.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;n=Math.round(h)<0||Math.round(c)>o?p:0,i=Math.round(l)<0||Math.round(u)>s?g:0,e.eventsHanlder.handleMoveEnlage(n,i,0),this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),c=h.width,l=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,m=p.bottom,v=p.left,x=p.right;t=t/180*Math.PI;var w=e+300*Math.cos(t),y=i+300*Math.sin(t);w>s?w=s:w<a&&(w=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return v>=0&&x<=c||(M=w-e),g>=0&&m<=l||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}();e.Move=i},841:function(t,e){"use strict";var i=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},n=this&&this.__generator||function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(e,"__esModule",{value:!0}),e.Rotate=void 0;var r=function(){function t(){}return t.prototype.rotateLeft=function(t){return i(this,void 0,void 0,(function(){var t;return n(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return i(this,void 0,void 0,(function(){var t;return n(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}();e.Rotate=r},704:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Zoom=void 0;var i=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,c=0,l=1,u=1;if(i>n)c=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,l=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);c=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,l=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(l,u,h,c),this.isZooming=!1,this.isAnimating=!1}},t}();e.Zoom=i},722:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.easeInOut=e.easeOut=e.easeIn=e.ease=e.linear=e.cubicBezier=void 0;var i=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){for(var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,c=3*o,l=0;l<8;l++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+c,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}();e.cubicBezier=i,e.linear=new i(0,0,1,1),e.ease=new i(.25,.1,.25,1),e.easeIn=new i(.42,0,1,1),e.easeOut=new i(0,0,.58,1),e.easeInOut=new i(.42,0,.58,1)},755:function(t,e,i){"use strict";var n=this&&this.__decorate||function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},r=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(e,"__esModule",{value:!0}),e.ImagePreview=void 0;var s,a=i(324),h=i(572),c=i(401),l=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new c.webGl({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return r(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return r(this,void 0,void 0,(function(){var e,i,n,r,s,a,h,c,l,u,d,f,p,g,m,v,x,w,y,M,b,E,T,P,I;return o(this,(function(o){switch(o.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,s=i.width,a=i.height,h=i.top,c=i.left,l=i.right,u=0,d=r-a,f=0,p=n-s,g=i.top,m=i.left,v=!1,x=!1,w=0,y=0,m>f?(w=f-m,x=!0):m<p&&(w=p-m,x=!0),g>u?(y=u-g,v=!0):g<d&&(y=d-g,v=!0),c>=0&&l<=n&&(x=!1,w=0),a<=r&&(v=!1,y=0),x||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,y,0)]):[3,2];case 1:return o.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),M={x:this.startX,y:this.startY},b={x:this.touchStartX,y:this.touchStartY},E=M.x-b.x,T=M.y-b.y,P=180*Math.atan2(T,E)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(E)+Math.abs(T)>5?(I={maxTop:u,minTop:d,maxLeft:f,minLeft:n-s},this.isAnimating=!0,[4,this.autoMove(P,c,h,I)]):[3,4];case 3:o.sent(),this.isAnimating=!1,o.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return r(this,void 0,void 0,(function(){var e,i,n;return o(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0==(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+("pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){"number"!=typeof t&&(console.error("index is not a number, will use zero as parameter"),t=0),this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;this.movePoints.length>this.maxMovePointCounts||(this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY}),this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}}))},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal",this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},n([a.default],t)}();e.ImagePreview=l,s=l,[h.Move,h.Zoom,h.Rotate].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){s.prototype[e]=t.prototype[e]}))}))},324:function(t,e){"use strict";var i,n=this&&this.__extends||(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),r=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return n(e,t),e.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},e.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},e.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},e.prototype.handleWheel=function(t){return r(this,void 0,void 0,(function(){var e,i,n,r,s,a,h,c,l,u;return o(this,(function(o){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,n=this.actionExecutor,r=n.viewWidth/(2*n.dpr),s=n.viewHeight/(2*n.dpr),a=0,h=0,c=1,l=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-r)*u,c=1+u,l=1+u):(h=(i-s)*u,a=(e-r)*u,c=1-u,l=1-u),n.eventsHanlder.handleZoom(c,l,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},e.prototype.handlePCDoubleClick=function(t){return r(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},e.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},e.prototype.slideBefore=function(){return r(this,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e.prototype.slideNext=function(){return r(this,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e}(t)}},640:function(t,e,i){"use strict";var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},r=this&&this.__generator||function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(e,"__esModule",{value:!0}),e.events=void 0;var o=i(110),s=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e),this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(o.matrix.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0],a=o[1],h=r.imgShapeInitinal,c=h[0],l=h[1];s=Math.abs(s),a=Math.abs(a),c=Math.abs(c),l=Math.abs(l);var u=r.viewRect.width*r.dpr;u*t>4*s||u*t<c||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n))},t.prototype.handleTEndEnNormal=function(t,e){return n(this,void 0,void 0,(function(){var t,i,n,o,s,a;return r(this,(function(r){switch(r.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,o=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(s=t.curIndex,-1!=(a=t.curIndex+1*o)&&a!=t.imgUrls.length?[3,2]:(t.curIndex=s,[4,t.rotate(-n)])):[3,6];case 1:return r.sent(),[3,5];case 2:return[4,t.rotate(o*Math.PI/2-n)];case 3:return r.sent(),t.curIndex=a,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(a)];case 4:r.sent(),r.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:r.sent(),r.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,o){return n(this,void 0,void 0,(function(){var t;return r(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return n(this,void 0,void 0,(function(){var i;return r(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();e.events=s},401:function(t,e,i){"use strict";var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},r=this&&this.__generator||function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=this&&this.__spreadArray||function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t};Object.defineProperty(e,"__esModule",{value:!0}),e.webGl=void 0;var s=i(266),a=i(233),h=i(110),c=i(722),l=i(640),u=i(328),d=i(868),f=new c.cubicBezier(.18,.96,.18,.96);function p(t){return 0==(t&t-1)}var g=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new l.events(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,a.sourceFrag,s.sourceVer);var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0,e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src=u.errImgBase64},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return n(this,void 0,void 0,(function(){var t=this;return r(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return n(this,void 0,void 0,(function(){var t=this;return r(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return n(this,void 0,void 0,(function(){return r(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:c.linear,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=h.matrix.multiplyPoint(i,h.matrix.rotateZMatrix(t)),this.imgShapeInitinal=h.matrix.multiplyPoint(n,h.matrix.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:c.linear,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(h.matrix.translateMatrix(t[1],t[2],0),h.matrix.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],c=i-this.curIndex;c+=1,(n=this.positions).push.apply(n,h[c])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var c=i-(n-a)/2,l=[[-n/2,-h/2,c-a,1,-n/2,-h/2,c,1,-n/2,h/2,c,1,-n/2,h/2,c-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,c,1,n/2,-h/2,c-a,1,n/2,h/2,c-a,1,n/2,h/2,c,1]],u=e,d=this.curPointAt+16*u,f=l[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;for(n<0&&(n=0),e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=h.matrix.multiplyMatrices(this.baseModel,h.matrix.translateMatrix(0,0,i-e),h.matrix.rotateYMatrix(t),h.matrix.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;return this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.animate({allTime:this.defaultAnimateTime,timingFun:c.linear,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(h.matrix.scaleMatrix(t[0],t[1],1),h.matrix.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;return this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.animate({allTime:800,timingFun:f,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(h.matrix.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,s=this.curPointAt;s<this.curPointAt+16;s+=4)for(var a=s-this.curPointAt,c=r[a],l=r[a+1],u=r[a+2],d=r[a+3],f=h.matrix.multiplyPoint.apply(h.matrix,o([[c,l,u,d],t],e)),p=s;p<4+s;p++)n[p]=f[p-s]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(h.matrix.scaleMatrix(t,e,1),h.matrix.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e),t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;p(t)&&p(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h),o=i.length,s=e.UNSIGNED_SHORT,a=0,e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,o([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,c=this.imgShape,l=c[0],u=c[1];l=Math.abs(l),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var m=this.imgShapeInitinal,v=m[0],x=m[1];d=(i=Math.abs(v))/a-1,f=(n=Math.abs(x))/h-1;var w=this.curCenterCoordinate;p=-w[0]*(1+d),g=-w[1]*(1+f)}else this.curIsLongImg()?n=u/l*(i=this.viewWidth>l?l:this.viewWidth):(i=l,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),c=h[0],l=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[c,l,0,1]),this.genPostion(c,l,r),i=Math.max(c,i),n=Math.max(l,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],c=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(c,o),s=Math.max(c,s)}var l=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:l/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal,e=(t[0],t[1],this.viewRect);return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=d.tailor(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),c=h,l=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=c-h;t>n&&(t=n);var l=t/n;l>1&&(l=1);var f=r.solve(l);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),l<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),c=Date.now()};return d(),l},t}();e.webGl=g},110:function(t,e){"use strict";var i=this&&this.__spreadArray||function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t};Object.defineProperty(e,"__esModule",{value:!0}),e.matrix=void 0,e.matrix={multiplyPoint:function(t,n){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];for(var s=[],a=0;a<4;a++)s[a]=n[a]*t[0]+n[a+4]*t[1]+n[a+8]*t[2]+n[a+12]*t[3];return r.length?e.matrix.multiplyPoint.apply(e.matrix,i([s,r.splice(0,1)[0]],r)):s},multiplyMatrices:function(t,n){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];for(var s=[],a=0;a<4;a++)for(var h=0;h<4;h++)s[4*a+h]=t[4*a]*n[h]+t[4*a+1]*n[h+4]+t[4*a+2]*n[h+8]+t[4*a+3]*n[h+12];return r.length?e.matrix.multiplyMatrices.apply(e.matrix,i([s,r.splice(0,1)[0]],r)):s},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),c=o(n);return[a*s(t,2)+h,a*t*e-c*i,a*t*i+c*e,0,a*t*e+c*i,a*s(e,2)+h,a*e*i-c*t,0,a*t*i-c*e,a*e*i+c*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var i=t[0],n=1;n<t.length;n++)i=e.matrix.multiplyMatrices(i,t[n]);return i},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}}},328:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.errImgBase64=void 0,e.errImgBase64="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},868:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tailor=void 0,e.tailor=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,Date.now(),s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o}},711:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fps=e.canvasForTextures=void 0,e.canvasForTextures=function(t){var e=document.createElement("canvas");e.width=128,e.height=128,e.style.cssText="\n            position: fixed;\n            top: 0;\n            left:0;\n            z-index:100;\n            width:128px;\n            height:128px;\n            user-select:none;\n            font-size:0;\n        ",document.body.append(e);var i=e.getContext("2d"),n=0;t.forEach((function(t){})),t.forEach((function(t){n+=t.naturalWidth}));var r=0,o=0,s=0;i.rect(0,0,e.width,e.height),i.fill(),t.forEach((function(t){r=t.naturalWidth/n,(o=t.naturalHeight/t.naturalWidth*r)>128?(function(t){o=1;var e=t.naturalWidth/t.naturalHeight*o;n-=t.naturalWidth,n+=e/r*t.naturalWidth}(t),o*=128,r=t.naturalHeight/t.naturalWidth*o):(r*=128,o=t.naturalHeight/t.naturalWidth*r),console.log(r,o),i.drawImage(t,0,0,t.naturalWidth,t.naturalHeight,s,0,r,o),s+=r}))},e.fps=function(){var t,e=0,i=document.createElement("pre");return i.style.cssText="\n            position: fixed;\n            top: 0;\n            right: 50%;\n            transform: translateX(50%);\n            z-index:100;\n            padding: 10px;\n            font-size:12px;\n            background: rgba(255,255,255,0.5);\n            color:#000;\n        ",document.body.append(i),function n(){t||(t=Date.now()),e++,Date.now()-t>=1e3&&(i.innerHTML=e.toString(),e=0,t=Date.now()),requestAnimationFrame(n)}}},233:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.sourceFrag=void 0,e.sourceFrag="precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}"},266:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.sourceVer=void 0,e.sourceVer="attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}"}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,i),o.exports}(()=>{"use strict";var t=i(755);i(711).fps()(),/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent);var e=new t.ImagePreview({imgs:["/testImage/BBC82C020430AED149F8D18A0849D241.png","https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201909%2F30%2F20190930192812_ZdJUw.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629013294&t=0fefdbd28f9926ff195325bd9d2bd4a9","https://iknow-pic.cdn.bcebos.com/9213b07eca806538184ec36695dda144ad34821a","https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F1e93e74fb4b87734fb11bc487f9d7e2e9ce666f2.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629028767&t=83072eef6345c4169751cef753b79bd7","/testImage/main_body3.png","https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp.ssl.qhimg.com%2Ft017bbc635928363c05.jpg&refer=http%3A%2F%2Fp.ssl.qhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1629274751&t=89d2696d8027df24bb767e6acb5330ac","/testImage/errorload.jpg","/testImage/BBC82C020430AED149F8D18A0849D241.png","/testImage/more20190627.png","/testImage/cubetexture.png","/testImage/IMG_0512.JPG","/testImage/main_body3.png","/testImage/main_body3.png","/testImage/main_body3.png","https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ff.mgame.netease.com%2Fforum%2F201509%2F21%2F171337o26avxzpb6wpowza.gif&refer=http%3A%2F%2Ff.mgame.netease.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1628907951&t=85efd61fe8604d1fb018b1555e23d316"]});new t.ImagePreview({selector:".imageWraper img"}),e.show(0),setTimeout((function(){var t=new Image;t.crossOrigin="anonymous",t.src="/testImage/BBC82C020430AED149F8D18A0849D241.png"}),500);var n=document.querySelector("#stat");window.onerror=function(t,e,i,r,o){n.innerHTML="\n        "+t+"\n        "+e+"\n        "+i+"\n        "+r+"\n        "+o+"\n    "}})()})();
\ No newline at end of file
diff --git a/example/js/image-preview-iife.js b/example/js/image-preview-iife.js
index 4b3cf6d..7d466f9 100644
--- a/example/js/image-preview-iife.js
+++ b/example/js/image-preview-iife.js
@@ -2469,6 +2469,10 @@ var imagePreviewModule = (function (exports) {
         };
         ImagePreview.prototype.mobileBeforeClose = function () { };
         ImagePreview.prototype.show = function (index) {
+            if (typeof index !== 'number') {
+                console.error('index is not a number, will use zero as parameter');
+                index = 0;
+            }
             this.actionExecutor.curIndex = index;
             this.actionExecutor.draw(index);
             this.toggleClass(this.ref, this.defToggleClass);
diff --git a/package-lock.json b/package-lock.json
index 20abbe2..cbe22e3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,8 +1,9622 @@
 {
-  "name": "image-preview",
-  "version": "2.2.0",
-  "lockfileVersion": 1,
+  "name": "@daxiazilong/image-preview",
+  "version": "2.1.3",
+  "lockfileVersion": 2,
   "requires": true,
+  "packages": {
+    "": {
+      "name": "@daxiazilong/image-preview",
+      "version": "2.1.3",
+      "license": "MIT",
+      "devDependencies": {
+        "@commitlint/cli": "^12.1.4",
+        "@commitlint/config-conventional": "^12.1.4",
+        "@types/node": "^15.12.1",
+        "html-webpack-plugin": "^5.3.1",
+        "husky": "^7.0.1",
+        "rollup": "^2.32.0",
+        "rollup-plugin-terser": "^7.0.2",
+        "shelljs": "^0.8.5",
+        "standard-version": "^7.0.1",
+        "ts-loader": "^9.2.3",
+        "typescript": "^4.3.4",
+        "vue": "^2.6.10",
+        "webpack": "^5.38.1",
+        "webpack-cli": "^4.7.0",
+        "webpack-dev-server": "^3.11.2"
+      }
+    },
+    "node_modules/@babel/code-frame": {
+      "version": "7.14.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@babel/code-frame/-/code-frame-7.14.5.tgz",
+      "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.14.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-identifier": {
+      "version": "7.14.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
+      "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/highlight": {
+      "version": "7.14.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@babel/highlight/-/highlight-7.14.5.tgz",
+      "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-validator-identifier": "^7.14.5",
+        "chalk": "^2.0.0",
+        "js-tokens": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@commitlint/cli": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-12.1.4.tgz",
+      "integrity": "sha512-ZR1WjXLvqEffYyBPT0XdnSxtt3Ty1TMoujEtseW5o3vPnkA1UNashAMjQVg/oELqfaiAMnDw8SERPMN0e/0kLg==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/format": "^12.1.4",
+        "@commitlint/lint": "^12.1.4",
+        "@commitlint/load": "^12.1.4",
+        "@commitlint/read": "^12.1.4",
+        "@commitlint/types": "^12.1.4",
+        "lodash": "^4.17.19",
+        "resolve-from": "5.0.0",
+        "resolve-global": "1.0.0",
+        "yargs": "^16.2.0"
+      },
+      "bin": {
+        "commitlint": "cli.js"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/cli/node_modules/ansi-regex": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@commitlint/cli/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@commitlint/cli/node_modules/cliui": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^7.0.0"
+      }
+    },
+    "node_modules/@commitlint/cli/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/@commitlint/cli/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/@commitlint/cli/node_modules/strip-ansi": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@commitlint/cli/node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/@commitlint/cli/node_modules/y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@commitlint/cli/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@commitlint/config-conventional": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-12.1.4.tgz",
+      "integrity": "sha512-ZIdzmdy4o4WyqywMEpprRCrehjCSQrHkaRTVZV411GyLigFQHlEBSJITAihLAWe88Qy/8SyoIe5uKvAsV5vRqQ==",
+      "dev": true,
+      "dependencies": {
+        "conventional-changelog-conventionalcommits": "^4.3.1"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/config-conventional/node_modules/conventional-changelog-conventionalcommits": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.0.tgz",
+      "integrity": "sha512-sj9tj3z5cnHaSJCYObA9nISf7eq/YjscLPoq6nmew4SiOjxqL2KRpK20fjnjVbpNDjJ2HR3MoVcWKXwbVvzS0A==",
+      "dev": true,
+      "dependencies": {
+        "compare-func": "^2.0.0",
+        "lodash": "^4.17.15",
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@commitlint/ensure": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-12.1.4.tgz",
+      "integrity": "sha512-MxHIBuAG9M4xl33qUfIeMSasbv3ktK0W+iygldBxZOL4QSYC2Gn66pZAQMnV9o3V+sVFHoAK2XUKqBAYrgbEqw==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/types": "^12.1.4",
+        "lodash": "^4.17.19"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/execute-rule": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-12.1.4.tgz",
+      "integrity": "sha512-h2S1j8SXyNeABb27q2Ok2vD1WfxJiXvOttKuRA9Or7LN6OQoC/KtT3844CIhhWNteNMu/wE0gkTqGxDVAnJiHg==",
+      "dev": true,
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/format": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-12.1.4.tgz",
+      "integrity": "sha512-h28ucMaoRjVvvgS6Bdf85fa/+ZZ/iu1aeWGCpURnQV7/rrVjkhNSjZwGlCOUd5kDV1EnZ5XdI7L18SUpRjs26g==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/types": "^12.1.4",
+        "chalk": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/format/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@commitlint/format/node_modules/chalk": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+      "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/@commitlint/format/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/@commitlint/format/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/@commitlint/format/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@commitlint/format/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@commitlint/is-ignored": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-12.1.4.tgz",
+      "integrity": "sha512-uTu2jQU2SKvtIRVLOzMQo3KxDtO+iJ1p0olmncwrqy4AfPLgwoyCP2CiULq5M7xpR3+dE3hBlZXbZTQbD7ycIw==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/types": "^12.1.4",
+        "semver": "7.3.5"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/is-ignored/node_modules/semver": {
+      "version": "7.3.5",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+      "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@commitlint/lint": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-12.1.4.tgz",
+      "integrity": "sha512-1kZ8YDp4to47oIPFELUFGLiLumtPNKJigPFDuHt2+f3Q3IKdQ0uk53n3CPl4uoyso/Og/EZvb1mXjFR/Yce4cA==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/is-ignored": "^12.1.4",
+        "@commitlint/parse": "^12.1.4",
+        "@commitlint/rules": "^12.1.4",
+        "@commitlint/types": "^12.1.4"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/load": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-12.1.4.tgz",
+      "integrity": "sha512-Keszi0IOjRzKfxT+qES/n+KZyLrxy79RQz8wWgssCboYjKEp+wC+fLCgbiMCYjI5k31CIzIOq/16J7Ycr0C0EA==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/execute-rule": "^12.1.4",
+        "@commitlint/resolve-extends": "^12.1.4",
+        "@commitlint/types": "^12.1.4",
+        "chalk": "^4.0.0",
+        "cosmiconfig": "^7.0.0",
+        "lodash": "^4.17.19",
+        "resolve-from": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/load/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@commitlint/load/node_modules/chalk": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+      "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/@commitlint/load/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/@commitlint/load/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/@commitlint/load/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@commitlint/load/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@commitlint/message": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-12.1.4.tgz",
+      "integrity": "sha512-6QhalEKsKQ/Y16/cTk5NH4iByz26fqws2ub+AinHPtM7Io0jy4e3rym9iE+TkEqiqWZlUigZnTwbPvRJeSUBaA==",
+      "dev": true,
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/parse": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-12.1.4.tgz",
+      "integrity": "sha512-yqKSAsK2V4X/HaLb/yYdrzs6oD/G48Ilt0EJ2Mp6RJeWYxG14w/Out6JrneWnr/cpzemyN5hExOg6+TB19H/Lw==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/types": "^12.1.4",
+        "conventional-changelog-angular": "^5.0.11",
+        "conventional-commits-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/read": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-12.1.4.tgz",
+      "integrity": "sha512-TnPQSJgD8Aod5Xeo9W4SaYKRZmIahukjcCWJ2s5zb3ZYSmj6C85YD9cR5vlRyrZjj78ItLUV/X4FMWWVIS38Jg==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/top-level": "^12.1.4",
+        "@commitlint/types": "^12.1.4",
+        "fs-extra": "^9.0.0",
+        "git-raw-commits": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/resolve-extends": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-12.1.4.tgz",
+      "integrity": "sha512-R9CoUtsXLd6KSCfsZly04grsH6JVnWFmVtWgWs1KdDpdV+G3TSs37tColMFqglpkx3dsWu8dsPD56+D9YnJfqg==",
+      "dev": true,
+      "dependencies": {
+        "import-fresh": "^3.0.0",
+        "lodash": "^4.17.19",
+        "resolve-from": "^5.0.0",
+        "resolve-global": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/rules": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-12.1.4.tgz",
+      "integrity": "sha512-W8m6ZSjg7RuIsIfzQiFHa48X5mcPXeKT9yjBxVmjHvYfS2FDBf1VxCQ7vO0JTVIdV4ohjZ0eKg/wxxUuZHJAZg==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/ensure": "^12.1.4",
+        "@commitlint/message": "^12.1.4",
+        "@commitlint/to-lines": "^12.1.4",
+        "@commitlint/types": "^12.1.4"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/to-lines": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-12.1.4.tgz",
+      "integrity": "sha512-TParumvbi8bdx3EdLXz2MaX+e15ZgoCqNUgqHsRLwyqLUTRbqCVkzrfadG1UcMQk8/d5aMbb327ZKG3Q4BRorw==",
+      "dev": true,
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/top-level": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-12.1.4.tgz",
+      "integrity": "sha512-d4lTJrOT/dXlpY+NIt4CUl77ciEzYeNVc0VFgUQ6VA+b1rqYD2/VWFjBlWVOrklxtSDeKyuEhs36RGrppEFAvg==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/top-level/node_modules/find-up": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^6.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@commitlint/top-level/node_modules/locate-path": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@commitlint/top-level/node_modules/p-limit": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+      "dev": true,
+      "dependencies": {
+        "yocto-queue": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@commitlint/top-level/node_modules/p-locate": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@commitlint/types": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-12.1.4.tgz",
+      "integrity": "sha512-KRIjdnWNUx6ywz+SJvjmNCbQKcKP6KArhjZhY2l+CWKxak0d77SOjggkMwFTiSgLODOwmuLTbarR2ZfWPiPMlw==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/types/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@commitlint/types/node_modules/chalk": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+      "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/@commitlint/types/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/@commitlint/types/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/@commitlint/types/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@commitlint/types/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@discoveryjs/json-ext": {
+      "version": "0.5.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz",
+      "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/@types/eslint": {
+      "version": "7.2.13",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/eslint/-/eslint-7.2.13.tgz",
+      "integrity": "sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg==",
+      "dev": true,
+      "dependencies": {
+        "@types/estree": "*",
+        "@types/json-schema": "*"
+      }
+    },
+    "node_modules/@types/eslint-scope": {
+      "version": "3.7.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/eslint-scope/-/eslint-scope-3.7.0.tgz",
+      "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==",
+      "dev": true,
+      "dependencies": {
+        "@types/eslint": "*",
+        "@types/estree": "*"
+      }
+    },
+    "node_modules/@types/estree": {
+      "version": "0.0.47",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/estree/-/estree-0.0.47.tgz",
+      "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==",
+      "dev": true
+    },
+    "node_modules/@types/glob": {
+      "version": "7.1.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/glob/-/glob-7.1.3.tgz",
+      "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
+      "dev": true,
+      "dependencies": {
+        "@types/minimatch": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/html-minifier-terser": {
+      "version": "5.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
+      "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==",
+      "dev": true
+    },
+    "node_modules/@types/json-schema": {
+      "version": "7.0.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/json-schema/-/json-schema-7.0.7.tgz",
+      "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
+      "dev": true
+    },
+    "node_modules/@types/minimatch": {
+      "version": "3.0.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/minimatch/-/minimatch-3.0.4.tgz",
+      "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==",
+      "dev": true
+    },
+    "node_modules/@types/minimist": {
+      "version": "1.2.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/minimist/-/minimist-1.2.1.tgz",
+      "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==",
+      "dev": true
+    },
+    "node_modules/@types/node": {
+      "version": "15.12.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@types/node/-/node-15.12.2.tgz",
+      "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==",
+      "dev": true
+    },
+    "node_modules/@types/normalize-package-data": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+      "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+      "dev": true
+    },
+    "node_modules/@types/parse-json": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+      "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/ast": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/ast/-/ast-1.11.0.tgz",
+      "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/helper-numbers": "1.11.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.0"
+      }
+    },
+    "node_modules/@webassemblyjs/floating-point-hex-parser": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz",
+      "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-api-error": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz",
+      "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-buffer": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz",
+      "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-numbers": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz",
+      "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/floating-point-hex-parser": "1.11.0",
+        "@webassemblyjs/helper-api-error": "1.11.0",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz",
+      "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-wasm-section": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz",
+      "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.0",
+        "@webassemblyjs/helper-buffer": "1.11.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.0",
+        "@webassemblyjs/wasm-gen": "1.11.0"
+      }
+    },
+    "node_modules/@webassemblyjs/ieee754": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz",
+      "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==",
+      "dev": true,
+      "dependencies": {
+        "@xtuc/ieee754": "^1.2.0"
+      }
+    },
+    "node_modules/@webassemblyjs/leb128": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/leb128/-/leb128-1.11.0.tgz",
+      "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==",
+      "dev": true,
+      "dependencies": {
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@webassemblyjs/utf8": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/utf8/-/utf8-1.11.0.tgz",
+      "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/wasm-edit": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz",
+      "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.0",
+        "@webassemblyjs/helper-buffer": "1.11.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.0",
+        "@webassemblyjs/helper-wasm-section": "1.11.0",
+        "@webassemblyjs/wasm-gen": "1.11.0",
+        "@webassemblyjs/wasm-opt": "1.11.0",
+        "@webassemblyjs/wasm-parser": "1.11.0",
+        "@webassemblyjs/wast-printer": "1.11.0"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-gen": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz",
+      "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.0",
+        "@webassemblyjs/ieee754": "1.11.0",
+        "@webassemblyjs/leb128": "1.11.0",
+        "@webassemblyjs/utf8": "1.11.0"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-opt": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz",
+      "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.0",
+        "@webassemblyjs/helper-buffer": "1.11.0",
+        "@webassemblyjs/wasm-gen": "1.11.0",
+        "@webassemblyjs/wasm-parser": "1.11.0"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-parser": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz",
+      "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.0",
+        "@webassemblyjs/helper-api-error": "1.11.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.0",
+        "@webassemblyjs/ieee754": "1.11.0",
+        "@webassemblyjs/leb128": "1.11.0",
+        "@webassemblyjs/utf8": "1.11.0"
+      }
+    },
+    "node_modules/@webassemblyjs/wast-printer": {
+      "version": "1.11.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz",
+      "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.11.0",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@webpack-cli/configtest": {
+      "version": "1.0.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webpack-cli/configtest/-/configtest-1.0.4.tgz",
+      "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==",
+      "dev": true,
+      "peerDependencies": {
+        "webpack": "4.x.x || 5.x.x",
+        "webpack-cli": "4.x.x"
+      }
+    },
+    "node_modules/@webpack-cli/info": {
+      "version": "1.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webpack-cli/info/-/info-1.3.0.tgz",
+      "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==",
+      "dev": true,
+      "dependencies": {
+        "envinfo": "^7.7.3"
+      },
+      "peerDependencies": {
+        "webpack-cli": "4.x.x"
+      }
+    },
+    "node_modules/@webpack-cli/serve": {
+      "version": "1.5.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/@webpack-cli/serve/-/serve-1.5.1.tgz",
+      "integrity": "sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw==",
+      "dev": true,
+      "peerDependencies": {
+        "webpack-cli": "4.x.x"
+      },
+      "peerDependenciesMeta": {
+        "webpack-dev-server": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@xtuc/ieee754": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+      "dev": true
+    },
+    "node_modules/@xtuc/long": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+      "dev": true
+    },
+    "node_modules/accepts": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+      "dev": true,
+      "dependencies": {
+        "mime-types": "~2.1.24",
+        "negotiator": "0.6.2"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/acorn": {
+      "version": "8.4.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/acorn/-/acorn-8.4.0.tgz",
+      "integrity": "sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/add-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
+      "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=",
+      "dev": true
+    },
+    "node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/ajv-errors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+      "dev": true,
+      "peerDependencies": {
+        "ajv": ">=5.0.0"
+      }
+    },
+    "node_modules/ajv-keywords": {
+      "version": "3.5.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+      "dev": true,
+      "peerDependencies": {
+        "ajv": "^6.9.1"
+      }
+    },
+    "node_modules/ansi-colors": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
+      "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/ansi-html": {
+      "version": "0.0.7",
+      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+      "dev": true,
+      "engines": [
+        "node >= 0.8.0"
+      ],
+      "bin": {
+        "ansi-html": "bin/ansi-html"
+      }
+    },
+    "node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/anymatch": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+      "dev": true,
+      "dependencies": {
+        "micromatch": "^3.1.4",
+        "normalize-path": "^2.1.1"
+      }
+    },
+    "node_modules/anymatch/node_modules/braces": {
+      "version": "2.3.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/braces/-/braces-2.3.2.tgz",
+      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
+      "dependencies": {
+        "arr-flatten": "^1.1.0",
+        "array-unique": "^0.3.2",
+        "extend-shallow": "^2.0.1",
+        "fill-range": "^4.0.0",
+        "isobject": "^3.0.1",
+        "repeat-element": "^1.1.2",
+        "snapdragon": "^0.8.1",
+        "snapdragon-node": "^2.0.1",
+        "split-string": "^3.0.2",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/anymatch/node_modules/braces/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/anymatch/node_modules/fill-range": {
+      "version": "4.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fill-range/-/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^2.0.1",
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1",
+        "to-regex-range": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/anymatch/node_modules/fill-range/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/anymatch/node_modules/is-number": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/anymatch/node_modules/is-number/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/anymatch/node_modules/micromatch": {
+      "version": "3.1.10",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/micromatch/-/micromatch-3.1.10.tgz",
+      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
+      "dependencies": {
+        "arr-diff": "^4.0.0",
+        "array-unique": "^0.3.2",
+        "braces": "^2.3.1",
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "extglob": "^2.0.4",
+        "fragment-cache": "^0.2.1",
+        "kind-of": "^6.0.2",
+        "nanomatch": "^1.2.9",
+        "object.pick": "^1.3.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/anymatch/node_modules/normalize-path": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "dev": true,
+      "dependencies": {
+        "remove-trailing-separator": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/anymatch/node_modules/to-regex-range": {
+      "version": "2.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/to-regex-range/-/to-regex-range-2.1.1.tgz",
+      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/arr-diff": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/arr-flatten": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/arr-union": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/array-find-index": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/array-flatten": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
+      "dev": true
+    },
+    "node_modules/array-ify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+      "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=",
+      "dev": true
+    },
+    "node_modules/array-union": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+      "dev": true,
+      "dependencies": {
+        "array-uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/array-uniq": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/array-unique": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/arrify": {
+      "version": "1.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/assign-symbols": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/async": {
+      "version": "2.6.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/async/-/async-2.6.3.tgz",
+      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.14"
+      }
+    },
+    "node_modules/async-each": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
+      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
+      "dev": true
+    },
+    "node_modules/async-limiter": {
+      "version": "1.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/async-limiter/-/async-limiter-1.0.1.tgz",
+      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
+      "dev": true
+    },
+    "node_modules/at-least-node": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
+    "node_modules/atob": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+      "dev": true,
+      "bin": {
+        "atob": "bin/atob.js"
+      },
+      "engines": {
+        "node": ">= 4.5.0"
+      }
+    },
+    "node_modules/balanced-match": {
+      "version": "1.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+      "dev": true
+    },
+    "node_modules/base": {
+      "version": "0.11.2",
+      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+      "dev": true,
+      "dependencies": {
+        "cache-base": "^1.0.1",
+        "class-utils": "^0.3.5",
+        "component-emitter": "^1.2.1",
+        "define-property": "^1.0.0",
+        "isobject": "^3.0.1",
+        "mixin-deep": "^1.2.0",
+        "pascalcase": "^0.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/is-accessor-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/is-data-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/is-descriptor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^1.0.0",
+        "is-data-descriptor": "^1.0.0",
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/batch": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+      "dev": true
+    },
+    "node_modules/binary-extensions": {
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/body-parser": {
+      "version": "1.19.0",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
+      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+      "dev": true,
+      "dependencies": {
+        "bytes": "3.1.0",
+        "content-type": "~1.0.4",
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "http-errors": "1.7.2",
+        "iconv-lite": "0.4.24",
+        "on-finished": "~2.3.0",
+        "qs": "6.7.0",
+        "raw-body": "2.4.0",
+        "type-is": "~1.6.17"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/body-parser/node_modules/bytes": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/body-parser/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/bonjour": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
+      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+      "dev": true,
+      "dependencies": {
+        "array-flatten": "^2.1.0",
+        "deep-equal": "^1.0.1",
+        "dns-equal": "^1.0.0",
+        "dns-txt": "^2.0.2",
+        "multicast-dns": "^6.0.1",
+        "multicast-dns-service-types": "^1.1.0"
+      }
+    },
+    "node_modules/boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+      "dev": true
+    },
+    "node_modules/brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "node_modules/braces": {
+      "version": "3.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/braces/-/braces-3.0.2.tgz",
+      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+      "dev": true,
+      "dependencies": {
+        "fill-range": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/browserslist": {
+      "version": "4.16.6",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/browserslist/-/browserslist-4.16.6.tgz",
+      "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
+      "dev": true,
+      "dependencies": {
+        "caniuse-lite": "^1.0.30001219",
+        "colorette": "^1.2.2",
+        "electron-to-chromium": "^1.3.723",
+        "escalade": "^3.1.1",
+        "node-releases": "^1.1.71"
+      },
+      "bin": {
+        "browserslist": "cli.js"
+      },
+      "engines": {
+        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/browserslist"
+      }
+    },
+    "node_modules/buffer-from": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+      "dev": true
+    },
+    "node_modules/buffer-indexof": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
+      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
+      "dev": true
+    },
+    "node_modules/bytes": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/cache-base": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+      "dev": true,
+      "dependencies": {
+        "collection-visit": "^1.0.0",
+        "component-emitter": "^1.2.1",
+        "get-value": "^2.0.6",
+        "has-value": "^1.0.0",
+        "isobject": "^3.0.1",
+        "set-value": "^2.0.0",
+        "to-object-path": "^0.3.0",
+        "union-value": "^1.0.0",
+        "unset-value": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/call-bind": {
+      "version": "1.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/call-bind/-/call-bind-1.0.2.tgz",
+      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+      "dev": true,
+      "dependencies": {
+        "function-bind": "^1.1.1",
+        "get-intrinsic": "^1.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/camel-case": {
+      "version": "4.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/camel-case/-/camel-case-4.1.2.tgz",
+      "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
+      "dev": true,
+      "dependencies": {
+        "pascal-case": "^3.1.2",
+        "tslib": "^2.0.3"
+      }
+    },
+    "node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/camelcase-keys": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+      "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.3.1",
+        "map-obj": "^4.0.0",
+        "quick-lru": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/caniuse-lite": {
+      "version": "1.0.30001237",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz",
+      "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==",
+      "dev": true,
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/browserslist"
+      }
+    },
+    "node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/chokidar": {
+      "version": "2.1.8",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/chokidar/-/chokidar-2.1.8.tgz",
+      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+      "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
+      "dev": true,
+      "dependencies": {
+        "anymatch": "^2.0.0",
+        "async-each": "^1.0.1",
+        "braces": "^2.3.2",
+        "glob-parent": "^3.1.0",
+        "inherits": "^2.0.3",
+        "is-binary-path": "^1.0.0",
+        "is-glob": "^4.0.0",
+        "normalize-path": "^3.0.0",
+        "path-is-absolute": "^1.0.0",
+        "readdirp": "^2.2.1",
+        "upath": "^1.1.1"
+      },
+      "optionalDependencies": {
+        "fsevents": "^1.2.7"
+      }
+    },
+    "node_modules/chokidar/node_modules/braces": {
+      "version": "2.3.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/braces/-/braces-2.3.2.tgz",
+      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
+      "dependencies": {
+        "arr-flatten": "^1.1.0",
+        "array-unique": "^0.3.2",
+        "extend-shallow": "^2.0.1",
+        "fill-range": "^4.0.0",
+        "isobject": "^3.0.1",
+        "repeat-element": "^1.1.2",
+        "snapdragon": "^0.8.1",
+        "snapdragon-node": "^2.0.1",
+        "split-string": "^3.0.2",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/chokidar/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/chokidar/node_modules/fill-range": {
+      "version": "4.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fill-range/-/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^2.0.1",
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1",
+        "to-regex-range": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/chokidar/node_modules/fsevents": {
+      "version": "1.2.13",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fsevents/-/fsevents-1.2.13.tgz",
+      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "dependencies": {
+        "bindings": "^1.5.0",
+        "nan": "^2.12.1"
+      },
+      "engines": {
+        "node": ">= 4.0"
+      }
+    },
+    "node_modules/chokidar/node_modules/is-number": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/chokidar/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/chokidar/node_modules/to-regex-range": {
+      "version": "2.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/to-regex-range/-/to-regex-range-2.1.1.tgz",
+      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/chrome-trace-event": {
+      "version": "1.0.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
+    "node_modules/class-utils": {
+      "version": "0.3.6",
+      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+      "dev": true,
+      "dependencies": {
+        "arr-union": "^3.1.0",
+        "define-property": "^0.2.5",
+        "isobject": "^3.0.0",
+        "static-extend": "^0.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/class-utils/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/clean-css": {
+      "version": "4.2.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/clean-css/-/clean-css-4.2.3.tgz",
+      "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
+      "dev": true,
+      "dependencies": {
+        "source-map": "~0.6.0"
+      },
+      "engines": {
+        "node": ">= 4.0"
+      }
+    },
+    "node_modules/cliui": {
+      "version": "6.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
+      }
+    },
+    "node_modules/cliui/node_modules/ansi-regex": {
+      "version": "5.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ansi-regex/-/ansi-regex-5.0.0.tgz",
+      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cliui/node_modules/strip-ansi": {
+      "version": "6.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-ansi/-/strip-ansi-6.0.0.tgz",
+      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/clone-deep": {
+      "version": "4.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/clone-deep/-/clone-deep-4.0.1.tgz",
+      "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+      "dev": true,
+      "dependencies": {
+        "is-plain-object": "^2.0.4",
+        "kind-of": "^6.0.2",
+        "shallow-clone": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/collection-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "dev": true,
+      "dependencies": {
+        "map-visit": "^1.0.0",
+        "object-visit": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+      "dev": true
+    },
+    "node_modules/colorette": {
+      "version": "1.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/colorette/-/colorette-1.2.2.tgz",
+      "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+      "dev": true
+    },
+    "node_modules/commander": {
+      "version": "4.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/commander/-/commander-4.1.1.tgz",
+      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/compare-func": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/compare-func/-/compare-func-2.0.0.tgz",
+      "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==",
+      "dev": true,
+      "dependencies": {
+        "array-ify": "^1.0.0",
+        "dot-prop": "^5.1.0"
+      }
+    },
+    "node_modules/component-emitter": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+      "dev": true
+    },
+    "node_modules/compressible": {
+      "version": "2.0.18",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/compressible/-/compressible-2.0.18.tgz",
+      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+      "dev": true,
+      "dependencies": {
+        "mime-db": ">= 1.43.0 < 2"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/compression": {
+      "version": "1.7.4",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+      "dev": true,
+      "dependencies": {
+        "accepts": "~1.3.5",
+        "bytes": "3.0.0",
+        "compressible": "~2.0.16",
+        "debug": "2.6.9",
+        "on-headers": "~1.0.2",
+        "safe-buffer": "5.1.2",
+        "vary": "~1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/compression/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/compression/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "node_modules/concat-stream": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/concat-stream/-/concat-stream-2.0.0.tgz",
+      "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+      "dev": true,
+      "engines": [
+        "node >= 6.0"
+      ],
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.0.2",
+        "typedarray": "^0.0.6"
+      }
+    },
+    "node_modules/connect-history-api-fallback": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
+      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/content-disposition": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
+      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "5.1.2"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/content-disposition/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/content-type": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/conventional-changelog": {
+      "version": "3.1.15",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog/-/conventional-changelog-3.1.15.tgz",
+      "integrity": "sha512-CoWM+Z9bYyF00QzNpTnxkCLiuLAeRocJz3C/foFjvhsdltdtkJgMChp7GytQNjm4pT7JFBVJTpqLHTpxNtOzaA==",
+      "dev": true,
+      "dependencies": {
+        "conventional-changelog-angular": "^5.0.6",
+        "conventional-changelog-atom": "^2.0.3",
+        "conventional-changelog-codemirror": "^2.0.3",
+        "conventional-changelog-conventionalcommits": "^4.2.3",
+        "conventional-changelog-core": "^4.1.1",
+        "conventional-changelog-ember": "^2.0.4",
+        "conventional-changelog-eslint": "^3.0.4",
+        "conventional-changelog-express": "^2.0.1",
+        "conventional-changelog-jquery": "^3.0.6",
+        "conventional-changelog-jshint": "^2.0.3",
+        "conventional-changelog-preset-loader": "^2.3.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/conventional-changelog-angular": {
+      "version": "5.0.12",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz",
+      "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==",
+      "dev": true,
+      "dependencies": {
+        "compare-func": "^2.0.0",
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-atom": {
+      "version": "2.0.8",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz",
+      "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-codemirror": {
+      "version": "2.0.8",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz",
+      "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-config-spec": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz",
+      "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==",
+      "dev": true
+    },
+    "node_modules/conventional-changelog-conventionalcommits": {
+      "version": "4.2.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz",
+      "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==",
+      "dev": true,
+      "dependencies": {
+        "compare-func": "^1.3.1",
+        "lodash": "^4.17.15",
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/conventional-changelog-conventionalcommits/node_modules/compare-func": {
+      "version": "1.3.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/compare-func/-/compare-func-1.3.4.tgz",
+      "integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==",
+      "dev": true,
+      "dependencies": {
+        "array-ify": "^1.0.0",
+        "dot-prop": "^3.0.0"
+      }
+    },
+    "node_modules/conventional-changelog-conventionalcommits/node_modules/dot-prop": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/dot-prop/-/dot-prop-3.0.0.tgz",
+      "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
+      "dev": true,
+      "dependencies": {
+        "is-obj": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/conventional-changelog-conventionalcommits/node_modules/is-obj": {
+      "version": "1.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-obj/-/is-obj-1.0.1.tgz",
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/conventional-changelog-core": {
+      "version": "4.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz",
+      "integrity": "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==",
+      "dev": true,
+      "dependencies": {
+        "add-stream": "^1.0.0",
+        "conventional-changelog-writer": "^4.0.18",
+        "conventional-commits-parser": "^3.2.0",
+        "dateformat": "^3.0.0",
+        "get-pkg-repo": "^1.0.0",
+        "git-raw-commits": "^2.0.8",
+        "git-remote-origin-url": "^2.0.0",
+        "git-semver-tags": "^4.1.1",
+        "lodash": "^4.17.15",
+        "normalize-package-data": "^3.0.0",
+        "q": "^1.5.1",
+        "read-pkg": "^3.0.0",
+        "read-pkg-up": "^3.0.0",
+        "shelljs": "^0.8.3",
+        "through2": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/git-semver-tags": {
+      "version": "4.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/git-semver-tags/-/git-semver-tags-4.1.1.tgz",
+      "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==",
+      "dev": true,
+      "dependencies": {
+        "meow": "^8.0.0",
+        "semver": "^6.0.0"
+      },
+      "bin": {
+        "git-semver-tags": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-ember": {
+      "version": "2.0.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz",
+      "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-eslint": {
+      "version": "3.0.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz",
+      "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-express": {
+      "version": "2.0.6",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz",
+      "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-jquery": {
+      "version": "3.0.11",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz",
+      "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-jshint": {
+      "version": "2.0.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz",
+      "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==",
+      "dev": true,
+      "dependencies": {
+        "compare-func": "^2.0.0",
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-preset-loader": {
+      "version": "2.3.4",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz",
+      "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-writer": {
+      "version": "4.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz",
+      "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==",
+      "dev": true,
+      "dependencies": {
+        "compare-func": "^2.0.0",
+        "conventional-commits-filter": "^2.0.7",
+        "dateformat": "^3.0.0",
+        "handlebars": "^4.7.6",
+        "json-stringify-safe": "^5.0.1",
+        "lodash": "^4.17.15",
+        "meow": "^8.0.0",
+        "semver": "^6.0.0",
+        "split": "^1.0.0",
+        "through2": "^4.0.0"
+      },
+      "bin": {
+        "conventional-changelog-writer": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-commits-filter": {
+      "version": "2.0.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz",
+      "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==",
+      "dev": true,
+      "dependencies": {
+        "lodash.ismatch": "^4.4.0",
+        "modify-values": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-commits-parser": {
+      "version": "3.2.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz",
+      "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==",
+      "dev": true,
+      "dependencies": {
+        "is-text-path": "^1.0.1",
+        "JSONStream": "^1.0.4",
+        "lodash": "^4.17.15",
+        "meow": "^8.0.0",
+        "split2": "^3.0.0",
+        "through2": "^4.0.0",
+        "trim-off-newlines": "^1.0.0"
+      },
+      "bin": {
+        "conventional-commits-parser": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-recommended-bump": {
+      "version": "6.0.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/conventional-recommended-bump/-/conventional-recommended-bump-6.0.5.tgz",
+      "integrity": "sha512-srkferrB4kACPEbKYltZwX1CQZAEqbQkabKN444mavLRVMetzwJFJf23/+pwvtMsWbd+cc4HaleV1nHke0f8Rw==",
+      "dev": true,
+      "dependencies": {
+        "concat-stream": "^2.0.0",
+        "conventional-changelog-preset-loader": "^2.3.0",
+        "conventional-commits-filter": "^2.0.2",
+        "conventional-commits-parser": "^3.0.8",
+        "git-raw-commits": "2.0.0",
+        "git-semver-tags": "^3.0.1",
+        "meow": "^5.0.0",
+        "q": "^1.5.1"
+      },
+      "bin": {
+        "conventional-recommended-bump": "cli.js"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/camelcase": {
+      "version": "4.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/camelcase/-/camelcase-4.1.0.tgz",
+      "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/camelcase-keys": {
+      "version": "4.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
+      "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^4.1.0",
+        "map-obj": "^2.0.0",
+        "quick-lru": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/dargs": {
+      "version": "4.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/dargs/-/dargs-4.1.0.tgz",
+      "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=",
+      "dev": true,
+      "dependencies": {
+        "number-is-nan": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/git-raw-commits": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/git-raw-commits/-/git-raw-commits-2.0.0.tgz",
+      "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==",
+      "dev": true,
+      "dependencies": {
+        "dargs": "^4.0.1",
+        "lodash.template": "^4.0.2",
+        "meow": "^4.0.0",
+        "split2": "^2.0.0",
+        "through2": "^2.0.0"
+      },
+      "bin": {
+        "git-raw-commits": "cli.js"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/git-raw-commits/node_modules/meow": {
+      "version": "4.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/meow/-/meow-4.0.1.tgz",
+      "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==",
+      "dev": true,
+      "dependencies": {
+        "camelcase-keys": "^4.0.0",
+        "decamelize-keys": "^1.0.0",
+        "loud-rejection": "^1.0.0",
+        "minimist": "^1.1.3",
+        "minimist-options": "^3.0.1",
+        "normalize-package-data": "^2.3.4",
+        "read-pkg-up": "^3.0.0",
+        "redent": "^2.0.0",
+        "trim-newlines": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/hosted-git-info": {
+      "version": "2.8.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+      "dev": true
+    },
+    "node_modules/conventional-recommended-bump/node_modules/indent-string": {
+      "version": "3.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/indent-string/-/indent-string-3.2.0.tgz",
+      "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/map-obj": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/map-obj/-/map-obj-2.0.0.tgz",
+      "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/meow": {
+      "version": "5.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/meow/-/meow-5.0.0.tgz",
+      "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+      "dev": true,
+      "dependencies": {
+        "camelcase-keys": "^4.0.0",
+        "decamelize-keys": "^1.0.0",
+        "loud-rejection": "^1.0.0",
+        "minimist-options": "^3.0.1",
+        "normalize-package-data": "^2.3.4",
+        "read-pkg-up": "^3.0.0",
+        "redent": "^2.0.0",
+        "trim-newlines": "^2.0.0",
+        "yargs-parser": "^10.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/minimist-options": {
+      "version": "3.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/minimist-options/-/minimist-options-3.0.2.tgz",
+      "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+      "dev": true,
+      "dependencies": {
+        "arrify": "^1.0.1",
+        "is-plain-obj": "^1.1.0"
+      },
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/quick-lru": {
+      "version": "1.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/quick-lru/-/quick-lru-1.1.0.tgz",
+      "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/redent": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/redent/-/redent-2.0.0.tgz",
+      "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+      "dev": true,
+      "dependencies": {
+        "indent-string": "^3.0.0",
+        "strip-indent": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/conventional-recommended-bump/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/split2": {
+      "version": "2.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/split2/-/split2-2.2.0.tgz",
+      "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==",
+      "dev": true,
+      "dependencies": {
+        "through2": "^2.0.2"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/strip-indent": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-indent/-/strip-indent-2.0.0.tgz",
+      "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/through2": {
+      "version": "2.0.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/through2/-/through2-2.0.5.tgz",
+      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "~2.3.6",
+        "xtend": "~4.0.1"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/trim-newlines": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/trim-newlines/-/trim-newlines-2.0.0.tgz",
+      "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-recommended-bump/node_modules/yargs-parser": {
+      "version": "10.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yargs-parser/-/yargs-parser-10.1.0.tgz",
+      "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^4.1.0"
+      }
+    },
+    "node_modules/cookie": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
+      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/cookie-signature": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+      "dev": true
+    },
+    "node_modules/copy-descriptor": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
+    },
+    "node_modules/cosmiconfig": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+      "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+      "dev": true,
+      "dependencies": {
+        "@types/parse-json": "^4.0.0",
+        "import-fresh": "^3.2.1",
+        "parse-json": "^5.0.0",
+        "path-type": "^4.0.0",
+        "yaml": "^1.10.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/cosmiconfig/node_modules/path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/css-select": {
+      "version": "4.1.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/css-select/-/css-select-4.1.3.tgz",
+      "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==",
+      "dev": true,
+      "dependencies": {
+        "boolbase": "^1.0.0",
+        "css-what": "^5.0.0",
+        "domhandler": "^4.2.0",
+        "domutils": "^2.6.0",
+        "nth-check": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
+      }
+    },
+    "node_modules/css-what": {
+      "version": "5.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/css-what/-/css-what-5.0.1.tgz",
+      "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
+      }
+    },
+    "node_modules/currently-unhandled": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "dev": true,
+      "dependencies": {
+        "array-find-index": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/dargs": {
+      "version": "7.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/dargs/-/dargs-7.0.0.tgz",
+      "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dateformat": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+      "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/debug": {
+      "version": "4.3.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-4.3.1.tgz",
+      "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/debug/node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "node_modules/decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/decamelize-keys": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+      "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+      "dev": true,
+      "dependencies": {
+        "decamelize": "^1.1.0",
+        "map-obj": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/decamelize-keys/node_modules/map-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/decode-uri-component": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/deep-equal": {
+      "version": "1.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/deep-equal/-/deep-equal-1.1.1.tgz",
+      "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
+      "dev": true,
+      "dependencies": {
+        "is-arguments": "^1.0.4",
+        "is-date-object": "^1.0.1",
+        "is-regex": "^1.0.4",
+        "object-is": "^1.0.1",
+        "object-keys": "^1.1.1",
+        "regexp.prototype.flags": "^1.2.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/default-gateway": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
+      "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
+      "dev": true,
+      "dependencies": {
+        "execa": "^1.0.0",
+        "ip-regex": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/default-gateway/node_modules/cross-spawn": {
+      "version": "6.0.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/cross-spawn/-/cross-spawn-6.0.5.tgz",
+      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+      "dev": true,
+      "dependencies": {
+        "nice-try": "^1.0.4",
+        "path-key": "^2.0.1",
+        "semver": "^5.5.0",
+        "shebang-command": "^1.2.0",
+        "which": "^1.2.9"
+      },
+      "engines": {
+        "node": ">=4.8"
+      }
+    },
+    "node_modules/default-gateway/node_modules/execa": {
+      "version": "1.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/execa/-/execa-1.0.0.tgz",
+      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^6.0.0",
+        "get-stream": "^4.0.0",
+        "is-stream": "^1.1.0",
+        "npm-run-path": "^2.0.0",
+        "p-finally": "^1.0.0",
+        "signal-exit": "^3.0.0",
+        "strip-eof": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/default-gateway/node_modules/get-stream": {
+      "version": "4.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/get-stream/-/get-stream-4.1.0.tgz",
+      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+      "dev": true,
+      "dependencies": {
+        "pump": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/default-gateway/node_modules/is-stream": {
+      "version": "1.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-stream/-/is-stream-1.1.0.tgz",
+      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/default-gateway/node_modules/npm-run-path": {
+      "version": "2.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/npm-run-path/-/npm-run-path-2.0.2.tgz",
+      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/default-gateway/node_modules/path-key": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/path-key/-/path-key-2.0.1.tgz",
+      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/default-gateway/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/default-gateway/node_modules/shebang-command": {
+      "version": "1.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/shebang-command/-/shebang-command-1.2.0.tgz",
+      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/default-gateway/node_modules/shebang-regex": {
+      "version": "1.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/shebang-regex/-/shebang-regex-1.0.0.tgz",
+      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/default-gateway/node_modules/which": {
+      "version": "1.3.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "which": "bin/which"
+      }
+    },
+    "node_modules/define-properties": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+      "dev": true,
+      "dependencies": {
+        "object-keys": "^1.0.12"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/define-property": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^1.0.2",
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/define-property/node_modules/is-accessor-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/define-property/node_modules/is-data-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/define-property/node_modules/is-descriptor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^1.0.0",
+        "is-data-descriptor": "^1.0.0",
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/del": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
+      "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/glob": "^7.1.1",
+        "globby": "^6.1.0",
+        "is-path-cwd": "^2.0.0",
+        "is-path-in-cwd": "^2.0.0",
+        "p-map": "^2.0.0",
+        "pify": "^4.0.1",
+        "rimraf": "^2.6.3"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/del/node_modules/pify": {
+      "version": "4.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/pify/-/pify-4.0.1.tgz",
+      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/depd": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/destroy": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+      "dev": true
+    },
+    "node_modules/detect-indent": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz",
+      "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/detect-newline": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+      "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/detect-node": {
+      "version": "2.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/detect-node/-/detect-node-2.1.0.tgz",
+      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
+      "dev": true
+    },
+    "node_modules/dns-equal": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
+      "dev": true
+    },
+    "node_modules/dns-packet": {
+      "version": "1.3.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/dns-packet/-/dns-packet-1.3.4.tgz",
+      "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
+      "dev": true,
+      "dependencies": {
+        "ip": "^1.1.0",
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "node_modules/dns-txt": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
+      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
+      "dev": true,
+      "dependencies": {
+        "buffer-indexof": "^1.0.0"
+      }
+    },
+    "node_modules/dom-converter": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
+      "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
+      "dev": true,
+      "dependencies": {
+        "utila": "~0.4"
+      }
+    },
+    "node_modules/dom-serializer": {
+      "version": "1.3.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/dom-serializer/-/dom-serializer-1.3.2.tgz",
+      "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+      "dev": true,
+      "dependencies": {
+        "domelementtype": "^2.0.1",
+        "domhandler": "^4.2.0",
+        "entities": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+      }
+    },
+    "node_modules/domelementtype": {
+      "version": "2.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/domelementtype/-/domelementtype-2.2.0.tgz",
+      "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/fb55"
+        }
+      ]
+    },
+    "node_modules/domhandler": {
+      "version": "4.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/domhandler/-/domhandler-4.2.0.tgz",
+      "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
+      "dev": true,
+      "dependencies": {
+        "domelementtype": "^2.2.0"
+      },
+      "engines": {
+        "node": ">= 4"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/domhandler?sponsor=1"
+      }
+    },
+    "node_modules/domutils": {
+      "version": "2.7.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/domutils/-/domutils-2.7.0.tgz",
+      "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==",
+      "dev": true,
+      "dependencies": {
+        "dom-serializer": "^1.0.1",
+        "domelementtype": "^2.2.0",
+        "domhandler": "^4.2.0"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/domutils?sponsor=1"
+      }
+    },
+    "node_modules/dot-case": {
+      "version": "3.0.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/dot-case/-/dot-case-3.0.4.tgz",
+      "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+      "dev": true,
+      "dependencies": {
+        "no-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "node_modules/dot-prop": {
+      "version": "5.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/dot-prop/-/dot-prop-5.3.0.tgz",
+      "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+      "dev": true,
+      "dependencies": {
+        "is-obj": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dotgitignore": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz",
+      "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^3.0.0",
+        "minimatch": "^3.0.4"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/find-up": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/find-up/-/find-up-3.0.0.tgz",
+      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/locate-path": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/locate-path/-/locate-path-3.0.0.tgz",
+      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^3.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/p-locate": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/p-locate/-/p-locate-3.0.0.tgz",
+      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+      "dev": true
+    },
+    "node_modules/electron-to-chromium": {
+      "version": "1.3.752",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz",
+      "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==",
+      "dev": true
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "dev": true
+    },
+    "node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/end-of-stream/-/end-of-stream-1.4.4.tgz",
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+      "dev": true,
+      "dependencies": {
+        "once": "^1.4.0"
+      }
+    },
+    "node_modules/enhanced-resolve": {
+      "version": "5.8.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz",
+      "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/entities": {
+      "version": "2.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/entities/-/entities-2.2.0.tgz",
+      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/envinfo": {
+      "version": "7.8.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/envinfo/-/envinfo-7.8.1.tgz",
+      "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
+      "dev": true,
+      "bin": {
+        "envinfo": "dist/cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/errno": {
+      "version": "0.1.8",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/errno/-/errno-0.1.8.tgz",
+      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+      "dev": true,
+      "dependencies": {
+        "prr": "~1.0.1"
+      },
+      "bin": {
+        "errno": "cli.js"
+      }
+    },
+    "node_modules/error-ex": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "dev": true,
+      "dependencies": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "node_modules/es-module-lexer": {
+      "version": "0.4.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/es-module-lexer/-/es-module-lexer-0.4.1.tgz",
+      "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==",
+      "dev": true
+    },
+    "node_modules/escalade": {
+      "version": "3.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/escalade/-/escalade-3.1.1.tgz",
+      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+      "dev": true
+    },
+    "node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/eslint-scope": {
+      "version": "5.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/eslint-scope/-/eslint-scope-5.1.1.tgz",
+      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+      "dev": true,
+      "dependencies": {
+        "esrecurse": "^4.3.0",
+        "estraverse": "^4.1.1"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/esrecurse": {
+      "version": "4.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/esrecurse/-/esrecurse-4.3.0.tgz",
+      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+      "dev": true,
+      "dependencies": {
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/esrecurse/node_modules/estraverse": {
+      "version": "5.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/estraverse/-/estraverse-5.2.0.tgz",
+      "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/estraverse": {
+      "version": "4.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/estraverse/-/estraverse-4.3.0.tgz",
+      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/eventemitter3": {
+      "version": "4.0.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/eventemitter3/-/eventemitter3-4.0.7.tgz",
+      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+      "dev": true
+    },
+    "node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
+      }
+    },
+    "node_modules/eventsource": {
+      "version": "1.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/eventsource/-/eventsource-1.1.0.tgz",
+      "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==",
+      "dev": true,
+      "dependencies": {
+        "original": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/execa": {
+      "version": "5.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/execa/-/execa-5.1.1.tgz",
+      "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^6.0.0",
+        "human-signals": "^2.1.0",
+        "is-stream": "^2.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^4.0.1",
+        "onetime": "^5.1.2",
+        "signal-exit": "^3.0.3",
+        "strip-final-newline": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
+      }
+    },
+    "node_modules/expand-brackets": {
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+      "dev": true,
+      "dependencies": {
+        "debug": "^2.3.3",
+        "define-property": "^0.2.5",
+        "extend-shallow": "^2.0.1",
+        "posix-character-classes": "^0.1.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/expand-brackets/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/expand-brackets/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/expand-brackets/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/express": {
+      "version": "4.17.1",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
+      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+      "dev": true,
+      "dependencies": {
+        "accepts": "~1.3.7",
+        "array-flatten": "1.1.1",
+        "body-parser": "1.19.0",
+        "content-disposition": "0.5.3",
+        "content-type": "~1.0.4",
+        "cookie": "0.4.0",
+        "cookie-signature": "1.0.6",
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "finalhandler": "~1.1.2",
+        "fresh": "0.5.2",
+        "merge-descriptors": "1.0.1",
+        "methods": "~1.1.2",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "path-to-regexp": "0.1.7",
+        "proxy-addr": "~2.0.5",
+        "qs": "6.7.0",
+        "range-parser": "~1.2.1",
+        "safe-buffer": "5.1.2",
+        "send": "0.17.1",
+        "serve-static": "1.14.1",
+        "setprototypeof": "1.1.1",
+        "statuses": "~1.5.0",
+        "type-is": "~1.6.18",
+        "utils-merge": "1.0.1",
+        "vary": "~1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.10.0"
+      }
+    },
+    "node_modules/express/node_modules/array-flatten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+      "dev": true
+    },
+    "node_modules/express/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/express/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/extend-shallow": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+      "dev": true,
+      "dependencies": {
+        "assign-symbols": "^1.0.0",
+        "is-extendable": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extend-shallow/node_modules/is-extendable": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+      "dev": true,
+      "dependencies": {
+        "is-plain-object": "^2.0.4"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+      "dev": true,
+      "dependencies": {
+        "array-unique": "^0.3.2",
+        "define-property": "^1.0.0",
+        "expand-brackets": "^2.1.4",
+        "extend-shallow": "^2.0.1",
+        "fragment-cache": "^0.2.1",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/is-accessor-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/is-data-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/is-descriptor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^1.0.0",
+        "is-data-descriptor": "^1.0.0",
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+      "dev": true
+    },
+    "node_modules/fast-json-stable-stringify": {
+      "version": "2.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+      "dev": true
+    },
+    "node_modules/fastest-levenshtein": {
+      "version": "1.0.12",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
+      "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+      "dev": true
+    },
+    "node_modules/faye-websocket": {
+      "version": "0.11.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/faye-websocket/-/faye-websocket-0.11.4.tgz",
+      "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
+      "dev": true,
+      "dependencies": {
+        "websocket-driver": ">=0.5.1"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/figures": {
+      "version": "3.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/figures/-/figures-3.1.0.tgz",
+      "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
+      "dev": true,
+      "dependencies": {
+        "escape-string-regexp": "^1.0.5"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/fill-range": {
+      "version": "7.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fill-range/-/fill-range-7.0.1.tgz",
+      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+      "dev": true,
+      "dependencies": {
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/finalhandler": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "statuses": "~1.5.0",
+        "unpipe": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/finalhandler/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/follow-redirects": {
+      "version": "1.14.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/follow-redirects/-/follow-redirects-1.14.1.tgz",
+      "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/RubenVerborgh"
+        }
+      ],
+      "engines": {
+        "node": ">=4.0"
+      },
+      "peerDependenciesMeta": {
+        "debug": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/for-in": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/forwarded": {
+      "version": "0.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/forwarded/-/forwarded-0.2.0.tgz",
+      "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/fragment-cache": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+      "dev": true,
+      "dependencies": {
+        "map-cache": "^0.2.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/fs-access": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+      "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+      "dev": true,
+      "dependencies": {
+        "null-check": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/fs-extra": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+      "dev": true,
+      "dependencies": {
+        "at-least-node": "^1.0.0",
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "node_modules/fsevents": {
+      "version": "2.3.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fsevents/-/fsevents-2.3.2.tgz",
+      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+      "dev": true
+    },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "dev": true,
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/get-intrinsic": {
+      "version": "1.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+      "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+      "dev": true,
+      "dependencies": {
+        "function-bind": "^1.1.1",
+        "has": "^1.0.3",
+        "has-symbols": "^1.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/get-pkg-repo": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz",
+      "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "meow": "^3.3.0",
+        "normalize-package-data": "^2.3.0",
+        "parse-github-repo-url": "^1.3.0",
+        "through2": "^2.0.0"
+      },
+      "bin": {
+        "get-pkg-repo": "cli.js"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/camelcase": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+      "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/camelcase-keys": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^2.0.0",
+        "map-obj": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/find-up": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+      "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+      "dev": true,
+      "dependencies": {
+        "path-exists": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/hosted-git-info": {
+      "version": "2.8.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+      "dev": true
+    },
+    "node_modules/get-pkg-repo/node_modules/indent-string": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+      "dev": true,
+      "dependencies": {
+        "repeating": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/map-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/meow": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+      "dev": true,
+      "dependencies": {
+        "camelcase-keys": "^2.0.0",
+        "decamelize": "^1.1.2",
+        "loud-rejection": "^1.0.0",
+        "map-obj": "^1.0.1",
+        "minimist": "^1.1.3",
+        "normalize-package-data": "^2.3.4",
+        "object-assign": "^4.0.1",
+        "read-pkg-up": "^1.0.1",
+        "redent": "^1.0.0",
+        "trim-newlines": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/path-exists": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+      "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+      "dev": true,
+      "dependencies": {
+        "pinkie-promise": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/read-pkg": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "dev": true,
+      "dependencies": {
+        "load-json-file": "^1.0.0",
+        "normalize-package-data": "^2.3.2",
+        "path-type": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/read-pkg-up": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^1.0.0",
+        "read-pkg": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/redent": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+      "dev": true,
+      "dependencies": {
+        "indent-string": "^2.1.0",
+        "strip-indent": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/get-pkg-repo/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/strip-indent": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+      "dev": true,
+      "dependencies": {
+        "get-stdin": "^4.0.1"
+      },
+      "bin": {
+        "strip-indent": "cli.js"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/through2": {
+      "version": "2.0.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/through2/-/through2-2.0.5.tgz",
+      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "~2.3.6",
+        "xtend": "~4.0.1"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/trim-newlines": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-stdin": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/get-stream": {
+      "version": "6.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/get-stream/-/get-stream-6.0.1.tgz",
+      "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/get-value": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/git-raw-commits": {
+      "version": "2.0.10",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/git-raw-commits/-/git-raw-commits-2.0.10.tgz",
+      "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==",
+      "dev": true,
+      "dependencies": {
+        "dargs": "^7.0.0",
+        "lodash": "^4.17.15",
+        "meow": "^8.0.0",
+        "split2": "^3.0.0",
+        "through2": "^4.0.0"
+      },
+      "bin": {
+        "git-raw-commits": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/git-remote-origin-url": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
+      "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=",
+      "dev": true,
+      "dependencies": {
+        "gitconfiglocal": "^1.0.0",
+        "pify": "^2.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags": {
+      "version": "3.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/git-semver-tags/-/git-semver-tags-3.0.1.tgz",
+      "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==",
+      "dev": true,
+      "dependencies": {
+        "meow": "^5.0.0",
+        "semver": "^6.0.0"
+      },
+      "bin": {
+        "git-semver-tags": "cli.js"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/camelcase": {
+      "version": "4.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/camelcase/-/camelcase-4.1.0.tgz",
+      "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/camelcase-keys": {
+      "version": "4.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
+      "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^4.1.0",
+        "map-obj": "^2.0.0",
+        "quick-lru": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/hosted-git-info": {
+      "version": "2.8.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+      "dev": true
+    },
+    "node_modules/git-semver-tags/node_modules/indent-string": {
+      "version": "3.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/indent-string/-/indent-string-3.2.0.tgz",
+      "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/map-obj": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/map-obj/-/map-obj-2.0.0.tgz",
+      "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/meow": {
+      "version": "5.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/meow/-/meow-5.0.0.tgz",
+      "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+      "dev": true,
+      "dependencies": {
+        "camelcase-keys": "^4.0.0",
+        "decamelize-keys": "^1.0.0",
+        "loud-rejection": "^1.0.0",
+        "minimist-options": "^3.0.1",
+        "normalize-package-data": "^2.3.4",
+        "read-pkg-up": "^3.0.0",
+        "redent": "^2.0.0",
+        "trim-newlines": "^2.0.0",
+        "yargs-parser": "^10.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/minimist-options": {
+      "version": "3.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/minimist-options/-/minimist-options-3.0.2.tgz",
+      "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+      "dev": true,
+      "dependencies": {
+        "arrify": "^1.0.1",
+        "is-plain-obj": "^1.1.0"
+      },
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/normalize-package-data/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/quick-lru": {
+      "version": "1.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/quick-lru/-/quick-lru-1.1.0.tgz",
+      "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/redent": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/redent/-/redent-2.0.0.tgz",
+      "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+      "dev": true,
+      "dependencies": {
+        "indent-string": "^3.0.0",
+        "strip-indent": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/strip-indent": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-indent/-/strip-indent-2.0.0.tgz",
+      "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/trim-newlines": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/trim-newlines/-/trim-newlines-2.0.0.tgz",
+      "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/yargs-parser": {
+      "version": "10.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yargs-parser/-/yargs-parser-10.1.0.tgz",
+      "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^4.1.0"
+      }
+    },
+    "node_modules/gitconfiglocal": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
+      "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=",
+      "dev": true,
+      "dependencies": {
+        "ini": "^1.3.2"
+      }
+    },
+    "node_modules/glob": {
+      "version": "7.1.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/glob/-/glob-7.1.7.tgz",
+      "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/glob-parent": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^3.1.0",
+        "path-dirname": "^1.0.0"
+      }
+    },
+    "node_modules/glob-parent/node_modules/is-glob": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+      "dev": true,
+      "dependencies": {
+        "is-extglob": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/glob-to-regexp": {
+      "version": "0.4.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+      "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+      "dev": true
+    },
+    "node_modules/global-dirs": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
+      "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+      "dev": true,
+      "dependencies": {
+        "ini": "^1.3.4"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/globby": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+      "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^1.0.1",
+        "glob": "^7.0.3",
+        "object-assign": "^4.0.1",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/graceful-fs": {
+      "version": "4.2.6",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/graceful-fs/-/graceful-fs-4.2.6.tgz",
+      "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
+      "dev": true
+    },
+    "node_modules/handle-thing": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/handle-thing/-/handle-thing-2.0.1.tgz",
+      "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
+      "dev": true
+    },
+    "node_modules/handlebars": {
+      "version": "4.7.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/handlebars/-/handlebars-4.7.7.tgz",
+      "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.5",
+        "neo-async": "^2.6.0",
+        "source-map": "^0.6.1",
+        "wordwrap": "^1.0.0"
+      },
+      "bin": {
+        "handlebars": "bin/handlebars"
+      },
+      "engines": {
+        "node": ">=0.4.7"
+      },
+      "optionalDependencies": {
+        "uglify-js": "^3.1.4"
+      }
+    },
+    "node_modules/hard-rejection": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+      "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "dev": true,
+      "dependencies": {
+        "function-bind": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/has-symbols": {
+      "version": "1.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/has-symbols/-/has-symbols-1.0.2.tgz",
+      "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "dev": true,
+      "dependencies": {
+        "get-value": "^2.0.6",
+        "has-values": "^1.0.0",
+        "isobject": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-values": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "kind-of": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-values/node_modules/is-number": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-values/node_modules/kind-of": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+      "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/he": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+      "dev": true,
+      "bin": {
+        "he": "bin/he"
+      }
+    },
+    "node_modules/hosted-git-info": {
+      "version": "4.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
+      "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/hpack.js": {
+      "version": "2.1.6",
+      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "obuf": "^1.0.0",
+        "readable-stream": "^2.0.1",
+        "wbuf": "^1.1.0"
+      }
+    },
+    "node_modules/hpack.js/node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/hpack.js/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/hpack.js/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/html-entities": {
+      "version": "1.4.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/html-entities/-/html-entities-1.4.0.tgz",
+      "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==",
+      "dev": true
+    },
+    "node_modules/html-minifier-terser": {
+      "version": "5.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
+      "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
+      "dev": true,
+      "dependencies": {
+        "camel-case": "^4.1.1",
+        "clean-css": "^4.2.3",
+        "commander": "^4.1.1",
+        "he": "^1.2.0",
+        "param-case": "^3.0.3",
+        "relateurl": "^0.2.7",
+        "terser": "^4.6.3"
+      },
+      "bin": {
+        "html-minifier-terser": "cli.js"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/html-webpack-plugin": {
+      "version": "5.3.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/html-webpack-plugin/-/html-webpack-plugin-5.3.1.tgz",
+      "integrity": "sha512-rZsVvPXUYFyME0cuGkyOHfx9hmkFa4pWfxY/mdY38PsBEaVNsRoA+Id+8z6DBDgyv3zaw6XQszdF8HLwfQvcdQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/html-minifier-terser": "^5.0.0",
+        "html-minifier-terser": "^5.0.1",
+        "lodash": "^4.17.20",
+        "pretty-error": "^2.1.1",
+        "tapable": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/html-webpack-plugin"
+      },
+      "peerDependencies": {
+        "webpack": "^5.20.0"
+      }
+    },
+    "node_modules/htmlparser2": {
+      "version": "6.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/htmlparser2/-/htmlparser2-6.1.0.tgz",
+      "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
+      "dev": true,
+      "funding": [
+        "https://github.com/fb55/htmlparser2?sponsor=1",
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/fb55"
+        }
+      ],
+      "dependencies": {
+        "domelementtype": "^2.0.1",
+        "domhandler": "^4.0.0",
+        "domutils": "^2.5.2",
+        "entities": "^2.0.0"
+      }
+    },
+    "node_modules/http-deceiver": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+      "dev": true
+    },
+    "node_modules/http-errors": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+      "dev": true,
+      "dependencies": {
+        "depd": "~1.1.2",
+        "inherits": "2.0.3",
+        "setprototypeof": "1.1.1",
+        "statuses": ">= 1.5.0 < 2",
+        "toidentifier": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/http-errors/node_modules/inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "dev": true
+    },
+    "node_modules/http-parser-js": {
+      "version": "0.5.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/http-parser-js/-/http-parser-js-0.5.3.tgz",
+      "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==",
+      "dev": true
+    },
+    "node_modules/http-proxy": {
+      "version": "1.18.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/http-proxy/-/http-proxy-1.18.1.tgz",
+      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+      "dev": true,
+      "dependencies": {
+        "eventemitter3": "^4.0.0",
+        "follow-redirects": "^1.0.0",
+        "requires-port": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/http-proxy-middleware": {
+      "version": "0.19.1",
+      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
+      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
+      "dev": true,
+      "dependencies": {
+        "http-proxy": "^1.17.0",
+        "is-glob": "^4.0.0",
+        "lodash": "^4.17.11",
+        "micromatch": "^3.1.10"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/http-proxy-middleware/node_modules/braces": {
+      "version": "2.3.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/braces/-/braces-2.3.2.tgz",
+      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
+      "dependencies": {
+        "arr-flatten": "^1.1.0",
+        "array-unique": "^0.3.2",
+        "extend-shallow": "^2.0.1",
+        "fill-range": "^4.0.0",
+        "isobject": "^3.0.1",
+        "repeat-element": "^1.1.2",
+        "snapdragon": "^0.8.1",
+        "snapdragon-node": "^2.0.1",
+        "split-string": "^3.0.2",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/http-proxy-middleware/node_modules/fill-range": {
+      "version": "4.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fill-range/-/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^2.0.1",
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1",
+        "to-regex-range": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/http-proxy-middleware/node_modules/is-number": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/http-proxy-middleware/node_modules/micromatch": {
+      "version": "3.1.10",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/micromatch/-/micromatch-3.1.10.tgz",
+      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
+      "dependencies": {
+        "arr-diff": "^4.0.0",
+        "array-unique": "^0.3.2",
+        "braces": "^2.3.1",
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "extglob": "^2.0.4",
+        "fragment-cache": "^0.2.1",
+        "kind-of": "^6.0.2",
+        "nanomatch": "^1.2.9",
+        "object.pick": "^1.3.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/http-proxy-middleware/node_modules/to-regex-range": {
+      "version": "2.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/to-regex-range/-/to-regex-range-2.1.1.tgz",
+      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/human-signals": {
+      "version": "2.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/human-signals/-/human-signals-2.1.0.tgz",
+      "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.17.0"
+      }
+    },
+    "node_modules/husky": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.1.tgz",
+      "integrity": "sha512-gceRaITVZ+cJH9sNHqx5tFwbzlLCVxtVZcusME8JYQ8Edy5mpGDOqD8QBCdMhpyo9a+JXddnujQ4rpY2Ff9SJA==",
+      "dev": true,
+      "bin": {
+        "husky": "lib/bin.js"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/typicode"
+      }
+    },
+    "node_modules/iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/import-fresh": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+      "dev": true,
+      "dependencies": {
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/import-fresh/node_modules/resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/import-local": {
+      "version": "3.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/import-local/-/import-local-3.0.2.tgz",
+      "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+      "dev": true,
+      "dependencies": {
+        "pkg-dir": "^4.2.0",
+        "resolve-cwd": "^3.0.0"
+      },
+      "bin": {
+        "import-local-fixture": "fixtures/cli.js"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/indent-string": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
+      "dependencies": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true
+    },
+    "node_modules/ini": {
+      "version": "1.3.8",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ini/-/ini-1.3.8.tgz",
+      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+      "dev": true
+    },
+    "node_modules/internal-ip": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
+      "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
+      "dev": true,
+      "dependencies": {
+        "default-gateway": "^4.2.0",
+        "ipaddr.js": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/interpret": {
+      "version": "1.4.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/interpret/-/interpret-1.4.0.tgz",
+      "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/ip": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+      "dev": true
+    },
+    "node_modules/ip-regex": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ipaddr.js": {
+      "version": "1.9.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/is-absolute-url": {
+      "version": "3.0.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
+      "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-accessor-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-accessor-descriptor/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-arguments": {
+      "version": "1.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-arguments/-/is-arguments-1.1.0.tgz",
+      "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+      "dev": true
+    },
+    "node_modules/is-binary-path": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+      "dev": true,
+      "dependencies": {
+        "binary-extensions": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-buffer": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+      "dev": true
+    },
+    "node_modules/is-core-module": {
+      "version": "2.4.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-core-module/-/is-core-module-2.4.0.tgz",
+      "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
+      "dev": true,
+      "dependencies": {
+        "has": "^1.0.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-data-descriptor": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-data-descriptor/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-date-object": {
+      "version": "1.0.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-date-object/-/is-date-object-1.0.4.tgz",
+      "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^0.1.6",
+        "is-data-descriptor": "^0.1.4",
+        "kind-of": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-descriptor/node_modules/kind-of": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-extendable": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-finite": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-glob": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+      "dev": true,
+      "dependencies": {
+        "is-extglob": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/is-obj": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-obj/-/is-obj-2.0.0.tgz",
+      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-path-cwd": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+      "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/is-path-in-cwd": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
+      "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
+      "dev": true,
+      "dependencies": {
+        "is-path-inside": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/is-path-inside": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
+      "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
+      "dev": true,
+      "dependencies": {
+        "path-is-inside": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/is-plain-obj": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-regex": {
+      "version": "1.1.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-regex/-/is-regex-1.1.3.tgz",
+      "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-symbols": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-stream": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-stream/-/is-stream-2.0.0.tgz",
+      "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-text-path": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
+      "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
+      "dev": true,
+      "dependencies": {
+        "text-extensions": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-utf8": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+      "dev": true
+    },
+    "node_modules/is-windows": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-wsl": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
+    },
+    "node_modules/isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+      "dev": true
+    },
+    "node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/jest-worker": {
+      "version": "27.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/jest-worker/-/jest-worker-27.0.2.tgz",
+      "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "merge-stream": "^2.0.0",
+        "supports-color": "^8.0.0"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      }
+    },
+    "node_modules/jest-worker/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/jest-worker/node_modules/supports-color": {
+      "version": "8.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/supports-color/-/supports-color-8.1.1.tgz",
+      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
+      }
+    },
+    "node_modules/js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "dev": true
+    },
+    "node_modules/json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+      "dev": true
+    },
+    "node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
+    "node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
+    },
+    "node_modules/json3": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
+      "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
+      "dev": true
+    },
+    "node_modules/jsonfile": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dev": true,
+      "dependencies": {
+        "universalify": "^2.0.0"
+      },
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/jsonparse": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+      "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+      "dev": true,
+      "engines": [
+        "node >= 0.2.0"
+      ]
+    },
+    "node_modules/JSONStream": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+      "dev": true,
+      "dependencies": {
+        "jsonparse": "^1.2.0",
+        "through": ">=2.2.7 <3"
+      },
+      "bin": {
+        "JSONStream": "bin.js"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/killable": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
+      "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
+      "dev": true
+    },
+    "node_modules/kind-of": {
+      "version": "6.0.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/kind-of/-/kind-of-6.0.3.tgz",
+      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/lines-and-columns": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+      "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+      "dev": true
+    },
+    "node_modules/load-json-file": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.2",
+        "parse-json": "^2.2.0",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0",
+        "strip-bom": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/load-json-file/node_modules/parse-json": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "dev": true,
+      "dependencies": {
+        "error-ex": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/loader-runner": {
+      "version": "4.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/loader-runner/-/loader-runner-4.2.0.tgz",
+      "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.11.5"
+      }
+    },
+    "node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/lodash": {
+      "version": "4.17.21",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+      "dev": true
+    },
+    "node_modules/lodash._reinterpolate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+      "dev": true
+    },
+    "node_modules/lodash.ismatch": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz",
+      "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=",
+      "dev": true
+    },
+    "node_modules/lodash.template": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+      "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+      "dev": true,
+      "dependencies": {
+        "lodash._reinterpolate": "^3.0.0",
+        "lodash.templatesettings": "^4.0.0"
+      }
+    },
+    "node_modules/lodash.templatesettings": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+      "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+      "dev": true,
+      "dependencies": {
+        "lodash._reinterpolate": "^3.0.0"
+      }
+    },
+    "node_modules/loglevel": {
+      "version": "1.7.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/loglevel/-/loglevel-1.7.1.tgz",
+      "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6.0"
+      },
+      "funding": {
+        "type": "tidelift",
+        "url": "https://tidelift.com/funding/github/npm/loglevel"
+      }
+    },
+    "node_modules/loud-rejection": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+      "dev": true,
+      "dependencies": {
+        "currently-unhandled": "^0.4.1",
+        "signal-exit": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/lower-case": {
+      "version": "2.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/lower-case/-/lower-case-2.0.2.tgz",
+      "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^2.0.3"
+      }
+    },
+    "node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/map-cache": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/map-obj": {
+      "version": "4.2.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/map-obj/-/map-obj-4.2.1.tgz",
+      "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/map-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+      "dev": true,
+      "dependencies": {
+        "object-visit": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/media-typer": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/memory-fs": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+      "dev": true,
+      "dependencies": {
+        "errno": "^0.1.3",
+        "readable-stream": "^2.0.1"
+      }
+    },
+    "node_modules/memory-fs/node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/memory-fs/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/memory-fs/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/meow": {
+      "version": "8.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/meow/-/meow-8.1.2.tgz",
+      "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==",
+      "dev": true,
+      "dependencies": {
+        "@types/minimist": "^1.2.0",
+        "camelcase-keys": "^6.2.2",
+        "decamelize-keys": "^1.1.0",
+        "hard-rejection": "^2.1.0",
+        "minimist-options": "4.1.0",
+        "normalize-package-data": "^3.0.0",
+        "read-pkg-up": "^7.0.1",
+        "redent": "^3.0.0",
+        "trim-newlines": "^3.0.0",
+        "type-fest": "^0.18.0",
+        "yargs-parser": "^20.2.3"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/meow/node_modules/hosted-git-info": {
+      "version": "2.8.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+      "dev": true
+    },
+    "node_modules/meow/node_modules/read-pkg": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+      "dev": true,
+      "dependencies": {
+        "@types/normalize-package-data": "^2.4.0",
+        "normalize-package-data": "^2.5.0",
+        "parse-json": "^5.0.0",
+        "type-fest": "^0.6.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/meow/node_modules/read-pkg-up": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^4.1.0",
+        "read-pkg": "^5.2.0",
+        "type-fest": "^0.8.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/meow/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/merge-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+      "dev": true
+    },
+    "node_modules/merge-stream": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/merge-stream/-/merge-stream-2.0.0.tgz",
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+      "dev": true
+    },
+    "node_modules/methods": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/micromatch": {
+      "version": "4.0.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/micromatch/-/micromatch-4.0.4.tgz",
+      "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+      "dev": true,
+      "dependencies": {
+        "braces": "^3.0.1",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/mime-db": {
+      "version": "1.48.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/mime-db/-/mime-db-1.48.0.tgz",
+      "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mime-types": {
+      "version": "2.1.31",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/mime-types/-/mime-types-2.1.31.tgz",
+      "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
+      "dev": true,
+      "dependencies": {
+        "mime-db": "1.48.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mimic-fn": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/min-indent": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/minimalistic-assert": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+      "dev": true
+    },
+    "node_modules/minimatch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/minimist": {
+      "version": "1.2.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/minimist/-/minimist-1.2.5.tgz",
+      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+      "dev": true
+    },
+    "node_modules/minimist-options": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+      "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+      "dev": true,
+      "dependencies": {
+        "arrify": "^1.0.1",
+        "is-plain-obj": "^1.1.0",
+        "kind-of": "^6.0.3"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/mixin-deep": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+      "dev": true,
+      "dependencies": {
+        "for-in": "^1.0.2",
+        "is-extendable": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/mixin-deep/node_modules/is-extendable": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+      "dev": true,
+      "dependencies": {
+        "is-plain-object": "^2.0.4"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/mkdirp": {
+      "version": "0.5.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/mkdirp/-/mkdirp-0.5.5.tgz",
+      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.5"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/modify-values": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz",
+      "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "node_modules/multicast-dns": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
+      "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
+      "dev": true,
+      "dependencies": {
+        "dns-packet": "^1.3.1",
+        "thunky": "^1.0.2"
+      },
+      "bin": {
+        "multicast-dns": "cli.js"
+      }
+    },
+    "node_modules/multicast-dns-service-types": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
+      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
+      "dev": true
+    },
+    "node_modules/nanomatch": {
+      "version": "1.2.13",
+      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+      "dev": true,
+      "dependencies": {
+        "arr-diff": "^4.0.0",
+        "array-unique": "^0.3.2",
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "fragment-cache": "^0.2.1",
+        "is-windows": "^1.0.2",
+        "kind-of": "^6.0.2",
+        "object.pick": "^1.3.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/negotiator": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/neo-async": {
+      "version": "2.6.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/neo-async/-/neo-async-2.6.2.tgz",
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+      "dev": true
+    },
+    "node_modules/nice-try": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+      "dev": true
+    },
+    "node_modules/no-case": {
+      "version": "3.0.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/no-case/-/no-case-3.0.4.tgz",
+      "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+      "dev": true,
+      "dependencies": {
+        "lower-case": "^2.0.2",
+        "tslib": "^2.0.3"
+      }
+    },
+    "node_modules/node-forge": {
+      "version": "0.10.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/node-forge/-/node-forge-0.10.0.tgz",
+      "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/node-releases": {
+      "version": "1.1.73",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/node-releases/-/node-releases-1.1.73.tgz",
+      "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
+      "dev": true
+    },
+    "node_modules/normalize-package-data": {
+      "version": "3.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/normalize-package-data/-/normalize-package-data-3.0.2.tgz",
+      "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^4.0.1",
+        "resolve": "^1.20.0",
+        "semver": "^7.3.4",
+        "validate-npm-package-license": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/normalize-package-data/node_modules/semver": {
+      "version": "7.3.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-7.3.5.tgz",
+      "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/npm-run-path": {
+      "version": "4.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/npm-run-path/-/npm-run-path-4.0.1.tgz",
+      "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nth-check": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/nth-check/-/nth-check-2.0.0.tgz",
+      "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==",
+      "dev": true,
+      "dependencies": {
+        "boolbase": "^1.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/nth-check?sponsor=1"
+      }
+    },
+    "node_modules/null-check": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
+      "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/number-is-nan": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "dev": true,
+      "dependencies": {
+        "copy-descriptor": "^0.1.0",
+        "define-property": "^0.2.5",
+        "kind-of": "^3.0.3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-is": {
+      "version": "1.1.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/object-is/-/object-is-1.1.5.tgz",
+      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.1.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/object-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/object-visit": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object.pick": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/obuf": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
+      "dev": true
+    },
+    "node_modules/on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "dev": true,
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/on-headers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "dev": true,
+      "dependencies": {
+        "wrappy": "1"
+      }
+    },
+    "node_modules/onetime": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/onetime/-/onetime-5.1.2.tgz",
+      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+      "dev": true,
+      "dependencies": {
+        "mimic-fn": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/opn": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
+      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
+      "dev": true,
+      "dependencies": {
+        "is-wsl": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/original": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
+      "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
+      "dev": true,
+      "dependencies": {
+        "url-parse": "^1.4.3"
+      }
+    },
+    "node_modules/p-finally": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-map": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+      "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/p-retry": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
+      "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
+      "dev": true,
+      "dependencies": {
+        "retry": "^0.12.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/param-case": {
+      "version": "3.0.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/param-case/-/param-case-3.0.4.tgz",
+      "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
+      "dev": true,
+      "dependencies": {
+        "dot-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "node_modules/parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "dev": true,
+      "dependencies": {
+        "callsites": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/parse-github-repo-url": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz",
+      "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=",
+      "dev": true
+    },
+    "node_modules/parse-json": {
+      "version": "5.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/parse-json/-/parse-json-5.2.0.tgz",
+      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.0.0",
+        "error-ex": "^1.3.1",
+        "json-parse-even-better-errors": "^2.3.0",
+        "lines-and-columns": "^1.1.6"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/pascal-case": {
+      "version": "3.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/pascal-case/-/pascal-case-3.1.2.tgz",
+      "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
+      "dev": true,
+      "dependencies": {
+        "no-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "node_modules/pascalcase": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/path-dirname": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+      "dev": true
+    },
+    "node_modules/path-exists": {
+      "version": "4.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/path-is-inside": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+      "dev": true
+    },
+    "node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-parse": {
+      "version": "1.0.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "dev": true
+    },
+    "node_modules/path-to-regexp": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+      "dev": true
+    },
+    "node_modules/path-type": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.2",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/picomatch": {
+      "version": "2.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/picomatch/-/picomatch-2.3.0.tgz",
+      "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/pify": {
+      "version": "2.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/pify/-/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "dev": true,
+      "dependencies": {
+        "pinkie": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pkg-dir": {
+      "version": "4.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/pkg-dir/-/pkg-dir-4.2.0.tgz",
+      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/portfinder": {
+      "version": "1.0.28",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/portfinder/-/portfinder-1.0.28.tgz",
+      "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
+      "dev": true,
+      "dependencies": {
+        "async": "^2.6.2",
+        "debug": "^3.1.1",
+        "mkdirp": "^0.5.5"
+      },
+      "engines": {
+        "node": ">= 0.12.0"
+      }
+    },
+    "node_modules/portfinder/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/portfinder/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "node_modules/posix-character-classes": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pretty-error": {
+      "version": "2.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/pretty-error/-/pretty-error-2.1.2.tgz",
+      "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.20",
+        "renderkid": "^2.0.4"
+      }
+    },
+    "node_modules/process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+      "dev": true
+    },
+    "node_modules/proxy-addr": {
+      "version": "2.0.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/proxy-addr/-/proxy-addr-2.0.7.tgz",
+      "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+      "dev": true,
+      "dependencies": {
+        "forwarded": "0.2.0",
+        "ipaddr.js": "1.9.1"
+      },
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/prr": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+      "dev": true
+    },
+    "node_modules/pump": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+      "dev": true,
+      "dependencies": {
+        "end-of-stream": "^1.1.0",
+        "once": "^1.3.1"
+      }
+    },
+    "node_modules/punycode": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/q": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6.0",
+        "teleport": ">=0.2.0"
+      }
+    },
+    "node_modules/qs": {
+      "version": "6.7.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/querystring": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.x"
+      }
+    },
+    "node_modules/querystringify": {
+      "version": "2.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/querystringify/-/querystringify-2.2.0.tgz",
+      "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+      "dev": true
+    },
+    "node_modules/quick-lru": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "node_modules/range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/raw-body": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
+      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+      "dev": true,
+      "dependencies": {
+        "bytes": "3.1.0",
+        "http-errors": "1.7.2",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/raw-body/node_modules/bytes": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/read-pkg": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+      "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+      "dev": true,
+      "dependencies": {
+        "load-json-file": "^4.0.0",
+        "normalize-package-data": "^2.3.2",
+        "path-type": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg-up": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+      "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^2.0.0",
+        "read-pkg": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/find-up": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/locate-path": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^2.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/p-limit": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/p-locate": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/p-try": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg/node_modules/hosted-git-info": {
+      "version": "2.8.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+      "dev": true
+    },
+    "node_modules/read-pkg/node_modules/load-json-file": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+      "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.2",
+        "parse-json": "^4.0.0",
+        "pify": "^3.0.0",
+        "strip-bom": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg/node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/read-pkg/node_modules/parse-json": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+      "dev": true,
+      "dependencies": {
+        "error-ex": "^1.3.1",
+        "json-parse-better-errors": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg/node_modules/path-type": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+      "dev": true,
+      "dependencies": {
+        "pify": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg/node_modules/pify": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/read-pkg/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/read-pkg/node_modules/strip-bom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/readable-stream": {
+      "version": "3.6.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/readable-stream/-/readable-stream-3.6.0.tgz",
+      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/readdirp": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.11",
+        "micromatch": "^3.1.10",
+        "readable-stream": "^2.0.2"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/readdirp/node_modules/braces": {
+      "version": "2.3.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/braces/-/braces-2.3.2.tgz",
+      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
+      "dependencies": {
+        "arr-flatten": "^1.1.0",
+        "array-unique": "^0.3.2",
+        "extend-shallow": "^2.0.1",
+        "fill-range": "^4.0.0",
+        "isobject": "^3.0.1",
+        "repeat-element": "^1.1.2",
+        "snapdragon": "^0.8.1",
+        "snapdragon-node": "^2.0.1",
+        "split-string": "^3.0.2",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/readdirp/node_modules/braces/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/readdirp/node_modules/fill-range": {
+      "version": "4.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/fill-range/-/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^2.0.1",
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1",
+        "to-regex-range": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/readdirp/node_modules/fill-range/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/readdirp/node_modules/is-number": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/readdirp/node_modules/is-number/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/readdirp/node_modules/micromatch": {
+      "version": "3.1.10",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/micromatch/-/micromatch-3.1.10.tgz",
+      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
+      "dependencies": {
+        "arr-diff": "^4.0.0",
+        "array-unique": "^0.3.2",
+        "braces": "^2.3.1",
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "extglob": "^2.0.4",
+        "fragment-cache": "^0.2.1",
+        "kind-of": "^6.0.2",
+        "nanomatch": "^1.2.9",
+        "object.pick": "^1.3.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/readdirp/node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/readdirp/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/readdirp/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/readdirp/node_modules/to-regex-range": {
+      "version": "2.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/to-regex-range/-/to-regex-range-2.1.1.tgz",
+      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/rechoir": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+      "dev": true,
+      "dependencies": {
+        "resolve": "^1.1.6"
+      },
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/redent": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+      "dev": true,
+      "dependencies": {
+        "indent-string": "^4.0.0",
+        "strip-indent": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/regex-not": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^3.0.2",
+        "safe-regex": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/regexp.prototype.flags": {
+      "version": "1.3.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
+      "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.1.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/relateurl": {
+      "version": "0.2.7",
+      "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/remove-trailing-separator": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+      "dev": true
+    },
+    "node_modules/renderkid": {
+      "version": "2.0.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/renderkid/-/renderkid-2.0.7.tgz",
+      "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==",
+      "dev": true,
+      "dependencies": {
+        "css-select": "^4.1.3",
+        "dom-converter": "^0.2.0",
+        "htmlparser2": "^6.1.0",
+        "lodash": "^4.17.21",
+        "strip-ansi": "^3.0.1"
+      }
+    },
+    "node_modules/repeat-element": {
+      "version": "1.1.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/repeat-element/-/repeat-element-1.1.4.tgz",
+      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/repeat-string": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "dev": true,
+      "dependencies": {
+        "is-finite": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+      "dev": true
+    },
+    "node_modules/requires-port": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+      "dev": true
+    },
+    "node_modules/resolve": {
+      "version": "1.20.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/resolve/-/resolve-1.20.0.tgz",
+      "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+      "dev": true,
+      "dependencies": {
+        "is-core-module": "^2.2.0",
+        "path-parse": "^1.0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/resolve-cwd": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+      "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+      "dev": true,
+      "dependencies": {
+        "resolve-from": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/resolve-global": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz",
+      "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==",
+      "dev": true,
+      "dependencies": {
+        "global-dirs": "^0.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/resolve-url": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+      "deprecated": "https://github.com/lydell/resolve-url#deprecated",
+      "dev": true
+    },
+    "node_modules/ret": {
+      "version": "0.1.15",
+      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12"
+      }
+    },
+    "node_modules/retry": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
+    "node_modules/rollup": {
+      "version": "2.51.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/rollup/-/rollup-2.51.2.tgz",
+      "integrity": "sha512-ReV2eGEadA7hmXSzjxdDKs10neqH2QURf2RxJ6ayAlq93ugy6qIvXMmbc5cWMGCDh1h5T4thuWO1e2VNbMq8FA==",
+      "dev": true,
+      "bin": {
+        "rollup": "dist/bin/rollup"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.1"
+      }
+    },
+    "node_modules/rollup-plugin-terser": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
+      "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.10.4",
+        "jest-worker": "^26.2.1",
+        "serialize-javascript": "^4.0.0",
+        "terser": "^5.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^2.0.0"
+      }
+    },
+    "node_modules/rollup-plugin-terser/node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "dev": true
+    },
+    "node_modules/rollup-plugin-terser/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/rollup-plugin-terser/node_modules/jest-worker": {
+      "version": "26.6.2",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
+      "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "merge-stream": "^2.0.0",
+        "supports-color": "^7.0.0"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      }
+    },
+    "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+      "dev": true,
+      "dependencies": {
+        "randombytes": "^2.1.0"
+      }
+    },
+    "node_modules/rollup-plugin-terser/node_modules/source-map": {
+      "version": "0.7.3",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/rollup-plugin-terser/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/rollup-plugin-terser/node_modules/terser": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz",
+      "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==",
+      "dev": true,
+      "dependencies": {
+        "commander": "^2.20.0",
+        "source-map": "~0.7.2",
+        "source-map-support": "~0.5.19"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/safe-regex": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+      "dev": true,
+      "dependencies": {
+        "ret": "~0.1.10"
+      }
+    },
+    "node_modules/safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+      "dev": true
+    },
+    "node_modules/schema-utils": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/schema-utils/-/schema-utils-3.0.0.tgz",
+      "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.6",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      }
+    },
+    "node_modules/select-hose": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+      "dev": true
+    },
+    "node_modules/selfsigned": {
+      "version": "1.10.11",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/selfsigned/-/selfsigned-1.10.11.tgz",
+      "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==",
+      "dev": true,
+      "dependencies": {
+        "node-forge": "^0.10.0"
+      }
+    },
+    "node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "destroy": "~1.0.4",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "~1.7.2",
+        "mime": "1.6.0",
+        "ms": "2.1.1",
+        "on-finished": "~2.3.0",
+        "range-parser": "~1.2.1",
+        "statuses": "~1.5.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/send/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/send/node_modules/debug/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "node_modules/send/node_modules/ms": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+      "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+      "dev": true
+    },
+    "node_modules/serialize-javascript": {
+      "version": "5.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
+      "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+      "dev": true,
+      "dependencies": {
+        "randombytes": "^2.1.0"
+      }
+    },
+    "node_modules/serve-index": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+      "dev": true,
+      "dependencies": {
+        "accepts": "~1.3.4",
+        "batch": "0.6.1",
+        "debug": "2.6.9",
+        "escape-html": "~1.0.3",
+        "http-errors": "~1.6.2",
+        "mime-types": "~2.1.17",
+        "parseurl": "~1.3.2"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/serve-index/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/serve-index/node_modules/http-errors": {
+      "version": "1.6.3",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+      "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+      "dev": true,
+      "dependencies": {
+        "depd": "~1.1.2",
+        "inherits": "2.0.3",
+        "setprototypeof": "1.1.0",
+        "statuses": ">= 1.4.0 < 2"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/serve-index/node_modules/inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "dev": true
+    },
+    "node_modules/serve-index/node_modules/setprototypeof": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+      "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+      "dev": true
+    },
+    "node_modules/serve-static": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+      "dev": true,
+      "dependencies": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.17.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+      "dev": true
+    },
+    "node_modules/set-value": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^2.0.1",
+        "is-extendable": "^0.1.1",
+        "is-plain-object": "^2.0.3",
+        "split-string": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/set-value/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/setprototypeof": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
+      "dev": true
+    },
+    "node_modules/shallow-clone": {
+      "version": "3.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/shallow-clone/-/shallow-clone-3.0.1.tgz",
+      "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shelljs": {
+      "version": "0.8.5",
+      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
+      "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.0.0",
+        "interpret": "^1.0.0",
+        "rechoir": "^0.6.2"
+      },
+      "bin": {
+        "shjs": "bin/shjs"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/signal-exit": {
+      "version": "3.0.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/signal-exit/-/signal-exit-3.0.3.tgz",
+      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+      "dev": true
+    },
+    "node_modules/snapdragon": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+      "dev": true,
+      "dependencies": {
+        "base": "^0.11.1",
+        "debug": "^2.2.0",
+        "define-property": "^0.2.5",
+        "extend-shallow": "^2.0.1",
+        "map-cache": "^0.2.2",
+        "source-map": "^0.5.6",
+        "source-map-resolve": "^0.5.0",
+        "use": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+      "dev": true,
+      "dependencies": {
+        "define-property": "^1.0.0",
+        "isobject": "^3.0.0",
+        "snapdragon-util": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/is-data-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/is-descriptor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^1.0.0",
+        "is-data-descriptor": "^1.0.0",
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-util": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.2.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-util/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/snapdragon/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/sockjs": {
+      "version": "0.3.21",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/sockjs/-/sockjs-0.3.21.tgz",
+      "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==",
+      "dev": true,
+      "dependencies": {
+        "faye-websocket": "^0.11.3",
+        "uuid": "^3.4.0",
+        "websocket-driver": "^0.7.4"
+      }
+    },
+    "node_modules/sockjs-client": {
+      "version": "1.5.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/sockjs-client/-/sockjs-client-1.5.1.tgz",
+      "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^3.2.6",
+        "eventsource": "^1.0.7",
+        "faye-websocket": "^0.11.3",
+        "inherits": "^2.0.4",
+        "json3": "^3.3.3",
+        "url-parse": "^1.5.1"
+      }
+    },
+    "node_modules/sockjs-client/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/sockjs-client/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "node_modules/source-list-map": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+      "dev": true
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-resolve": {
+      "version": "0.5.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+      "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+      "dev": true,
+      "dependencies": {
+        "atob": "^2.1.2",
+        "decode-uri-component": "^0.2.0",
+        "resolve-url": "^0.2.1",
+        "source-map-url": "^0.4.0",
+        "urix": "^0.1.0"
+      }
+    },
+    "node_modules/source-map-support": {
+      "version": "0.5.19",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/source-map-support/-/source-map-support-0.5.19.tgz",
+      "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+      "dev": true,
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
+    },
+    "node_modules/source-map-url": {
+      "version": "0.4.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/source-map-url/-/source-map-url-0.4.1.tgz",
+      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+      "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
+      "dev": true
+    },
+    "node_modules/spdx-correct": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+      "dev": true,
+      "dependencies": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-exceptions": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+      "dev": true
+    },
+    "node_modules/spdx-expression-parse": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+      "dev": true,
+      "dependencies": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-license-ids": {
+      "version": "3.0.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz",
+      "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==",
+      "dev": true
+    },
+    "node_modules/spdy": {
+      "version": "4.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/spdy/-/spdy-4.0.2.tgz",
+      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.0",
+        "handle-thing": "^2.0.0",
+        "http-deceiver": "^1.2.7",
+        "select-hose": "^2.0.0",
+        "spdy-transport": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/spdy-transport": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.0",
+        "detect-node": "^2.0.4",
+        "hpack.js": "^2.1.6",
+        "obuf": "^1.1.2",
+        "readable-stream": "^3.0.6",
+        "wbuf": "^1.7.3"
+      }
+    },
+    "node_modules/split": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
+      "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+      "dev": true,
+      "dependencies": {
+        "through": "2"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/split-string": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/split2": {
+      "version": "3.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/split2/-/split2-3.2.2.tgz",
+      "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "^3.0.0"
+      }
+    },
+    "node_modules/standard-version": {
+      "version": "7.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/standard-version/-/standard-version-7.1.0.tgz",
+      "integrity": "sha512-bHY2E/1tYGeVl+0XSXFivb+54h2fA4pWJocXAd6FGbtSFUvGsnfmMbIXYDxrYErpq7oEqoKreV8xTAp78WoATA==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "2.4.2",
+        "conventional-changelog": "3.1.15",
+        "conventional-changelog-config-spec": "2.1.0",
+        "conventional-changelog-conventionalcommits": "4.2.3",
+        "conventional-recommended-bump": "6.0.5",
+        "detect-indent": "6.0.0",
+        "detect-newline": "3.1.0",
+        "dotgitignore": "2.1.0",
+        "figures": "3.1.0",
+        "find-up": "4.1.0",
+        "fs-access": "1.0.1",
+        "git-semver-tags": "3.0.1",
+        "semver": "6.3.0",
+        "stringify-package": "1.0.1",
+        "yargs": "15.0.2"
+      },
+      "bin": {
+        "standard-version": "bin/cli.js"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/static-extend": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+      "dev": true,
+      "dependencies": {
+        "define-property": "^0.2.5",
+        "object-copy": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/static-extend/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/statuses": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/string_decoder": {
+      "version": "1.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.2.0"
+      }
+    },
+    "node_modules/string-width": {
+      "version": "4.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string-width/-/string-width-4.2.2.tgz",
+      "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string-width/node_modules/ansi-regex": {
+      "version": "5.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ansi-regex/-/ansi-regex-5.0.0.tgz",
+      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string-width/node_modules/strip-ansi": {
+      "version": "6.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-ansi/-/strip-ansi-6.0.0.tgz",
+      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/stringify-package": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz",
+      "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==",
+      "dev": true
+    },
+    "node_modules/strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/strip-bom": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+      "dev": true,
+      "dependencies": {
+        "is-utf8": "^0.2.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/strip-eof": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/strip-final-newline": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/strip-indent": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+      "dev": true,
+      "dependencies": {
+        "min-indent": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/tapable": {
+      "version": "2.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/tapable/-/tapable-2.2.0.tgz",
+      "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/terser": {
+      "version": "4.8.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/terser/-/terser-4.8.0.tgz",
+      "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+      "dev": true,
+      "dependencies": {
+        "commander": "^2.20.0",
+        "source-map": "~0.6.1",
+        "source-map-support": "~0.5.12"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/terser-webpack-plugin": {
+      "version": "5.1.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz",
+      "integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==",
+      "dev": true,
+      "dependencies": {
+        "jest-worker": "^27.0.2",
+        "p-limit": "^3.1.0",
+        "schema-utils": "^3.0.0",
+        "serialize-javascript": "^5.0.1",
+        "source-map": "^0.6.1",
+        "terser": "^5.7.0"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^5.1.0"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "dev": true
+    },
+    "node_modules/terser-webpack-plugin/node_modules/p-limit": {
+      "version": "3.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/p-limit/-/p-limit-3.1.0.tgz",
+      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+      "dev": true,
+      "dependencies": {
+        "yocto-queue": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/terser": {
+      "version": "5.7.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/terser/-/terser-5.7.0.tgz",
+      "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==",
+      "dev": true,
+      "dependencies": {
+        "commander": "^2.20.0",
+        "source-map": "~0.7.2",
+        "source-map-support": "~0.5.19"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": {
+      "version": "0.7.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/source-map/-/source-map-0.7.3.tgz",
+      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/terser/node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "dev": true
+    },
+    "node_modules/text-extensions": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
+      "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+      "dev": true
+    },
+    "node_modules/through2": {
+      "version": "4.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/through2/-/through2-4.0.2.tgz",
+      "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "3"
+      }
+    },
+    "node_modules/thunky": {
+      "version": "1.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/thunky/-/thunky-1.1.0.tgz",
+      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
+      "dev": true
+    },
+    "node_modules/to-object-path": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/to-object-path/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/to-regex": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+      "dev": true,
+      "dependencies": {
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "regex-not": "^1.0.2",
+        "safe-regex": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/toidentifier": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/trim-newlines": {
+      "version": "3.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/trim-newlines/-/trim-newlines-3.0.1.tgz",
+      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/trim-off-newlines": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz",
+      "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/ts-loader": {
+      "version": "9.2.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ts-loader/-/ts-loader-9.2.3.tgz",
+      "integrity": "sha512-sEyWiU3JMHBL55CIeC4iqJQadI0U70A5af0kvgbNLHVNz2ACztQg0j/9x10bjjIht8WfFYLKfn4L6tkZ+pu+8Q==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "enhanced-resolve": "^5.0.0",
+        "micromatch": "^4.0.0",
+        "semver": "^7.3.4"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "typescript": "*",
+        "webpack": "^5.0.0"
+      }
+    },
+    "node_modules/ts-loader/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/ts-loader/node_modules/chalk": {
+      "version": "4.1.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/chalk/-/chalk-4.1.1.tgz",
+      "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/ts-loader/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/ts-loader/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/ts-loader/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ts-loader/node_modules/semver": {
+      "version": "7.3.5",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/semver/-/semver-7.3.5.tgz",
+      "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/ts-loader/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/tslib": {
+      "version": "2.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/tslib/-/tslib-2.3.0.tgz",
+      "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
+      "dev": true
+    },
+    "node_modules/type-fest": {
+      "version": "0.18.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/type-fest/-/type-fest-0.18.1.tgz",
+      "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/type-is": {
+      "version": "1.6.18",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+      "dev": true,
+      "dependencies": {
+        "media-typer": "0.3.0",
+        "mime-types": "~2.1.24"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/typedarray": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+      "dev": true
+    },
+    "node_modules/typescript": {
+      "version": "4.3.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/typescript/-/typescript-4.3.4.tgz",
+      "integrity": "sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==",
+      "dev": true,
+      "bin": {
+        "tsc": "bin/tsc",
+        "tsserver": "bin/tsserver"
+      },
+      "engines": {
+        "node": ">=4.2.0"
+      }
+    },
+    "node_modules/uglify-js": {
+      "version": "3.13.9",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/uglify-js/-/uglify-js-3.13.9.tgz",
+      "integrity": "sha512-wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g==",
+      "dev": true,
+      "optional": true,
+      "bin": {
+        "uglifyjs": "bin/uglifyjs"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/union-value": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+      "dev": true,
+      "dependencies": {
+        "arr-union": "^3.1.0",
+        "get-value": "^2.0.6",
+        "is-extendable": "^0.1.1",
+        "set-value": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/universalify": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/unset-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+      "dev": true,
+      "dependencies": {
+        "has-value": "^0.3.1",
+        "isobject": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/unset-value/node_modules/has-value": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+      "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+      "dev": true,
+      "dependencies": {
+        "get-value": "^2.0.3",
+        "has-values": "^0.1.4",
+        "isobject": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+      "dev": true,
+      "dependencies": {
+        "isarray": "1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/unset-value/node_modules/has-values": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+      "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/upath": {
+      "version": "1.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/upath/-/upath-1.2.0.tgz",
+      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4",
+        "yarn": "*"
+      }
+    },
+    "node_modules/uri-js": {
+      "version": "4.4.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/uri-js/-/uri-js-4.4.1.tgz",
+      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+      "dev": true,
+      "dependencies": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "node_modules/urix": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+      "deprecated": "Please see https://github.com/lydell/urix#deprecated",
+      "dev": true
+    },
+    "node_modules/url": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+      "dev": true,
+      "dependencies": {
+        "punycode": "1.3.2",
+        "querystring": "0.2.0"
+      }
+    },
+    "node_modules/url-parse": {
+      "version": "1.5.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/url-parse/-/url-parse-1.5.1.tgz",
+      "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
+      "dev": true,
+      "dependencies": {
+        "querystringify": "^2.1.1",
+        "requires-port": "^1.0.0"
+      }
+    },
+    "node_modules/url/node_modules/punycode": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+      "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+      "dev": true
+    },
+    "node_modules/use": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
+    },
+    "node_modules/utila": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
+      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
+      "dev": true
+    },
+    "node_modules/utils-merge": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/uuid": {
+      "version": "3.4.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/uuid/-/uuid-3.4.0.tgz",
+      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
+      "dev": true,
+      "bin": {
+        "uuid": "bin/uuid"
+      }
+    },
+    "node_modules/v8-compile-cache": {
+      "version": "2.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+      "dev": true
+    },
+    "node_modules/validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+      "dev": true,
+      "dependencies": {
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
+      }
+    },
+    "node_modules/vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/vue": {
+      "version": "2.6.10",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
+      "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==",
+      "dev": true
+    },
+    "node_modules/watchpack": {
+      "version": "2.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/watchpack/-/watchpack-2.2.0.tgz",
+      "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==",
+      "dev": true,
+      "dependencies": {
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.1.2"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/wbuf": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+      "dev": true,
+      "dependencies": {
+        "minimalistic-assert": "^1.0.0"
+      }
+    },
+    "node_modules/webpack": {
+      "version": "5.39.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/webpack/-/webpack-5.39.0.tgz",
+      "integrity": "sha512-25CHmuDj+oOTyteI13sUqNlCnjCnySuhiKWE/cRYPQYeoQ3ijHgyWX27CiyUKLNGq27v8S0mrksyTreT/xo7pg==",
+      "dev": true,
+      "dependencies": {
+        "@types/eslint-scope": "^3.7.0",
+        "@types/estree": "^0.0.47",
+        "@webassemblyjs/ast": "1.11.0",
+        "@webassemblyjs/wasm-edit": "1.11.0",
+        "@webassemblyjs/wasm-parser": "1.11.0",
+        "acorn": "^8.2.1",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.8.0",
+        "es-module-lexer": "^0.4.0",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.4",
+        "json-parse-better-errors": "^1.0.2",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.0.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.1.1",
+        "watchpack": "^2.2.0",
+        "webpack-sources": "^2.3.0"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-cli": {
+      "version": "4.7.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/webpack-cli/-/webpack-cli-4.7.2.tgz",
+      "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==",
+      "dev": true,
+      "dependencies": {
+        "@discoveryjs/json-ext": "^0.5.0",
+        "@webpack-cli/configtest": "^1.0.4",
+        "@webpack-cli/info": "^1.3.0",
+        "@webpack-cli/serve": "^1.5.1",
+        "colorette": "^1.2.1",
+        "commander": "^7.0.0",
+        "execa": "^5.0.0",
+        "fastest-levenshtein": "^1.0.12",
+        "import-local": "^3.0.2",
+        "interpret": "^2.2.0",
+        "rechoir": "^0.7.0",
+        "v8-compile-cache": "^2.2.0",
+        "webpack-merge": "^5.7.3"
+      },
+      "bin": {
+        "webpack-cli": "bin/cli.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "peerDependencies": {
+        "webpack": "4.x.x || 5.x.x"
+      },
+      "peerDependenciesMeta": {
+        "@webpack-cli/generators": {
+          "optional": true
+        },
+        "@webpack-cli/migrate": {
+          "optional": true
+        },
+        "webpack-bundle-analyzer": {
+          "optional": true
+        },
+        "webpack-dev-server": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-cli/node_modules/commander": {
+      "version": "7.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/commander/-/commander-7.2.0.tgz",
+      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/webpack-cli/node_modules/interpret": {
+      "version": "2.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/interpret/-/interpret-2.2.0.tgz",
+      "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/webpack-cli/node_modules/rechoir": {
+      "version": "0.7.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/rechoir/-/rechoir-0.7.0.tgz",
+      "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
+      "dev": true,
+      "dependencies": {
+        "resolve": "^1.9.0"
+      },
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/webpack-dev-middleware": {
+      "version": "3.7.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
+      "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
+      "dev": true,
+      "dependencies": {
+        "memory-fs": "^0.4.1",
+        "mime": "^2.4.4",
+        "mkdirp": "^0.5.1",
+        "range-parser": "^1.2.1",
+        "webpack-log": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "webpack": "^4.0.0 || ^5.0.0"
+      }
+    },
+    "node_modules/webpack-dev-middleware/node_modules/mime": {
+      "version": "2.5.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/mime/-/mime-2.5.2.tgz",
+      "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
+      "dev": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/webpack-dev-server": {
+      "version": "3.11.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz",
+      "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-html": "0.0.7",
+        "bonjour": "^3.5.0",
+        "chokidar": "^2.1.8",
+        "compression": "^1.7.4",
+        "connect-history-api-fallback": "^1.6.0",
+        "debug": "^4.1.1",
+        "del": "^4.1.1",
+        "express": "^4.17.1",
+        "html-entities": "^1.3.1",
+        "http-proxy-middleware": "0.19.1",
+        "import-local": "^2.0.0",
+        "internal-ip": "^4.3.0",
+        "ip": "^1.1.5",
+        "is-absolute-url": "^3.0.3",
+        "killable": "^1.0.1",
+        "loglevel": "^1.6.8",
+        "opn": "^5.5.0",
+        "p-retry": "^3.0.1",
+        "portfinder": "^1.0.26",
+        "schema-utils": "^1.0.0",
+        "selfsigned": "^1.10.8",
+        "semver": "^6.3.0",
+        "serve-index": "^1.9.1",
+        "sockjs": "^0.3.21",
+        "sockjs-client": "^1.5.0",
+        "spdy": "^4.0.2",
+        "strip-ansi": "^3.0.1",
+        "supports-color": "^6.1.0",
+        "url": "^0.11.0",
+        "webpack-dev-middleware": "^3.7.2",
+        "webpack-log": "^2.0.0",
+        "ws": "^6.2.1",
+        "yargs": "^13.3.2"
+      },
+      "bin": {
+        "webpack-dev-server": "bin/webpack-dev-server.js"
+      },
+      "engines": {
+        "node": ">= 6.11.5"
+      },
+      "peerDependencies": {
+        "webpack": "^4.0.0 || ^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/ansi-regex": {
+      "version": "4.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ansi-regex/-/ansi-regex-4.1.0.tgz",
+      "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/cliui": {
+      "version": "5.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/cliui/-/cliui-5.0.0.tgz",
+      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^3.1.0",
+        "strip-ansi": "^5.2.0",
+        "wrap-ansi": "^5.1.0"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": {
+      "version": "5.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-ansi/-/strip-ansi-5.2.0.tgz",
+      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/emoji-regex": {
+      "version": "7.0.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/emoji-regex/-/emoji-regex-7.0.3.tgz",
+      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+      "dev": true
+    },
+    "node_modules/webpack-dev-server/node_modules/find-up": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/find-up/-/find-up-3.0.0.tgz",
+      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/import-local": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/import-local/-/import-local-2.0.0.tgz",
+      "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+      "dev": true,
+      "dependencies": {
+        "pkg-dir": "^3.0.0",
+        "resolve-cwd": "^2.0.0"
+      },
+      "bin": {
+        "import-local-fixture": "fixtures/cli.js"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/locate-path": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/locate-path/-/locate-path-3.0.0.tgz",
+      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^3.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/p-locate": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/p-locate/-/p-locate-3.0.0.tgz",
+      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/pkg-dir": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/pkg-dir/-/pkg-dir-3.0.0.tgz",
+      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/resolve-cwd": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
+      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+      "dev": true,
+      "dependencies": {
+        "resolve-from": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/resolve-from": {
+      "version": "3.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/resolve-from/-/resolve-from-3.0.0.tgz",
+      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/schema-utils": {
+      "version": "1.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/schema-utils/-/schema-utils-1.0.0.tgz",
+      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^6.1.0",
+        "ajv-errors": "^1.0.0",
+        "ajv-keywords": "^3.1.0"
+      },
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/string-width": {
+      "version": "3.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string-width/-/string-width-3.1.0.tgz",
+      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^7.0.1",
+        "is-fullwidth-code-point": "^2.0.0",
+        "strip-ansi": "^5.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": {
+      "version": "5.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-ansi/-/strip-ansi-5.2.0.tgz",
+      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/supports-color": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/wrap-ansi": {
+      "version": "5.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.0",
+        "string-width": "^3.0.0",
+        "strip-ansi": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": {
+      "version": "5.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-ansi/-/strip-ansi-5.2.0.tgz",
+      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/yargs": {
+      "version": "13.3.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yargs/-/yargs-13.3.2.tgz",
+      "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^5.0.0",
+        "find-up": "^3.0.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^3.0.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^13.1.2"
+      }
+    },
+    "node_modules/webpack-dev-server/node_modules/yargs-parser": {
+      "version": "13.1.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yargs-parser/-/yargs-parser-13.1.2.tgz",
+      "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      }
+    },
+    "node_modules/webpack-log": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
+      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-colors": "^3.0.0",
+        "uuid": "^3.3.2"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/webpack-merge": {
+      "version": "5.8.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/webpack-merge/-/webpack-merge-5.8.0.tgz",
+      "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
+      "dev": true,
+      "dependencies": {
+        "clone-deep": "^4.0.1",
+        "wildcard": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/webpack-sources": {
+      "version": "2.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/webpack-sources/-/webpack-sources-2.3.0.tgz",
+      "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==",
+      "dev": true,
+      "dependencies": {
+        "source-list-map": "^2.0.1",
+        "source-map": "^0.6.1"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/websocket-driver": {
+      "version": "0.7.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/websocket-driver/-/websocket-driver-0.7.4.tgz",
+      "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
+      "dev": true,
+      "dependencies": {
+        "http-parser-js": ">=0.5.1",
+        "safe-buffer": ">=5.1.0",
+        "websocket-extensions": ">=0.1.1"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/websocket-extensions": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+      "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/which-module": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+      "dev": true
+    },
+    "node_modules/wildcard": {
+      "version": "2.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/wildcard/-/wildcard-2.0.0.tgz",
+      "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+      "dev": true
+    },
+    "node_modules/wordwrap": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+      "dev": true
+    },
+    "node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-regex": {
+      "version": "5.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ansi-regex/-/ansi-regex-5.0.0.tgz",
+      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/wrap-ansi/node_modules/strip-ansi": {
+      "version": "6.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/strip-ansi/-/strip-ansi-6.0.0.tgz",
+      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+      "dev": true
+    },
+    "node_modules/ws": {
+      "version": "6.2.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/ws/-/ws-6.2.2.tgz",
+      "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
+      "dev": true,
+      "dependencies": {
+        "async-limiter": "~1.0.0"
+      }
+    },
+    "node_modules/xtend": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4"
+      }
+    },
+    "node_modules/y18n": {
+      "version": "4.0.3",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+      "dev": true
+    },
+    "node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "node_modules/yaml": {
+      "version": "1.10.2",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/yargs": {
+      "version": "15.0.2",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yargs/-/yargs-15.0.2.tgz",
+      "integrity": "sha512-GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^16.1.0"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "20.2.7",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yargs-parser/-/yargs-parser-20.2.7.tgz",
+      "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yargs/node_modules/yargs-parser": {
+      "version": "16.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yargs-parser/-/yargs-parser-16.1.0.tgz",
+      "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      }
+    },
+    "node_modules/yocto-queue": {
+      "version": "0.1.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/yocto-queue/-/yocto-queue-0.1.0.tgz",
+      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    }
+  },
   "dependencies": {
     "@babel/code-frame": {
       "version": "7.14.5",
@@ -730,7 +10344,8 @@
       "version": "1.0.4",
       "resolved": "http://npm.midea.com:8090/repository/npm-public/@webpack-cli/configtest/-/configtest-1.0.4.tgz",
       "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==",
-      "dev": true
+      "dev": true,
+      "requires": {}
     },
     "@webpack-cli/info": {
       "version": "1.3.0",
@@ -745,7 +10360,8 @@
       "version": "1.5.1",
       "resolved": "http://npm.midea.com:8090/repository/npm-public/@webpack-cli/serve/-/serve-1.5.1.tgz",
       "integrity": "sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw==",
-      "dev": true
+      "dev": true,
+      "requires": {}
     },
     "@xtuc/ieee754": {
       "version": "1.2.0",
@@ -759,16 +10375,6 @@
       "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
       "dev": true
     },
-    "JSONStream": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
-      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
-      "dev": true,
-      "requires": {
-        "jsonparse": "^1.2.0",
-        "through": ">=2.2.7 <3"
-      }
-    },
     "accepts": {
       "version": "1.3.7",
       "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -807,13 +10413,15 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
       "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true
+      "dev": true,
+      "requires": {}
     },
     "ajv-keywords": {
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
       "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true
+      "dev": true,
+      "requires": {}
     },
     "ansi-colors": {
       "version": "3.2.4",
@@ -1387,7 +10995,11 @@
           "resolved": "http://npm.midea.com:8090/repository/npm-public/fsevents/-/fsevents-1.2.13.tgz",
           "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
           "dev": true,
-          "optional": true
+          "optional": true,
+          "requires": {
+            "bindings": "^1.5.0",
+            "nan": "^2.12.1"
+          }
         },
         "is-number": {
           "version": "3.0.0",
@@ -1849,8 +11461,8 @@
       "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==",
       "dev": true,
       "requires": {
-        "JSONStream": "^1.0.4",
         "is-text-path": "^1.0.1",
+        "JSONStream": "^1.0.4",
         "lodash": "^4.17.15",
         "meow": "^8.0.0",
         "split2": "^3.0.0",
@@ -4368,6 +13980,16 @@
       "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
       "dev": true
     },
+    "JSONStream": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+      "dev": true,
+      "requires": {
+        "jsonparse": "^1.2.0",
+        "through": ">=2.2.7 <3"
+      }
+    },
     "killable": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@@ -6159,9 +15781,9 @@
       "dev": true
     },
     "shelljs": {
-      "version": "0.8.4",
-      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz",
-      "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==",
+      "version": "0.8.5",
+      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
+      "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
       "dev": true,
       "requires": {
         "glob": "^7.0.0",
@@ -6516,6 +16138,15 @@
       "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
       "dev": true
     },
+    "string_decoder": {
+      "version": "1.3.0",
+      "resolved": "http://npm.midea.com:8090/repository/npm-public/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "~5.2.0"
+      }
+    },
     "string-width": {
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
@@ -6544,6 +16175,7 @@
         }
       }
     },
+<<<<<<< HEAD
     "string_decoder": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -6553,6 +16185,8 @@
         "safe-buffer": "~5.2.0"
       }
     },
+=======
+>>>>>>> e52d3d1ea8271860ffb86b7076b792a413cdb5aa
     "stringify-package": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz",
diff --git a/package.json b/package.json
index d1bec8b..96964ec 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,18 @@
 {
   "name": "@daxiazilong/image-preview",
-  "version": "2.1.3",
+  "version": "2.2.0",
   "description": "preview image on web page。rotate,zoom.etc. 移动端JS 图片预览 插件 支持 预览图片,旋转,放大(双指/双击)。",
-  "keywords": ["image preview", "viewer", "preview image"],
+  "keywords": [
+    "image preview",
+    "viewer",
+    "preview image"
+  ],
   "main": "release/image-preview/image-preview-cjs-min.js",
   "module": "release/image-preview/image-preview-esm-min.js",
+  "types": "release/types/core/image-preview.d.ts",
   "scripts": {
     "start": "webpack serve --open Chrome.exe --mode=development",
-    "build": "node scripts/beforeBuild.js && npm run genModule",
+    "build": "node scripts/build.js",
     "compileTs": "tsc --project ./src",
     "buildTest": "webpack --mode=production",
     "genModule": "./scripts/genModule.sh",
@@ -17,7 +22,6 @@
     "url": "https://github.com/daxiazilong/image-preview"
   },
   "author": "zilong",
-  "dependencies": {},
   "devDependencies": {
     "@commitlint/cli": "^12.1.4",
     "@commitlint/config-conventional": "^12.1.4",
@@ -26,6 +30,7 @@
     "husky": "^7.0.1",
     "rollup": "^2.32.0",
     "rollup-plugin-terser": "^7.0.2",
+    "shelljs": "^0.8.5",
     "standard-version": "^7.0.1",
     "ts-loader": "^9.2.3",
     "typescript": "^4.3.4",
diff --git a/release/image-preview/image-preview-amd-min.js b/release/image-preview/image-preview-amd-min.js
index a6fc55f..cdc3891 100644
--- a/release/image-preview/image-preview-amd-min.js
+++ b/release/image-preview/image-preview-amd-min.js
@@ -1 +1,5 @@
+<<<<<<< HEAD
 define(["exports"],(function(t){"use strict";var e,i=(e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),n=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},r=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=function(t){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return i(e,t),e.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},e.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},e.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},e.prototype.handleWheel=function(t){return n(this,void 0,void 0,(function(){var e,i,n,o,s,a,h,l,c,u;return r(this,(function(r){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,n=this.actionExecutor,o=n.viewWidth/(2*n.dpr),s=n.viewHeight/(2*n.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),n.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},e.prototype.handlePCDoubleClick=function(t){return n(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},e.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},e.prototype.slideBefore=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e.prototype.slideNext=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e}(t)},s=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),a=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),h=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},l=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},c=function(){function t(){}return t.prototype.rotateLeft=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),u=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},d={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?d.multiplyPoint.apply(d,u([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?d.multiplyMatrices.apply(d,u([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=d.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},f=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),p=new f(0,0,1,1);new f(.25,.1,.25,1),new f(.42,0,1,1),new f(0,0,.58,1),new f(.42,0,.58,1);var g=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},v=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},m=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(d.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return g(this,void 0,void 0,(function(){var t,i,n,r,o,s;return v(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return g(this,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return g(this,void 0,void 0,(function(){var i;return v(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var w=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},x=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},y=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},M=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},b=new f(.18,.96,.18,.96);function E(t){return 0==(t&t-1)}var T,P=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new m(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return x(this,void 0,void 0,(function(){return y(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=d.multiplyPoint(i,d.rotateZMatrix(t)),this.imgShapeInitinal=d.multiplyPoint(n,d.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(d.translateMatrix(t[1],t[2],0),d.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=d.multiplyMatrices(this.baseModel,d.translateMatrix(0,0,i-e),d.rotateYMatrix(t),d.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(d.scaleMatrix(t[0],t[1],1),d.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:b,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(d.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],u=d.multiplyPoint.apply(d,M([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=u[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(d.scaleMatrix(t,e,1),d.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;E(t)&&E(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,M([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=w(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),I=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},A=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},S=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},D=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new P({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return A(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return A(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return S(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return A(this,void 0,void 0,(function(){var e,i,n;return S(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=I([o],t)}();T=D,[s,a,c].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){T.prototype[e]=t.prototype[e]}))})),t.ImagePreview=D,Object.defineProperty(t,"__esModule",{value:!0})}));
+=======
+define(["exports"],(function(t){"use strict";var e,i=(e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),n=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},r=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=function(t){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return i(e,t),e.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},e.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},e.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},e.prototype.handleWheel=function(t){return n(this,void 0,void 0,(function(){var e,i,n,o,s,a,h,l,c,u;return r(this,(function(r){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,n=this.actionExecutor,o=n.viewWidth/(2*n.dpr),s=n.viewHeight/(2*n.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),n.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},e.prototype.handlePCDoubleClick=function(t){return n(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},e.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},e.prototype.slideBefore=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e.prototype.slideNext=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e}(t)},s=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),a=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),h=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},l=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},c=function(){function t(){}return t.prototype.rotateLeft=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),u=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},d={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?d.multiplyPoint.apply(d,u([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?d.multiplyMatrices.apply(d,u([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=d.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},f=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),p=new f(0,0,1,1);new f(.25,.1,.25,1),new f(.42,0,1,1),new f(0,0,.58,1),new f(.42,0,.58,1);var g=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},v=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},m=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(d.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return g(this,void 0,void 0,(function(){var t,i,n,r,o,s;return v(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return g(this,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return g(this,void 0,void 0,(function(){var i;return v(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var w=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},x=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},y=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},M=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},b=new f(.18,.96,.18,.96);function E(t){return 0==(t&t-1)}var T,P=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new m(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return x(this,void 0,void 0,(function(){return y(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=d.multiplyPoint(i,d.rotateZMatrix(t)),this.imgShapeInitinal=d.multiplyPoint(n,d.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(d.translateMatrix(t[1],t[2],0),d.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=d.multiplyMatrices(this.baseModel,d.translateMatrix(0,0,i-e),d.rotateYMatrix(t),d.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(d.scaleMatrix(t[0],t[1],1),d.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:b,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(d.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],u=d.multiplyPoint.apply(d,M([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=u[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(d.scaleMatrix(t,e,1),d.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;E(t)&&E(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,M([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=w(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),I=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},A=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},S=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},D=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new P({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return A(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return A(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return S(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return A(this,void 0,void 0,(function(){var e,i,n;return S(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){"number"!=typeof t&&(console.error("index is not a number, will use zero as parameter"),t=0),this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=I([o],t)}();T=D,[s,a,c].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){T.prototype[e]=t.prototype[e]}))})),t.ImagePreview=D,Object.defineProperty(t,"__esModule",{value:!0})}));
+>>>>>>> e52d3d1ea8271860ffb86b7076b792a413cdb5aa
diff --git a/release/image-preview/image-preview-amd.js b/release/image-preview/image-preview-amd.js
index 6242a45..1c4b914 100644
--- a/release/image-preview/image-preview-amd.js
+++ b/release/image-preview/image-preview-amd.js
@@ -2468,6 +2468,10 @@ define(['exports'], function (exports) { 'use strict';
         };
         ImagePreview.prototype.mobileBeforeClose = function () { };
         ImagePreview.prototype.show = function (index) {
+            if (typeof index !== 'number') {
+                console.error('index is not a number, will use zero as parameter');
+                index = 0;
+            }
             this.actionExecutor.curIndex = index;
             this.actionExecutor.draw(index);
             this.toggleClass(this.ref, this.defToggleClass);
diff --git a/release/image-preview/image-preview-cjs-min.js b/release/image-preview/image-preview-cjs-min.js
index b8e07e1..aa8f2b2 100644
--- a/release/image-preview/image-preview-cjs-min.js
+++ b/release/image-preview/image-preview-cjs-min.js
@@ -1 +1,5 @@
+<<<<<<< HEAD
 "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=(t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)},function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),i=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},n=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},r=function(t){return function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return e(r,t),r.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},r.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},r.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},r.prototype.handleWheel=function(t){return i(this,void 0,void 0,(function(){var e,i,r,o,s,a,h,l,c,u;return n(this,(function(n){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,r=this.actionExecutor,o=r.viewWidth/(2*r.dpr),s=r.viewHeight/(2*r.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),r.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},r.prototype.handlePCDoubleClick=function(t){return i(this,void 0,void 0,(function(){return n(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},r.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},r.prototype.slideBefore=function(){return i(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},r.prototype.slideNext=function(){return i(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},r}(t)},o=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),s=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),a=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},h=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},l=function(){function t(){}return t.prototype.rotateLeft=function(t){return a(this,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return a(this,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),c=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},u={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?u.multiplyPoint.apply(u,c([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?u.multiplyMatrices.apply(u,c([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=u.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},d=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),f=new d(0,0,1,1);new d(.25,.1,.25,1),new d(.42,0,1,1),new d(0,0,.58,1),new d(.42,0,.58,1);var p=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},g=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},v=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(u.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return p(this,void 0,void 0,(function(){var t,i,n,r,o,s;return g(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return p(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return p(this,void 0,void 0,(function(){var i;return g(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var m=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},w=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},x=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},y=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},M=new d(.18,.96,.18,.96);function b(t){return 0==(t&t-1)}var E,T=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new v(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return w(this,void 0,void 0,(function(){var t=this;return x(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return w(this,void 0,void 0,(function(){var t=this;return x(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return w(this,void 0,void 0,(function(){return x(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=u.multiplyPoint(i,u.rotateZMatrix(t)),this.imgShapeInitinal=u.multiplyPoint(n,u.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(u.translateMatrix(t[1],t[2],0),u.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=u.multiplyMatrices(this.baseModel,u.translateMatrix(0,0,i-e),u.rotateYMatrix(t),u.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(u.scaleMatrix(t[0],t[1],1),u.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:M,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(u.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],d=u.multiplyPoint.apply(u,y([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=d[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(u.scaleMatrix(t,e,1),u.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;b(t)&&b(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,y([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=m(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),P=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},I=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},A=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},S=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new T({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return I(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return I(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return A(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return I(this,void 0,void 0,(function(){var e,i,n;return A(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=P([r],t)}();E=S,[o,s,l].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){E.prototype[e]=t.prototype[e]}))})),exports.ImagePreview=S;
+=======
+"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=(t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)},function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),i=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},n=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},r=function(t){return function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return e(r,t),r.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},r.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},r.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},r.prototype.handleWheel=function(t){return i(this,void 0,void 0,(function(){var e,i,r,o,s,a,h,l,c,u;return n(this,(function(n){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,r=this.actionExecutor,o=r.viewWidth/(2*r.dpr),s=r.viewHeight/(2*r.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),r.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},r.prototype.handlePCDoubleClick=function(t){return i(this,void 0,void 0,(function(){return n(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},r.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},r.prototype.slideBefore=function(){return i(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},r.prototype.slideNext=function(){return i(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},r}(t)},o=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),s=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),a=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},h=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},l=function(){function t(){}return t.prototype.rotateLeft=function(t){return a(this,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return a(this,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),c=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},u={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?u.multiplyPoint.apply(u,c([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?u.multiplyMatrices.apply(u,c([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=u.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},d=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),f=new d(0,0,1,1);new d(.25,.1,.25,1),new d(.42,0,1,1),new d(0,0,.58,1),new d(.42,0,.58,1);var p=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},g=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},v=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(u.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return p(this,void 0,void 0,(function(){var t,i,n,r,o,s;return g(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return p(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return p(this,void 0,void 0,(function(){var i;return g(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var m=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},w=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},x=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},y=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},M=new d(.18,.96,.18,.96);function b(t){return 0==(t&t-1)}var E,T=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new v(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return w(this,void 0,void 0,(function(){var t=this;return x(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return w(this,void 0,void 0,(function(){var t=this;return x(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return w(this,void 0,void 0,(function(){return x(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=u.multiplyPoint(i,u.rotateZMatrix(t)),this.imgShapeInitinal=u.multiplyPoint(n,u.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(u.translateMatrix(t[1],t[2],0),u.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=u.multiplyMatrices(this.baseModel,u.translateMatrix(0,0,i-e),u.rotateYMatrix(t),u.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(u.scaleMatrix(t[0],t[1],1),u.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:M,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(u.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],d=u.multiplyPoint.apply(u,y([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=d[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(u.scaleMatrix(t,e,1),u.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;b(t)&&b(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,y([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=m(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),P=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},I=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},A=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},S=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new T({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return I(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return I(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return A(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return I(this,void 0,void 0,(function(){var e,i,n;return A(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){"number"!=typeof t&&(console.error("index is not a number, will use zero as parameter"),t=0),this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=P([r],t)}();E=S,[o,s,l].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){E.prototype[e]=t.prototype[e]}))})),exports.ImagePreview=S;
+>>>>>>> e52d3d1ea8271860ffb86b7076b792a413cdb5aa
diff --git a/release/image-preview/image-preview-cjs.js b/release/image-preview/image-preview-cjs.js
index 0a8fc83..4bf274b 100644
--- a/release/image-preview/image-preview-cjs.js
+++ b/release/image-preview/image-preview-cjs.js
@@ -2470,6 +2470,10 @@ var ImagePreview = (function () {
     };
     ImagePreview.prototype.mobileBeforeClose = function () { };
     ImagePreview.prototype.show = function (index) {
+        if (typeof index !== 'number') {
+            console.error('index is not a number, will use zero as parameter');
+            index = 0;
+        }
         this.actionExecutor.curIndex = index;
         this.actionExecutor.draw(index);
         this.toggleClass(this.ref, this.defToggleClass);
diff --git a/release/image-preview/image-preview-esm-min.js b/release/image-preview/image-preview-esm-min.js
index 458a8d0..23205d1 100644
--- a/release/image-preview/image-preview-esm-min.js
+++ b/release/image-preview/image-preview-esm-min.js
@@ -1 +1,5 @@
+<<<<<<< HEAD
 var t,e=(t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)},function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),i=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},n=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},r=function(t){return function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return e(r,t),r.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},r.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},r.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},r.prototype.handleWheel=function(t){return i(this,void 0,void 0,(function(){var e,i,r,o,s,a,h,l,c,u;return n(this,(function(n){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,r=this.actionExecutor,o=r.viewWidth/(2*r.dpr),s=r.viewHeight/(2*r.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),r.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},r.prototype.handlePCDoubleClick=function(t){return i(this,void 0,void 0,(function(){return n(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},r.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},r.prototype.slideBefore=function(){return i(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},r.prototype.slideNext=function(){return i(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},r}(t)},o=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),s=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),a=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},h=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},l=function(){function t(){}return t.prototype.rotateLeft=function(t){return a(this,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return a(this,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),c=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},u={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?u.multiplyPoint.apply(u,c([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?u.multiplyMatrices.apply(u,c([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=u.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},d=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),f=new d(0,0,1,1);new d(.25,.1,.25,1),new d(.42,0,1,1),new d(0,0,.58,1),new d(.42,0,.58,1);var p=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},g=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},v=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(u.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return p(this,void 0,void 0,(function(){var t,i,n,r,o,s;return g(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return p(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return p(this,void 0,void 0,(function(){var i;return g(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var m=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},w=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},x=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},y=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},M=new d(.18,.96,.18,.96);function b(t){return 0==(t&t-1)}var E,T=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new v(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return w(this,void 0,void 0,(function(){var t=this;return x(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return w(this,void 0,void 0,(function(){var t=this;return x(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return w(this,void 0,void 0,(function(){return x(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=u.multiplyPoint(i,u.rotateZMatrix(t)),this.imgShapeInitinal=u.multiplyPoint(n,u.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(u.translateMatrix(t[1],t[2],0),u.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=u.multiplyMatrices(this.baseModel,u.translateMatrix(0,0,i-e),u.rotateYMatrix(t),u.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(u.scaleMatrix(t[0],t[1],1),u.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:M,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(u.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],d=u.multiplyPoint.apply(u,y([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=d[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(u.scaleMatrix(t,e,1),u.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;b(t)&&b(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,y([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=m(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),P=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},I=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},A=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},S=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new T({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return I(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return I(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return A(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return I(this,void 0,void 0,(function(){var e,i,n;return A(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=P([r],t)}();E=S,[o,s,l].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){E.prototype[e]=t.prototype[e]}))}));export{S as ImagePreview};
+=======
+var t,e=(t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)},function(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),i=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},n=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},r=function(t){return function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return e(r,t),r.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},r.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},r.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},r.prototype.handleWheel=function(t){return i(this,void 0,void 0,(function(){var e,i,r,o,s,a,h,l,c,u;return n(this,(function(n){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,r=this.actionExecutor,o=r.viewWidth/(2*r.dpr),s=r.viewHeight/(2*r.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),r.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},r.prototype.handlePCDoubleClick=function(t){return i(this,void 0,void 0,(function(){return n(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},r.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},r.prototype.slideBefore=function(){return i(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},r.prototype.slideNext=function(){return i(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},r}(t)},o=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),s=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),a=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},h=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},l=function(){function t(){}return t.prototype.rotateLeft=function(t){return a(this,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return a(this,void 0,void 0,(function(){var t;return h(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),c=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},u={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?u.multiplyPoint.apply(u,c([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?u.multiplyMatrices.apply(u,c([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=u.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},d=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),f=new d(0,0,1,1);new d(.25,.1,.25,1),new d(.42,0,1,1),new d(0,0,.58,1),new d(.42,0,.58,1);var p=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},g=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},v=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(u.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return p(this,void 0,void 0,(function(){var t,i,n,r,o,s;return g(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return p(this,void 0,void 0,(function(){var t;return g(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return p(this,void 0,void 0,(function(){var i;return g(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var m=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},w=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},x=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},y=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},M=new d(.18,.96,.18,.96);function b(t){return 0==(t&t-1)}var E,T=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new v(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return w(this,void 0,void 0,(function(){var t=this;return x(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return w(this,void 0,void 0,(function(){var t=this;return x(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return w(this,void 0,void 0,(function(){return x(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=u.multiplyPoint(i,u.rotateZMatrix(t)),this.imgShapeInitinal=u.multiplyPoint(n,u.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(u.translateMatrix(t[1],t[2],0),u.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=u.multiplyMatrices(this.baseModel,u.translateMatrix(0,0,i-e),u.rotateYMatrix(t),u.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:f,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(u.scaleMatrix(t[0],t[1],1),u.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:M,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(u.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],d=u.multiplyPoint.apply(u,y([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=d[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(u.scaleMatrix(t,e,1),u.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;b(t)&&b(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,y([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=m(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),P=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},I=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},A=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},S=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new T({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return I(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return I(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return A(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return I(this,void 0,void 0,(function(){var e,i,n;return A(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){"number"!=typeof t&&(console.error("index is not a number, will use zero as parameter"),t=0),this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=P([r],t)}();E=S,[o,s,l].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){E.prototype[e]=t.prototype[e]}))}));export{S as ImagePreview};
+>>>>>>> e52d3d1ea8271860ffb86b7076b792a413cdb5aa
diff --git a/release/image-preview/image-preview-esm.js b/release/image-preview/image-preview-esm.js
index 225c548..a79fbdb 100644
--- a/release/image-preview/image-preview-esm.js
+++ b/release/image-preview/image-preview-esm.js
@@ -2466,6 +2466,10 @@ var ImagePreview = (function () {
     };
     ImagePreview.prototype.mobileBeforeClose = function () { };
     ImagePreview.prototype.show = function (index) {
+        if (typeof index !== 'number') {
+            console.error('index is not a number, will use zero as parameter');
+            index = 0;
+        }
         this.actionExecutor.curIndex = index;
         this.actionExecutor.draw(index);
         this.toggleClass(this.ref, this.defToggleClass);
diff --git a/release/image-preview/image-preview-iife-min.js b/release/image-preview/image-preview-iife-min.js
index a33a8c2..96190f0 100644
--- a/release/image-preview/image-preview-iife-min.js
+++ b/release/image-preview/image-preview-iife-min.js
@@ -1 +1,5 @@
+<<<<<<< HEAD
 var imagePreviewModule=function(t){"use strict";var e,i=(e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),n=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},r=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=function(t){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return i(e,t),e.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},e.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},e.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},e.prototype.handleWheel=function(t){return n(this,void 0,void 0,(function(){var e,i,n,o,s,a,h,l,c,u;return r(this,(function(r){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,n=this.actionExecutor,o=n.viewWidth/(2*n.dpr),s=n.viewHeight/(2*n.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),n.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},e.prototype.handlePCDoubleClick=function(t){return n(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},e.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},e.prototype.slideBefore=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e.prototype.slideNext=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e}(t)},s=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),a=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),h=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},l=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},c=function(){function t(){}return t.prototype.rotateLeft=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),u=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},d={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?d.multiplyPoint.apply(d,u([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?d.multiplyMatrices.apply(d,u([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=d.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},f=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),p=new f(0,0,1,1);new f(.25,.1,.25,1),new f(.42,0,1,1),new f(0,0,.58,1),new f(.42,0,.58,1);var g=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},v=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},m=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(d.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return g(this,void 0,void 0,(function(){var t,i,n,r,o,s;return v(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return g(this,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return g(this,void 0,void 0,(function(){var i;return v(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var w=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},x=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},y=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},M=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},b=new f(.18,.96,.18,.96);function E(t){return 0==(t&t-1)}var T,P=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new m(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return x(this,void 0,void 0,(function(){return y(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=d.multiplyPoint(i,d.rotateZMatrix(t)),this.imgShapeInitinal=d.multiplyPoint(n,d.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(d.translateMatrix(t[1],t[2],0),d.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=d.multiplyMatrices(this.baseModel,d.translateMatrix(0,0,i-e),d.rotateYMatrix(t),d.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(d.scaleMatrix(t[0],t[1],1),d.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:b,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(d.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],u=d.multiplyPoint.apply(d,M([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=u[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(d.scaleMatrix(t,e,1),d.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;E(t)&&E(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,M([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=w(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),I=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},A=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},S=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},D=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new P({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return A(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return A(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return S(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return A(this,void 0,void 0,(function(){var e,i,n;return S(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=I([o],t)}();return T=D,[s,a,c].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){T.prototype[e]=t.prototype[e]}))})),t.ImagePreview=D,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
+=======
+var imagePreviewModule=function(t){"use strict";var e,i=(e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),n=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},r=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=function(t){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return i(e,t),e.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},e.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},e.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},e.prototype.handleWheel=function(t){return n(this,void 0,void 0,(function(){var e,i,n,o,s,a,h,l,c,u;return r(this,(function(r){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,n=this.actionExecutor,o=n.viewWidth/(2*n.dpr),s=n.viewHeight/(2*n.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),n.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},e.prototype.handlePCDoubleClick=function(t){return n(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},e.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},e.prototype.slideBefore=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e.prototype.slideNext=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e}(t)},s=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),a=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),h=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},l=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},c=function(){function t(){}return t.prototype.rotateLeft=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),u=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},d={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?d.multiplyPoint.apply(d,u([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?d.multiplyMatrices.apply(d,u([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=d.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},f=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),p=new f(0,0,1,1);new f(.25,.1,.25,1),new f(.42,0,1,1),new f(0,0,.58,1),new f(.42,0,.58,1);var g=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},v=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},m=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(d.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return g(this,void 0,void 0,(function(){var t,i,n,r,o,s;return v(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return g(this,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return g(this,void 0,void 0,(function(){var i;return v(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var w=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},x=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},y=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},M=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},b=new f(.18,.96,.18,.96);function E(t){return 0==(t&t-1)}var T,P=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new m(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return x(this,void 0,void 0,(function(){return y(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=d.multiplyPoint(i,d.rotateZMatrix(t)),this.imgShapeInitinal=d.multiplyPoint(n,d.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(d.translateMatrix(t[1],t[2],0),d.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=d.multiplyMatrices(this.baseModel,d.translateMatrix(0,0,i-e),d.rotateYMatrix(t),d.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(d.scaleMatrix(t[0],t[1],1),d.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:b,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(d.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],u=d.multiplyPoint.apply(d,M([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=u[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(d.scaleMatrix(t,e,1),d.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;E(t)&&E(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,M([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=w(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),I=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},A=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},S=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},D=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new P({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return A(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return A(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return S(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return A(this,void 0,void 0,(function(){var e,i,n;return S(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){"number"!=typeof t&&(console.error("index is not a number, will use zero as parameter"),t=0),this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=I([o],t)}();return T=D,[s,a,c].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){T.prototype[e]=t.prototype[e]}))})),t.ImagePreview=D,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
+>>>>>>> e52d3d1ea8271860ffb86b7076b792a413cdb5aa
diff --git a/release/image-preview/image-preview-iife.js b/release/image-preview/image-preview-iife.js
index 4b3cf6d..7d466f9 100644
--- a/release/image-preview/image-preview-iife.js
+++ b/release/image-preview/image-preview-iife.js
@@ -2469,6 +2469,10 @@ var imagePreviewModule = (function (exports) {
         };
         ImagePreview.prototype.mobileBeforeClose = function () { };
         ImagePreview.prototype.show = function (index) {
+            if (typeof index !== 'number') {
+                console.error('index is not a number, will use zero as parameter');
+                index = 0;
+            }
             this.actionExecutor.curIndex = index;
             this.actionExecutor.draw(index);
             this.toggleClass(this.ref, this.defToggleClass);
diff --git a/release/image-preview/image-preview-umd-min.js b/release/image-preview/image-preview-umd-min.js
index c6f2a5b..31e0fa7 100644
--- a/release/image-preview/image-preview-umd-min.js
+++ b/release/image-preview/image-preview-umd-min.js
@@ -1 +1,5 @@
+<<<<<<< HEAD
 !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).imagePreviewModule={})}(this,(function(t){"use strict";var e,i=(e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),n=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},r=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=function(t){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return i(e,t),e.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},e.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},e.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},e.prototype.handleWheel=function(t){return n(this,void 0,void 0,(function(){var e,i,n,o,s,a,h,l,c,u;return r(this,(function(r){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,n=this.actionExecutor,o=n.viewWidth/(2*n.dpr),s=n.viewHeight/(2*n.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),n.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},e.prototype.handlePCDoubleClick=function(t){return n(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},e.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},e.prototype.slideBefore=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e.prototype.slideNext=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e}(t)},s=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),a=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),h=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},l=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},c=function(){function t(){}return t.prototype.rotateLeft=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),u=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},d={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?d.multiplyPoint.apply(d,u([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?d.multiplyMatrices.apply(d,u([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=d.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},f=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),p=new f(0,0,1,1);new f(.25,.1,.25,1),new f(.42,0,1,1),new f(0,0,.58,1),new f(.42,0,.58,1);var g=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},v=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},m=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(d.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return g(this,void 0,void 0,(function(){var t,i,n,r,o,s;return v(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return g(this,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return g(this,void 0,void 0,(function(){var i;return v(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var w=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},x=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},y=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},M=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},b=new f(.18,.96,.18,.96);function E(t){return 0==(t&t-1)}var T,P=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new m(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return x(this,void 0,void 0,(function(){return y(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=d.multiplyPoint(i,d.rotateZMatrix(t)),this.imgShapeInitinal=d.multiplyPoint(n,d.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(d.translateMatrix(t[1],t[2],0),d.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=d.multiplyMatrices(this.baseModel,d.translateMatrix(0,0,i-e),d.rotateYMatrix(t),d.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(d.scaleMatrix(t[0],t[1],1),d.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:b,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(d.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],u=d.multiplyPoint.apply(d,M([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=u[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(d.scaleMatrix(t,e,1),d.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;E(t)&&E(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,M([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=w(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),I=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},A=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},S=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},D=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new P({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return A(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return A(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return S(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return A(this,void 0,void 0,(function(){var e,i,n;return S(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=I([o],t)}();T=D,[s,a,c].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){T.prototype[e]=t.prototype[e]}))})),t.ImagePreview=D,Object.defineProperty(t,"__esModule",{value:!0})}));
+=======
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).imagePreviewModule={})}(this,(function(t){"use strict";var e,i=(e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}),n=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},r=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=function(t){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mouseDown=!1,e}return i(e,t),e.prototype.pcInitial=function(){this.ref.querySelector("."+this.prefix+"close").addEventListener("mousedown",this.close.bind(this)),this.ref.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.ref.addEventListener("mousemove",this.handleMouseMove.bind(this)),this.ref.addEventListener("mouseup",this.handleMouseUp.bind(this)),this.ref.addEventListener("wheel",this.handleWheel.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize)},e.prototype.handleMouseUp=function(){this.mouseDown=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial"},e.prototype.handleMouseMove=function(t){var e=this.actionExecutor;if(e.isEnlargement&&this.mouseDown&&!this.isAnimating){clearTimeout(this.performerClick);var i=t.clientX,n=t.clientY,r=i-this.startX,o=n-this.startY;e.eventsHanlder.handleMoveEnlage(r,o,0),this.startX=i,this.startY=n}},e.prototype.handleWheel=function(t){return n(this,void 0,void 0,(function(){var e,i,n,o,s,a,h,l,c,u;return r(this,(function(r){return e=t.clientX,i=t.clientY,this.isZooming=!0,this.isAnimating=!0,n=this.actionExecutor,o=n.viewWidth/(2*n.dpr),s=n.viewHeight/(2*n.dpr),a=0,h=0,l=1,c=1,u=2*this.zoomScale,t.deltaY>0?(h=-(i-s)*u,a=-(e-o)*u,l=1+u,c=1+u):(h=(i-s)*u,a=(e-o)*u,l=1-u,c=1-u),n.eventsHanlder.handleZoom(l,c,a,h),this.isZooming=!1,this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}))}))},e.prototype.handlePCDoubleClick=function(t){return n(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick({clientX:t.clientX,clientY:t.clientY})]);case 1:return e.sent(),this.isAnimating=!1,this.actionExecutor.isEnlargement?this.ref.style.cursor="grab":this.ref.style.cursor="initial",[2]}}))}))},e.prototype.handleMouseDown=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(this.mouseDown=!0,this.actionExecutor.isEnlargement?(this.startX=t.clientX,this.startY=t.clientY,this.ref.style.cursor="grabbing"):this.ref.style.cursor="initial",Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handlePCDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now())},e.prototype.slideBefore=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideBefore()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e.prototype.slideNext=function(){return n(this,void 0,void 0,(function(){return r(this,(function(t){switch(t.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.slideNext()]);case 1:return t.sent()[0]?this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[1].style.cursor="not-allowed":this.ref.querySelectorAll("."+this.prefix+"bottom ."+this.prefix+"item ")[0].style.cursor="pointer",this.isAnimating=!1,[2]}}))}))},e}(t)},s=function(){function t(){}return t.prototype.handleMove=function(t){var e=this;if(t.preventDefault(),2==t.touches.length)return clearTimeout(this.performerClick),void this.handleZoom(t);var i=this.actionExecutor.IsBoundaryLeft,n=this.actionExecutor.isBoundaryRight,r=i||n;if(t.touches[0].clientX-this.startXForDirection!=0){var o=t.touches[0].clientX-this.startXForDirection>0?"right":"left",s=this.actionExecutor.viewRect,a=s.left,h=s.right,l=this.actionExecutor.viewWidth/this.actionExecutor.dpr;if(this.fingerDirection)if(this.actionExecutor.isEnlargement)if(a>=0&&h<=l)if("right"!=o&&"left"!=o&&!this.isEnlargeMove||"horizontal"!=this.fingerDirection)this.handleMoveEnlage(t);else{this.isEnlargeMove=!0,this.handleMoveNormal(t);var c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){e.isEnlargeMove=!1}})}else if(i&&"right"==o||n&&"left"==o||this.isEnlargeMove){this.isEnlargeMove=!0,this.handleMoveNormal(t);c="resetEnlargeMove";this.addTouchEndTask(c,{priority:1,callback:function(){return e.isEnlargeMove=!1}})}else this.handleMoveEnlage(t);else this.handleMoveNormal(t);else{if(this.actionExecutor.isEnlargement&&(a<0||h>l)||!this.actionExecutor.isEnlargement)return void(!this.actionExecutor.isEnlargement||r||this.normalMoved?this.actionExecutor.isEnlargement?(r||this.normalMoved)&&(this.normalMoved?this.handleMoveNormal(t):"right"==o?i?this.handleMoveNormal(t):this.handleMoveEnlage(t):"left"==o&&n?this.handleMoveNormal(t):this.handleMoveEnlage(t)):this.handleMoveNormal(t):this.handleMoveEnlage(t));if(this.getMovePoints(t),this.movePoints.length<this.maxMovePointCounts)return;this.decideMoveDirection()}}},t.prototype.handleMoveNormal=function(t){var e=this;if(!this.isAnimating&&!this.isZooming){this.isNormalMove||(this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY),this.isNormalMove=!0;this.addTouchEndTask("normalMove",{priority:1,callback:function(){return e.isNormalMove=!1}});var i=this.actionExecutor.eventsHanlder,n=t.touches[0].clientX,r=n-this.touchStartX;if(this.imgContainerMoveX+=r,this.startX=n,0!==r){this.normalMoved=!0;this.addTouchEndTask("normalMoved",{priority:10,callback:function(t){e.normalMoved=!1;var n=t.changedTouches[0].clientX-e.touchStartX;i.handleMoveNormal(t,n),e.handleTEndEnNormal.bind(e)(t)}})}i.handleMoveNormal(t,r)}},t.prototype.handleMoveEnlage=function(t){if(!this.actionExecutor.isLoadingError()&&!this.isZooming){this.moveStartTime||(this.moveStartTime=Date.now(),this.touchStartX=this.startX=t.touches[0].clientX,this.touchStartY=this.startY=t.touches[0].clientY);var e=this.actionExecutor;if(e.eventsHanlder.curBehaviorCanBreak){if(e.curAimateBreaked=!0,this.isAnimating)return this.touchStartX=t.touches[0].clientX,void(this.touchStartY=t.touches[0].clientY)}else if(this.isAnimating)return;this.isNormalMove=!1,this.actionExecutor.isBoudriedSide=!1;var i=this.imgContainer.getBoundingClientRect(),n=i.width,r=i.height,o=e.viewRect;o.height;var s,a,h=o.left,l=o.right,c=o.top,u=o.bottom,d=t.touches[0].clientX,f=t.touches[0].clientY,p=d-this.startX,g=f-this.startY;a=Math.round(h)<0||Math.round(l)>n?p:0,s=Math.round(c)<0||Math.round(u)>r?g:0,e.eventsHanlder.handleMoveEnlage(a,s,0);this.addTouchEndTask("handleTendEnlarte",{priority:10,callback:this.handleTEndEnlarge.bind(this)}),this.startX=d,this.startY=f}},t.prototype.autoMove=function(t,e,i,n){var r=n.maxTop,o=n.minTop,s=n.maxLeft,a=n.minLeft,h=this.imgContainer.getBoundingClientRect(),l=h.width,c=h.height,u=this.actionExecutor,d=u.viewRect,f=u.eventsHanlder,p=d,g=p.top,v=p.bottom,m=p.left,w=p.right;t=t/180*Math.PI;var x=e+300*Math.cos(t),y=i+300*Math.sin(t);x>s?x=s:x<a&&(x=a),y>r?y=r:y<o&&(y=o);var M=0,b=0;return m>=0&&w<=l||(M=x-e),g>=0&&v<=c||(b=y-i),f.moveCurPlaneTo(M,b,0)},t}(),a=function(){function t(){}return t.prototype.handleZoom=function(t){if(!(this.isNormalMove&&this.normalMoved||this.isAnimating||this.actionExecutor.isLoadingError())){this.isZooming||(this.curStartPoint1={x:this.curPoint1.x,y:this.curPoint1.y},this.curStartPoint2={x:this.curPoint2.x,y:this.curPoint2.y}),this.isZooming=!0,this.isAnimating=!0;var e=this.actionExecutor,i=Math.pow(this.curPoint1.x-this.curPoint2.x,2)+Math.pow(this.curPoint1.y-this.curPoint2.y,2),n=Math.pow(t.touches[0].clientX-t.touches[1].clientX,2)+Math.pow(t.touches[0].clientY-t.touches[1].clientY,2),r=(this.curStartPoint1.x+this.curStartPoint2.x)/2,o=(this.curStartPoint1.y+this.curStartPoint2.y)/2,s=e.viewWidth/(2*e.dpr),a=e.viewHeight/(2*e.dpr);this.curPoint1.x=t.touches[0].clientX,this.curPoint1.y=t.touches[0].clientY,this.curPoint2.x=t.touches[1].clientX,this.curPoint2.y=t.touches[1].clientY;var h=0,l=0,c=1,u=1;if(i>n)l=(o-a)*this.zoomScale,h=(r-s)*this.zoomScale,c=1-this.zoomScale,u=1-this.zoomScale;else{if(!(i<n))return this.isZooming=!1,void(this.isAnimating=!1);l=-(o-a)*this.zoomScale,h=-(r-s)*this.zoomScale,c=1+this.zoomScale,u=1+this.zoomScale}e.eventsHanlder.handleZoom(c,u,h,l),this.isZooming=!1,this.isAnimating=!1}},t}(),h=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},l=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},c=function(){function t(){}return t.prototype.rotateLeft=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=-1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.rotateRight=function(t){return h(this,void 0,void 0,(function(){var t;return l(this,(function(e){switch(e.label){case 0:return this.isAnimating||this.actionExecutor.isLoadingError()?[2]:(t=1*Math.PI/2,this.isAnimating=!0,[4,this.actionExecutor.rotateZ(t)]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t}(),u=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},d={multiplyPoint:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)r[o]=e[o]*t[0]+e[o+4]*t[1]+e[o+8]*t[2]+e[o+12]*t[3];return i.length?d.multiplyPoint.apply(d,u([r,i.splice(0,1)[0]],i)):r},multiplyMatrices:function(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];for(var r=[],o=0;o<4;o++)for(var s=0;s<4;s++)r[4*o+s]=t[4*o]*e[s]+t[4*o+1]*e[s+4]+t[4*o+2]*e[s+8]+t[4*o+3]*e[s+12];return i.length?d.multiplyMatrices.apply(d,u([r,i.splice(0,1)[0]],i)):r},rotateByArbitrayAxis:function(t,e,i,n){var r=Math.cos,o=Math.sin,s=Math.pow,a=1-r(n),h=r(n),l=o(n);return[a*s(t,2)+h,a*t*e-l*i,a*t*i+l*e,0,a*t*e+l*i,a*s(e,2)+h,a*e*i-l*t,0,a*t*i-l*e,a*e*i+l*t,a*s(i,2)+h,0,0,0,0,1]},multiplyArrayOfMatrices:function(t){for(var e=t[0],i=1;i<t.length;i++)e=d.multiplyMatrices(e,t[i]);return e},rotateXMatrix:function(t){var e=Math.cos,i=Math.sin;return[1,0,0,0,0,e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1]},rotateYMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),0,i(t),0,0,1,0,0,-i(t),0,e(t),0,0,0,0,1]},rotateZMatrix:function(t){var e=Math.cos,i=Math.sin;return[e(t),-i(t),0,0,i(t),e(t),0,0,0,0,1,0,0,0,0,1]},translateMatrix:function(t,e,i){return[1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1]},scaleMatrix:function(t,e,i){return[t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1]}},f=function(){function t(t,e,i,n){this.cachedY=new Map,this.precision=1e-5,this.p1={x:t,y:e},this.p2={x:i,y:n}}return t.prototype.getX=function(t){var e=this.p1.x,i=this.p2.x;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.getY=function(t){var e=this.p1.y,i=this.p2.y;return 3*e*t*Math.pow(1-t,2)+3*i*Math.pow(t,2)*(1-t)+Math.pow(t,3)},t.prototype.solveCurveX=function(t){var e,i,n,r=t,o=this.p1.x,s=this.p2.x,a=3*o-3*s+1,h=3*s-6*o,l=3*o;for(var c=0;c<8;c++){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;if(e=(3*a*(n=r)+2*h)*n+l,Math.abs(e)<this.precision)break;r-=i/e}var u=1,d=0;for(r=t;u>d;){if(i=this.getX(r)-t,Math.abs(i)<this.precision)return r;i>0?u=r:d=r,r=(u+d)/2}return r},t.prototype.solve=function(t){return this.cachedY.get(t)||this.cachedY.set(t,this.getY(this.solveCurveX(t))),this.cachedY.get(t)},t}(),p=new f(0,0,1,1);new f(.25,.1,.25,1),new f(.42,0,1,1),new f(0,0,.58,1),new f(.42,0,.58,1);var g=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},v=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},m=function(){function t(t){this.curBehaviorCanBreak=!1,this.throldDeg=.1*Math.PI,this.viewInstance=t}return t.prototype.handleResize=function(){var t=this.viewInstance,e=this.resizeTimer;clearTimeout(e);this.resizeTimer=setTimeout((function(){var e=t.ref;e.style.width=window.innerWidth+"px",e.style.height=window.innerHeight+"px",e.width=window.innerWidth*t.dpr,e.height=window.innerHeight*t.dpr,t.viewWidth=e.width,t.viewHeight=e.height,t.gl.viewport(0,0,t.viewWidth,t.viewHeight);var i=t.createPerspectiveMatrix();t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uProjectionMatrix"),!1,i),t.draw(t.curIndex)}),100)},t.prototype.handleDoubleClick=function(t){var e=t.clientX,i=t.clientY,n=this.viewInstance,r=n.decideScaleRatio(e,i),o=r[0],s=r[1],a=r[2],h=r[3];return n.scaleZPosition({scaleX:o,scaleY:s,dx:a,dy:h})},t.prototype.handleMoveEnlage=function(t,e,i){var n=this.viewInstance;t*=n.dpr,e*=-n.dpr,n.dpr,n.curPlane=n.positions.slice(n.curPointAt,n.curPointAt+16),n.transformCurplane(d.translateMatrix(t,e,0)),n.bindPostion(),n.drawPosition()},t.prototype.handleMoveNormal=function(t,e){var i=this.viewInstance,n=Math.PI/2,r=-e/(i.viewWidth/i.dpr)*n;i.rotatePosition(r)},t.prototype.handleZoom=function(t,e,i,n){var r=this.viewInstance,o=r.imgShape,s=o[0];o[1];var a=r.imgShapeInitinal,h=a[0];a[1],s=Math.abs(s),h=Math.abs(h);var l=r.viewRect.width*r.dpr;l*t>4*s||(l*t<h||(i*=r.dpr,n*=-r.dpr,r.zoomCurPlan(t,e,i,n)))},t.prototype.handleTEndEnNormal=function(t,e){return g(this,void 0,void 0,(function(){var t,i,n,r,o,s;return v(this,(function(a){switch(a.label){case 0:return t=this.viewInstance,i=Math.PI/2,n=-e/(t.viewWidth/t.dpr)*i,r=n/Math.abs(n),t.baseModel=t.modelMatrix,Math.abs(n)>=this.throldDeg?(o=t.curIndex,-1!=(s=t.curIndex+1*r)&&s!=t.imgUrls.length?[3,2]:(t.curIndex=o,[4,t.rotate(-n)])):[3,6];case 1:return a.sent(),[3,5];case 2:return[4,t.rotate(r*Math.PI/2-n)];case 3:return a.sent(),t.curIndex=s,t.modelMatrix=t.baseModel=t.initialModel,t.gl.uniformMatrix4fv(t.gl.getUniformLocation(t.shaderProgram,"uModelViewMatrix"),!1,t.modelMatrix),[4,t.draw(s)];case 4:a.sent(),a.label=5;case 5:return[3,8];case 6:return[4,t.rotate(-n)];case 7:a.sent(),a.label=8;case 8:return t.modelMatrix=t.baseModel=t.initialModel,[2,"handled"]}}))}))},t.prototype.handleTEndEnlarge=function(t,e,i,n){return g(this,void 0,void 0,(function(){var t;return v(this,(function(n){switch(n.label){case 0:return t=this.viewInstance,e*=t.dpr,i*=-t.dpr,t.dpr,this.curBehaviorCanBreak=!0,[4,t.moveCurPlane(e,i,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,0!==e&&(t.isBoudriedSide=!0),[2]}}))}))},t.prototype.moveCurPlaneTo=function(t,e,i){return g(this,void 0,void 0,(function(){var i;return v(this,(function(n){switch(n.label){case 0:return i=this.viewInstance,t*=i.dpr,e*=-i.dpr,i.dpr,this.curBehaviorCanBreak=!0,[4,i.moveCurPlane(t,e,0)];case 1:return n.sent(),this.curBehaviorCanBreak=!1,[2]}}))}))},t}();var w=function(t,e,i){var n=t.naturalWidth,r=t.naturalHeight,o=document.createElement("canvas"),s=o.getContext("2d"),a=window.devicePixelRatio||1;return o.width=e*a,o.height=i*a,s.drawImage(t,0,0,n,r,0,0,e*a,i*a),o},x=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},y=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},M=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},b=new f(.18,.96,.18,.96);function E(t){return 0==(t&t-1)}var T,P=function(){function t(t){var e=t.images;this.dpr=window.devicePixelRatio||1,this.fieldOfViewInRadians=.25*Math.PI,this.zNear=100,this.zFar=1e4,this.curIndex=0,this.defaultAnimateTime=300,this.initialModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.baseModel=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.modelMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],this.indinces=new Map,this.positions=[],this.imgs=[],this.imgUrls=[],this.imgShape=[],this.imgShapeInitinal=[],this.textures=new Map,this.texturesOther=new Map,this.positionBuffer=null,this.curPlane=[],this.isBoudriedSide=!1,this.curAimateBreaked=!1,this.imgId=0,this.gl=this.intialView(),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,1),this.imgUrls=e;var i=this.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),this.readyWebgl(),this.initData(),this.contextHandle(),this.eventsHanlder=new m(this)}return t.prototype.contextHandle=function(){var t=this,e=this.ref;e.addEventListener("webglcontextlost",(function(e){t.textures.clear(),t.texturesOther.clear(),t.ref.parentNode.removeChild(t.ref)})),e.addEventListener("webglcontextrestored",(function(e){t.gl=t.intialView(),t.gl.pixelStorei(t.gl.UNPACK_FLIP_Y_WEBGL,1);var i=t.gl;i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),t.readyWebgl(),t.initData(),t.contextHandle()}))},t.prototype.readyWebgl=function(){this.shaderProgram=this.bindShader(this.gl,"precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler0;\nuniform vec2 iResolution;\nvoid main() {\n\n    // vec2 uv = vec2(gl_FragCoord.xy / iResolution.xy);\n    vec4 color0 = texture2D(uSampler0, vTextureCoord) ;\n    gl_FragColor = color0;\n}","attribute vec4 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nvarying mediump vec2 vTextureCoord;\n\nvoid main(void) {\n    gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;\n    vTextureCoord = aTextureCoord;\n}");var t=this.createPerspectiveMatrix();this.gl.useProgram(this.shaderProgram),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uProjectionMatrix"),!1,t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.setTextureCordinate(),this.initOtherTexture()},t.prototype.addImg=function(t,e){var i=this,n=this.imgUrls.length,r=e+1;if(e<=-1?(e=-1,r=0):e>n&&(e=n-1,r=n),this.imgUrls.splice(e+1,0,t),e+1>this.imgs.length?this.imgs[r]=null:this.imgs.splice(e+1,0,null),t instanceof Image)if(void 0===t._id&&(t._id=this.imgId++),t.complete)this.imgUrls[e+1]=this.validateImg(t);else{var o=function(){var e=i.imgUrls.indexOf(t);t.loadError=!0,~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)};t.addEventListener("load",(function(){var e=i.imgUrls.indexOf(t);i.imgUrls[e]=i.validateImg(t),~[-2,-1,0].indexOf(e-i.curIndex)&&i.draw(i.curIndex)})),t.addEventListener("error",o),t.addEventListener("abort",o)}~[-2,-1,0].indexOf(e-this.curIndex)&&this.draw(this.curIndex)},t.prototype.delImg=function(t){var e=this.imgUrls.length;t<=-1?t=0:t>=e&&(t=e-1),this.imgUrls.splice(t,1),this.imgs[t]&&this.textures.delete(this.imgs[t]._id),this.imgs.splice(t,1),t-=this.curIndex,~[-1,0,1].indexOf(t)&&this.draw(this.curIndex)},t.prototype.initOtherTexture=function(){var t=this,e=this.gl,i=e.createTexture();this.texturesOther.set(0,i),e.bindTexture(e.TEXTURE_2D,i),i.cubicBgd=!0;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([0,0,0,255]));var n=new Image;n.onload=function(){var i=e.createTexture();t.texturesOther.set(1,i),e.bindTexture(e.TEXTURE_2D,i),t.texImage(n),t.setTexParameteri(n.width,n.height)},n.src="data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg=="},t.prototype.initData=function(){this.draw(this.curIndex)},t.prototype.slideNext=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return this.curIndex==this.imgUrls.length-1?[2,[!0]]:[2,this.slide(.5*Math.PI,(function(){return t.curIndex++}))]}))}))},t.prototype.slideBefore=function(){return x(this,void 0,void 0,(function(){var t=this;return y(this,(function(e){return 0==this.curIndex?[2,[!0]]:[2,this.slide(-.5*Math.PI,(function(){return t.curIndex--}))]}))}))},t.prototype.slide=function(t,e){return x(this,void 0,void 0,(function(){return y(this,(function(i){switch(i.label){case 0:return this.baseModel=this.modelMatrix,[4,this.rotate(t)];case 1:return i.sent(),e(),this.modelMatrix=this.baseModel=this.initialModel,this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),[4,this.draw(this.curIndex)];case 2:return i.sent(),this.modelMatrix=this.baseModel=this.initialModel,[2,[!1]]}}))}))},t.prototype.rotate=function(t){var e,i=this;return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t],playGame:(e=i.rotatePosition.bind(i),function(t){i.clear(),e(t)})})},t.prototype.rotateZ=function(t){var e=this;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);var i=this.imgShape,n=this.imgShapeInitinal;this.imgShape=d.multiplyPoint(i,d.rotateZMatrix(t)),this.imgShapeInitinal=d.multiplyPoint(n,d.rotateZMatrix(t));var r=this.curCenterCoordinate,o=-r[0],s=-r[1];return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[t,o,s],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];e.transformCurplane(d.translateMatrix(t[1],t[2],0),d.rotateZMatrix(t[0])),e.bindPostion(),e.drawPosition()}})},t.prototype.genPostion=function(t,e,i){var n,r=2*Math.tan(this.fieldOfViewInRadians/2),o=-this.viewHeight/r-0,s=this.viewWidth,a=o-(s-t)/2,h=[[-s/2,-e/2,a-t,1,-s/2,-e/2,a,1,-s/2,e/2,a,1,-s/2,e/2,a-t,1],[-t/2,-e/2,o,1,t/2,-e/2,o,1,t/2,e/2,o,1,-t/2,e/2,o,1],[s/2,-e/2,a,1,s/2,-e/2,a-t,1,s/2,e/2,a-t,1,s/2,e/2,a,1]],l=i-this.curIndex;l+=1,(n=this.positions).push.apply(n,h[l])},t.prototype.updatePosition=function(t,e){var i=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,n=this.viewWidth,r=t.naturalWidth,o=t.naturalHeight;t.loadError&&(r=o=200);var s=this.decideImgViewSize(r*this.dpr,o*this.dpr),a=s[0],h=s[1];0==e&&(this.imgShape=[r*this.dpr,o*this.dpr,0,1],this.imgShapeInitinal=[a,h,0,1]);for(var l=i-(n-a)/2,c=[[-n/2,-h/2,l-a,1,-n/2,-h/2,l,1,-n/2,h/2,l,1,-n/2,h/2,l-a,1],[-a/2,-h/2,i,1,a/2,-h/2,i,1,a/2,h/2,i,1,-a/2,h/2,i,1],[n/2,-h/2,l,1,n/2,-h/2,l-a,1,n/2,h/2,l-a,1,n/2,h/2,l,1]],u=e,d=this.curPointAt+16*u,f=c[u+=1],p=d;p<d+16;p++)this.positions[p]=f[p-d]},t.prototype.bindPostion=function(){var t=this.gl,e=this.positions;if(this.positionBuffer)this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);else{var i=this.gl.createBuffer();this.positionBuffer=i,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(e),this.gl.DYNAMIC_DRAW);var n=t.FLOAT,r=t.getAttribLocation(this.shaderProgram,"aVertexPosition");t.vertexAttribPointer(r,4,n,!1,0,0),t.enableVertexAttribArray(r)}},t.prototype.drawPosition=function(){this.clear();var t=this.gl;t.bindTexture(t.TEXTURE_2D,this.texturesOther.get(0));for(var e=0;e<12;e+=4)this.bindIndex(e);var i=(this.positions.length/4-12)/4,n=this.curIndex-1;n<0&&(n=0);for(e=0;e<i;e++,n++){var r=this.imgs[n];r?this.bindTexture(r,r._id):console.log("shouldn't have"),this.bindIndex(12+4*e)}},t.prototype.rotatePosition=function(t){var e=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0,i=this.viewWidth/2;this.modelMatrix=d.multiplyMatrices(this.baseModel,d.translateMatrix(0,0,i-e),d.rotateYMatrix(t),d.translateMatrix(0,0,e-i)),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.shaderProgram,"uModelViewMatrix"),!1,this.modelMatrix),this.drawPosition()},t.prototype.scaleZPosition=function(t){var e=this,i=t.scaleX,n=t.scaleY,r=t.dx,o=t.dy;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:this.defaultAnimateTime,timingFun:p,ends:[i,n,r,o],playGame:function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];t[0]+=1,t[1]+=1,e.transformCurplane(d.scaleMatrix(t[0],t[1],1),d.translateMatrix(t[2],t[3],0)),e.bindPostion(),e.drawPosition()}})},t.prototype.moveCurPlane=function(t,e,i){var n=this,r=t,o=e;this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16);return this.animate({allTime:800,timingFun:b,ends:[r,o],playGame:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];n.transformCurplane(d.translateMatrix(t[0],t[1],0)),n.bindPostion(),n.drawPosition()}})},t.prototype.transformCurplane=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];for(var n=this.positions,r=this.curPlane,o=this.curPointAt;o<this.curPointAt+16;o+=4)for(var s=o-this.curPointAt,a=r[s],h=r[s+1],l=r[s+2],c=r[s+3],u=d.multiplyPoint.apply(d,M([[a,h,l,c],t],e)),f=o;f<4+o;f++)n[f]=u[f-o]},t.prototype.zoomCurPlan=function(t,e,i,n){this.curPlane=this.positions.slice(this.curPointAt,this.curPointAt+16),this.transformCurplane(d.scaleMatrix(t,e,1),d.translateMatrix(i,n,0)),this.bindPostion(),this.drawPosition()},t.prototype.setTextureCordinate=function(){var t=this.gl,e=this.gl.createBuffer();t.bindBuffer(this.gl.ARRAY_BUFFER,e);t.bufferData(this.gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1]),this.gl.STATIC_DRAW);var i=t.FLOAT;t.bindBuffer(t.ARRAY_BUFFER,e);var n=t.getAttribLocation(this.shaderProgram,"aTextureCoord");t.vertexAttribPointer(n,2,i,!1,0,0),t.enableVertexAttribArray(n),t.activeTexture(t.TEXTURE0),t.uniform1i(t.getUniformLocation(this.shaderProgram,"uSampler0"),0)},t.prototype.bindTexture=function(t,e){if(t.loadError)this.updateOtherTexture(1);else if(t.complete)if(this.textures.get(e))this.updateTexture(e,t);else{var i=this.gl,n=i.createTexture();i.bindTexture(i.TEXTURE_2D,n),this.textures.set(e,n),this.texImage(t),this.setTexParameteri(t.width,t.height)}else this.updateOtherTexture(0)},t.prototype.updateTexture=function(t,e){var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.textures.get(t)),this.setTexParameteri(e.width,e.height)},t.prototype.updateOtherTexture=function(t){var e=this.gl;e.bindTexture(e.TEXTURE_2D,this.texturesOther.get(t)),this.setTexParameteri(0,3)},t.prototype.texImage=function(t){var e=this.gl,i=e.RGBA,n=e.RGBA,r=e.UNSIGNED_BYTE;e.texImage2D(e.TEXTURE_2D,0,i,n,r,t)},t.prototype.setTexParameteri=function(t,e){var i=this.gl;E(t)&&E(e)?i.generateMipmap(i.TEXTURE_2D):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR))},t.prototype.bindIndex=function(t){var e=this.gl,i=[t,t+1,t+2,t,t+2,t+3],n=e.TRIANGLES;if(this.indinces.has(t)){var r=this.indinces.get(t);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r);var o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}else{var h=this.gl.createBuffer();this.indinces[t]=h,this.indinces.set(t,h),e.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,h),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(i),this.gl.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,h);o=i.length,s=e.UNSIGNED_SHORT,a=0;e.drawElements(n,o,s,a)}},t.prototype.generateCube=function(t,e){var i;t=this.viewWidth,e=this.viewHeight;var n=-this.viewHeight/(2*Math.tan(this.fieldOfViewInRadians/2))-0-.1,r=[-(t-=.1)/2,-(e-=.1)/2,n-t,1,-t/2,-e/2,n,1,-t/2,e/2,n,1,-t/2,e/2,n-t,1,-t/2,-e/2,n,1,t/2,-e/2,n,1,t/2,e/2,n,1,-t/2,e/2,n,1,t/2,-e/2,n,1,t/2,-e/2,n-t,1,t/2,e/2,n-t,1,t/2,e/2,n,1];(i=this.positions).splice.apply(i,M([0,0],r))},t.prototype.decideScaleRatio=function(t,e){var i=0,n=0,r=this.viewWidth/2,o=this.viewHeight/2,s=this.viewRect,a=s.width*this.dpr,h=s.height*this.dpr,l=this.imgShape,c=l[0],u=l[1];c=Math.abs(c),u=Math.abs(u);var d,f,p=0,g=0;if(t*=this.dpr,e*=this.dpr,this.isEnlargementForScale){var v=this.imgShapeInitinal,m=v[0],w=v[1];d=(i=Math.abs(m))/a-1,f=(n=Math.abs(w))/h-1;var x=this.curCenterCoordinate;p=-x[0]*(1+d),g=-x[1]*(1+f)}else this.curIsLongImg()?n=u/c*(i=this.viewWidth>c?c:this.viewWidth):(i=c,n=u),p=-(t-r)*(d=i/a-1),g=(e-o)*(f=n/h-1),this.curIsLongImg()&&(p=0);return[d,f,p,g]},t.prototype.decideImgViewSize=function(t,e){var i=0,n=0;return(n=e/t*(i=this.viewWidth>=t?t:this.viewWidth))>this.viewHeight&&(i=(n=this.viewHeight)*t/e),[i,n]},t.prototype.draw=function(t){this.positions=[];for(var e=this.imgUrls.length,i=0,n=0,r=t-1;r<=t+1;r++)if(-1!==r&&r<=e-1){var o=void 0;this.imgs[r]?o=this.imgs[r]:"string"==typeof this.imgUrls[r]?o=this.loadImage(this.imgUrls[r],r):void 0===(o=this.imgUrls[r])._id&&(this.imgUrls[r]=this.validateImg(o),o=this.imgUrls[r]),this.imgs[r]=o;var s=o.naturalWidth,a=o.naturalHeight;o.loadError&&(s=a=200);var h=this.decideImgViewSize(s*this.dpr,a*this.dpr),l=h[0],c=h[1];r==this.curIndex&&(this.imgShape=[s*this.dpr,a*this.dpr,0,1],this.imgShapeInitinal=[l,c,0,1]),this.genPostion(l,c,r),i=Math.max(l,i),n=Math.max(c,n)}this.generateCube(i,n),this.bindPostion(),this.drawPosition()},t.prototype.createPerspectiveMatrix=function(){var t=this.fieldOfViewInRadians,e=this.viewWidth/this.viewHeight,i=this.zNear,n=this.zFar,r=1/Math.tan(t/2),o=1/(i-n);return[r/e,0,0,0,0,r,0,0,0,0,(i+n)*o,-1,0,0,i*n*o*2,0]},Object.defineProperty(t.prototype,"curPointAt",{get:function(){var t=64;return 0==this.curIndex&&(t=48),t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"IsBoundaryLeft",{get:function(){var t=this.viewRect;return Math.round(t.left)>=0&&this.isBoudriedSide},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isBoundaryRight",{get:function(){var t=this.viewRect;return Math.round(t.right*this.dpr)<=Math.round(this.viewWidth/1)&&this.isBoudriedSide},enumerable:!1,configurable:!0}),t.prototype.curIsLongImg=function(){var t=this.imgShape,e=t[0],i=t[1];return 2*Math.abs(e)<=Math.abs(i)},Object.defineProperty(t.prototype,"curCenterCoordinate",{get:function(){var t=this.curPointAt;return[(this.positions[t]+this.positions[t+8])/2,(this.positions[t+1]+this.positions[t+9])/2]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"viewRect",{get:function(){for(var t=-this.viewWidth/2,e=this.viewHeight/2,i=this.curPointAt,n=1/0,r=-1/0,o=1/0,s=-1/0,a=i;a<i+16;a+=4){var h=this.positions[a],l=this.positions[a+1];n=Math.min(h,n),r=Math.max(h,r),o=Math.min(l,o),s=Math.max(l,s)}var c=Math.abs(n-r),u=Math.abs(o-s);return{left:(n-t)/this.dpr,right:(r-t)/this.dpr,width:c/this.dpr,height:u/this.dpr,top:-(s-e)/this.dpr,bottom:-(o-e)/this.dpr}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"curPlanePosition",{get:function(){return this.curPointAt,[]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargement",{get:function(){var t=this.imgShapeInitinal;t[0],t[1];var e=this.viewRect;return e.width*this.dpr-1>this.viewWidth||e.height*this.dpr-1>this.viewHeight},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEnlargementForScale",{get:function(){var t=this.imgShapeInitinal,e=t[0],i=t[1],n=this.viewRect;return Math.round(n.width*this.dpr)>Math.round(Math.abs(e))||Math.round(n.height*this.dpr)>Math.round(Math.abs(i))},enumerable:!1,configurable:!0}),t.prototype.isLoadingError=function(t){return 0==arguments.length&&(t=this.curIndex),this.imgs[t].loadError},t.prototype.loadImage=function(t,e){var i=this,n=new Image;return n._id=this.imgId++,this.imgs[e]=n,n.onload=function(){i.handleImgLoaded(n,e)},n.onerror=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.onabort=function(){n.loadError=!0,i.handleImgLoaded(n,e)},n.crossOrigin="anonymous",n.src=t,n},t.prototype.handleImgLoaded=function(t,e){e=this.imgs.indexOf(t),t.loadError||(t=this.validateImg(t),this.imgs[e]=t),~[-1,0,1].indexOf(e-this.curIndex)&&(this.updatePosition(t,e-this.curIndex),this.bindPostion(),this.drawPosition())},t.prototype.validateImg=function(t){var e=this.gl.MAX_TEXTURE_SIZE,i=t.naturalWidth,n=t.naturalHeight;if(Math.max(n,i)>=e){var r=this.dpr,o=e/r,s=n/i*o;s>=e&&(o=i/n*(s=e/r));var a=w(t,o,s);return a._id=this.imgId++,a.naturalHeight=s,a.naturalWidth=o,a.complete=!0,a}return t},t.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,1),t.clearDepth(1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)},t.prototype.bindShader=function(t,e,i){var n=this.loadShader(t,t.VERTEX_SHADER,i),r=this.loadShader(t,t.FRAGMENT_SHADER,e),o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)?o:(console.error("Unable to initialize the shader program: "+t.getProgramInfoLog(o)),null)},t.prototype.loadShader=function(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(console.error("An error occurred compiling the shaders: "+t.getShaderInfoLog(n)),t.deleteShader(n),null)},t.prototype.createPlane=function(t){return t.x,t.y,t.width,t.height,{}},t.prototype.intialView=function(){var t=document.createElement("canvas");t.style.cssText="\n            position: absolute;\n            top: 0;\n            left:0;\n            z-index: 9;\n            width:"+window.innerWidth+"px;\n            height:"+window.innerHeight+"px;\n            user-select:none;\n            font-size:0;\n        ",t.width=window.innerWidth*this.dpr,t.height=window.innerHeight*this.dpr,this.ref=t;var e=t.getContext("webgl",{antialias:!0});return e||console.error("webgl is not supported. please use before version."),this.viewWidth=t.width,this.viewHeight=t.height,e},t.prototype.animate=function(t){var e,i=this,n=t.allTime,r=t.timingFun,o=t.ends,s=t.playGame,a=t.callback,h=Date.now(),l=h,c=new Promise((function(t){return e=t})),u=o.length,d=function(){if(i.curAimateBreaked)return e([!1,3]),void(i.curAimateBreaked=!1);var t=l-h;t>n&&(t=n);var c=t/n;c>1&&(c=1);var f=r.solve(c);f>=1&&(f=1);var p=new Array(u);o.forEach((function(t,e){p[e]=t*f})),s.apply(void 0,p),c<1?requestAnimationFrame(d):(a&&a(),e([!1,1])),l=Date.now()};return d(),c},t}(),I=function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},A=function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))},S=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},D=function(){function t(t){this.options=t,this.showTools=!0,this.lastClick=-1/0,this.curIndex=0,this.imgContainerMoveX=0,this.imgContainerMoveY=0,this.slideTime=300,this.zoomScale=.05,this.isZooming=!1,this.isAnimating=!1,this.isEnlargeMove=!1,this.isNormalMove=!1,this.normalMoved=!1,this.maxMovePointCounts=3,this.touchIdentifier=0,this.prefix="__",this.defToggleClass="defToggleClass",this.movePoints=[],this.fingerDirection="",this.moveStartTime=0,this.moveEndTime=0,this.doubleClickDuration=300,this.initalMatrix=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,1,1]],t.selector&&this.bindTrigger(),this.options.imgs||(this.options.imgs=[]),this.actionExecutor=new P({images:this.options.imgs}),this.taskExecuteAfterTEnd=new Map,this.envClient=this.testEnv(),this.genFrame(),this.handleReausetAnimate(),this.imgContainer=this.ref.querySelector("."+this.prefix+"imgContainer"),this.imgContainer.matrix=this.initalMatrix,this[this.envClient+"Initial"]()}return t.prototype.handleZoom=function(t){},t.prototype.handleMove=function(t){},t.prototype.handleMoveNormal=function(t){},t.prototype.handleMoveEnlage=function(t){},t.prototype.rotateLeft=function(t){},t.prototype.rotateRight=function(t){},t.prototype.autoMove=function(t,e,i,n){return n.maxTop,n.minTop,n.maxLeft,n.minLeft,Promise.resolve(1)},t.prototype.insertImageAfter=function(t,e){this.actionExecutor.addImg(t,e)},t.prototype.delImage=function(t){this.actionExecutor.delImg(t)},t.prototype.mobileInitial=function(){this.ref.addEventListener("touchstart",this.handleTouchStart.bind(this)),this.ref.addEventListener("touchmove",this.handleMove.bind(this)),this.ref.addEventListener("touchend",this.handleToucnEnd.bind(this)),this.ref.querySelector("."+this.prefix+"close").addEventListener("touchstart",this.close.bind(this)),this.handleResize=this.handleResize.bind(this),window.addEventListener("resize",this.handleResize),window.addEventListener("orientationchange",this.handleResize)},t.prototype.handleResize=function(){this.actionExecutor.eventsHanlder.handleResize()},t.prototype.bindTrigger=function(){var t=[],e=document.querySelectorAll(this.options.selector);e.length,e.forEach((function(e,i){t.push(e.dataset.src||e.src)})),this.options.imgs=t;var i=this;e.forEach((function(t,e){t.addEventListener("click",(function(t){i.show(e)}))}))},t.prototype.addTouchEndTask=function(t,e){this.taskExecuteAfterTEnd.has(t)||this.taskExecuteAfterTEnd.set(t,e)},t.prototype.handleTouchStart=function(t){switch(t.preventDefault(),t.touches.length){case 1:this.handleOneStart(t);break;case 2:this.handleTwoStart(t)}},t.prototype.handleTwoStart=function(t){this.curPoint1={x:t.touches[0].clientX,y:t.touches[0].clientY},this.curPoint2={x:t.touches[1].clientX,y:t.touches[1].clientY}},t.prototype.handleOneStart=function(t){var e=this,i=t.target.dataset.type;this[i]?this[i](t):(Date.now()-this.lastClick<this.doubleClickDuration?(clearTimeout(this.performerClick),this.handleDoubleClick(t)):this.performerClick=setTimeout((function(){e.handleClick(t)}),this.doubleClickDuration),this.lastClick=Date.now(),this.getMovePoints(t),this.startXForDirection=t.touches[0].clientX)},t.prototype.handleClick=function(t){var e=this.ref.querySelector("."+this.prefix+"close"),i=this.ref.querySelector("."+this.prefix+"bottom");this.showTools=!this.showTools,this.isAnimating,this.showTools?(e.style.display="block",i.style.display="block"):(e.style.display="none",i.style.display="none")},t.prototype.handleDoubleClick=function(t){return A(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return this.isAnimating?[2]:(this.isAnimating=!0,[4,this.actionExecutor.eventsHanlder.handleDoubleClick(t.touches[0])]);case 1:return e.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.handleToucnEnd=function(t){t.preventDefault(),Array.from(this.taskExecuteAfterTEnd.values()).sort((function(t,e){return e.priority-t.priority})).forEach((function(e){e.callback(t)})),this.taskExecuteAfterTEnd.clear()},t.prototype.handleTEndEnlarge=function(t){return A(this,void 0,void 0,(function(){var e,i,n,r,o,s,a,h,l,c,u,d,f,p,g,v,m,w,x,y,M,b,E,T,P;return S(this,(function(I){switch(I.label){case 0:return e=this.actionExecutor,i=e.viewRect,n=e.viewWidth/e.dpr,r=e.viewHeight/e.dpr,o=i.width,s=i.height,a=i.top,h=i.left,l=i.right,c=0,u=r-s,d=0,f=n-o,p=i.top,g=i.left,v=!1,m=!1,w=0,x=0,g>d?(w=d-g,m=!0):g<f&&(w=f-g,m=!0),p>c?(x=c-p,v=!0):p<u&&(x=u-p,v=!0),h>=0&&l<=n&&(m=!1,w=0),s<=r&&(v=!1,x=0),m||v?(this.isAnimating=!0,[4,e.eventsHanlder.handleTEndEnlarge(t,w,x,0)]):[3,2];case 1:return I.sent(),this.isAnimating=!1,[3,4];case 2:return this.moveEndTime=Date.now(),y={x:this.startX,y:this.startY},M={x:this.touchStartX,y:this.touchStartY},b=y.x-M.x,E=y.y-M.y,T=180*Math.atan2(E,b)/Math.PI,this.moveEndTime-this.moveStartTime<90&&Math.abs(b)+Math.abs(E)>5?(P={maxTop:c,minTop:u,maxLeft:d,minLeft:n-o},this.isAnimating=!0,[4,this.autoMove(T,h,a,P)]):[3,4];case 3:I.sent(),this.isAnimating=!1,I.label=4;case 4:return this.moveStartTime=0,[2]}}))}))},t.prototype.handleTEndEnNormal=function(t){return A(this,void 0,void 0,(function(){var e,i,n;return S(this,(function(r){switch(r.label){case 0:return this.isAnimating?[2]:(e=t.changedTouches[0].clientX,i=this.actionExecutor.eventsHanlder,0===(n=e-this.touchStartX)?[2]:(this.isAnimating=!0,[4,i.handleTEndEnNormal(t,n)]));case 1:return r.sent(),this.isAnimating=!1,[2]}}))}))},t.prototype.genFrame=function(){var t=this,e=this.options.imgs;!e||e.length,this.imgsNumber=e.length,this.curIndex=0;var i='\n                <div class="'+this.prefix+'close">\n                    <svg t="1563161688682" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5430">\n                        <path d="M10.750656 1013.12136c-13.822272-13.822272-13.822272-36.347457 0-50.169729l952.200975-952.200975c13.822272-13.822272 36.347457-13.822272 50.169729 0 13.822272 13.822272 13.822272 36.347457 0 50.169729l-952.200975 952.200975c-14.334208 14.334208-36.347457 14.334208-50.169729 0z" fill="#ffffff" p-id="5431"></path><path d="M10.750656 10.750656c13.822272-13.822272 36.347457-13.822272 50.169729 0L1013.633296 963.463567c13.822272 13.822272 13.822272 36.347457 0 50.169729-13.822272 13.822272-36.347457 13.822272-50.169729 0L10.750656 60.920385c-14.334208-14.334208-14.334208-36.347457 0-50.169729z" fill="#ffffff" p-id="5432">\n                        </path>\n                    </svg>\n                </div>\n                <div class="'+this.prefix+'imgContainer"></div>\n                <div class="'+this.prefix+'bottom">\n                    '+("pc"==this.envClient?'<div class="'+this.prefix+'item" title="before">\n                        <svg data-type="slideBefore" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M170.666667 477.866667L349.866667 298.666667l29.866666 29.866666-149.333333 149.333334h669.866667v42.666666H128l42.666667-42.666666z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item " title="next">\n                        <svg data-type="slideNext" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M849.066667 512l-179.2 179.2-29.866667-29.866667 149.333333-149.333333H128v-42.666667h763.733333l-42.666666 42.666667z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>':"")+'\n                    <div class="'+this.prefix+'item ">\n                        <svg data-type="rotateLeft" t="1563884004339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1099" width="200" height="200"><path d="M520.533333 285.866667c140.8 12.8 251.733333 132.266667 251.733334 277.333333 0 153.6-123.733333 277.333333-277.333334 277.333333-98.133333 0-192-55.466667-238.933333-140.8-4.266667-8.533333-4.266667-21.333333 8.533333-29.866666 8.533333-4.266667 21.333333-4.266667 29.866667 8.533333 42.666667 72.533333 119.466667 119.466667 204.8 119.466667 128 0 234.666667-106.666667 234.666667-234.666667s-98.133333-230.4-226.133334-234.666667l64 102.4c4.266667 8.533333 4.266667 21.333333-8.533333 29.866667-8.533333 4.266667-21.333333 4.266667-29.866667-8.533333l-89.6-145.066667c-4.266667-8.533333-4.266667-21.333333 8.533334-29.866667L597.333333 187.733333c8.533333-4.266667 21.333333-4.266667 29.866667 8.533334 4.266667 8.533333 4.266667 21.333333-8.533333 29.866666l-98.133334 59.733334z" p-id="1100" fill="#ffffff"></path></svg>\n                    </div>\n                    <div class="'+this.prefix+'item">\n                        <svg data-type="rotateRight"  t="1563884064737" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1251" width="200" height="200"><path d="M503.466667 285.866667L405.333333 226.133333c-8.533333-8.533333-12.8-21.333333-8.533333-29.866666 8.533333-8.533333 21.333333-12.8 29.866667-8.533334l145.066666 89.6c8.533333 4.266667 12.8 17.066667 8.533334 29.866667l-89.6 145.066667c-4.266667 8.533333-17.066667 12.8-29.866667 8.533333-8.533333-4.266667-12.8-17.066667-8.533333-29.866667l64-102.4c-123.733333 4.266667-226.133333 106.666667-226.133334 234.666667s106.666667 234.666667 234.666667 234.666667c85.333333 0 162.133333-46.933333 204.8-119.466667 4.266667-8.533333 17.066667-12.8 29.866667-8.533333 8.533333 4.266667 12.8 17.066667 8.533333 29.866666-51.2 85.333333-140.8 140.8-238.933333 140.8-153.6 0-277.333333-123.733333-277.333334-277.333333 0-145.066667 110.933333-264.533333 251.733334-277.333333z" p-id="1252" fill="#ffffff"></path></svg>\n                    </div>\n                </div>\n        ',n=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&375===window.screen.width&&812===window.screen.height,r=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&3===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,o=/iphone/gi.test(window.navigator.userAgent)&&window.devicePixelRatio&&2===window.devicePixelRatio&&414===window.screen.width&&896===window.screen.height,s=n||r||o,a="\n            ."+this.prefix+"imagePreviewer{\n                position: fixed;\n                top:0;\n                left: 100%;\n                width: 100%;\n                height: 100%;\n                background: "+function(e){switch(e){case"conBackground":return"pc"==t.envClient?"rgba(0,0,0,0.8)":"rgba(0,0,0,1)";case"imgWidth":return t.envClient,"100%";case"itemHeight":return"pc"==t.envClient?"100%":"auto";case"itemScroll":return"pc"==t.envClient?"auto ":"hidden";case"item-text-align":return"pc"==t.envClient?"center ":"initial";default:return""}}("conBackground")+";\n                color:#fff;\n                transform: translate3d(0,0,0);\n                transition: left 0.5s;\n                overflow:hidden;\n                user-select: none;\n            }\n            \n            ."+this.prefix+"imagePreviewer."+this.defToggleClass+"{\n                left: 0%;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close{\n                position: absolute;\n                top: 20px;\n                right: 20px;\n                z-index: 10;\n                box-sizing: border-box;\n                width: 22px;\n                height: 22px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"close svg{\n                width: 100%;\n                height: 100%;             \n            }\n            ."+this.prefix+"imagePreviewer svg{\n                overflow:visible;\n            }\n            ."+this.prefix+"imagePreviewer svg path{\n                stroke: #948888;\n                stroke-width: 30px;\n            }\n            \n            ."+this.prefix+"imagePreviewer "+this.prefix+".close."+this.prefix+"scroll{\n                height: 0;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"imgContainer{\n                position: relative;\n                height: 100%;\n                font-size: 0;\n                white-space: nowrap;\n            }\n            \n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom{\n                position: absolute;\n                bottom: "+(s?20:0)+"px;\n                left: 20px;\n                right: 20px;\n                z-index: 10;\n                padding: 0 10px;\n                text-align: center;\n                border-top: 1px solid rgba(255, 255, 255, .2);\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item{\n                display:inline-block;\n                width: 42px;\n                height: 42px;\n                cursor:pointer;\n            }\n            ."+this.prefix+"imagePreviewer ."+this.prefix+"bottom ."+this.prefix+"item svg{\n                box-sizing: border-box;\n                width: 100%;\n                height: 100%;\n                padding:10px;\n            }\n        ";if(this.ref=document.createElement("div"),this.ref.className=this.prefix+"imagePreviewer",this.ref.innerHTML=i,!document.querySelector("#"+this.prefix+"style")){var h=document.createElement("style");h.id=this.prefix+"style",h.innerHTML=a,document.querySelector("head").appendChild(h)}this.ref.querySelector("."+this.prefix+"imgContainer").append(this.actionExecutor.ref),document.body.appendChild(this.ref)},t.prototype.handleReausetAnimate=function(){window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60),0})},t.prototype.close=function(t){t.stopImmediatePropagation(),clearTimeout(this.performerClick),this[this.envClient+"BeforeClose"](),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.pcBeforeClose=function(){document.body.style.overflow=document.body.dataset.imgPreOverflow},t.prototype.mobileBeforeClose=function(){},t.prototype.show=function(t){"number"!=typeof t&&(console.error("index is not a number, will use zero as parameter"),t=0),this.actionExecutor.curIndex=t,this.actionExecutor.draw(t),this.toggleClass(this.ref,this.defToggleClass)},t.prototype.mobileReadyShow=function(){},t.prototype.pcReadyShow=function(){var t=window.getComputedStyle(document.body);document.body.dataset.imgPreOverflow=t.overflow,document.body.style.overflow="hidden"},t.prototype.toggleClass=function(t,e){var i=t.className.split(" "),n=i.indexOf(e);-1!==n?i.splice(n,1):i.push(e),t.className=i.join(" ")},t.prototype.getMovePoints=function(t){var e=this;if(!(this.movePoints.length>this.maxMovePointCounts)){this.movePoints.push({x:t.touches[0].clientX,y:t.touches[0].clientY});this.addTouchEndTask("resetMovePoints",{priority:1,callback:function(){return e.movePoints=[]}})}},t.prototype.decideMoveDirection=function(){var t=this,e=this.movePoints.length,i=this.movePoints[e-1],n=this.movePoints[0],r=i.x-n.x,o=i.y-n.y,s=180*Math.atan2(o,r)/Math.PI;Math.abs(90-Math.abs(s))<30?this.fingerDirection="vertical":this.fingerDirection="horizontal";this.addTouchEndTask("resetFingerDirection",{priority:1,callback:function(){t.fingerDirection=""}})},t.prototype.destroy=function(){this.ref.parentNode.removeChild(this.ref),window.removeEventListener("resize",this.handleResize),window.removeEventListener("orientationchange",this.handleResize)},t.prototype.testEnv=function(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)?"mobile":"pc"},t=I([o],t)}();T=D,[s,a,c].forEach((function(t){Object.getOwnPropertyNames(t.prototype).forEach((function(e){T.prototype[e]=t.prototype[e]}))})),t.ImagePreview=D,Object.defineProperty(t,"__esModule",{value:!0})}));
+>>>>>>> e52d3d1ea8271860ffb86b7076b792a413cdb5aa
diff --git a/release/image-preview/image-preview-umd.js b/release/image-preview/image-preview-umd.js
index 6c50948..5d52df0 100644
--- a/release/image-preview/image-preview-umd.js
+++ b/release/image-preview/image-preview-umd.js
@@ -2472,6 +2472,10 @@
         };
         ImagePreview.prototype.mobileBeforeClose = function () { };
         ImagePreview.prototype.show = function (index) {
+            if (typeof index !== 'number') {
+                console.error('index is not a number, will use zero as parameter');
+                index = 0;
+            }
             this.actionExecutor.curIndex = index;
             this.actionExecutor.draw(index);
             this.toggleClass(this.ref, this.defToggleClass);
diff --git a/release/source/core/image-preview.js b/release/source/core/image-preview.js
index 086c19b..8d3dd49 100644
--- a/release/source/core/image-preview.js
+++ b/release/source/core/image-preview.js
@@ -428,6 +428,10 @@ var ImagePreview = (function () {
     };
     ImagePreview.prototype.mobileBeforeClose = function () { };
     ImagePreview.prototype.show = function (index) {
+        if (typeof index !== 'number') {
+            console.error('index is not a number, will use zero as parameter');
+            index = 0;
+        }
         this.actionExecutor.curIndex = index;
         this.actionExecutor.draw(index);
         this.toggleClass(this.ref, this.defToggleClass);
diff --git a/release/types/action/index.d.ts b/release/types/action/index.d.ts
new file mode 100644
index 0000000..fdf2553
--- /dev/null
+++ b/release/types/action/index.d.ts
@@ -0,0 +1,4 @@
+import { Move } from './move';
+import { Zoom } from './zoom';
+import { Rotate } from './rotate';
+export { Move, Zoom, Rotate };
diff --git a/release/types/action/move.d.ts b/release/types/action/move.d.ts
new file mode 100644
index 0000000..2d60f1f
--- /dev/null
+++ b/release/types/action/move.d.ts
@@ -0,0 +1,12 @@
+import { ImagePreview } from '../core/image-preview';
+export declare class Move {
+    handleMove(this: ImagePreview, e: TouchEvent & MouseEvent): void;
+    handleMoveNormal(this: ImagePreview, e: TouchEvent & MouseEvent): void;
+    handleMoveEnlage(this: ImagePreview, e: TouchEvent & MouseEvent): void;
+    autoMove(this: ImagePreview, deg: number, startX: number, startY: number, { maxTop, minTop, maxLeft, minLeft }: {
+        maxTop: any;
+        minTop: any;
+        maxLeft: any;
+        minLeft: any;
+    }): Promise<void>;
+}
diff --git a/release/types/action/rotate.d.ts b/release/types/action/rotate.d.ts
new file mode 100644
index 0000000..cc83ede
--- /dev/null
+++ b/release/types/action/rotate.d.ts
@@ -0,0 +1,5 @@
+import { ImagePreview } from '../core/image-preview';
+export declare class Rotate {
+    rotateLeft(this: ImagePreview, e: TouchEvent & MouseEvent): Promise<any>;
+    rotateRight(this: ImagePreview, e: TouchEvent & MouseEvent): Promise<any>;
+}
diff --git a/release/types/action/zoom.d.ts b/release/types/action/zoom.d.ts
new file mode 100644
index 0000000..c0cb0a8
--- /dev/null
+++ b/release/types/action/zoom.d.ts
@@ -0,0 +1,4 @@
+import { ImagePreview } from '../core/image-preview';
+export declare class Zoom {
+    handleZoom(this: ImagePreview, e: TouchEvent & MouseEvent): void;
+}
diff --git a/release/types/animation/animateJs.d.ts b/release/types/animation/animateJs.d.ts
new file mode 100644
index 0000000..8948c87
--- /dev/null
+++ b/release/types/animation/animateJs.d.ts
@@ -0,0 +1,21 @@
+declare type coordinate = {
+    x: number;
+    y: number;
+};
+export declare class cubicBezier {
+    p1: coordinate;
+    p2: coordinate;
+    cachedY: Map<number, number>;
+    precision: number;
+    constructor(x1: any, y1: any, x2: any, y2: any);
+    getX(t: number): number;
+    getY(t: number): number;
+    solveCurveX(x: number): number;
+    solve(x: number): number;
+}
+export declare var linear: cubicBezier;
+export declare var ease: cubicBezier;
+export declare var easeIn: cubicBezier;
+export declare var easeOut: cubicBezier;
+export declare var easeInOut: cubicBezier;
+export {};
diff --git a/release/types/animation/animateTest.d.ts b/release/types/animation/animateTest.d.ts
new file mode 100644
index 0000000..7266eff
--- /dev/null
+++ b/release/types/animation/animateTest.d.ts
@@ -0,0 +1 @@
+export declare function run(): void;
diff --git a/release/types/animation/index.d.ts b/release/types/animation/index.d.ts
new file mode 100644
index 0000000..72f6cd1
--- /dev/null
+++ b/release/types/animation/index.d.ts
@@ -0,0 +1,11 @@
+import { ImagePreview } from '../core/image-preview';
+export declare class Animation {
+    animate(this: ImagePreview, { el, prop, endStr, timingFunction, callback, duration }: animateProps): void;
+    animateMultiValue(this: ImagePreview, el: HTMLElement, options: Array<{
+        prop: string;
+        endStr: string;
+    }>, timingFunction?: string, callback?: () => void): void;
+    computeStep(displacement: number, time: number): number;
+    setTransitionProperty(this: ImagePreview, { el, prop, time, timingFunction }: setTransitionPropertyProps): void;
+    transitionEnd(this: ImagePreview): any;
+}
diff --git a/release/types/core/d.d.ts b/release/types/core/d.d.ts
new file mode 100644
index 0000000..1df4f53
--- /dev/null
+++ b/release/types/core/d.d.ts
@@ -0,0 +1,48 @@
+declare type ImagePreviewConstrucor = {
+    imgs?: Array<string | HTMLImageElement>;
+} & {
+    selector?: string;
+};
+declare type interFaceElementMatrix = HTMLElement & {
+    matrix: Array<Array<number>>;
+    intialMatrix: Array<Array<number>>;
+} & transformParam;
+declare type transformParam = {
+    rotateDeg: number;
+};
+declare type task = {
+    priority: number;
+    callback: (e: any) => any;
+};
+declare type image = HTMLImageElement & {
+    loadError: boolean;
+    _id: number;
+};
+declare type animateProps = {
+    el: HTMLElement;
+    prop: string;
+    endStr: string;
+    timingFunction?: string;
+    callback?: () => any;
+    duration?: number;
+};
+declare type setTransitionPropertyProps = {
+    el: HTMLElement;
+    time: number;
+    timingFunction?: string;
+    prop?: string;
+};
+declare module "*.vert" {
+    const sourceVer: string;
+    export { sourceVer };
+}
+declare module "*.frag" {
+    const sourceFrag: string;
+    export { sourceFrag };
+}
+declare type createPlaneParam = {
+    x: number;
+    y: number;
+    width: number;
+    height: number;
+};
diff --git a/release/types/core/image-preview.d.ts b/release/types/core/image-preview.d.ts
new file mode 100644
index 0000000..2bdafb8
--- /dev/null
+++ b/release/types/core/image-preview.d.ts
@@ -0,0 +1,104 @@
+import { Move, Zoom } from '../action/index';
+import { webGl } from '../webgl/index';
+declare class ImagePreview implements Move, Zoom {
+    options: ImagePreviewConstrucor;
+    showTools: boolean;
+    lastClick: number;
+    performerClick: any;
+    startX: number;
+    touchStartX: number;
+    startY: number;
+    touchStartY: number;
+    startXForDirection: number;
+    curIndex: number;
+    imgContainerMoveX: number;
+    imgContainerMoveY: number;
+    imgsNumber: number;
+    slideTime: number;
+    zoomScale: number;
+    isZooming: boolean;
+    curPoint1: {
+        x: number;
+        y: number;
+    };
+    curPoint2: {
+        x: number;
+        y: number;
+    };
+    curStartPoint1: {
+        x: number;
+        y: number;
+    };
+    curStartPoint2: {
+        x: number;
+        y: number;
+    };
+    isAnimating: boolean;
+    isEnlargeMove: boolean;
+    isNormalMove: boolean;
+    normalMoved: boolean;
+    maxMovePointCounts: number;
+    touchIdentifier: number;
+    prefix: string;
+    ref: HTMLElement;
+    imgContainer: HTMLElement & {
+        matrix: Array<Array<number>>;
+    };
+    defToggleClass: string;
+    movePoints: Array<{
+        x: number;
+        y: number;
+    }>;
+    fingerDirection: string;
+    moveStartTime: number;
+    moveEndTime: number;
+    actionExecutor: webGl;
+    taskExecuteAfterTEnd: Map<string, task>;
+    doubleClickDuration: number;
+    envClient: string;
+    supportTransitionEnd: string;
+    transitionEndPrefix: string;
+    initalMatrix: number[][];
+    screenWidth: number;
+    constructor(options: ImagePreviewConstrucor);
+    handleZoom(e: TouchEvent & MouseEvent): void;
+    handleMove(e: TouchEvent & MouseEvent): void;
+    handleMoveNormal(e: TouchEvent & MouseEvent): void;
+    handleMoveEnlage(e: TouchEvent & MouseEvent): void;
+    rotateLeft(e: TouchEvent & MouseEvent): void;
+    rotateRight(e: TouchEvent & MouseEvent): void;
+    autoMove(deg: number, startX: number, startY: number, { maxTop, minTop, maxLeft, minLeft }: {
+        maxTop: any;
+        minTop: any;
+        maxLeft: any;
+        minLeft: any;
+    }): Promise<any>;
+    insertImageAfter(image: string | image, index: number): void;
+    delImage(index: number): void;
+    mobileInitial(): void;
+    handleResize(): void;
+    bindTrigger(): void;
+    addTouchEndTask(type: string, task: task): void;
+    handleTouchStart(e: TouchEvent & MouseEvent): void;
+    handleTwoStart(e: TouchEvent & MouseEvent): void;
+    handleOneStart(e: TouchEvent & MouseEvent): void;
+    handleClick(e?: TouchEvent & MouseEvent): void;
+    handleDoubleClick(e: TouchEvent & MouseEvent): Promise<void>;
+    handleToucnEnd(e: TouchEvent & MouseEvent): void;
+    handleTEndEnlarge(e: TouchEvent & MouseEvent): Promise<void>;
+    handleTEndEnNormal(e: TouchEvent & MouseEvent): Promise<void>;
+    genFrame(): void;
+    handleReausetAnimate(): void;
+    close(e: MouseEvent & TouchEvent): void;
+    pcBeforeClose(): void;
+    mobileBeforeClose(): void;
+    show(index: number): void;
+    mobileReadyShow(): void;
+    pcReadyShow(): void;
+    toggleClass(ref: HTMLElement, className: string): void;
+    getMovePoints(e: MouseEvent & TouchEvent): void;
+    decideMoveDirection(): void;
+    destroy(): void;
+    testEnv(): string;
+}
+export { ImagePreview };
diff --git a/release/types/core/pcAdapter.d.ts b/release/types/core/pcAdapter.d.ts
new file mode 100644
index 0000000..069275f
--- /dev/null
+++ b/release/types/core/pcAdapter.d.ts
@@ -0,0 +1,113 @@
+import { ImagePreview } from "./image-preview";
+declare const _default: (constructor: typeof ImagePreview) => {
+    new (options: ImagePreviewConstrucor): {
+        mouseDown: boolean;
+        pcInitial(): void;
+        handleMouseUp(): void;
+        handleMouseMove(e: MouseEvent): void;
+        handleWheel(e: WheelEvent): Promise<void>;
+        handlePCDoubleClick(e: MouseEvent & TouchEvent): Promise<void>;
+        handleMouseDown(e: MouseEvent & TouchEvent): void;
+        slideBefore(): Promise<void>;
+        slideNext(): Promise<void>;
+        showTools: boolean;
+        lastClick: number;
+        performerClick: any;
+        startX: number;
+        touchStartX: number;
+        startY: number;
+        touchStartY: number;
+        startXForDirection: number;
+        curIndex: number;
+        imgContainerMoveX: number;
+        imgContainerMoveY: number;
+        imgsNumber: number;
+        slideTime: number;
+        zoomScale: number;
+        isZooming: boolean;
+        curPoint1: {
+            x: number;
+            y: number;
+        };
+        curPoint2: {
+            x: number;
+            y: number;
+        };
+        curStartPoint1: {
+            x: number;
+            y: number;
+        };
+        curStartPoint2: {
+            x: number;
+            y: number;
+        };
+        isAnimating: boolean;
+        isEnlargeMove: boolean;
+        isNormalMove: boolean;
+        normalMoved: boolean;
+        maxMovePointCounts: number;
+        touchIdentifier: number;
+        prefix: string;
+        ref: HTMLElement;
+        imgContainer: HTMLElement & {
+            matrix: number[][];
+        };
+        defToggleClass: string;
+        movePoints: {
+            x: number;
+            y: number;
+        }[];
+        fingerDirection: string;
+        moveStartTime: number;
+        moveEndTime: number;
+        actionExecutor: import("../webgl/index").webGl;
+        taskExecuteAfterTEnd: Map<string, task>;
+        doubleClickDuration: number;
+        envClient: string;
+        supportTransitionEnd: string;
+        transitionEndPrefix: string;
+        initalMatrix: number[][];
+        screenWidth: number;
+        options: ImagePreviewConstrucor;
+        handleZoom(e: TouchEvent & MouseEvent): void;
+        handleMove(e: TouchEvent & MouseEvent): void;
+        handleMoveNormal(e: TouchEvent & MouseEvent): void;
+        handleMoveEnlage(e: TouchEvent & MouseEvent): void;
+        rotateLeft(e: TouchEvent & MouseEvent): void;
+        rotateRight(e: TouchEvent & MouseEvent): void;
+        autoMove(deg: number, startX: number, startY: number, { maxTop, minTop, maxLeft, minLeft }: {
+            maxTop: any;
+            minTop: any;
+            maxLeft: any;
+            minLeft: any;
+        }): Promise<any>;
+        insertImageAfter(image: string | image, index: number): void;
+        delImage(index: number): void;
+        mobileInitial(): void;
+        handleResize(): void;
+        bindTrigger(): void;
+        addTouchEndTask(type: string, task: task): void;
+        handleTouchStart(e: TouchEvent & MouseEvent): void;
+        handleTwoStart(e: TouchEvent & MouseEvent): void;
+        handleOneStart(e: TouchEvent & MouseEvent): void;
+        handleClick(e?: TouchEvent & MouseEvent): void;
+        handleDoubleClick(e: TouchEvent & MouseEvent): Promise<void>;
+        handleToucnEnd(e: TouchEvent & MouseEvent): void;
+        handleTEndEnlarge(e: TouchEvent & MouseEvent): Promise<void>;
+        handleTEndEnNormal(e: TouchEvent & MouseEvent): Promise<void>;
+        genFrame(): void;
+        handleReausetAnimate(): void;
+        close(e: MouseEvent & TouchEvent): void;
+        pcBeforeClose(): void;
+        mobileBeforeClose(): void;
+        show(index: number): void;
+        mobileReadyShow(): void;
+        pcReadyShow(): void;
+        toggleClass(ref: HTMLElement, className: string): void;
+        getMovePoints(e: MouseEvent & TouchEvent): void;
+        decideMoveDirection(): void;
+        destroy(): void;
+        testEnv(): string;
+    };
+};
+export default _default;
diff --git a/release/types/core/test.d.ts b/release/types/core/test.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/release/types/core/test.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/release/types/h5/htmlExecutor.d.ts b/release/types/h5/htmlExecutor.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/release/types/h5/htmlExecutor.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/release/types/matrix/index.d.ts b/release/types/matrix/index.d.ts
new file mode 100644
index 0000000..cfb327c
--- /dev/null
+++ b/release/types/matrix/index.d.ts
@@ -0,0 +1,15 @@
+export declare class Matrix {
+    matrixMultipy(a: any, b: any, ...res: any[]): any;
+    matrixTostr(arr: Array<Array<number>>): string;
+    getTranslateMatrix({ x, y, z }: {
+        x: any;
+        y: any;
+        z: any;
+    }): any[][];
+    getRotateZMatrix(deg: number): number[][];
+    getScaleMatrix({ x, y, z }: {
+        x: any;
+        y: any;
+        z: any;
+    }): any[][];
+}
diff --git a/release/types/tools/index.d.ts b/release/types/tools/index.d.ts
new file mode 100644
index 0000000..6c9144b
--- /dev/null
+++ b/release/types/tools/index.d.ts
@@ -0,0 +1,2 @@
+declare function showDebugger(msg: string): void;
+export { showDebugger };
diff --git a/release/types/vueComponent/index.d.ts b/release/types/vueComponent/index.d.ts
new file mode 100644
index 0000000..eace1a8
--- /dev/null
+++ b/release/types/vueComponent/index.d.ts
@@ -0,0 +1,13 @@
+export declare let _Vue: any;
+declare let ImagePreviewVue: {
+    install: (Vue: any) => void;
+    imagePreview: {
+        props: {
+            images: ArrayConstructor;
+        };
+        mounted: () => void;
+        beforeDestroy: () => void;
+        render: Function;
+    };
+};
+export { ImagePreviewVue };
diff --git a/release/types/webgl/eventSystem/index.d.ts b/release/types/webgl/eventSystem/index.d.ts
new file mode 100644
index 0000000..01f8831
--- /dev/null
+++ b/release/types/webgl/eventSystem/index.d.ts
@@ -0,0 +1,19 @@
+import { webGl } from "../index";
+export declare class events {
+    viewInstance: webGl;
+    curBehaviorCanBreak: boolean;
+    throldDeg: number;
+    resizeTimer: any;
+    constructor(viewInstance: webGl);
+    handleResize(): void;
+    handleDoubleClick({ clientX, clientY }: {
+        clientX: number;
+        clientY: number;
+    }): Promise<unknown>;
+    handleMoveEnlage(x: number, y: number, z: number): void;
+    handleMoveNormal(e: TouchEvent & MouseEvent, offset: number): void;
+    handleZoom(sx: number, sy: number, dx: number, dy: number): void;
+    handleTEndEnNormal(e: TouchEvent & MouseEvent, offset: number): Promise<string>;
+    handleTEndEnlarge(e: TouchEvent & MouseEvent, x: number, y: number, z: number): Promise<void>;
+    moveCurPlaneTo(x: number, y: number, z: number): Promise<void>;
+}
diff --git a/release/types/webgl/index.d.ts b/release/types/webgl/index.d.ts
new file mode 100644
index 0000000..791c28d
--- /dev/null
+++ b/release/types/webgl/index.d.ts
@@ -0,0 +1,107 @@
+import { cubicBezier } from '../animation/animateJs';
+import { events } from './eventSystem/index';
+declare type webGlConstructorProps = {
+    images: Array<string | HTMLImageElement>;
+};
+declare class webGl {
+    viewWidth: number;
+    viewHeight: number;
+    dpr: number;
+    gl: WebGLRenderingContext;
+    ref: HTMLCanvasElement;
+    shaderProgram: WebGLProgram;
+    fieldOfViewInRadians: number;
+    zNear: number;
+    zFar: number;
+    curIndex: number;
+    defaultAnimateTime: number;
+    initialModel: Array<number>;
+    baseModel: Array<number>;
+    modelMatrix: Array<number>;
+    initialVertextes: any;
+    indinces: Map<number, WebGLBuffer>;
+    positions: Array<number>;
+    imgs: Array<image>;
+    imgUrls: Array<string | image>;
+    imgShape: Array<number>;
+    imgShapeInitinal: Array<number>;
+    textures: Map<number, WebGLTexture>;
+    texturesOther: Map<number, WebGLTexture>;
+    positionBuffer: WebGLBuffer;
+    curPlane: Array<number>;
+    eventsHanlder: events;
+    isBoudriedSide: boolean;
+    curAimateBreaked: boolean;
+    imgId: number;
+    constructor({ images, }: webGlConstructorProps);
+    contextHandle(): void;
+    readyWebgl(): void;
+    addImg(image: string | image, index: number): void;
+    delImg(index: number): void;
+    initOtherTexture(): void;
+    initData(): void;
+    slideNext(): Promise<boolean[]>;
+    slideBefore(): Promise<boolean[]>;
+    slide(deg: number, callback: Function): Promise<boolean[]>;
+    rotate(end: any): Promise<unknown>;
+    rotateZ(deg: any): Promise<unknown>;
+    genPostion(width: number, height: number, index: number): void;
+    updatePosition(img: image, index: any): void;
+    bindPostion(): void;
+    drawPosition(): void;
+    rotatePosition(deg: number): void;
+    scaleZPosition({ scaleX, scaleY, dx, dy }: {
+        scaleX: number;
+        scaleY: number;
+        dx: number;
+        dy: number;
+    }): Promise<unknown>;
+    moveCurPlane(x: number, y: number, z: number): Promise<unknown>;
+    transformCurplane(a: any, ...matrixes: any[]): void;
+    zoomCurPlan(sx: any, sy: any, dx: any, dy: any): void;
+    setTextureCordinate(): void;
+    bindTexture(image: image, id: number): void;
+    updateTexture(id: number, image: image): void;
+    updateOtherTexture(id: number): void;
+    texImage(image: image): void;
+    setTexParameteri(width: number, height: number): void;
+    bindIndex(index: number): void;
+    generateCube(width: number, height: number): void;
+    decideScaleRatio(clientX: number, clientY: number): any[];
+    decideImgViewSize(imgWidth: any, imgHeight: any): number[];
+    draw(index: number): void;
+    createPerspectiveMatrix(): number[];
+    get curPointAt(): number;
+    get IsBoundaryLeft(): boolean;
+    get isBoundaryRight(): boolean;
+    curIsLongImg(): boolean;
+    get curCenterCoordinate(): number[];
+    get viewRect(): {
+        left: number;
+        right: number;
+        width: number;
+        height: number;
+        top: number;
+        bottom: number;
+    };
+    get curPlanePosition(): any[];
+    get isEnlargement(): boolean;
+    get isEnlargementForScale(): boolean;
+    isLoadingError(index?: number): boolean;
+    loadImage(src: string, index: number): image;
+    handleImgLoaded(img: image, index: number): void;
+    validateImg(img: image): image;
+    clear(): void;
+    bindShader(gl: WebGLRenderingContext, sourceFrag: any, sourceVer: any): WebGLProgram;
+    loadShader(gl: WebGLRenderingContext, type: number, source: string): WebGLShader;
+    createPlane({ x, y, width, height }: createPlaneParam): {};
+    intialView(): WebGLRenderingContext;
+    animate({ allTime, timingFun, ends, playGame, callback }: {
+        allTime: number;
+        timingFun: cubicBezier;
+        ends: Array<number>;
+        playGame: Function;
+        callback?: Function;
+    }): Promise<unknown>;
+}
+export { webGl };
diff --git a/release/types/webgl/matrix.d.ts b/release/types/webgl/matrix.d.ts
new file mode 100644
index 0000000..609f08c
--- /dev/null
+++ b/release/types/webgl/matrix.d.ts
@@ -0,0 +1,13 @@
+declare type matrixType = Array<number>;
+export declare const matrix: {
+    multiplyPoint(point: matrixType, rowMatrix: matrixType, ...rest: Array<matrixType>): any;
+    multiplyMatrices(a: matrixType, b: matrixType, ...rest: any[]): any;
+    rotateByArbitrayAxis(x: number, y: number, z: number, deg: number): number[];
+    multiplyArrayOfMatrices(matrices: Array<matrixType>): matrixType;
+    rotateXMatrix(a: number): number[];
+    rotateYMatrix(deg: number): number[];
+    rotateZMatrix(a: number): number[];
+    translateMatrix(x: number, y: number, z: number): number[];
+    scaleMatrix(w: number, h: number, d: number): number[];
+};
+export {};
diff --git a/release/types/webgl/static/index.d.ts b/release/types/webgl/static/index.d.ts
new file mode 100644
index 0000000..958acc3
--- /dev/null
+++ b/release/types/webgl/static/index.d.ts
@@ -0,0 +1 @@
+export declare const errImgBase64 = "data:image/svg+xml;base64,PHN2ZyB0PSIxNjI1ODExNDgwNTgyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEzNDIgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMTIxNi4zNTcgMTM5LjAzYy0xMC4xNTctMTEuNDI3LTI0Ljc1OS0xNy43NzUtMzkuOTk1LTE4LjQxTDc0My40IDEwMy40OGwtMzIuMzc3IDczLjAwNiA0NS4wNzQgMTM1Ljg1Ni04MS4yNiAxNTQuMjY3IDMzLjAxMiAxMjQuNDI5IDgyLjUzIDEwNi42NTMgMTE5LjM1LTEwOS44MjdjMTEuNDI3LTEwLjc5MyAyOS44MzctMTAuMTU4IDM5Ljk5NCAxLjkwNGwxNTIuOTk3IDE2NS42OTRjMTAuNzkzIDExLjQyNyAxMC4xNTggMjkuODM3LTEuMjcgNDAuNjMtNS43MTMgNS4wNzgtMTIuNjk2IDguMjUzLTIwLjMxNCA3LjYxOGwtNDE5LjYzLTE2LjUwNi0yMC45NSA2MC4zMSAyMi44NTQgNTMuOTYyIDQ4Mi40OCAxOC40MWMzMS43NDIgMS4yNyA1OC40MDUtMjMuNDkgNTkuMDQtNTUuMjMxbDI2LjY2My02ODQuMzZjMC42MzUtMTUuMjM2LTQuNDQ0LTMwLjQ3Mi0xNS4yMzYtNDEuMjY1ek05MDYuNTU0IDQ1My4yNzdjLTQ3LjYxMy0xLjkwNC04NC40MzQtNDEuOS04Mi41My04OC44NzggMS45MDUtNDcuNjEzIDQxLjktODQuNDM0IDg4Ljg3OS04Mi41MyA0Ni45NzggMS45MDUgODQuNDM0IDQxLjkgODIuNTMgODguODc5LTEuOTA1IDQ2Ljk3OC00MS45IDg0LjQzNC04OC44NzkgODIuNTN6TTU5NS40ODIgODQ4LjE1bDE0LjYwMS02My40ODQtMzQwLjkxIDIzLjQ4OWMtMTUuODcxIDEuMjctMjkuMjAzLTEwLjE1OC0zMC40NzItMjYuMDI5YTI4LjEyIDI4LjEyIDAgMCAxIDYuOTgzLTIwLjk1TDQ5OC4zNSA0NzEuMDUzYzUuMDc5LTYuMzQ5IDEyLjY5Ny05LjUyMyAyMC45NS05LjUyMyA3LjYxOCAwIDE1LjIzNiAzLjE3NCAyMC45NSA4Ljg4OGw4NC40MzMgODguMjQzLTM2LjE4Ni05My45NTcgNjQuNzU0LTE2Mi41Mi01OS4wNC0xMzAuMTQyIDI0LjEyNC03NC45MTEtNDY0LjcwNCAzMi4zNzdjLTMxLjc0MiAxLjkwNC01NS4yMzIgMjkuMjAyLTUzLjMyNyA2MC45NDVsNDYuOTc4IDY4NC4zNmMwLjYzNSAxNS4yMzUgNy42MTggMjkuMjAyIDE5LjY4IDM4LjcyNSAxMS40MjggMTAuMTU3IDI2LjAyOSAxNS4yMzYgNDEuMjY1IDEzLjk2Nmw0MTUuMTg3LTI4LjU2OC0yNy45MzMtNTAuNzg3eiIgcC1pZD0iNjA3MCIgZmlsbD0iI2JmYmZiZiIvPjwvc3ZnPg==";
diff --git a/release/types/webgl/tools/canvas-tools.d.ts b/release/types/webgl/tools/canvas-tools.d.ts
new file mode 100644
index 0000000..f8706f6
--- /dev/null
+++ b/release/types/webgl/tools/canvas-tools.d.ts
@@ -0,0 +1,3 @@
+declare function initialCanvas(img: HTMLImageElement, width: number, height: number): HTMLCanvasElement;
+export declare const tailor: typeof initialCanvas;
+export {};
diff --git a/release/types/webgl/tools/index.d.ts b/release/types/webgl/tools/index.d.ts
new file mode 100644
index 0000000..4585d49
--- /dev/null
+++ b/release/types/webgl/tools/index.d.ts
@@ -0,0 +1,2 @@
+export declare function canvasForTextures(images: Array<HTMLImageElement>): void;
+export declare function fps(): () => void;
diff --git a/release/types/webgl/tools/worker.d.ts b/release/types/webgl/tools/worker.d.ts
new file mode 100644
index 0000000..e69de29
diff --git a/scripts/beforeBuild.js b/scripts/build.js
similarity index 75%
rename from scripts/beforeBuild.js
rename to scripts/build.js
index 15c4d8b..ca1dcad 100644
--- a/scripts/beforeBuild.js
+++ b/scripts/build.js
@@ -1,6 +1,6 @@
+const shell = require('shelljs');
 const fs = require('fs');
 const path = require('path')
-const childProcess = require('child_process')
 const version = process.env.npm_package_version;
 
 const imagePreviewSrc = (path.resolve(__dirname,'../src/core/image-preview.ts')  )
@@ -28,12 +28,19 @@ const sourceVer = \`${verTexSource}\`;
 `)
 fs.writeFileSync(`${webglDir}/index.ts`,copiedWebglSource)
 console.log('ts编译开始')
-childProcess.exec(`npm run compileTs`,(err)=>{
-    fs.writeFileSync(`${webglDir}/index.ts`,webglSource)
-    if(err){
-        console.log(err)
-        console.log('编译失败')
-        return;
+const {output, code} =  shell.exec('npm run compileTs"');
+fs.writeFileSync(`${webglDir}/index.ts`,webglSource)
+if (code !== 0) {
+    throw output;
+}
+console.log('typescript compile complete!');
+
+shell.cd('scripts');
+{
+    const {output, code} =  shell.exec('node generateModule.js"');
+    if (code !== 0) {
+        throw output;
     }
-    console.log('typescript compile complete!')
-})
\ No newline at end of file
+
+}
+shell.cd('..');
\ No newline at end of file
diff --git a/scripts/generateModule.js b/scripts/generateModule.js
index 2dcf8b6..f943028 100644
--- a/scripts/generateModule.js
+++ b/scripts/generateModule.js
@@ -7,9 +7,9 @@ try{
     function compile(index,mini){
         let mod = moduler[index];
         let mininame = mini ? '-min': ''; 
-        let filename = `${releasePath}/image-preview-${mod}${mininame}.js`;
+        let filename = `${releasePath}\\image-preview-${mod}${mininame}.js`;
         let miniParam = mini ? '--compact' : '';
-        childProcess.exec(`../node_modules/.bin/rollup -c -f ${mod} -o ${filename} ${miniParam}`,(err,stdout)=>{
+        childProcess.exec(`..\\node_modules\\.bin\\rollup -c -f ${mod} -o ${filename} ${miniParam}`,(err,stdout)=>{
             if(err){
                 console.log(err)
                 console.log('编译失败')
diff --git a/src/core/image-preview.ts b/src/core/image-preview.ts
index 5732a30..91ac29a 100644
--- a/src/core/image-preview.ts
+++ b/src/core/image-preview.ts
@@ -1,5 +1,5 @@
 /**
- * image-preview [2.1.1]
+ * image-preview [2.2.0]
  * author:zilong
  * https://github.com/daxiazilong
  * Released under the MIT License
@@ -535,6 +535,10 @@ class ImagePreview implements Move, Zoom {
     }
     mobileBeforeClose() { }
     show(index: number) {
+        if (typeof index !== 'number') {
+            console.error('index is not a number, will use zero as parameter');
+            index = 0;
+        }
         this.actionExecutor.curIndex = index;
         this.actionExecutor.draw(index)
         this.toggleClass(this.ref, this.defToggleClass)
diff --git a/src/tsconfig.json b/src/tsconfig.json
index 5b22694..357c289 100644
--- a/src/tsconfig.json
+++ b/src/tsconfig.json
@@ -8,5 +8,7 @@
           "outDir":"../release/source",
           "module": "ES6",
           "listFiles":true,
+          "declaration": true,
+          "declarationDir": "../release/types"
       }
   }
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index b0c162a..6c3f2b8 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,5 +6,6 @@
           "removeComments":true,
           "watch": true,
           "experimentalDecorators": true
-      }
+      },
+      "exclude": ["release", "node_modules"],
   }
\ No newline at end of file