@2080code/pic-processer 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,18 +7,22 @@
7
7
  ## 介绍
8
8
  用来对图片做压缩,把 File 对象转为 dataURL,又或者把 dataURL 转为 File 对象。
9
9
 
10
+ ***
11
+
10
12
  ## 安装
11
13
  ```bash
12
14
  npm install @2080code/pic-processer
13
15
  ```
14
16
 
17
+ ***
18
+
15
19
  ## 使用
16
20
  ```javascript
17
21
  import PicProcesser from '@2080code/pic-processer'
18
22
  ```
19
23
 
20
24
  ```html
21
- <script src="lib/pic-processer.min.js"></script>
25
+ <script src="dist/pic-processer.min.js"></script>
22
26
  ```
23
27
 
24
28
  例子:
@@ -31,6 +35,8 @@ picProcesser.compress(file, 0.2)
31
35
  picProcesser.getDataURL(file)
32
36
  ```
33
37
 
38
+ ***
39
+
34
40
  ## 方法
35
41
  ### compress
36
42
  压缩图片质量、改变图片尺寸,输出 dataURL
@@ -38,37 +44,46 @@ picProcesser.getDataURL(file)
38
44
  ```javascript
39
45
  picProcesser.compress(file, 0.2, 1000, 'image/png')
40
46
  ```
41
- #### 参数
47
+ ##### 参数
42
48
  参数|类型|默认值|说明
43
49
  ---|---|---|---
44
50
  `file` | File | `null` | 图片文件
51
+ `options` | [PicProcesser.CompressOptions](######PicProcesser.CompressOptions) | `{ratio: 0.5, maxWidth: null,mime:'image/jpeg'}` | 压缩选项
52
+
53
+ ###### PicProcesser.CompressOptions
54
+ 参数|类型|默认值|说明
55
+ ---|---|---|---
45
56
  `ratio` | number | `0.5` | 压缩比例,`0`-`1` 之间的小数
46
57
  `maxWidth` | number | `null` | 图片宽度上限,>1的整数,单位px,`0` 或 `null` 表示不限制,输出图片的高度会等比例缩放
47
58
  `mime` | string | `image/jpeg` | 输出图片类型
48
59
 
49
- #### 返回
60
+ ##### 返回
50
61
  返回值|类型|说明
51
62
  ---|---|---
52
63
  `Promise<string>` | `Promise<string>` | 压缩后的图片 dataURL 编码
53
64
 
54
65
  *注意:因为是借助 canvas 渲染输出,几乎是重绘了图片,所以如果压缩比率(`ratio`)设置得太高,最终文件字节可能会比原图更大*
55
66
 
67
+ ***
68
+
56
69
  ### getDataURL
57
70
  File 转 dataURL
58
71
 
59
72
  ```javascript
60
73
  picProcesser.getDataURL(file)
61
74
  ```
62
- #### 参数
75
+ ##### 参数
63
76
  参数|类型|默认值|说明
64
77
  ---|---|---|---
65
- `file` | File|Blob | `null` | 图片文件
78
+ `file` | File \| Blob | `null` | 图片文件
66
79
 
67
- #### 返回
80
+ ##### 返回
68
81
  返回值|类型|说明
69
82
  ---|---|---
70
83
  `Promise<FileReader>` | `Promise<FileReader>` | 完整的 FileReader 对象,通过`result`属性获取 base64 编码
71
84
 
85
+ ***
86
+
72
87
  ### dataURLtoFile
73
88
  dataURL 转 File 对象
74
89
 
@@ -76,13 +91,13 @@ dataURL 转 File 对象
76
91
  picProcesser.dataURLtoFile('export.jpg', dataURL)
77
92
  ```
78
93
 
79
- #### 参数
94
+ ##### 参数
80
95
  参数|类型|默认值|说明
81
96
  ---|---|---|---
82
97
  `fileName` | string | `null` | 输出文件名
83
98
  `dataURL` | string | `null` | base64编码
84
99
 
85
- #### 返回
100
+ ##### 返回
86
101
  返回值|类型|说明
87
102
  ---|---|---
88
103
  `Promise<File>` | `Promise<File>` | File 对象
@@ -0,0 +1 @@
1
+ (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ee=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),te=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ne=/-\w/g,T=te(e=>e.replace(ne,e=>e.slice(1).toUpperCase())),re=/\B([A-Z])/g,E=te(e=>e.replace(re,`-$1`).toLowerCase()),ie=te(e=>e.charAt(0).toUpperCase()+e.slice(1)),ae=te(e=>e?`on${ie(e)}`:``),D=(e,t)=>!Object.is(e,t),oe=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},O=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},se=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ue(e){if(d(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=g(r)?me(r):ue(r);if(i)for(let e in i)t[e]=i[e]}return t}else if(g(e)||v(e))return e}var de=/;(?![^(]*\))/g,fe=/:([^]+)/,pe=/\/\*[^]*?\*\//g;function me(e){let t={};return e.replace(pe,``).split(de).forEach(e=>{if(e){let n=e.split(fe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function k(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;n<e.length;n++){let r=k(e[n]);r&&(t+=r+` `)}else if(v(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var he=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,ge=e(he);he+``;function _e(e){return!!e||e===``}function ve(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=ye(e[r],t[r]);return n}function ye(e,t){if(e===t)return!0;let n=m(e),r=m(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=_(e),r=_(t),n||r)return e===t;if(n=d(e),r=d(t),n||r)return n&&r?ve(e,t):!1;if(n=v(e),r=v(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!ye(e[n],t[n]))return!1}}return String(e)===String(t)}function be(e,t){return e.findIndex(e=>ye(e,t))}var xe=e=>!!(e&&e.__v_isRef===!0),A=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?xe(e)?A(e.value):JSON.stringify(e,Se,2):String(e),Se=(e,t)=>xe(t)?Se(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ce(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ce(e))}:_(t)?Ce(t):v(t)&&!d(t)&&!C(t)?String(t):t,Ce=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e,j,we=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=j,!e&&j&&(this.index=(j.scopes||=[]).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){let t=j;try{return j=this,e()}finally{j=t}}}on(){++this._on===1&&(this.prevScope=j,j=this)}off(){this._on>0&&--this._on===0&&(j=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Te(){return j}var M,Ee=new WeakSet,De=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,j&&j.active&&j.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ee.has(this)&&(Ee.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||je(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ve(this),Pe(this);let e=M,t=N;M=this,N=!0;try{return this.fn()}finally{Fe(this),M=e,N=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Re(e);this.deps=this.depsTail=void 0,Ve(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ee.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ie(this)&&this.run()}get dirty(){return Ie(this)}},Oe=0,ke,Ae;function je(e,t=!1){if(e.flags|=8,t){e.next=Ae,Ae=e;return}e.next=ke,ke=e}function Me(){Oe++}function Ne(){if(--Oe>0)return;if(Ae){let e=Ae;for(Ae=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;ke;){let t=ke;for(ke=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Pe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Fe(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Re(r),ze(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Ie(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Le(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Le(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===He)||(e.globalVersion=He,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ie(e))))return;e.flags|=2;let t=e.dep,n=M,r=N;M=e,N=!0;try{Pe(e);let n=e.fn(e._value);(t.version===0||D(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{M=n,N=r,Fe(e),e.flags&=-3}}function Re(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Re(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ze(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var N=!0,Be=[];function P(){Be.push(N),N=!1}function F(){let e=Be.pop();N=e===void 0?!0:e}function Ve(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=M;M=void 0;try{t()}finally{M=e}}}var He=0,Ue=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},We=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!M||!N||M===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==M)t=this.activeLink=new Ue(M,this),M.deps?(t.prevDep=M.depsTail,M.depsTail.nextDep=t,M.depsTail=t):M.deps=M.depsTail=t,Ge(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=M.depsTail,t.nextDep=void 0,M.depsTail.nextDep=t,M.depsTail=t,M.deps===t&&(M.deps=e)}return t}trigger(e){this.version++,He++,this.notify(e)}notify(e){Me();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ne()}}};function Ge(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ge(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Ke=new WeakMap,qe=Symbol(``),Je=Symbol(``),Ye=Symbol(``);function I(e,t,n){if(N&&M){let t=Ke.get(e);t||Ke.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new We),r.map=t,r.key=n),r.track()}}function Xe(e,t,n,r,i,a){let o=Ke.get(e);if(!o){He++;return}let s=e=>{e&&e.trigger()};if(Me(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===Ye||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(Ye)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(qe)),f(e)&&s(o.get(Je)));break;case`delete`:i||(s(o.get(qe)),f(e)&&s(o.get(Je)));break;case`set`:f(e)&&s(o.get(qe));break}}Ne()}function Ze(e){let t=R(e);return t===e?t:(I(t,`iterate`,Ye),L(e)?t:t.map(zt))}function Qe(e){return I(e=R(e),`iterate`,Ye),e}function $e(e,t){return It(e)?Ft(e)?Bt(zt(t)):Bt(t):zt(t)}var et={__proto__:null,[Symbol.iterator](){return tt(this,Symbol.iterator,e=>$e(this,e))},concat(...e){return Ze(this).concat(...e.map(e=>d(e)?Ze(e):e))},entries(){return tt(this,`entries`,e=>(e[1]=$e(this,e[1]),e))},every(e,t){return rt(this,`every`,e,t,void 0,arguments)},filter(e,t){return rt(this,`filter`,e,t,e=>e.map(e=>$e(this,e)),arguments)},find(e,t){return rt(this,`find`,e,t,e=>$e(this,e),arguments)},findIndex(e,t){return rt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return rt(this,`findLast`,e,t,e=>$e(this,e),arguments)},findLastIndex(e,t){return rt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return rt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return at(this,`includes`,e)},indexOf(...e){return at(this,`indexOf`,e)},join(e){return Ze(this).join(e)},lastIndexOf(...e){return at(this,`lastIndexOf`,e)},map(e,t){return rt(this,`map`,e,t,void 0,arguments)},pop(){return ot(this,`pop`)},push(...e){return ot(this,`push`,e)},reduce(e,...t){return it(this,`reduce`,e,t)},reduceRight(e,...t){return it(this,`reduceRight`,e,t)},shift(){return ot(this,`shift`)},some(e,t){return rt(this,`some`,e,t,void 0,arguments)},splice(...e){return ot(this,`splice`,e)},toReversed(){return Ze(this).toReversed()},toSorted(e){return Ze(this).toSorted(e)},toSpliced(...e){return Ze(this).toSpliced(...e)},unshift(...e){return ot(this,`unshift`,e)},values(){return tt(this,`values`,e=>$e(this,e))}};function tt(e,t,n){let r=Qe(e),i=r[t]();return r!==e&&!L(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var nt=Array.prototype;function rt(e,t,n,r,i,a){let o=Qe(e),s=o!==e&&!L(e),c=o[t];if(c!==nt[t]){let t=c.apply(e,a);return s?zt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,$e(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function it(e,t,n,r){let i=Qe(e),a=n;return i!==e&&(L(e)?n.length>3&&(a=function(t,r,i){return n.call(this,t,r,i,e)}):a=function(t,r,i){return n.call(this,t,$e(e,r),i,e)}),i[t](a,...r)}function at(e,t,n){let r=R(e);I(r,`iterate`,Ye);let i=r[t](...n);return(i===-1||i===!1)&&Lt(n[0])?(n[0]=R(n[0]),r[t](...n)):i}function ot(e,t,n=[]){P(),Me();let r=R(e)[t].apply(e,n);return Ne(),F(),r}var st=e(`__proto__,__v_isRef,__isVue`),ct=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function lt(e){_(e)||(e=String(e));let t=R(this);return I(t,`has`,e),t.hasOwnProperty(e)}var ut=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Ot:Dt:i?Et:Tt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=et[t]))return e;if(t===`hasOwnProperty`)return lt}let o=Reflect.get(e,t,z(e)?e:n);if((_(t)?ct.has(t):st(t))||(r||I(e,`get`,t),i))return o;if(z(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?Nt(e):e}return v(o)?r?Nt(o):jt(o):o}},dt=class extends ut{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=It(i);if(!L(n)&&!It(n)&&(i=R(i),n=R(n)),!a&&z(i)&&!z(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:u(e,t),s=Reflect.set(e,t,n,z(e)?e:r);return e===R(r)&&(o?D(n,i)&&Xe(e,`set`,t,n,i):Xe(e,`add`,t,n)),s}deleteProperty(e,t){let n=u(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&Xe(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!_(t)||!ct.has(t))&&I(e,`has`,t),n}ownKeys(e){return I(e,`iterate`,d(e)?`length`:qe),Reflect.ownKeys(e)}},ft=class extends ut{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}},pt=new dt,mt=new ft,ht=new dt(!0),gt=e=>e,_t=e=>Reflect.getPrototypeOf(e);function vt(e,t,n){return function(...r){let i=this.__v_raw,a=R(i),o=f(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?gt:t?Bt:zt;return!t&&I(a,`iterate`,c?Je:qe),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function yt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function bt(e,t){let n={get(n){let r=this.__v_raw,i=R(r),a=R(n);e||(D(n,a)&&I(i,`get`,n),I(i,`get`,a));let{has:o}=_t(i),s=t?gt:e?Bt:zt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&I(R(t),`iterate`,qe),t.size},has(t){let n=this.__v_raw,r=R(n),i=R(t);return e||(D(t,i)&&I(r,`has`,t),I(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=R(a),s=t?gt:e?Bt:zt;return!e&&I(o,`iterate`,qe),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:yt(`add`),set:yt(`set`),delete:yt(`delete`),clear:yt(`clear`)}:{add(e){!t&&!L(e)&&!It(e)&&(e=R(e));let n=R(this);return _t(n).has.call(n,e)||(n.add(e),Xe(n,`add`,e,e)),this},set(e,n){!t&&!L(n)&&!It(n)&&(n=R(n));let r=R(this),{has:i,get:a}=_t(r),o=i.call(r,e);o||=(e=R(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?D(n,s)&&Xe(r,`set`,e,n,s):Xe(r,`add`,e,n),this},delete(e){let t=R(this),{has:n,get:r}=_t(t),i=n.call(t,e);i||=(e=R(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&Xe(t,`delete`,e,void 0,a),o},clear(){let e=R(this),t=e.size!==0,n=e.clear();return t&&Xe(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=vt(r,e,t)}),n}function xt(e,t){let n=bt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var St={get:xt(!1,!1)},Ct={get:xt(!1,!0)},wt={get:xt(!0,!1)},Tt=new WeakMap,Et=new WeakMap,Dt=new WeakMap,Ot=new WeakMap;function kt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function At(e){return e.__v_skip||!Object.isExtensible(e)?0:kt(S(e))}function jt(e){return It(e)?e:Pt(e,!1,pt,St,Tt)}function Mt(e){return Pt(e,!1,ht,Ct,Et)}function Nt(e){return Pt(e,!0,mt,wt,Dt)}function Pt(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let a=At(e);if(a===0)return e;let o=i.get(e);if(o)return o;let s=new Proxy(e,a===2?r:n);return i.set(e,s),s}function Ft(e){return It(e)?Ft(e.__v_raw):!!(e&&e.__v_isReactive)}function It(e){return!!(e&&e.__v_isReadonly)}function L(e){return!!(e&&e.__v_isShallow)}function Lt(e){return e?!!e.__v_raw:!1}function R(e){let t=e&&e.__v_raw;return t?R(t):e}function Rt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&O(e,`__v_skip`,!0),e}var zt=e=>v(e)?jt(e):e,Bt=e=>v(e)?Nt(e):e;function z(e){return e?e.__v_isRef===!0:!1}function Vt(e){return Ut(e,!1)}function Ht(e){return Ut(e,!0)}function Ut(e,t){return z(e)?e:new Wt(e,t)}var Wt=class{constructor(e,t){this.dep=new We,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:R(e),this._value=t?e:zt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||L(e)||It(e);e=n?e:R(e),D(e,t)&&(this._rawValue=e,this._value=n?e:zt(e),this.dep.trigger())}};function Gt(e){return z(e)?e.value:e}var Kt={get:(e,t,n)=>t===`__v_raw`?e:Gt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return z(i)&&!z(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function qt(e){return Ft(e)?e:new Proxy(e,Kt)}var Jt=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new We(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=He-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&M!==this)return je(this,!0),!0}get value(){let e=this.dep.track();return Le(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function Yt(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new Jt(r,i,n)}var Xt={},Zt=new WeakMap,Qt=void 0;function $t(e,t=!1,n=Qt){if(n){let t=Zt.get(n);t||Zt.set(n,t=[]),t.push(e)}}function en(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:L(e)||o===!1||o===0?tn(e,1):tn(e),m,g,_,v,y=!1,b=!1;if(z(e)?(g=()=>e.value,y=L(e)):Ft(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Ft(e)||L(e)),g=()=>e.map(e=>{if(z(e))return e.value;if(Ft(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){P();try{_()}finally{F()}}let t=Qt;Qt=m;try{return f?f(e,3,[v]):e(v)}finally{Qt=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>tn(e(),t)}let x=Te(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{e(...t),S()}}let C=b?Array(e.length).fill(Xt):Xt,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let e=m.run();if(o||y||(b?e.some((e,t)=>D(e,C[t])):D(e,C))){_&&_();let t=Qt;Qt=m;try{let t=[e,C===Xt?void 0:b&&C[0]===Xt?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{Qt=t}}}else m.run()};return u&&u(w),m=new De(g),m.scheduler=l?()=>l(w,!1):w,v=e=>$t(e,!1,m),_=m.onStop=()=>{let e=Zt.get(m);if(e){if(f)f(e,4);else for(let t of e)t();Zt.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function tn(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,z(e))tn(e.value,t,n);else if(d(e))for(let r=0;r<e.length;r++)tn(e[r],t,n);else if(p(e)||f(e))e.forEach(e=>{tn(e,t,n)});else if(C(e)){for(let r in e)tn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&tn(e[r],t,n)}return e}function nn(e,t,n,r){try{return r?e(...r):e()}catch(e){rn(e,t,n)}}function B(e,t,n,r){if(h(e)){let i=nn(e,t,n,r);return i&&y(i)&&i.catch(e=>{rn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a<e.length;a++)i.push(B(e[a],t,n,r));return i}}function rn(e,n,r,i=!0){let a=n?n.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=n&&n.appContext.config||t;if(n){let t=n.parent,i=n.proxy,a=`https://vuejs.org/error-reference/#runtime-${r}`;for(;t;){let n=t.ec;if(n){for(let t=0;t<n.length;t++)if(n[t](e,i,a)===!1)return}t=t.parent}if(o){P(),nn(o,null,10,[e,i,a]),F();return}}an(e,r,a,i,s)}function an(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}var V=[],H=-1,on=[],sn=null,cn=0,ln=Promise.resolve(),un=null;function dn(e){let t=un||ln;return e?t.then(this?e.bind(this):e):t}function fn(e){let t=H+1,n=V.length;for(;t<n;){let r=t+n>>>1,i=V[r],a=vn(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function pn(e){if(!(e.flags&1)){let t=vn(e),n=V[V.length-1];!n||!(e.flags&2)&&t>=vn(n)?V.push(e):V.splice(fn(t),0,e),e.flags|=1,mn()}}function mn(){un||=ln.then(yn)}function hn(e){d(e)?on.push(...e):sn&&e.id===-1?sn.splice(cn+1,0,e):e.flags&1||(on.push(e),e.flags|=1),mn()}function gn(e,t,n=H+1){for(;n<V.length;n++){let t=V[n];if(t&&t.flags&2){if(e&&t.id!==e.uid)continue;V.splice(n,1),n--,t.flags&4&&(t.flags&=-2),t(),t.flags&4||(t.flags&=-2)}}}function _n(e){if(on.length){let e=[...new Set(on)].sort((e,t)=>vn(e)-vn(t));if(on.length=0,sn){sn.push(...e);return}for(sn=e,cn=0;cn<sn.length;cn++){let e=sn[cn];e.flags&4&&(e.flags&=-2),e.flags&8||e(),e.flags&=-2}sn=null,cn=0}}var vn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function yn(e){try{for(H=0;H<V.length;H++){let e=V[H];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),nn(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;H<V.length;H++){let e=V[H];e&&(e.flags&=-2)}H=-1,V.length=0,_n(e),un=null,(V.length||on.length)&&yn(e)}}var U=null,bn=null;function xn(e){let t=U;return U=e,bn=e&&e.type.__scopeId||null,t}function Sn(e,t=U,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&wi(-1);let i=xn(t),a;try{a=e(...n)}finally{xn(i),r._d&&wi(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Cn(e,n){if(U===null)return e;let r=aa(U),i=e.dirs||=[];for(let e=0;e<n.length;e++){let[a,o,s,c=t]=n[e];a&&(h(a)&&(a={mounted:a,updated:a}),a.deep&&tn(o),i.push({dir:a,instance:r,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function wn(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(P(),B(c,n,8,[e.el,s,e,t]),F())}}var Tn=Symbol(`_vte`),En=e=>e.__isTeleport,Dn=Symbol(`_leaveCb`);function On(e,t){e.shapeFlag&6&&e.component?(e.transition=t,On(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function kn(e,t){return h(e)?(()=>s({name:e.name},t,{setup:e}))():e}function An(e){e.ids=[e.ids[0]+ e.ids[2]+++`-`,0,0]}function jn(e){let n=Wi(),r=Ht(null);if(n){let i=n.refs===t?n.refs={}:n.refs;Object.defineProperty(i,e,{enumerable:!0,get:()=>r.value,set:e=>r.value=e})}return r}var Mn=new WeakMap;function Nn(e,n,r,a,o=!1){if(d(e)){e.forEach((e,t)=>Nn(e,n&&(d(n)?n[t]:n),r,a,o));return}if(Fn(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&Nn(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?aa(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=R(v),b=v===t?i:e=>u(y,e),x=e=>!0;if(m!=null&&m!==p){if(Pn(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(z(m)){x(m)&&(m.value=null);let e=n;e.k&&(_[e.k]=null)}}if(h(p))nn(p,f,12,[l,_]);else{let t=g(p),n=z(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),Mn.delete(e)};t.id=-1,Mn.set(e,t),G(t,r)}else Pn(e),i()}}}function Pn(e){let t=Mn.get(e);t&&(t.flags|=8,Mn.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;var Fn=e=>!!e.type.__asyncLoader,In=e=>e.type.__isKeepAlive;function Ln(e,t){zn(e,`a`,t)}function Rn(e,t){zn(e,`da`,t)}function zn(e,t,n=Q){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Vn(t,r,n),n){let e=n.parent;for(;e&&e.parent;)In(e.parent.vnode)&&Bn(r,t,n,e),e=e.parent}}function Bn(e,t,n,r){let i=Vn(t,e,r,!0);Jn(()=>{c(r[t],i)},n)}function Vn(e,t,n=Q,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{P();let i=qi(n),a=B(t,n,e,r);return i(),F(),a};return r?i.unshift(a):i.push(a),a}}var Hn=e=>(t,n=Q)=>{(!Xi||e===`sp`)&&Vn(e,(...e)=>t(...e),n)},Un=Hn(`bm`),Wn=Hn(`m`),Gn=Hn(`bu`),Kn=Hn(`u`),qn=Hn(`bum`),Jn=Hn(`um`),Yn=Hn(`sp`),Xn=Hn(`rtg`),Zn=Hn(`rtc`);function Qn(e,t=Q){Vn(`ec`,e,t)}var $n=Symbol.for(`v-ndc`),er=e=>e?Yi(e)?aa(e):er(e.parent):null,tr=s(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>er(e.parent),$root:e=>er(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ur(e),$forceUpdate:e=>e.f||=()=>{pn(e.update)},$nextTick:e=>e.n||=dn.bind(e.proxy),$watch:e=>kr.bind(e)}),nr=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),rr={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(nr(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else ar&&(s[n]=0)}let d=tr[n],f,p;if(d)return n===`$attrs`&&I(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return nr(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||nr(n,c)||u(o,c)||u(i,c)||u(tr,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function ir(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var ar=!0;function or(e){let t=ur(e),n=e.proxy,i=e.ctx;ar=!1,t.beforeCreate&&cr(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:ee,renderTracked:te,renderTriggered:ne,errorCaptured:T,serverPrefetch:re,expose:E,inheritAttrs:ie,components:ae,directives:D,filters:oe}=t;if(u&&sr(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=jt(t))}if(ar=!0,o)for(let e in o){let t=o[e],a=sa({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)lr(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Cr(t,e[t])})}f&&cr(f,e,`c`);function O(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(O(Un,p),O(Wn,m),O(Gn,g),O(Kn,_),O(Ln,y),O(Rn,b),O(Qn,T),O(Zn,te),O(Xn,ne),O(qn,S),O(Jn,w),O(Yn,re),d(E))if(E.length){let t=e.exposed||={};E.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};ee&&e.render===r&&(e.render=ee),ie!=null&&(e.inheritAttrs=ie),ae&&(e.components=ae),D&&(e.directives=D),re&&An(e)}function sr(e,t,n=r){for(let n in d(e)&&(e=hr(e)),e){let r=e[n],i;i=v(r)?`default`in r?wr(r.from||n,r.default,!0):wr(r.from||n):wr(r),z(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function cr(e,t,n){B(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function lr(e,t,n,r){let i=r.includes(`.`)?Ar(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&Dr(i,n)}else if(h(e))Dr(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>lr(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&Dr(i,r,e)}}function ur(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>dr(c,e,o,!0)),dr(c,t,o)),v(t)&&a.set(t,c),c}function dr(e,t,n,r=!1){let{mixins:i,extends:a}=t;for(let o in a&&dr(e,a,n,!0),i&&i.forEach(t=>dr(e,t,n,!0)),t)if(!(r&&o===`expose`)){let r=fr[o]||n&&n[o];e[o]=r?r(e[o],t[o]):t[o]}return e}var fr={data:pr,props:_r,emits:_r,methods:gr,computed:gr,beforeCreate:W,created:W,beforeMount:W,mounted:W,beforeUpdate:W,updated:W,beforeDestroy:W,beforeUnmount:W,destroyed:W,unmounted:W,activated:W,deactivated:W,errorCaptured:W,serverPrefetch:W,components:gr,directives:gr,watch:vr,provide:pr,inject:mr};function pr(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function mr(e,t){return gr(hr(e),hr(t))}function hr(e){if(d(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function W(e,t){return e?[...new Set([].concat(e,t))]:t}function gr(e,t){return e?s(Object.create(null),e,t):t}function _r(e,t){return e?d(e)&&d(t)?[...new Set([...e,...t])]:s(Object.create(null),ir(e),ir(t??{})):t}function vr(e,t){if(!e)return t;if(!t)return e;let n=s(Object.create(null),e);for(let r in t)n[r]=W(e[r],t[r]);return n}function yr(){return{app:null,config:{isNativeTag:i,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var br=0;function xr(e,t){return function(n,r=null){h(n)||(n=s({},n)),r!=null&&!v(r)&&(r=null);let i=yr(),a=new WeakSet,o=[],c=!1,l=i.app={_uid:br++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:ca,get config(){return i.config},set config(e){},use(e,...t){return a.has(e)||(e&&h(e.install)?(a.add(e),e.install(l,...t)):h(e)&&(a.add(e),e(l,...t))),l},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),l},component(e,t){return t?(i.components[e]=t,l):i.components[e]},directive(e,t){return t?(i.directives[e]=t,l):i.directives[e]},mount(a,o,s){if(!c){let u=l._ceVNode||Y(n,r);return u.appContext=i,s===!0?s=`svg`:s===!1&&(s=void 0),o&&t?t(u,a):e(u,a,s),c=!0,l._container=a,a.__vue_app__=l,aa(u.component)}},onUnmount(e){o.push(e)},unmount(){c&&(B(o,l._instance,16),e(null,l._container),delete l._container.__vue_app__)},provide(e,t){return i.provides[e]=t,l},runWithContext(e){let t=Sr;Sr=l;try{return e()}finally{Sr=t}}};return l}}var Sr=null;function Cr(e,t){if(Q){let n=Q.provides,r=Q.parent&&Q.parent.provides;r===n&&(n=Q.provides=Object.create(r)),n[e]=t}}function wr(e,t,n=!1){let r=Wi();if(r||Sr){let i=Sr?Sr._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&h(t)?t.call(r&&r.proxy):t}}var Tr=Symbol.for(`v-scx`),Er=()=>wr(Tr);function Dr(e,t,n){return Or(e,t,n)}function Or(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(Xi){if(c===`sync`){let e=Er();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=Q;u.call=(e,t,n)=>B(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{G(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():pn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=en(e,n,u);return Xi&&(f?f.push(h):d&&h()),h}function kr(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?Ar(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=qi(this),s=Or(i,a.bind(r),n);return o(),s}function Ar(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var jr=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${T(t)}Modifiers`]||e[`${E(t)}Modifiers`];function Mr(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&jr(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(se)));let c,l=i[c=ae(n)]||i[c=ae(T(n))];!l&&o&&(l=i[c=ae(E(n))]),l&&B(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,B(u,e,6,a)}}var Nr=new WeakMap;function Pr(e,t,n=!1){let r=n?Nr:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=Pr(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function Fr(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,E(t))||u(e,t))}function Ir(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=xn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=X(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=X(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Lr(c)}}catch(t){bi.length=0,rn(t,e,1),v=Y(vi)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=Rr(y,a)),b=Pi(b,y,!1,!0))}return n.dirs&&(b=Pi(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&On(b,n.transition),v=b,xn(_),v}var Lr=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},Rr=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function zr(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Br(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(o[n]!==r[n]&&!Fr(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?o?Br(r,o,l):!0:!!o;return!1}function Br(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(t[a]!==e[a]&&!Fr(n,a))return!0}return!1}function Vr({vnode:e,parent:t},n){for(;t;){let r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.el=e.el),r===e)(e=t.vnode).el=n,t=t.parent;else break}}var Hr={},Ur=()=>Object.create(Hr),Wr=e=>Object.getPrototypeOf(e)===Hr;function Gr(e,t,n,r=!1){let i={},a=Ur();for(let n in e.propsDefaults=Object.create(null),qr(e,t,i,a),e.propsOptions[0])n in i||(i[n]=void 0);n?e.props=r?i:Mt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Kr(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=R(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(Fr(e.emitsOptions,o))continue;let d=t[o];if(c)if(u(a,o))d!==a[o]&&(a[o]=d,l=!0);else{let t=T(o);i[t]=Jr(c,s,t,d,e,!1)}else d!==a[o]&&(a[o]=d,l=!0)}}}else{qr(e,t,i,a)&&(l=!0);let r;for(let a in s)(!t||!u(t,a)&&((r=E(a))===a||!u(t,r)))&&(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=Jr(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)(!t||!u(t,e))&&(delete a[e],l=!0)}l&&Xe(e.attrs,`set`,``)}function qr(e,n,r,i){let[a,o]=e.propsOptions,s=!1,c;if(n)for(let t in n){if(ee(t))continue;let l=n[t],d;a&&u(a,d=T(t))?!o||!o.includes(d)?r[d]=l:(c||={})[d]=l:Fr(e.emitsOptions,t)||(!(t in i)||l!==i[t])&&(i[t]=l,s=!0)}if(o){let n=R(r),i=c||t;for(let t=0;t<o.length;t++){let s=o[t];r[s]=Jr(a,n,s,i[s],e,!u(i,s))}}return s}function Jr(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=u(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&h(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=qi(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===E(n))&&(r=!0))}return r}var Yr=new WeakMap;function Xr(e,r,i=!1){let a=i?Yr:r.propsCache,o=a.get(e);if(o)return o;let c=e.props,l={},f=[],p=!1;if(!h(e)){let t=e=>{p=!0;let[t,n]=Xr(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;e<c.length;e++){let n=T(c[e]);Zr(n)&&(l[n]=t)}else if(c)for(let e in c){let t=T(e);if(Zr(t)){let n=c[e],r=l[t]=d(n)||h(n)?{type:n}:s({},n),i=r.type,a=!1,o=!0;if(d(i))for(let e=0;e<i.length;++e){let t=i[e],n=h(t)&&t.name;if(n===`Boolean`){a=!0;break}else n===`String`&&(o=!1)}else a=h(i)&&i.name===`Boolean`;r[0]=a,r[1]=o,(a||u(r,`default`))&&f.push(t)}}let m=[l,f];return v(e)&&a.set(e,m),m}function Zr(e){return e[0]!==`$`&&!ee(e)}var Qr=e=>e===`_`||e===`_ctx`||e===`$stable`,$r=e=>d(e)?e.map(X):[X(e)],ei=(e,t,n)=>{if(t._n)return t;let r=Sn((...e)=>$r(t(...e)),n);return r._c=!1,r},ti=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Qr(n))continue;let i=e[n];if(h(i))t[n]=ei(n,i,r);else if(i!=null){let e=$r(i);t[n]=()=>e}}},ni=(e,t)=>{let n=$r(t);e.slots.default=()=>n},ri=(e,t,n)=>{for(let r in t)(n||!Qr(r))&&(e[r]=t[r])},ii=(e,t,n)=>{let r=e.slots=Ur();if(e.vnode.shapeFlag&32){let e=t._;e?(ri(r,t,n),n&&O(r,`_`,e,!0)):ti(t,r)}else t&&ni(e,t)},ai=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:ri(a,n,r):(o=!n.$stable,ti(n,a)),s=n}else n&&(ni(e,n),s={default:1});if(o)for(let e in a)!Qr(e)&&s[e]==null&&delete a[e]},G=gi;function oi(e){return si(e)}function si(e,i){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!ki(e,t)&&(r=ye(e),k(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case _i:y(e,t,n,r);break;case vi:b(e,t,n,r);break;case yi:e??x(t,n,r,o);break;case K:ae(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?D(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,A)}u!=null&&i?Nn(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Nn(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)te(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),re(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},te=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&T(e.children,d,null,r,i,ci(e,a),s,u),_&&wn(e,null,r,`created`),ne(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!ee(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Z(f,r,e)}_&&wn(e,null,r,`beforeMount`);let v=ui(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&G(()=>{f&&Z(f,r,e),v&&g.enter(d),_&&wn(e,null,r,`mounted`)},i)},ne=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t<r.length;t++)g(e,r[t]);if(i){let n=i.subTree;if(t===n||hi(n.type)&&(n.ssContent===t||n.ssFallback===t)){let t=i.vnode;ne(e,t,t.scopeId,t.slotScopeIds,i.parent)}}},T=(e,t,n,r,i,a,o,s,c=0)=>{for(let l=c;l<e.length;l++)v(null,e[l]=s?Ri(e[l]):X(e[l]),t,n,r,i,a,o,s)},re=(e,n,r,i,a,o,s)=>{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&li(r,!1),(g=h.onVnodeBeforeUpdate)&&Z(g,r,n,e),f&&wn(n,e,r,`beforeUpdate`),r&&li(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?E(e.dynamicChildren,d,l,r,i,ci(n,a),o):s||de(e,n,l,null,r,i,ci(n,a),o,!1),u>0){if(u&16)ie(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t],i=m[n],o=h[n];(o!==i||n===`value`)&&c(l,n,i,o,a,r)}}u&1&&e.children!==n.children&&p(l,n.children)}else !s&&d==null&&ie(l,m,h,r,a);((g=h.onVnodeUpdated)||f)&&G(()=>{g&&Z(g,r,n,e),f&&wn(n,e,r,`updated`)},i)},E=(e,t,n,r,i,a,o)=>{for(let s=0;s<t.length;s++){let c=e[s],l=t[s];v(c,l,c.el&&(c.type===K||!ki(c,l)||c.shapeFlag&198)?m(c.el):n,null,r,i,a,o,!0)}},ie=(e,n,r,i,a)=>{if(n!==r){if(n!==t)for(let t in n)!ee(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(ee(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},ae=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),T(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren?(E(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&di(e,t,!0)):de(e,t,n,f,i,a,s,c,l)},D=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):O(t,n,r,i,a,o,c):se(e,t,c)},O=(e,t,n,r,i,a,o)=>{let s=e.component=Ui(e,r,i);if(In(e)&&(s.ctx.renderer=A),Zi(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,ce,o),!e.el){let r=s.subTree=Y(vi);b(null,r,t,n),e.placeholder=r.el}}else ce(s,e,t,n,i,a,o)},se=(e,t,n)=>{let r=t.component=e.component;if(zr(e,t,n))if(r.asyncDep&&!r.asyncResolved){ue(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},ce=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:c,vnode:l}=e;{let n=pi(e);if(n){t&&(t.el=l.el,ue(e,t,o)),n.asyncDep.then(()=>{e.isUnmounted||s()});return}}let u=t,d;li(e,!1),t?(t.el=l.el,ue(e,t,o)):t=l,n&&oe(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Z(d,c,t,l),li(e,!0);let f=Ir(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),ye(p),e,i,a),t.el=f.el,u===null&&Vr(e,f.el),r&&G(r,i),(d=t.props&&t.props.onVnodeUpdated)&&G(()=>Z(d,c,t,l),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Fn(t);if(li(e,!1),l&&oe(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Z(o,d,t),li(e,!0),s&&Ce){let t=()=>{e.subTree=Ir(e),Ce(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._def.shadowRoot!==!1&&f.ce._injectChildStyle(p);let o=e.subTree=Ir(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&G(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;G(()=>Z(o,d,e),i)}(t.shapeFlag&256||d&&Fn(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&G(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new De(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>pn(u),li(e,!0),l()},ue=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Kr(e,t.props,r,n),ai(e,t.children,n),P(),gn(e),F()},de=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){pe(l,d,n,r,i,a,o,s,c);return}else if(f&256){fe(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ve(l,i,a),d!==l&&p(n,d)):u&16?m&16?pe(l,d,n,r,i,a,o,s,c):ve(l,i,a,!0):(u&8&&p(n,``),m&16&&T(d,n,r,i,a,o,s,c))},fe=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;p<f;p++){let n=t[p]=l?Ri(t[p]):X(t[p]);v(e[p],n,r,null,a,o,s,c,l)}u>d?ve(e,a,o,!0,!1,f):T(t,r,i,a,o,s,c,l,f)},pe=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?Ri(t[u]):X(t[u]);if(ki(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?Ri(t[p]):X(t[p]);if(ki(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=e<d?t[e].el:i;for(;u<=p;)v(null,t[u]=l?Ri(t[u]):X(t[u]),r,n,a,o,s,c,l),u++}}else if(u>p)for(;u<=f;)k(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Ri(t[u]):X(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u<b;u++)C[u]=0;for(u=m;u<=f;u++){let n=e[u];if(y>=b){k(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&ki(n,t[_])){i=_;break}i===void 0?k(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?fi(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1<d?f.el||f.placeholder:i;C[u]===0?v(null,n,r,p,a,o,s,c,l):x&&(_<0||u!==w[_]?me(n,r,p,2):_--)}}},me=(e,t,n,r,i=null)=>{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){me(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,A);return}if(c===K){o(a,t,n);for(let e=0;e<u.length;e++)me(u[e],t,n,r);o(e.anchor,t,n);return}if(c===yi){S(e,t,n);return}if(r!==2&&d&1&&l)if(r===0)l.beforeEnter(a),o(a,t,n),G(()=>l.enter(a),i);else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{a._isLeaving&&a[Dn](!0),r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},k=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p}=e;if(d===-2&&(i=!1),s!=null&&(P(),Nn(s,null,n,e,!0),F()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let m=u&1&&f,h=!Fn(e),g;if(h&&(g=o&&o.onVnodeBeforeUnmount)&&Z(g,t,e),u&6)_e(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}m&&wn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,A,r):l&&!l.hasOnce&&(a!==K||d>0&&d&64)?ve(l,t,n,!1,!0):(a===K&&d&384||!i&&u&16)&&ve(c,t,n),r&&he(e)}(h&&(g=o&&o.onVnodeUnmounted)||m)&&G(()=>{g&&Z(g,t,e),m&&wn(e,null,t,`unmounted`)},n)},he=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===K){ge(n,r);return}if(t===yi){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},ge=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},_e=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;mi(c),mi(l),r&&oe(r),i.stop(),a&&(a.flags|=8,k(o,e,t,n)),s&&G(s,t),G(()=>{e.isUnmounted=!0},t)},ve=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)k(e[o],t,n,r,i)},ye=e=>{if(e.shapeFlag&6)return ye(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Tn];return n?h(n):t},be=!1,xe=(e,t,n)=>{e==null?t._vnode&&k(t._vnode,null,null,!0):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,be||=(be=!0,gn(),_n(),!1)},A={p:v,um:k,m:me,r:he,mt:O,mc:T,pc:de,pbc:E,n:ye,o:e},Se,Ce;return i&&([Se,Ce]=i(A)),{render:xe,hydrate:Se,createApp:xr(xe,Se)}}function ci({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function li({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ui(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function di(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e<r.length;e++){let t=r[e],a=i[e];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[e]=Ri(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&di(t,a)),a.type===_i&&a.patchFlag!==-1&&(a.el=t.el),a.type===vi&&!a.el&&(a.el=t.el)}}function fi(e){let t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){let c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=a+o>>1,e[n[s]]<c?a=s+1:o=s;c<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function pi(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:pi(t)}function mi(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}var hi=e=>e.__isSuspense;function gi(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):hn(e)}var K=Symbol.for(`v-fgt`),_i=Symbol.for(`v-txt`),vi=Symbol.for(`v-cmt`),yi=Symbol.for(`v-stc`),bi=[],q=null;function xi(e=!1){bi.push(q=e?null:[])}function Si(){bi.pop(),q=bi[bi.length-1]||null}var Ci=1;function wi(e,t=!1){Ci+=e,e<0&&q&&t&&(q.hasOnce=!0)}function Ti(e){return e.dynamicChildren=Ci>0?q||n:null,Si(),Ci>0&&q&&q.push(e),e}function Ei(e,t,n,r,i,a){return Ti(J(e,t,n,r,i,a,!0))}function Di(e,t,n,r,i){return Ti(Y(e,t,n,r,i,!0))}function Oi(e){return e?e.__v_isVNode===!0:!1}function ki(e,t){return e.type===t.type&&e.key===t.key}var Ai=({key:e})=>e??null,ji=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||z(e)||h(e)?{i:U,r:e,k:t,f:!!n}:e);function J(e,t=null,n=null,r=0,i=null,a=e===K?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ai(t),ref:t&&ji(t),scopeId:bn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:U};return s?(zi(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),Ci>0&&!o&&q&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&q.push(c),c}var Y=Mi;function Mi(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===$n)&&(e=vi),Oi(e)){let r=Pi(e,t,!0);return n&&zi(r,n),Ci>0&&!a&&q&&(r.shapeFlag&6?q[q.indexOf(e)]=r:q.push(r)),r.patchFlag=-2,r}if(oa(e)&&(e=e.__vccOpts),t){t=Ni(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=k(e)),v(n)&&(Lt(n)&&!d(n)&&(n=s({},n)),t.style=ue(n))}let o=g(e)?1:hi(e)?128:En(e)?64:v(e)?4:h(e)?2:0;return J(e,t,n,r,i,o,a,!0)}function Ni(e){return e?Lt(e)||Wr(e)?s({},e):e:null}function Pi(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Bi(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ai(l),ref:t&&t.ref?n&&a?d(a)?a.concat(ji(t)):[a,ji(t)]:ji(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==K?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Pi(e.ssContent),ssFallback:e.ssFallback&&Pi(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&On(u,c.clone(u)),u}function Fi(e=` `,t=0){return Y(_i,null,e,t)}function Ii(e,t){let n=Y(yi,null,e);return n.staticCount=t,n}function Li(e=``,t=!1){return t?(xi(),Di(vi,null,e)):Y(vi,null,e)}function X(e){return e==null||typeof e==`boolean`?Y(vi):d(e)?Y(K,null,e.slice()):Oi(e)?Ri(e):Y(_i,null,String(e))}function Ri(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Pi(e)}function zi(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),zi(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!Wr(t)?t._ctx=U:r===3&&U&&(U.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else h(t)?(t={default:t,_ctx:U},n=32):(t=String(t),r&64?(n=16,t=[Fi(t)]):n=8);e.children=t,e.shapeFlag|=n}function Bi(...e){let t={};for(let n=0;n<e.length;n++){let r=e[n];for(let e in r)if(e===`class`)t.class!==r.class&&(t.class=k([t.class,r.class]));else if(e===`style`)t.style=ue([t.style,r.style]);else if(a(e)){let n=t[e],i=r[e];i&&n!==i&&!(d(n)&&n.includes(i))&&(t[e]=n?[].concat(n,i):i)}else e!==``&&(t[e]=r[e])}return t}function Z(e,t,n,r=null){B(e,t,7,[n,r])}var Vi=yr(),Hi=0;function Ui(e,n,r){let i=e.type,a=(n?n.appContext:e.appContext)||Vi,o={uid:Hi++,vnode:e,type:i,parent:n,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new we(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:n?n.provides:Object.create(a.provides),ids:n?n.ids:[``,0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Xr(i,a),emitsOptions:Pr(i,a),emit:null,emitted:null,propsDefaults:t,inheritAttrs:i.inheritAttrs,ctx:t,data:t,props:t,attrs:t,slots:t,refs:t,setupState:t,setupContext:null,suspense:r,suspenseId:r?r.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=n?n.root:o,o.emit=Mr.bind(null,o),e.ce&&e.ce(o),o}var Q=null,Wi=()=>Q||U,Gi,Ki;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Gi=t(`__VUE_INSTANCE_SETTERS__`,e=>Q=e),Ki=t(`__VUE_SSR_SETTERS__`,e=>Xi=e)}var qi=e=>{let t=Q;return Gi(e),e.scope.on(),()=>{e.scope.off(),Gi(t)}},Ji=()=>{Q&&Q.scope.off(),Gi(null)};function Yi(e){return e.vnode.shapeFlag&4}var Xi=!1;function Zi(e,t=!1,n=!1){t&&Ki(t);let{props:r,children:i}=e.vnode,a=Yi(e);Gr(e,r,a,t),ii(e,i,n||t);let o=a?Qi(e,t):void 0;return t&&Ki(!1),o}function Qi(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,rr);let{setup:r}=n;if(r){P();let n=e.setupContext=r.length>1?ia(e):null,i=qi(e),a=nn(r,e,0,[e.props,n]),o=y(a);if(F(),i(),(o||e.sp)&&!Fn(e)&&An(e),o){if(a.then(Ji,Ji),t)return a.then(n=>{$i(e,n,t)}).catch(t=>{rn(t,e,0)});e.asyncDep=a}else $i(e,a,t)}else na(e,t)}function $i(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=qt(t)),na(e,n)}var ea,ta;function na(e,t,n){let i=e.type;if(!e.render){if(!t&&ea&&!i.render){let t=i.template||ur(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=ea(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,ta&&ta(e)}{let t=qi(e);P();try{or(e)}finally{F(),t()}}}var ra={get(e,t){return I(e,`get`,``),e[t]}};function ia(e){return{attrs:new Proxy(e.attrs,ra),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function aa(e){return e.exposed?e.exposeProxy||=new Proxy(qt(Rt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tr)return tr[n](e)},has(e,t){return t in e||t in tr}}):e.proxy}function oa(e){return h(e)&&`__vccOpts`in e}var sa=(e,t)=>Yt(e,t,Xi),ca=`3.5.25`,la=void 0,ua=typeof window<`u`&&window.trustedTypes;if(ua)try{la=ua.createPolicy(`vue`,{createHTML:e=>e})}catch{}var da=la?e=>la.createHTML(e):e=>e,fa=`http://www.w3.org/2000/svg`,pa=`http://www.w3.org/1998/Math/MathML`,$=typeof document<`u`?document:null,ma=$&&$.createElement(`template`),ha={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?$.createElementNS(fa,e):t===`mathml`?$.createElementNS(pa,e):n?$.createElement(e,{is:n}):$.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>$.createTextNode(e),createComment:e=>$.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{ma.innerHTML=da(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=ma.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ga=Symbol(`_vtc`);function _a(e,t,n){let r=e[ga];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var va=Symbol(`_vod`),ya=Symbol(`_vsh`),ba={name:`show`,beforeMount(e,{value:t},{transition:n}){e[va]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):xa(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),xa(e,!0),r.enter(e)):r.leave(e,()=>{xa(e,!1)}):xa(e,t))},beforeUnmount(e,{value:t}){xa(e,t)}};function xa(e,t){e.style.display=t?e[va]:`none`,e[ya]=!t}var Sa=Symbol(``),Ca=/(?:^|;)\s*display\s*:/;function wa(e,t,n){let r=e.style,i=g(n),a=!1;if(n&&!i){if(t)if(g(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Ea(r,t,``)}else for(let e in t)n[e]??Ea(r,e,``);for(let e in n)e===`display`&&(a=!0),Ea(r,e,n[e])}else if(i){if(t!==n){let e=r[Sa];e&&(n+=`;`+e),r.cssText=n,a=Ca.test(n)}}else t&&e.removeAttribute(`style`);va in e&&(e[va]=a?r.display:``,e[ya]&&(r.display=`none`))}var Ta=/\s*!important$/;function Ea(e,t,n){if(d(n))n.forEach(n=>Ea(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=ka(e,t);Ta.test(n)?e.setProperty(E(r),n.replace(Ta,``),`important`):e[r]=n}}var Da=[`Webkit`,`Moz`,`ms`],Oa={};function ka(e,t){let n=Oa[t];if(n)return n;let r=T(t);if(r!==`filter`&&r in e)return Oa[t]=r;r=ie(r);for(let n=0;n<Da.length;n++){let i=Da[n]+r;if(i in e)return Oa[t]=i}return t}var Aa=`http://www.w3.org/1999/xlink`;function ja(e,t,n,r,i,a=ge(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(Aa,t.slice(6,t.length)):e.setAttributeNS(Aa,t,n):n==null||a&&!_e(n)?e.removeAttribute(t):e.setAttribute(t,a?``:_(n)?String(n):n)}function Ma(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?da(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=_e(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function Na(e,t,n,r){e.addEventListener(t,n,r)}function Pa(e,t,n,r){e.removeEventListener(t,n,r)}var Fa=Symbol(`_vei`);function Ia(e,t,n,r,i=null){let a=e[Fa]||(e[Fa]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=Ra(t);r?Na(e,n,a[t]=Ha(r,i),s):o&&(Pa(e,n,o,s),a[t]=void 0)}}var La=/(?:Once|Passive|Capture)$/;function Ra(e){let t;if(La.test(e)){t={};let n;for(;n=e.match(La);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===`:`?e.slice(3):E(e.slice(2)),t]}var za=0,Ba=Promise.resolve(),Va=()=>za||=(Ba.then(()=>za=0),Date.now());function Ha(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;B(Ua(e,n.value),t,5,[e])};return n.value=e,n.attached=Va(),n}function Ua(e,t){if(d(t)){let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}else return t}var Wa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ga=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?_a(e,r,c):t===`style`?wa(e,n,r):a(t)?o(t)||Ia(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Ka(e,t,r,c))?(Ma(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&ja(e,t,r,c,s,t!==`value`)):e._isVueCE&&(/[A-Z]/.test(t)||!g(r))?Ma(e,T(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),ja(e,t,r,c))};function Ka(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Wa(t)&&h(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Wa(t)&&g(n)?!1:t in e}var qa=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>oe(t,e):t};function Ja(e){e.target.composing=!0}function Ya(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Xa=Symbol(`_assign`);function Za(e,t,n){return t&&(e=e.trim()),n&&(e=se(e)),e}var Qa={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[Xa]=qa(i);let a=r||i.props&&i.props.type===`number`;Na(e,t?`change`:`input`,t=>{t.target.composing||e[Xa](Za(e.value,n,a))}),(n||a)&&Na(e,`change`,()=>{e.value=Za(e.value,n,a)}),t||(Na(e,`compositionstart`,Ja),Na(e,`compositionend`,Ya),Na(e,`change`,Ya))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Xa]=qa(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?se(e.value):e.value,c=t??``;s!==c&&(document.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c))}},$a={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=p(t);Na(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?se(to(e)):to(e));e[Xa](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,dn(()=>{e._assigning=!1})}),e[Xa]=qa(r)},mounted(e,{value:t}){eo(e,t)},beforeUpdate(e,t,n){e[Xa]=qa(n)},updated(e,{value:t}){e._assigning||eo(e,t)}};function eo(e,t){let n=e.multiple,r=d(t);if(!(n&&!r&&!p(t))){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=to(a);if(n)if(r){let e=typeof o;e===`string`||e===`number`?a.selected=t.some(e=>String(e)===String(o)):a.selected=be(t,o)>-1}else a.selected=t.has(o);else if(ye(to(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function to(e){return`_value`in e?e._value:e.value}var no=s({patchProp:Ga},ha),ro;function io(){return ro||=oi(no)}var ao=((...e)=>{let t=io().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=so(e);if(!r)return;let i=t._component;!h(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,oo(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function oo(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function so(e){return g(e)?document.querySelector(e):e}function co(e){return new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>{t(r?.result)},!1),r.addEventListener(`loadend`,()=>{t(r?.result)}),r.addEventListener(`error`,()=>{n(Error(`getDataURL error!`))}),r.addEventListener(`abort`,()=>{n(Error(`getDataURL abort!`))}),e&&[Blob,File].some(t=>e instanceof t)?r.readAsDataURL(e):n(Error(`Unspecified file!`))})}function lo(e,t){let n=t.split(`,`),r=(n[0]||``).match(/:(.*?);/)?.[1],i=window.atob(n[1]||``),a=i.length,o=new Uint8Array(a);for(;a--;)o[a]=i.charCodeAt(a);return new File([o],e,{type:r})}function uo(e,t){let{ratio:n,mime:r,maxWidth:i}={ratio:.5,mime:`image/jpeg`,maxWidth:null,...t};return new Promise((t,a)=>{let o=``,s=new Image;i&&i<2&&a(Error(`maxWidth must be greater than 1!`)),s.addEventListener(`loadstart`,()=>{}),s.addEventListener(`load`,()=>{let e=document.createElement(`canvas`),a=1;i&&s.width>i&&(a=i/s.width);let c=s.width*a,l=s.height*a;e.width=c,e.height=l,e.getContext(`2d`).drawImage(s,0,0,c,l),o=e.toDataURL(r,+n),t(o)},!1),s.addEventListener(`loadend`,()=>{t(o)}),s.addEventListener(`error`,()=>{a(Error(`compress error!`))}),s.addEventListener(`abort`,()=>{a(Error(`compress abort!`))}),e&&[Blob,File].some(t=>e instanceof t)?co(e).then(e=>{s.src=e}).catch(e=>{a(e)}):a(Error(`no file!`))})}var fo=class{constructor(){this.getDataURL=co,this.dataURLtoFile=lo,this.compress=uo}},po=[`src`],mo={key:0},ho={key:1},go=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(kn({__name:`demo`,setup(e){let t=Vt(null),n=jn(`data-url-text`),r=Vt(``),i=jt({ratio:`1`,maxWidth:`300`,mime:`image/jpeg`}),a=Vt(``),o=Vt(``),s=Vt(null),c=new fo;async function l(e){return t.value=e.target.files?.[0],r.value=await c.getDataURL(t.value),n.value.scrollTop=0,u(),r.value}async function u(){return t.value?(a.value=await c.compress(t.value,{ratio:+i.ratio,maxWidth:+i.maxWidth,mime:i.mime}),s.value=await c.dataURLtoFile(o.value||t.value.name,a.value),a.value):``}return(e,n)=>(xi(),Ei(K,null,[n[33]||=J(`header`,null,[J(`h1`,null,`@2080code/pic-processer demo`)],-1),J(`article`,null,[J(`dl`,null,[n[6]||=J(`dt`,null,[J(`h2`,null,`选取图片`)],-1),J(`dd`,null,[J(`input`,{type:`file`,draggable:``,onChange:n[0]||=e=>l(e)},null,32)])]),n[30]||=J(`hr`,null,null,-1),J(`dl`,null,[n[8]||=J(`dt`,null,[J(`h2`,null,`getDataURL`)],-1),n[9]||=J(`dd`,null,null,-1),J(`dd`,null,[n[7]||=J(`label`,{for:`data-url-text`},`原始图片转为 dataURL:`,-1),Cn(J(`textarea`,{id:`data-url-text`,ref:`data-url-text`,"onUpdate:modelValue":n[1]||=e=>r.value=e,readonly:``,rows:`5`},null,512),[[Qa,r.value]])])]),n[31]||=J(`hr`,null,null,-1),J(`dl`,null,[n[19]||=J(`dt`,null,[J(`h2`,null,`compress`)],-1),J(`dd`,null,[n[11]||=J(`label`,{for:`compress-ratio`},`ratio:`,-1),Cn(J(`select`,{id:`compress-ratio`,"onUpdate:modelValue":n[2]||=e=>i.ratio=e,onChange:u},[...n[10]||=[Ii(`<option value="1" selected data-v-2a9df8fb>1(无压缩,输出字节可能会远大于原图)</option><option value="0.8" data-v-2a9df8fb>0.8</option><option value="0.6" data-v-2a9df8fb>0.6</option><option value="0.4" data-v-2a9df8fb>0.4</option><option value="0.2" data-v-2a9df8fb>0.2</option>`,5)]],544),[[$a,i.ratio]])]),J(`dd`,null,[n[12]||=J(`label`,{for:`compress-max-width`},`maxWidth:`,-1),Cn(J(`input`,{type:`number`,inputmode:`numeric`,id:`compress-max-width`,"onUpdate:modelValue":n[3]||=e=>i.maxWidth=e,onChange:u},null,544),[[Qa,i.maxWidth]]),n[13]||=Fi(`px `,-1)]),J(`dd`,null,[n[15]||=J(`label`,{for:`compress-mime`},`mime:`,-1),Cn(J(`select`,{id:`compress-mime`,"onUpdate:modelValue":n[4]||=e=>i.mime=e,onChange:u},[...n[14]||=[J(`option`,{value:`image/jpeg`,selected:``},`image/jpeg`,-1),J(`option`,{value:`image/png`},`image/png`,-1)]],544),[[$a,i.mime]])]),J(`dd`,null,[J(`div`,null,[t.value?(xi(),Ei(K,{key:0},[n[16]||=Fi(`original file size: `,-1),J(`em`,null,A(t.value.size)+` byte`,1),n[17]||=J(`br`,null,null,-1)],64)):Li(``,!0),s.value?(xi(),Ei(K,{key:1},[n[18]||=Fi(`compressed file size: `,-1),J(`em`,null,A(s.value.size)+` byte`,1)],64)):Li(``,!0)])]),J(`dd`,null,[Cn(J(`img`,{src:a.value,alt:`preview`},null,8,po),[[ba,a.value]])])]),n[32]||=J(`hr`,null,null,-1),J(`dl`,null,[n[29]||=J(`dt`,null,[J(`h2`,null,`dataURLtoFile`)],-1),J(`dd`,null,[n[20]||=J(`label`,{for:`exported-file-name`},`输入文件名:`,-1),Cn(J(`input`,{type:`text`,id:`exported-file-name`,"onUpdate:modelValue":n[5]||=e=>o.value=e,placeholder:`请输入文件名`,onChange:u},null,544),[[Qa,o.value]])]),J(`dd`,null,[n[28]||=Fi(` 通过上面 compress 方法输出的 dataURL 被转为 File 对象后的信息: `,-1),s.value?(xi(),Ei(`div`,mo,[n[21]||=Fi(` name: `,-1),J(`em`,null,A(s.value.name),1),n[22]||=J(`br`,null,null,-1),n[23]||=Fi(` size: `,-1),J(`em`,null,A(s.value.size)+` byte`,1),n[24]||=J(`br`,null,null,-1),n[25]||=Fi(` type: `,-1),J(`em`,null,A(s.value.type),1),n[26]||=J(`br`,null,null,-1)])):(xi(),Ei(`div`,ho,[...n[27]||=[J(`small`,null,`请先在 compress 中选择文件`,-1)]]))])])])],64))}}),[[`__scopeId`,`data-v-2a9df8fb`]]);ao(kn({__name:`App`,setup(e){return(e,t)=>(xi(),Di(go))}})).mount(`#app`);
@@ -0,0 +1 @@
1
+ :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}#app{max-width:1280px;margin:0 auto;padding:2rem}dl dd[data-v-2a9df8fb]:not(:last-child){margin-bottom:5px}label[data-v-2a9df8fb]{font-weight:700}em[data-v-2a9df8fb]{color:#888;text-decoration:underline}#data-url-text[data-v-2a9df8fb]{resize:vertical;box-sizing:border-box;width:100%;min-height:min-content;padding:6px}
@@ -0,0 +1,14 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>pic-processer</title>
8
+ <script type="module" crossorigin src="/assets/index-CLsCmOse.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-DhpJJgS0.css">
10
+ </head>
11
+ <body>
12
+ <div id="app"></div>
13
+ </body>
14
+ </html>
@@ -0,0 +1 @@
1
+ function e(e){return new Promise((t,r)=>{const n=new FileReader;n.addEventListener("load",()=>{t(n?.result)},!1),n.addEventListener("loadend",()=>{t(n?.result)}),n.addEventListener("error",()=>{r(new Error("getDataURL error!"))}),n.addEventListener("abort",()=>{r(new Error("getDataURL abort!"))}),e&&[Blob,File].some(t=>e instanceof t)?n.readAsDataURL(e):r(new Error("Unspecified file!"))})}function t(e,t){const r=t.split(","),n=(r[0]||"").match(/:(.*?);/)?.[1],o=window.atob(r[1]||"");let a=o.length;const i=new Uint8Array(a);for(;a--;)i[a]=o.charCodeAt(a);return new File([i],e,{type:n})}function r(t,r){const{ratio:n,mime:o,maxWidth:a}={ratio:.5,mime:"image/jpeg",maxWidth:null,...r};return new Promise((r,i)=>{let s="";const d=new Image;a&&a<2&&i(new Error("maxWidth must be greater than 1!")),d.addEventListener("loadstart",()=>{}),d.addEventListener("load",()=>{const e=document.createElement("canvas");let t=1;a&&d.width>a&&(t=a/d.width);const i=d.width*t,c=d.height*t;e.width=i,e.height=c,e.getContext("2d").drawImage(d,0,0,i,c),s=e.toDataURL(o,+n),r(s)},!1),d.addEventListener("loadend",()=>{r(s)}),d.addEventListener("error",()=>{i(new Error("compress error!"))}),d.addEventListener("abort",()=>{i(new Error("compress abort!"))}),t&&[Blob,File].some(e=>t instanceof e)?e(t).then(e=>{d.src=e}).catch(e=>{i(e)}):i(new Error("no file!"))})}module.exports=class{constructor(){this.getDataURL=e,this.dataURLtoFile=t,this.compress=r}};
@@ -0,0 +1 @@
1
+ function e(e){return new Promise((t,r)=>{const n=new FileReader;n.addEventListener("load",()=>{t(n?.result)},!1),n.addEventListener("loadend",()=>{t(n?.result)}),n.addEventListener("error",()=>{r(/* @__PURE__ */new Error("getDataURL error!"))}),n.addEventListener("abort",()=>{r(/* @__PURE__ */new Error("getDataURL abort!"))}),e&&[Blob,File].some(t=>e instanceof t)?n.readAsDataURL(e):r(/* @__PURE__ */new Error("Unspecified file!"))})}function t(e,t){const r=t.split(","),n=(r[0]||"").match(/:(.*?);/)?.[1],a=window.atob(r[1]||"");let o=a.length;const i=new Uint8Array(o);for(;o--;)i[o]=a.charCodeAt(o);return new File([i],e,{type:n})}function r(t,r){const{ratio:n,mime:a,maxWidth:o}={ratio:.5,mime:"image/jpeg",maxWidth:null,...r};return new Promise((r,i)=>{let s="";const d=new Image;o&&o<2&&i(/* @__PURE__ */new Error("maxWidth must be greater than 1!")),d.addEventListener("loadstart",()=>{}),d.addEventListener("load",()=>{const e=document.createElement("canvas");let t=1;o&&d.width>o&&(t=o/d.width);const i=d.width*t,c=d.height*t;e.width=i,e.height=c,e.getContext("2d").drawImage(d,0,0,i,c),s=e.toDataURL(a,+n),r(s)},!1),d.addEventListener("loadend",()=>{r(s)}),d.addEventListener("error",()=>{i(/* @__PURE__ */new Error("compress error!"))}),d.addEventListener("abort",()=>{i(/* @__PURE__ */new Error("compress abort!"))}),t&&[Blob,File].some(e=>t instanceof e)?e(t).then(e=>{d.src=e}).catch(e=>{i(e)}):i(/* @__PURE__ */new Error("no file!"))})}var n=class{constructor(){this.getDataURL=e,this.dataURLtoFile=t,this.compress=r}};export{n as default};
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):(e="undefined"!=typeof globalThis?globalThis:e||self).PicProcesser=t()}(this,function(){function e(e){return new Promise((t,r)=>{const n=new FileReader;n.addEventListener("load",()=>{t(n?.result)},!1),n.addEventListener("loadend",()=>{t(n?.result)}),n.addEventListener("error",()=>{r(new Error("getDataURL error!"))}),n.addEventListener("abort",()=>{r(new Error("getDataURL abort!"))}),e&&[Blob,File].some(t=>e instanceof t)?n.readAsDataURL(e):r(new Error("Unspecified file!"))})}function t(e,t){const r=t.split(","),n=(r[0]||"").match(/:(.*?);/)?.[1],o=window.atob(r[1]||"");let a=o.length;const i=new Uint8Array(a);for(;a--;)i[a]=o.charCodeAt(a);return new File([i],e,{type:n})}function r(t,r){const{ratio:n,mime:o,maxWidth:a}={ratio:.5,mime:"image/jpeg",maxWidth:null,...r};return new Promise((r,i)=>{let d="";const s=new Image;a&&a<2&&i(new Error("maxWidth must be greater than 1!")),s.addEventListener("loadstart",()=>{}),s.addEventListener("load",()=>{const e=document.createElement("canvas");let t=1;a&&s.width>a&&(t=a/s.width);const i=s.width*t,c=s.height*t;e.width=i,e.height=c,e.getContext("2d").drawImage(s,0,0,i,c),d=e.toDataURL(o,+n),r(d)},!1),s.addEventListener("loadend",()=>{r(d)}),s.addEventListener("error",()=>{i(new Error("compress error!"))}),s.addEventListener("abort",()=>{i(new Error("compress abort!"))}),t&&[Blob,File].some(e=>t instanceof e)?e(t).then(e=>{s.src=e}).catch(e=>{i(e)}):i(new Error("no file!"))})}return class{constructor(){this.getDataURL=e,this.dataURLtoFile=t,this.compress=r}}});
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ declare module '@2080code/pic-processer'
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import PicProcesser from './src/pic-processer.ts'
1
+ import PicProcesser from 'dist/pic-processer.es.js'
2
2
 
3
3
  export {
4
4
  PicProcesser as default
package/package.json CHANGED
@@ -1,48 +1,55 @@
1
- {
2
- "name": "@2080code/pic-processer",
3
- "version": "0.0.3",
4
- "description": "图片压缩、改变图片尺寸、File 和 dataURL 互转",
5
- "main": "index.js",
6
- "types": "./src/types.ts",
7
- "type": "module",
8
- "node": ">=20.0.0",
9
- "scripts": {
10
- "dev": "rollup -c -w",
11
- "build": "del \"dist\" \"lib\" /s/q/f && rollup -c"
12
- },
13
- "repository": {
14
- "type": "git",
15
- "url": "git+https://github.com/2080code/pic-processer.git"
16
- },
17
- "keywords": [
18
- "picture",
19
- "compress",
20
- "base64",
21
- "dataURL",
22
- "js",
23
- "canvas"
24
- ],
25
- "publishConfig": {
26
- "access": "public"
27
- },
28
- "author": "Warren Chen",
29
- "license": "ISC",
30
- "bugs": {
31
- "url": "https://github.com/2080code/pic-processer/issues"
32
- },
33
- "homepage": "https://github.com/2080code/pic-processer#readme",
34
- "dependencies": {
35
- "@babel/core": "^7.28.5",
36
- "@babel/preset-env": "^7.28.5",
37
- "@rollup/plugin-babel": "^6.1.0",
38
- "@rollup/plugin-commonjs": "^29.0.0",
39
- "@rollup/plugin-node-resolve": "^16.0.3",
40
- "@rollup/plugin-terser": "^0.4.4",
41
- "@rollup/plugin-typescript": "^12.3.0",
42
- "tslib": "^2.8.1"
43
- },
44
- "directories": {
45
- "lib": "lib"
46
- },
47
- "devDependencies": {}
48
- }
1
+ {
2
+ "name": "@2080code/pic-processer",
3
+ "version": "0.0.5",
4
+ "description": "图片压缩、改变图片尺寸、File 和 dataURL 互转",
5
+ "type": "module",
6
+ "main": "index.js",
7
+ "types": "index.d.ts",
8
+ "files":[
9
+ "dist",
10
+ "demo",
11
+ "index.js",
12
+ "index.d.ts"
13
+ ],
14
+ "scripts": {
15
+ "dev": "vite serve",
16
+ "build": "rmdir /s /q \"dist\" \"demo\" && vue-tsc -b && vite build && vite build --config vite.config.demo.ts",
17
+ "preview": "vite preview --config vite.config.demo.ts"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/2080code/pic-processer.git"
22
+ },
23
+ "keywords": [
24
+ "picture",
25
+ "compress",
26
+ "resize",
27
+ "dataURL",
28
+ "data64",
29
+ "javascript",
30
+ "canvas"
31
+ ],
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "author": "Warren Chen",
36
+ "license": "ISC",
37
+ "bugs": {
38
+ "url": "https://github.com/2080code/pic-processer/issues"
39
+ },
40
+ "homepage": "https://github.com/2080code/pic-processer#readme",
41
+ "dependencies": {
42
+ "vue": "^3.5.24"
43
+ },
44
+ "devDependencies": {
45
+ "@types/node": "^24.10.1",
46
+ "@vitejs/plugin-vue": "^6.0.1",
47
+ "@vue/tsconfig": "^0.8.1",
48
+ "typescript": "~5.9.3",
49
+ "vite": "npm:rolldown-vite@7.2.5",
50
+ "vue-tsc": "^3.1.4"
51
+ },
52
+ "overrides": {
53
+ "vite": "npm:rolldown-vite@7.2.5"
54
+ }
55
+ }
package/demo/demo.html DELETED
@@ -1,156 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
-
4
- <head>
5
- <meta charset="UTF-8" />
6
- <title>@2080code/pic-processer</title>
7
- <style>
8
- body{
9
- font-size: 12px;
10
- word-wrap: break-word;
11
- padding: 10px;
12
- }
13
- #data-url-text{
14
- resize: vertical;
15
- width: 100%;
16
- height: 150px;
17
- color: #888;
18
- border: 1px solid #888;
19
- padding: 5px;
20
- box-sizing: border-box;
21
- border-radius: 3px;
22
- }
23
- #compress-preview{
24
- display: none
25
- }
26
- dl dd:not(:last-child){
27
- margin-bottom: 5px;
28
- }
29
- label{
30
- font-weight: bold;
31
- }
32
- em{
33
- color: #888;
34
- text-decoration: underline;
35
- }
36
- </style>
37
- </head>
38
-
39
- <body>
40
- <header>
41
- <h1>@2080code/pic-processer demo</h1>
42
- </header>
43
- <article>
44
-
45
- <dl>
46
- <dt>
47
- <h2>选取图片</h2>
48
- </dt>
49
- <dd>
50
- <input type="file" id="file" draggable onchange="handle()"/>
51
- </dd>
52
- </dl>
53
-
54
- <dl>
55
- <dt><h2>getDataURL</h2></dt>
56
- <dd>
57
- </dd>
58
- <dd>
59
- 原始图片转为 dataURL:
60
- <textarea name="" id="data-url-text" readonly></textarea>
61
- </dd>
62
- </dl>
63
-
64
- <hr/>
65
-
66
- <dl>
67
- <dt><h2>compress</h2></dt>
68
- <dd>
69
- <label for="compress-ratio">ratio:</label>
70
- <select name="ratio" id="compress-ratio" onchange="handle()">
71
- <option value="1" selected>1(无压缩,输出字节可能会远大于原图)</option>
72
- <option value="0.8">0.8</option>
73
- <option value="0.6">0.6</option>
74
- <option value="0.4">0.4</option>
75
- <option value="0.2">0.2</option>
76
- </select>
77
- </dd>
78
- <dd>
79
- <label for="compress-max-width">maxWidth:</label>
80
- <input type="number" inputmode="numeric" id="compress-max-width" onchange="handle()"/>px
81
- </dd>
82
- <dd>
83
- <label for="compress-mime">mime:</label>
84
- <select name="mime" id="compress-mime" onchange="handle()">
85
- <option value="image/jpeg" selected>image/jpeg</option>
86
- <option value="image/png">image/png</option>
87
- </select>
88
- </dd>
89
- <dd>
90
- <div id="compress-result"></div>
91
- </dd>
92
- <dd>
93
- <img id="compress-preview" src="" alt="preview">
94
- </dd>
95
- </dl>
96
-
97
- <hr/>
98
-
99
- <dl>
100
- <dt><h2>dataURLtoFile</h2></dt>
101
- <dd>
102
- 通过以上 compress 方法输出的 dataURL 被转为 File 对象后的信息:
103
- <div id="file-info"><em>请先在 compress 中选择文件</em></div>
104
- </dd>
105
- </dl>
106
-
107
- <hr/>
108
- </article>
109
-
110
- <script src="../lib/pic-processer.min.js"></script>
111
- <script>
112
- const picProcesser=new PicProcesser()
113
-
114
- // getDataURL
115
- async function getDataURLHandle(){
116
- }
117
-
118
- // compress
119
- async function handle(){
120
- // about getDataURL
121
- const file=document.getElementById('file').files[0]
122
- const dataURL=await picProcesser.getDataURL(file)
123
- // 在 fileInput元素下方显示dataURL
124
- const dataURLText=document.getElementById('data-url-text')
125
- dataURLText.value=dataURL
126
- dataURLText.scrollTop=0
127
-
128
- // about compress
129
- const compressRatio=document.getElementById('compress-ratio')
130
- const compressMaxWidth=document.getElementById('compress-max-width')
131
- const compressMime=document.getElementById('compress-mime')
132
- const compressedDataURL=await picProcesser.compress(file,+compressRatio.value,+compressMaxWidth.value,compressMime.value)
133
- const compressPreview=document.getElementById('compress-preview')
134
-
135
- console.log('compress',file,compressRatio.value,compressedDataURL.length)
136
-
137
- compressPreview.src=compressedDataURL
138
- compressPreview.style.display='initial'
139
-
140
- // about dataURLtoFile
141
- const exportedFile=await picProcesser.dataURLtoFile(file.name,compressedDataURL)
142
- document.getElementById('compress-result').innerHTML=`
143
- original file size: <em>${file.size} byte</em>,
144
- compressed file size: <em>${exportedFile.size} byte</em>
145
- `
146
-
147
- document.getElementById('file-info').innerHTML=`
148
- name: <em>${exportedFile.name}</em><br/>
149
- size: <em>${exportedFile.size} byte</em><br/>
150
- type: <em>${exportedFile.type}</em>
151
- `
152
- }
153
- </script>
154
- </body>
155
-
156
- </html>
@@ -1,88 +0,0 @@
1
- function getDataURL(file) {
2
- return new Promise((resolve, reject) => {
3
- const reader = new FileReader();
4
- reader.addEventListener('load', () => {
5
- resolve(reader === null || reader === void 0 ? void 0 : reader.result);
6
- }, false);
7
- reader.addEventListener('loadend', () => {
8
- console.log('loadend', reader);
9
- resolve(reader === null || reader === void 0 ? void 0 : reader.result);
10
- });
11
- reader.addEventListener('error', () => {
12
- reject(new Error('getDataURL error!'));
13
- });
14
- reader.addEventListener('abort', () => {
15
- reject(new Error('getDataURL abort!'));
16
- });
17
- if (file && [Blob, File].some(type => file instanceof type)) {
18
- reader.readAsDataURL(file);
19
- }
20
- else {
21
- reject(new Error('Unspecified file!'));
22
- }
23
- });
24
- }
25
- function compress(file, ratio = 0.5, maxWidth = null, mime = 'image/jpeg') {
26
- return new Promise((resolve, reject) => {
27
- let dataURL = '';
28
- const img = new Image();
29
- if (maxWidth && maxWidth < 2) {
30
- reject(new Error('maxWidth must be greater than 1!'));
31
- }
32
- img.addEventListener('loadstart', () => {
33
- });
34
- img.addEventListener('load', () => {
35
- const canvas = document.createElement('canvas');
36
- let scaleRatio = 1;
37
- if (maxWidth && img.width > maxWidth) {
38
- scaleRatio = maxWidth / img.width;
39
- }
40
- const width = img.width * scaleRatio;
41
- const height = img.height * scaleRatio;
42
- canvas.width = width;
43
- canvas.height = height;
44
- canvas.getContext('2d').drawImage(img, 0, 0, width, height);
45
- dataURL = canvas.toDataURL(mime, +ratio);
46
- resolve(dataURL);
47
- }, false);
48
- img.addEventListener('loadend', () => {
49
- resolve(dataURL);
50
- });
51
- img.addEventListener('error', () => {
52
- reject(new Error('compress error!'));
53
- });
54
- img.addEventListener('abort', () => {
55
- reject(new Error('compress abort!'));
56
- });
57
- if (file && [Blob, File].some(type => file instanceof type)) {
58
- this.getDataURL(file).then(res => {
59
- img.src = res;
60
- }).catch(error => {
61
- reject(error);
62
- });
63
- }
64
- else {
65
- reject(new Error('no file!'));
66
- }
67
- });
68
- }
69
- function dataURLtoFile(fileName, dataURL) {
70
- const arr = dataURL.split(',');
71
- const mime = arr[0].match(/:(.*?);/)[1];
72
- const bstr = window.atob(arr[1]);
73
- let n = bstr.length;
74
- const u8arr = new Uint8Array(n);
75
- while (n--) {
76
- u8arr[n] = bstr.charCodeAt(n);
77
- }
78
- return new File([u8arr], fileName, { type: mime });
79
- }
80
- class PicProcesser {
81
- constructor() {
82
- this.compress = compress;
83
- this.getDataURL = getDataURL;
84
- this.dataURLtoFile = dataURLtoFile;
85
- }
86
- }
87
-
88
- export { PicProcesser as default };
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).PicProcesser=t()}(this,function(){"use strict";function e(e){return new Promise((t,n)=>{const r=new FileReader;r.addEventListener("load",()=>{t(null==r?void 0:r.result)},!1),r.addEventListener("loadend",()=>{console.log("loadend",r),t(null==r?void 0:r.result)}),r.addEventListener("error",()=>{n(new Error("getDataURL error!"))}),r.addEventListener("abort",()=>{n(new Error("getDataURL abort!"))}),e&&[Blob,File].some(t=>e instanceof t)?r.readAsDataURL(e):n(new Error("Unspecified file!"))})}function t(e,t=.5,n=null,r="image/jpeg"){return new Promise((o,a)=>{let i="";const s=new Image;n&&n<2&&a(new Error("maxWidth must be greater than 1!")),s.addEventListener("loadstart",()=>{}),s.addEventListener("load",()=>{const e=document.createElement("canvas");let a=1;n&&s.width>n&&(a=n/s.width);const d=s.width*a,l=s.height*a;e.width=d,e.height=l,e.getContext("2d").drawImage(s,0,0,d,l),i=e.toDataURL(r,+t),o(i)},!1),s.addEventListener("loadend",()=>{o(i)}),s.addEventListener("error",()=>{a(new Error("compress error!"))}),s.addEventListener("abort",()=>{a(new Error("compress abort!"))}),e&&[Blob,File].some(t=>e instanceof t)?this.getDataURL(e).then(e=>{s.src=e}).catch(e=>{a(e)}):a(new Error("no file!"))})}function n(e,t){const n=t.split(","),r=n[0].match(/:(.*?);/)[1],o=window.atob(n[1]);let a=o.length;const i=new Uint8Array(a);for(;a--;)i[a]=o.charCodeAt(a);return new File([i],e,{type:r})}return class{constructor(){this.compress=t,this.getDataURL=e,this.dataURLtoFile=n}}});
2
- //# sourceMappingURL=pic-processer.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pic-processer.min.js","sources":["../src/pic-processer.ts"],"sourcesContent":["/**\r\n * compress for picture\r\n * @author Warren\r\n */\r\n\r\n/**\r\n * 转为dataURL\r\n * @param {File,Blob} file\r\n * @returns {Promise}\r\n */\r\nfunction getDataURL(file:File|Blob):Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n // reader.addEventListener('loadstart', () => {\r\n // })\r\n reader.addEventListener('load', () => {\r\n resolve(reader?.result as string)\r\n }, false);\r\n reader.addEventListener('loadend', () => {\r\n console.log('loadend',reader)\r\n resolve(reader?.result as string)\r\n })\r\n reader.addEventListener('error', () => {\r\n reject(new Error('getDataURL error!'))\r\n })\r\n reader.addEventListener('abort', () => {\r\n reject(new Error('getDataURL abort!'))\r\n })\r\n if (file && [Blob,File].some(type=>file instanceof type)) {\r\n reader.readAsDataURL(file)\r\n } else {\r\n reject(new Error('Unspecified file!'))\r\n }\r\n })\r\n}\r\n\r\n/**\r\n * 压缩\r\n * @param {File,Blob} file\r\n * @param {Number} ratio 压缩比\r\n * @param {Number} maxWidth 尺寸限制,单位像素\r\n * @param {string} mime 输出图片类型,默认`image/jpeg`\r\n * @returns {Promise}\r\n */\r\nfunction compress(file:File|Blob, ratio:number = 0.5, maxWidth:number = null,mime:string='image/jpeg'):Promise<string> {\r\n // console.log(ratio, maxWidth)\r\n // 通过构造函数来创建的 img 实例,在赋予 src 值后就会立刻下载图片,相比 createElement() 创建 <img> 省去了 append(),也就避免了文档冗余和污染\r\n return new Promise((resolve, reject) => {\r\n let dataURL = '';\r\n const img = new Image();\r\n\r\n // 尺寸限制必须大于1,否则canvas是渲染不出内容的\r\n if(maxWidth && maxWidth<2) {\r\n reject(new Error('maxWidth must be greater than 1!'))\r\n }\r\n\r\n img.addEventListener('loadstart', () => {\r\n })\r\n img.addEventListener('load', () => {\r\n const canvas = document.createElement('canvas'); // 创建canvas元素\r\n let scaleRatio = 1\r\n if (maxWidth && img.width > maxWidth) {\r\n scaleRatio = maxWidth / img.width\r\n }\r\n const width=img.width * scaleRatio\r\n const height=img.height * scaleRatio\r\n // 确保canvas的尺寸和图片一样\r\n canvas.width = width;\r\n canvas.height = height;\r\n canvas.getContext('2d').drawImage(img, 0, 0, width, height); // 将图片绘制到canvas中\r\n dataURL = canvas.toDataURL(mime, +ratio); // 转换图片为dataURL\r\n resolve(dataURL)\r\n }, false);\r\n img.addEventListener('loadend', () => {\r\n resolve(dataURL)\r\n })\r\n img.addEventListener('error', () => {\r\n reject(new Error('compress error!'))\r\n })\r\n img.addEventListener('abort', () => {\r\n reject(new Error('compress abort!'))\r\n })\r\n\r\n if (file && [Blob,File].some(type=>file instanceof type)) {\r\n this.getDataURL(file).then(res => {\r\n img.src = res\r\n }).catch(error => {\r\n reject(error)\r\n })\r\n } else {\r\n reject(new Error('no file!'))\r\n }\r\n\r\n \r\n })\r\n}\r\n\r\n/**\r\n * dataURL 转 File\r\n * @param {String} fileName 文件名\r\n * @param {String} dataURL\r\n * @returns {File}\r\n */\r\nfunction dataURLtoFile(fileName:string, dataURL:string):File {\r\n const arr = dataURL.split(',');\r\n const mime = arr[0].match(/:(.*?);/)[1];\r\n const bstr = window.atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new File([u8arr], fileName, { type: mime });\r\n}\r\n\r\nexport default class PicProcesser {\r\n constructor() {\r\n }\r\n compress=compress\r\n getDataURL=getDataURL\r\n dataURLtoFile=dataURLtoFile\r\n}\r\n"],"names":["getDataURL","file","Promise","resolve","reject","reader","FileReader","addEventListener","result","console","log","Error","Blob","File","some","type","readAsDataURL","compress","ratio","maxWidth","mime","dataURL","img","Image","canvas","document","createElement","scaleRatio","width","height","getContext","drawImage","toDataURL","this","then","res","src","catch","error","dataURLtoFile","fileName","arr","split","match","bstr","window","atob","n","length","u8arr","Uint8Array","charCodeAt","constructor"],"mappings":"4OAUA,SAASA,EAAWC,GAChB,OAAO,IAAIC,QAAQ,CAACC,EAASC,KACzB,MAAMC,EAAS,IAAIC,WAGnBD,EAAOE,iBAAiB,OAAQ,KAC5BJ,EAAQE,eAAAA,EAAQG,UACjB,GACHH,EAAOE,iBAAiB,UAAW,KAC/BE,QAAQC,IAAI,UAAUL,GACtBF,EAAQE,eAAAA,EAAQG,UAEpBH,EAAOE,iBAAiB,QAAS,KAC7BH,EAAO,IAAIO,MAAM,wBAErBN,EAAOE,iBAAiB,QAAS,KAC7BH,EAAO,IAAIO,MAAM,wBAEjBV,GAAQ,CAACW,KAAKC,MAAMC,KAAKC,GAAMd,aAAgBc,GAC/CV,EAAOW,cAAcf,GAErBG,EAAO,IAAIO,MAAM,uBAG7B,CAUA,SAASM,EAAShB,EAAgBiB,EAAe,GAAKC,EAAkB,KAAKC,EAAY,cAGrF,OAAO,IAAIlB,QAAQ,CAACC,EAASC,KACzB,IAAIiB,EAAU,GACd,MAAMC,EAAM,IAAIC,MAGbJ,GAAYA,EAAS,GACpBf,EAAO,IAAIO,MAAM,qCAGrBW,EAAIf,iBAAiB,YAAa,QAElCe,EAAIf,iBAAiB,OAAQ,KACzB,MAAMiB,EAASC,SAASC,cAAc,UACtC,IAAIC,EAAa,EACbR,GAAYG,EAAIM,MAAQT,IACxBQ,EAAaR,EAAWG,EAAIM,OAEhC,MAAMA,EAAMN,EAAIM,MAAQD,EAClBE,EAAOP,EAAIO,OAASF,EAE1BH,EAAOI,MAAQA,EACfJ,EAAOK,OAASA,EAChBL,EAAOM,WAAW,MAAMC,UAAUT,EAAK,EAAG,EAAGM,EAAOC,GACpDR,EAAUG,EAAOQ,UAAUZ,GAAOF,GAClCf,EAAQkB,KACT,GACHC,EAAIf,iBAAiB,UAAW,KAC5BJ,EAAQkB,KAEZC,EAAIf,iBAAiB,QAAS,KAC1BH,EAAO,IAAIO,MAAM,sBAErBW,EAAIf,iBAAiB,QAAS,KAC1BH,EAAO,IAAIO,MAAM,sBAGjBV,GAAQ,CAACW,KAAKC,MAAMC,KAAKC,GAAMd,aAAgBc,GAC/CkB,KAAKjC,WAAWC,GAAMiC,KAAKC,IACvBb,EAAIc,IAAMD,IACXE,MAAMC,IACLlC,EAAOkC,KAGXlC,EAAO,IAAIO,MAAM,cAK7B,CAQA,SAAS4B,EAAcC,EAAiBnB,GACtC,MAAMoB,EAAMpB,EAAQqB,MAAM,KACpBtB,EAAOqB,EAAI,GAAGE,MAAM,WAAW,GAC/BC,EAAOC,OAAOC,KAAKL,EAAI,IAC7B,IAAIM,EAAIH,EAAKI,OACb,MAAMC,EAAQ,IAAIC,WAAWH,GAC7B,KAAOA,KACLE,EAAMF,GAAKH,EAAKO,WAAWJ,GAE7B,OAAO,IAAIlC,KAAK,CAACoC,GAAQT,EAAU,CAAEzB,KAAMK,GAC7C,QAEc,MACZ,WAAAgC,GAEAnB,KAAAhB,SAASA,EACTgB,KAAAjC,WAAWA,EACXiC,KAAAM,cAAcA,CAHd"}
package/rollup.config.js DELETED
@@ -1,37 +0,0 @@
1
- import commonjs from '@rollup/plugin-commonjs'
2
- import resolve from '@rollup/plugin-node-resolve'
3
- import babel from '@rollup/plugin-babel'
4
- import terser from '@rollup/plugin-terser'
5
- import typescript from '@rollup/plugin-typescript'
6
-
7
- export default {
8
- input: 'index.js',
9
- output: [{
10
- file: 'dist/pic-processer.js',
11
- name: 'PicProcesser',
12
- },{
13
- file: 'lib/pic-processer.min.js',
14
- format: 'umd',
15
- name: 'PicProcesser',
16
- sourcemap: true,
17
- plugins: [terser()]
18
- }],
19
- plugins: [
20
- commonjs(),
21
- resolve(),
22
- typescript(),
23
- babel({
24
- babelHelpers: 'bundled',
25
- // presets: [
26
- // ['@babel/preset-env', {
27
- // // 配置项
28
- // targets: {
29
- // chrome: '58',
30
- // ie: '11'
31
- // }
32
- // }]
33
- // ]
34
- }),
35
- ]
36
-
37
- }
@@ -1,122 +0,0 @@
1
- /**
2
- * compress for picture
3
- * @author Warren
4
- */
5
-
6
- /**
7
- * 转为dataURL
8
- * @param {File,Blob} file
9
- * @returns {Promise}
10
- */
11
- function getDataURL(file:File|Blob):Promise<string> {
12
- return new Promise((resolve, reject) => {
13
- const reader = new FileReader();
14
- // reader.addEventListener('loadstart', () => {
15
- // })
16
- reader.addEventListener('load', () => {
17
- resolve(reader?.result as string)
18
- }, false);
19
- reader.addEventListener('loadend', () => {
20
- console.log('loadend',reader)
21
- resolve(reader?.result as string)
22
- })
23
- reader.addEventListener('error', () => {
24
- reject(new Error('getDataURL error!'))
25
- })
26
- reader.addEventListener('abort', () => {
27
- reject(new Error('getDataURL abort!'))
28
- })
29
- if (file && [Blob,File].some(type=>file instanceof type)) {
30
- reader.readAsDataURL(file)
31
- } else {
32
- reject(new Error('Unspecified file!'))
33
- }
34
- })
35
- }
36
-
37
- /**
38
- * 压缩
39
- * @param {File,Blob} file
40
- * @param {Number} ratio 压缩比
41
- * @param {Number} maxWidth 尺寸限制,单位像素
42
- * @param {string} mime 输出图片类型,默认`image/jpeg`
43
- * @returns {Promise}
44
- */
45
- function compress(file:File|Blob, ratio:number = 0.5, maxWidth:number = null,mime:string='image/jpeg'):Promise<string> {
46
- // console.log(ratio, maxWidth)
47
- // 通过构造函数来创建的 img 实例,在赋予 src 值后就会立刻下载图片,相比 createElement() 创建 <img> 省去了 append(),也就避免了文档冗余和污染
48
- return new Promise((resolve, reject) => {
49
- let dataURL = '';
50
- const img = new Image();
51
-
52
- // 尺寸限制必须大于1,否则canvas是渲染不出内容的
53
- if(maxWidth && maxWidth<2) {
54
- reject(new Error('maxWidth must be greater than 1!'))
55
- }
56
-
57
- img.addEventListener('loadstart', () => {
58
- })
59
- img.addEventListener('load', () => {
60
- const canvas = document.createElement('canvas'); // 创建canvas元素
61
- let scaleRatio = 1
62
- if (maxWidth && img.width > maxWidth) {
63
- scaleRatio = maxWidth / img.width
64
- }
65
- const width=img.width * scaleRatio
66
- const height=img.height * scaleRatio
67
- // 确保canvas的尺寸和图片一样
68
- canvas.width = width;
69
- canvas.height = height;
70
- canvas.getContext('2d').drawImage(img, 0, 0, width, height); // 将图片绘制到canvas中
71
- dataURL = canvas.toDataURL(mime, +ratio); // 转换图片为dataURL
72
- resolve(dataURL)
73
- }, false);
74
- img.addEventListener('loadend', () => {
75
- resolve(dataURL)
76
- })
77
- img.addEventListener('error', () => {
78
- reject(new Error('compress error!'))
79
- })
80
- img.addEventListener('abort', () => {
81
- reject(new Error('compress abort!'))
82
- })
83
-
84
- if (file && [Blob,File].some(type=>file instanceof type)) {
85
- this.getDataURL(file).then(res => {
86
- img.src = res
87
- }).catch(error => {
88
- reject(error)
89
- })
90
- } else {
91
- reject(new Error('no file!'))
92
- }
93
-
94
-
95
- })
96
- }
97
-
98
- /**
99
- * dataURL 转 File
100
- * @param {String} fileName 文件名
101
- * @param {String} dataURL
102
- * @returns {File}
103
- */
104
- function dataURLtoFile(fileName:string, dataURL:string):File {
105
- const arr = dataURL.split(',');
106
- const mime = arr[0].match(/:(.*?);/)[1];
107
- const bstr = window.atob(arr[1]);
108
- let n = bstr.length;
109
- const u8arr = new Uint8Array(n);
110
- while (n--) {
111
- u8arr[n] = bstr.charCodeAt(n);
112
- }
113
- return new File([u8arr], fileName, { type: mime });
114
- }
115
-
116
- export default class PicProcesser {
117
- constructor() {
118
- }
119
- compress=compress
120
- getDataURL=getDataURL
121
- dataURLtoFile=dataURLtoFile
122
- }
package/tsconfig.json DELETED
@@ -1,18 +0,0 @@
1
-
2
- {
3
- "include": [
4
- "./src/**/*",
5
- "rollup.config.js",
6
- "types/types.ts"
7
- ],
8
- "compilerOptions": {
9
- "target": "es2015",
10
- "module": "es2015",
11
- "lib": [
12
- "es2015",
13
- "dom"
14
- ],
15
- "removeComments": true,
16
- "allowUmdGlobalAccess": true
17
- }
18
- }
package/types/types.ts DELETED
File without changes