10716 lines
4.0 MiB
Plaintext
10716 lines
4.0 MiB
Plaintext
|
|
globalThis.websiteBundle = function() {
|
|
return `
|
|
(function() {
|
|
const exports = {};
|
|
const module = { exports };
|
|
${"var pi=Object.create;var Ot=Object.defineProperty,mi=Object.defineProperties,gi=Object.getOwnPropertyDescriptor,xi=Object.getOwnPropertyDescriptors,hi=Object.getOwnPropertyNames,Kt=Object.getOwnPropertySymbols,bi=Object.getPrototypeOf,Wn=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable;var $r=(e,t,n)=>t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))Wn.call(t,n)&&$r(e,n,t[n]);if(Kt)for(var n of Kt(t))zr.call(t,n)&&$r(e,n,t[n]);return e},B=(e,t)=>mi(e,xi(t));var Gn=(e,t)=>{var n={};for(var o in e)Wn.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Kt)for(var o of Kt(e))t.indexOf(o)<0&&zr.call(e,o)&&(n[o]=e[o]);return n};var je=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yi=(e,t)=>{for(var n in t)Ot(e,n,{get:t[n],enumerable:!0})},qr=(e,t,n,o)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let a of hi(t))!Wn.call(e,a)&&a!==n&&Ot(e,a,{get:()=>t[a],enumerable:!(o=gi(t,a))||o.enumerable});return e};var Y=(e,t,n)=>(n=e!=null?pi(bi(e)):{},qr(t||!e||!e.__esModule?Ot(n,\"default\",{value:e,enumerable:!0}):n,e)),vi=e=>qr(Ot({},\"__esModule\",{value:!0}),e);var Q=je((Bd,Hr)=>{Hr.exports=window.React});var Yn=je(($d,jr)=>{jr.exports=window.ReactDOM});var Ur=je(Kn=>{\"use strict\";var Vr=Yn();Kn.createRoot=Vr.createRoot,Kn.hydrateRoot=Vr.hydrateRoot;var zd});var Gr=je((Hd,Wr)=>{Wr.exports=window.antd});var Kr=je((jd,Yr)=>{Yr.exports=window.axios});var Zr=je((Vd,Xr)=>{Xr.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],o=0;o<e.rangeCount;o++)n.push(e.getRangeAt(o));switch(t.tagName.toUpperCase()){case\"INPUT\":case\"TEXTAREA\":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type===\"Caret\"&&e.removeAllRanges(),e.rangeCount||n.forEach(function(a){e.addRange(a)}),t&&t.focus()}}});var Rr=je((Ud,Qr)=>{\"use strict\";var wi=Zr(),Jr={\"text/plain\":\"Text\",\"text/html\":\"Url\",default:\"Text\"},Ci=\"Copy to clipboard: #{key}, Enter\";function Si(e){var t=(/mac os x/i.test(navigator.userAgent)?\"\\u2318\":\"Ctrl\")+\"+C\";return e.replace(/#{\\s*key\\s*}/g,t)}function Oi(e,t){var n,o,a,i,l,u,c=!1;t||(t={}),n=t.debug||!1;try{a=wi(),i=document.createRange(),l=document.getSelection(),u=document.createElement(\"span\"),u.textContent=e,u.ariaHidden=\"true\",u.style.all=\"unset\",u.style.position=\"fixed\",u.style.top=0,u.style.clip=\"rect(0, 0, 0, 0)\",u.style.whiteSpace=\"pre\",u.style.webkitUserSelect=\"text\",u.style.MozUserSelect=\"text\",u.style.msUserSelect=\"text\",u.style.userSelect=\"text\",u.addEventListener(\"copy\",function(m){if(m.stopPropagation(),t.format)if(m.preventDefault(),typeof m.clipboardData>\"u\"){n&&console.warn(\"unable to use e.clipboardData\"),n&&console.warn(\"trying IE specific stuff\"),window.clipboardData.clearData();var d=Jr[t.format]||Jr.default;window.clipboardData.setData(d,e)}else m.clipboardData.clearData(),m.clipboardData.setData(t.format,e);t.onCopy&&(m.preventDefault(),t.onCopy(m.clipboardData))}),document.body.appendChild(u),i.selectNodeContents(u),l.addRange(i);var f=document.execCommand(\"copy\");if(!f)throw new Error(\"copy command was unsuccessful\");c=!0}catch(m){n&&console.error(\"unable to copy using execCommand: \",m),n&&console.warn(\"trying IE specific stuff\");try{window.clipboardData.setData(t.format||\"text\",e),t.onCopy&&t.onCopy(window.clipboardData),c=!0}catch(d){n&&console.error(\"unable to copy using clipboardData: \",d),n&&console.error(\"falling back to prompt\"),o=Si(\"message\"in t?t.message:Ci),window.prompt(o,e)}}finally{l&&(typeof l.removeRange==\"function\"?l.removeRange(i):l.removeAllRanges()),u&&document.body.removeChild(u),a()}return c}Qr.exports=Oi});var lo=je((gu,Qt)=>{(function(){\"use strict\";var e={}.hasOwnProperty;function t(){for(var a=\"\",i=0;i<arguments.length;i++){var l=arguments[i];l&&(a=o(a,n(l)))}return a}function n(a){if(typeof a==\"string\"||typeof a==\"number\")return a;if(typeof a!=\"object\")return\"\";if(Array.isArray(a))return t.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes(\"[native code]\"))return a.toString();var i=\"\";for(var l in a)e.call(a,l)&&a[l]&&(i=o(i,l));return i}function o(a,i){return i?a?a+\" \"+i:a+i:a}typeof Qt<\"u\"&&Qt.exports?(t.default=t,Qt.exports=t):typeof define==\"function\"&&typeof define.amd==\"object\"&&define.amd?define(\"classnames\",[],function(){return t}):window.classNames=t})()});var Pd={};yi(Pd,{renderClient:()=>Md});module.exports=vi(Pd);var r=Y(Q(),1),ii=Y(Ur(),1),s=Y(Gr(),1),bt=Y(Kr(),1),Mr=Y(Rr(),1);var eo=Y(Q()),ki=(0,eo.createContext)({}),Xt=ki;function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},K.apply(null,arguments)}function to(e){if(Array.isArray(e))return e}function no(e,t){var n=e==null?null:typeof Symbol<\"u\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(n!=null){var o,a,i,l,u=[],c=!0,f=!1;try{if(i=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=i.call(n)).done)&&(u.push(o.value),u.length!==t);c=!0);}catch(m){f=!0,a=m}finally{try{if(!c&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(f)throw a}}return u}}function Xn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function ro(e,t){if(e){if(typeof e==\"string\")return Xn(e,t);var n={}.toString.call(e).slice(8,-1);return n===\"Object\"&&e.constructor&&(n=e.constructor.name),n===\"Map\"||n===\"Set\"?Array.from(e):n===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xn(e,t):void 0}}function oo(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function Zt(e,t){return to(e)||no(e,t)||ro(e,t)||oo()}function Ae(e){\"@babel/helpers - typeof\";return Ae=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Ae(e)}function ao(e,t){if(Ae(e)!=\"object\"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var o=n.call(e,t||\"default\");if(Ae(o)!=\"object\")return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function io(e){var t=ao(e,\"string\");return Ae(t)==\"symbol\"?t:t+\"\"}function re(e,t,n){return(t=io(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function so(e,t){if(e==null)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.indexOf(o)!==-1)continue;n[o]=e[o]}return n}function Jt(e,t){if(e==null)return{};var n,o,a=so(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Xe=Y(Q()),ra=Y(lo());var oe=Math.round;function Zn(e,t){let n=e.replace(/^[^(]*\\((.*)/,\"$1\").replace(/\\).*/,\"\").match(/\\d*\\.?\\d+%?/g)||[],o=n.map(a=>parseFloat(a));for(let a=0;a<3;a+=1)o[a]=t(o[a]||0,n[a]||\"\",a);return n[3]?o[3]=n[3].includes(\"%\")?o[3]/100:o[3]:o[3]=1,o}var uo=(e,t,n)=>n===0?e:e/100;function kt(e,t){let n=t||255;return e>n?n:e<0?0:e}var Ye=class e{constructor(t){re(this,\"isValid\",!0),re(this,\"r\",0),re(this,\"g\",0),re(this,\"b\",0),re(this,\"a\",1),re(this,\"_h\",void 0),re(this,\"_s\",void 0),re(this,\"_l\",void 0),re(this,\"_v\",void 0),re(this,\"_max\",void 0),re(this,\"_min\",void 0),re(this,\"_brightness\",void 0);function n(o){return o[0]in t&&o[1]in t&&o[2]in t}if(t)if(typeof t==\"string\"){let a=function(i){return o.startsWith(i)},o=t.trim();/^#?[A-F\\d]{3,8}$/i.test(o)?this.fromHexString(o):a(\"rgb\")?this.fromRgbString(o):a(\"hsl\")?this.fromHslString(o):(a(\"hsv\")||a(\"hsb\"))&&this.fromHsvString(o)}else if(t instanceof e)this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this._h=t._h,this._s=t._s,this._l=t._l,this._v=t._v;else if(n(\"rgb\"))this.r=kt(t.r),this.g=kt(t.g),this.b=kt(t.b),this.a=typeof t.a==\"number\"?kt(t.a,1):1;else if(n(\"hsl\"))this.fromHsl(t);else if(n(\"hsv\"))this.fromHsv(t);else throw new Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(t))}setR(t){return this._sc(\"r\",t)}setG(t){return this._sc(\"g\",t)}setB(t){return this._sc(\"b\",t)}setA(t){return this._sc(\"a\",t,1)}setHue(t){let n=this.toHsv();return n.h=t,this._c(n)}getLuminance(){function t(i){let l=i/255;return l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4)}let n=t(this.r),o=t(this.g),a=t(this.b);return .2126*n+.7152*o+.0722*a}getHue(){if(typeof this._h>\"u\"){let t=this.getMax()-this.getMin();t===0?this._h=0:this._h=oe(60*(this.r===this.getMax()?(this.g-this.b)/t+(this.g<this.b?6:0):this.g===this.getMax()?(this.b-this.r)/t+2:(this.r-this.g)/t+4))}return this._h}getSaturation(){if(typeof this._s>\"u\"){let t=this.getMax()-this.getMin();t===0?this._s=0:this._s=t/this.getMax()}return this._s}getLightness(){return typeof this._l>\"u\"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>\"u\"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>\"u\"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(t=10){let n=this.getHue(),o=this.getSaturation(),a=this.getLightness()-t/100;return a<0&&(a=0),this._c({h:n,s:o,l:a,a:this.a})}lighten(t=10){let n=this.getHue(),o=this.getSaturation(),a=this.getLightness()+t/100;return a>1&&(a=1),this._c({h:n,s:o,l:a,a:this.a})}mix(t,n=50){let o=this._c(t),a=n/100,i=u=>(o[u]-this[u])*a+this[u],l={r:oe(i(\"r\")),g:oe(i(\"g\")),b:oe(i(\"b\")),a:oe(i(\"a\")*100)/100};return this._c(l)}tint(t=10){return this.mix({r:255,g:255,b:255,a:1},t)}shade(t=10){return this.mix({r:0,g:0,b:0,a:1},t)}onBackground(t){let n=this._c(t),o=this.a+n.a*(1-this.a),a=i=>oe((this[i]*this.a+n[i]*n.a*(1-this.a))/o);return this._c({r:a(\"r\"),g:a(\"g\"),b:a(\"b\"),a:o})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}clone(){return this._c(this)}toHexString(){let t=\"#\",n=(this.r||0).toString(16);t+=n.length===2?n:\"0\"+n;let o=(this.g||0).toString(16);t+=o.length===2?o:\"0\"+o;let a=(this.b||0).toString(16);if(t+=a.length===2?a:\"0\"+a,typeof this.a==\"number\"&&this.a>=0&&this.a<1){let i=oe(this.a*255).toString(16);t+=i.length===2?i:\"0\"+i}return t}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let t=this.getHue(),n=oe(this.getSaturation()*100),o=oe(this.getLightness()*100);return this.a!==1?\"hsla(\".concat(t,\",\").concat(n,\"%,\").concat(o,\"%,\").concat(this.a,\")\"):\"hsl(\".concat(t,\",\").concat(n,\"%,\").concat(o,\"%)\")}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?\"rgba(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\",\").concat(this.a,\")\"):\"rgb(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\")\")}toString(){return this.toRgbString()}_sc(t,n,o){let a=this.clone();return a[t]=kt(n,o),a}_c(t){return new this.constructor(t)}getMax(){return typeof this._max>\"u\"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>\"u\"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(t){let n=t.replace(\"#\",\"\");function o(a,i){return parseInt(n[a]+n[i||a],16)}n.length<6?(this.r=o(0),this.g=o(1),this.b=o(2),this.a=n[3]?o(3)/255:1):(this.r=o(0,1),this.g=o(2,3),this.b=o(4,5),this.a=n[6]?o(6,7)/255:1)}fromHsl({h:t,s:n,l:o,a}){if(this._h=t%360,this._s=n,this._l=o,this.a=typeof a==\"number\"?a:1,n<=0){let g=oe(o*255);this.r=g,this.g=g,this.b=g}let i=0,l=0,u=0,c=t/60,f=(1-Math.abs(2*o-1))*n,m=f*(1-Math.abs(c%2-1));c>=0&&c<1?(i=f,l=m):c>=1&&c<2?(i=m,l=f):c>=2&&c<3?(l=f,u=m):c>=3&&c<4?(l=m,u=f):c>=4&&c<5?(i=m,u=f):c>=5&&c<6&&(i=f,u=m);let d=o-f/2;this.r=oe((i+d)*255),this.g=oe((l+d)*255),this.b=oe((u+d)*255)}fromHsv({h:t,s:n,v:o,a}){this._h=t%360,this._s=n,this._v=o,this.a=typeof a==\"number\"?a:1;let i=oe(o*255);if(this.r=i,this.g=i,this.b=i,n<=0)return;let l=t/60,u=Math.floor(l),c=l-u,f=oe(o*(1-n)*255),m=oe(o*(1-n*c)*255),d=oe(o*(1-n*(1-c))*255);switch(u){case 0:this.g=d,this.b=f;break;case 1:this.r=m,this.b=f;break;case 2:this.r=f,this.b=d;break;case 3:this.r=f,this.g=m;break;case 4:this.r=d,this.g=f;break;case 5:default:this.g=f,this.b=m;break}}fromHsvString(t){let n=Zn(t,uo);this.fromHsv({h:n[0],s:n[1],v:n[2],a:n[3]})}fromHslString(t){let n=Zn(t,uo);this.fromHsl({h:n[0],s:n[1],l:n[2],a:n[3]})}fromRgbString(t){let n=Zn(t,(o,a)=>a.includes(\"%\")?oe(o/100*255):o);this.r=n[0],this.g=n[1],this.b=n[2],this.a=n[3]}};var Rt=2,co=.16,Ti=.05,Ei=.05,Fi=.15,go=5,xo=4,Ii=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function fo(e,t,n){var o;return Math.round(e.h)>=60&&Math.round(e.h)<=240?o=n?Math.round(e.h)-Rt*t:Math.round(e.h)+Rt*t:o=n?Math.round(e.h)+Rt*t:Math.round(e.h)-Rt*t,o<0?o+=360:o>=360&&(o-=360),o}function po(e,t,n){if(e.h===0&&e.s===0)return e.s;var o;return n?o=e.s-co*t:t===xo?o=e.s+co:o=e.s+Ti*t,o>1&&(o=1),n&&t===go&&o>.1&&(o=.1),o<.06&&(o=.06),Math.round(o*100)/100}function mo(e,t,n){var o;return n?o=e.v+Ei*t:o=e.v-Fi*t,o=Math.max(0,Math.min(1,o)),Math.round(o*100)/100}function en(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=new Ye(e),a=o.toHsv(),i=go;i>0;i-=1){var l=new Ye({h:fo(a,i,!0),s:po(a,i,!0),v:mo(a,i,!0)});n.push(l)}n.push(o);for(var u=1;u<=xo;u+=1){var c=new Ye({h:fo(a,u),s:po(a,u),v:mo(a,u)});n.push(c)}return t.theme===\"dark\"?Ii.map(function(f){var m=f.index,d=f.amount;return new Ye(t.backgroundColor||\"#141414\").mix(n[m],d).toHexString()}):n.map(function(f){return f.toHexString()})}var ho=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];ho.primary=ho[5];var bo=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];bo.primary=bo[5];var yo=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];yo.primary=yo[5];var vo=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];vo.primary=vo[5];var wo=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];wo.primary=wo[5];var Co=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];Co.primary=Co[5];var So=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];So.primary=So[5];var Oo=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];Oo.primary=Oo[5];var tn=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];tn.primary=tn[5];var ko=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];ko.primary=ko[5];var To=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];To.primary=To[5];var Eo=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];Eo.primary=Eo[5];var Fo=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];Fo.primary=Fo[5];var Io=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];Io.primary=Io[5];var Do=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];Do.primary=Do[5];var No=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];No.primary=No[5];var Ao=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];Ao.primary=Ao[5];var _o=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];_o.primary=_o[5];var Mo=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];Mo.primary=Mo[5];var Po=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];Po.primary=Po[5];var Lo=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];Lo.primary=Lo[5];var Bo=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];Bo.primary=Bo[5];var $o=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];$o.primary=$o[5];var zo=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];zo.primary=zo[5];var qo=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];qo.primary=qo[5];var Ho=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];Ho.primary=Ho[5];function jo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,o)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?jo(Object(n),!0).forEach(function(o){re(e,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jo(Object(n)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(n,o))})}return e}var ta=Y(Q());function Jn(){return!!(typeof window<\"u\"&&window.document&&window.document.createElement)}function Qn(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}var Vo=\"data-rc-order\",Uo=\"data-rc-priority\",Di=\"rc-util-key\",Rn=new Map;function Wo(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.mark;return t?t.startsWith(\"data-\")?t:\"data-\".concat(t):Di}function er(e){if(e.attachTo)return e.attachTo;var t=document.querySelector(\"head\");return t||document.body}function Ni(e){return e===\"queue\"?\"prependQueue\":e?\"prepend\":\"append\"}function tr(e){return Array.from((Rn.get(e)||e).children).filter(function(t){return t.tagName===\"STYLE\"})}function Go(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Jn())return null;var n=t.csp,o=t.prepend,a=t.priority,i=a===void 0?0:a,l=Ni(o),u=l===\"prependQueue\",c=document.createElement(\"style\");c.setAttribute(Vo,l),u&&i&&c.setAttribute(Uo,\"\".concat(i)),n!=null&&n.nonce&&(c.nonce=n==null?void 0:n.nonce),c.innerHTML=e;var f=er(t),m=f.firstChild;if(o){if(u){var d=(t.styles||tr(f)).filter(function(g){if(![\"prepend\",\"prependQueue\"].includes(g.getAttribute(Vo)))return!1;var p=Number(g.getAttribute(Uo)||0);return i>=p});if(d.length)return f.insertBefore(c,d[d.length-1].nextSibling),c}f.insertBefore(c,m)}else f.appendChild(c);return c}function Ai(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=er(t);return(t.styles||tr(n)).find(function(o){return o.getAttribute(Wo(t))===e})}function _i(e,t){var n=Rn.get(e);if(!n||!Qn(document,n)){var o=Go(\"\",t),a=o.parentNode;Rn.set(e,a),e.removeChild(o)}}function Yo(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=er(n),a=tr(o),i=he(he({},n),{},{styles:a});_i(o,i);var l=Ai(t,i);if(l){var u,c;if((u=i.csp)!==null&&u!==void 0&&u.nonce&&l.nonce!==((c=i.csp)===null||c===void 0?void 0:c.nonce)){var f;l.nonce=(f=i.csp)===null||f===void 0?void 0:f.nonce}return l.innerHTML!==e&&(l.innerHTML=e),l}var m=Go(e,i);return m.setAttribute(Wo(i),t),m}function Ko(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}function Mi(e){return Ko(e)instanceof ShadowRoot}function Xo(e){return Mi(e)?Ko(e):null}var nr={},Pi=[],Li=function(t){Pi.push(t)};function Bi(e,t){if(0)var n}function $i(e,t){if(0)var n}function zi(){nr={}}function Zo(e,t,n){!t&&!nr[n]&&(e(!1,n),nr[n]=!0)}function nn(e,t){Zo(Bi,e,t)}function qi(e,t){Zo($i,e,t)}nn.preMessage=Li;nn.resetWarned=zi;nn.noteOnce=qi;var Jo=nn;var Ke=Y(Q());function Hi(e){return e.replace(/-(.)/g,function(t,n){return n.toUpperCase()})}function Ro(e,t){Jo(e,\"[@ant-design/icons] \".concat(t))}function rr(e){return Ae(e)===\"object\"&&typeof e.name==\"string\"&&typeof e.theme==\"string\"&&(Ae(e.icon)===\"object\"||typeof e.icon==\"function\")}function Qo(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var o=e[n];switch(n){case\"class\":t.className=o,delete t.class;break;default:delete t[n],t[Hi(n)]=o}return t},{})}function rn(e,t,n){return n?Ke.default.createElement(e.tag,he(he({key:t},Qo(e.attrs)),n),(e.children||[]).map(function(o,a){return rn(o,\"\".concat(t,\"-\").concat(e.tag,\"-\").concat(a))})):Ke.default.createElement(e.tag,he({key:t},Qo(e.attrs)),(e.children||[]).map(function(o,a){return rn(o,\"\".concat(t,\"-\").concat(e.tag,\"-\").concat(a))}))}function or(e){return en(e)[0]}function on(e){return e?Array.isArray(e)?e:[e]:[]}var ji=\"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\",ea=function(t){var n=(0,Ke.useContext)(Xt),o=n.csp,a=n.prefixCls,i=n.layer,l=ji;a&&(l=l.replace(/anticon/g,a)),i&&(l=\"@layer \".concat(i,\" {\\n\").concat(l,\"\\n}\")),(0,Ke.useEffect)(function(){var u=t.current,c=Xo(u);Yo(l,\"@ant-design-icons\",{prepend:!i,csp:o,attachTo:c})},[])};var Vi=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],Tt={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1};function Ui(e){var t=e.primaryColor,n=e.secondaryColor;Tt.primaryColor=t,Tt.secondaryColor=n||or(t),Tt.calculated=!!n}function Wi(){return he({},Tt)}var an=function(t){var n=t.icon,o=t.className,a=t.onClick,i=t.style,l=t.primaryColor,u=t.secondaryColor,c=Jt(t,Vi),f=ta.useRef(),m=Tt;if(l&&(m={primaryColor:l,secondaryColor:u||or(l)}),ea(f),Ro(rr(n),\"icon should be icon definiton, but got \".concat(n)),!rr(n))return null;var d=n;return d&&typeof d.icon==\"function\"&&(d=he(he({},d),{},{icon:d.icon(m.primaryColor,m.secondaryColor)})),rn(d.icon,\"svg-\".concat(d.name),he(he({className:o,onClick:a,style:i,\"data-icon\":d.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},c),{},{ref:f}))};an.displayName=\"IconReact\";an.getTwoToneColors=Wi;an.setTwoToneColors=Ui;var Et=an;function ar(e){var t=on(e),n=Zt(t,2),o=n[0],a=n[1];return Et.setTwoToneColors({primaryColor:o,secondaryColor:a})}function na(){var e=Et.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var Gi=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];ar(tn.primary);var sn=Xe.forwardRef(function(e,t){var n=e.className,o=e.icon,a=e.spin,i=e.rotate,l=e.tabIndex,u=e.onClick,c=e.twoToneColor,f=Jt(e,Gi),m=Xe.useContext(Xt),d=m.prefixCls,g=d===void 0?\"anticon\":d,p=m.rootClassName,v=(0,ra.default)(p,g,re(re({},\"\".concat(g,\"-\").concat(o.name),!!o.name),\"\".concat(g,\"-spin\"),!!a||o.name===\"loading\"),n),y=l;y===void 0&&u&&(y=-1);var k=i?{msTransform:\"rotate(\".concat(i,\"deg)\"),transform:\"rotate(\".concat(i,\"deg)\")}:void 0,E=on(c),w=Zt(E,2),F=w[0],_=w[1];return Xe.createElement(\"span\",K({role:\"img\",\"aria-label\":o.name},f,{ref:t,tabIndex:y,onClick:u,className:v}),Xe.createElement(Et,{icon:o,primaryColor:F,secondaryColor:_,style:k}))});sn.displayName=\"AntdIcon\";sn.getTwoToneColor=na;sn.setTwoToneColor=ar;var Z=sn;var ln=Y(Q());var Yi={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\"}},{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}}]},name:\"check-circle\",theme:\"outlined\"},oa=Yi;var Ki=function(t,n){return ln.createElement(Z,K({},t,{ref:n,icon:oa}))},Xi=ln.forwardRef(Ki),dn=Xi;var un=Y(Q());var Zi={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\"}}]},name:\"copy\",theme:\"outlined\"},aa=Zi;var Ji=function(t,n){return un.createElement(Z,K({},t,{ref:n,icon:aa}))},Qi=un.forwardRef(Ji),ir=Qi;var cn=Y(Q());var Ri={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z\"}}]},name:\"edit\",theme:\"outlined\"},ia=Ri;var es=function(t,n){return cn.createElement(Z,K({},t,{ref:n,icon:ia}))},ts=cn.forwardRef(es),ct=ts;var fn=Y(Q());var ns={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z\"}}]},name:\"export\",theme:\"outlined\"},sa=ns;var rs=function(t,n){return fn.createElement(Z,K({},t,{ref:n,icon:sa}))},os=fn.forwardRef(rs),sr=os;var pn=Y(Q());var as={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z\"}}]},name:\"holder\",theme:\"outlined\"},la=as;var is=function(t,n){return pn.createElement(Z,K({},t,{ref:n,icon:la}))},ss=pn.forwardRef(is),lr=ss;var mn=Y(Q());var ls={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z\"}}]},name:\"import\",theme:\"outlined\"},da=ls;var ds=function(t,n){return mn.createElement(Z,K({},t,{ref:n,icon:da}))},us=mn.forwardRef(ds),dr=us;var gn=Y(Q());var cs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z\"}}]},name:\"link\",theme:\"outlined\"},ua=cs;var fs=function(t,n){return gn.createElement(Z,K({},t,{ref:n,icon:ua}))},ps=gn.forwardRef(fs),ur=ps;var xn=Y(Q());var ms={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"}},{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"}}]},name:\"minus-circle\",theme:\"outlined\"},ca=ms;var gs=function(t,n){return xn.createElement(Z,K({},t,{ref:n,icon:ca}))},xs=xn.forwardRef(gs),Ze=xs;var hn=Y(Q());var hs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\"}},{tag:\"path\",attrs:{d:\"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z\"}}]},name:\"plus\",theme:\"outlined\"},fa=hs;var bs=function(t,n){return hn.createElement(Z,K({},t,{ref:n,icon:fa}))},ys=hn.forwardRef(bs),be=ys;var bn=Y(Q());var vs={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z\"}}]},name:\"setting\",theme:\"outlined\"},pa=vs;var ws=function(t,n){return bn.createElement(Z,K({},t,{ref:n,icon:pa}))},Cs=bn.forwardRef(ws),yn=Cs;var vn=Y(Q());var Ss={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z\"}}]},name:\"user\",theme:\"outlined\"},ma=Ss;var Os=function(t,n){return vn.createElement(Z,K({},t,{ref:n,icon:ma}))},ks=vn.forwardRef(Os),cr=ks;var x=Y(Q()),nt=Y(Yn());var R=Y(Q());function xa(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,R.useMemo)(()=>o=>{t.forEach(a=>a(o))},t)}var Ft=typeof window<\"u\"&&typeof window.document<\"u\"&&typeof window.document.createElement<\"u\";function Je(e){let t=Object.prototype.toString.call(e);return t===\"[object Window]\"||t===\"[object global]\"}function wn(e){return\"nodeType\"in e}function pe(e){var t,n;return e?Je(e)?e:wn(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function Cn(e){let{Document:t}=pe(e);return e instanceof t}function ft(e){return Je(e)?!1:e instanceof pe(e).HTMLElement}function pr(e){return e instanceof pe(e).SVGElement}function Qe(e){return e?Je(e)?e.document:wn(e)?Cn(e)?e:ft(e)||pr(e)?e.ownerDocument:document:document:document}var ye=Ft?R.useLayoutEffect:R.useEffect;function Sn(e){let t=(0,R.useRef)(e);return ye(()=>{t.current=e}),(0,R.useCallback)(function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return t.current==null?void 0:t.current(...o)},[])}function ha(){let e=(0,R.useRef)(null),t=(0,R.useCallback)((o,a)=>{e.current=setInterval(o,a)},[]),n=(0,R.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function pt(e,t){t===void 0&&(t=[e]);let n=(0,R.useRef)(e);return ye(()=>{n.current!==e&&(n.current=e)},t),n}function mt(e,t){let n=(0,R.useRef)();return(0,R.useMemo)(()=>{let o=e(n.current);return n.current=o,o},[...t])}function It(e){let t=Sn(e),n=(0,R.useRef)(null),o=(0,R.useCallback)(a=>{a!==n.current&&(t==null||t(a,n.current)),n.current=a},[]);return[n,o]}function On(e){let t=(0,R.useRef)();return(0,R.useEffect)(()=>{t.current=e},[e]),t.current}var fr={};function Re(e,t){return(0,R.useMemo)(()=>{if(t)return t;let n=fr[e]==null?0:fr[e]+1;return fr[e]=n,e+\"-\"+n},[e,t])}function ba(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];return o.reduce((i,l)=>{let u=Object.entries(l);for(let[c,f]of u){let m=i[c];m!=null&&(i[c]=m+e*f)}return i},S({},t))}}var et=ba(1),gt=ba(-1);function Ts(e){return\"clientX\"in e&&\"clientY\"in e}function Dt(e){if(!e)return!1;let{KeyboardEvent:t}=pe(e.target);return t&&e instanceof t}function Es(e){if(!e)return!1;let{TouchEvent:t}=pe(e.target);return t&&e instanceof t}function Nt(e){if(Es(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Ts(e)?{x:e.clientX,y:e.clientY}:null}var Ve=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return\"translate3d(\"+(t?Math.round(t):0)+\"px, \"+(n?Math.round(n):0)+\"px, 0)\"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return\"scaleX(\"+t+\") scaleY(\"+n+\")\"}},Transform:{toString(e){if(e)return[Ve.Translate.toString(e),Ve.Scale.toString(e)].join(\" \")}},Transition:{toString(e){let{property:t,duration:n,easing:o}=e;return t+\" \"+n+\"ms \"+o}}}),ga=\"a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]\";function ya(e){return e.matches(ga)?e:e.querySelector(ga)}var tt=Y(Q()),Fs={display:\"none\"};function va(e){let{id:t,value:n}=e;return tt.default.createElement(\"div\",{id:t,style:Fs},n)}function wa(e){let{id:t,announcement:n,ariaLiveType:o=\"assertive\"}=e,a={position:\"fixed\",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:\"hidden\",clip:\"rect(0 0 0 0)\",clipPath:\"inset(100%)\",whiteSpace:\"nowrap\"};return tt.default.createElement(\"div\",{id:t,style:a,role:\"status\",\"aria-live\":o,\"aria-atomic\":!0},n)}function Ca(){let[e,t]=(0,tt.useState)(\"\");return{announce:(0,tt.useCallback)(o=>{o!=null&&t(o)},[]),announcement:e}}var _a=(0,x.createContext)(null);function Is(e){let t=(0,x.useContext)(_a);(0,x.useEffect)(()=>{if(!t)throw new Error(\"useDndMonitor must be used within a children of <DndContext>\");return t(e)},[e,t])}function Ds(){let[e]=(0,x.useState)(()=>new Set),t=(0,x.useCallback)(o=>(e.add(o),()=>e.delete(o)),[e]);return[(0,x.useCallback)(o=>{let{type:a,event:i}=o;e.forEach(l=>{var u;return(u=l[a])==null?void 0:u.call(l,i)})},[e]),t]}var Ns={draggable:\"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"},As={onDragStart(e){let{active:t}=e;return\"Picked up draggable item \"+t.id+\".\"},onDragOver(e){let{active:t,over:n}=e;return n?\"Draggable item \"+t.id+\" was moved over droppable area \"+n.id+\".\":\"Draggable item \"+t.id+\" is no longer over a droppable area.\"},onDragEnd(e){let{active:t,over:n}=e;return n?\"Draggable item \"+t.id+\" was dropped over droppable area \"+n.id:\"Draggable item \"+t.id+\" was dropped.\"},onDragCancel(e){let{active:t}=e;return\"Dragging was cancelled. Draggable item \"+t.id+\" was dropped.\"}};function _s(e){let{announcements:t=As,container:n,hiddenTextDescribedById:o,screenReaderInstructions:a=Ns}=e,{announce:i,announcement:l}=Ca(),u=Re(\"DndLiveRegion\"),[c,f]=(0,x.useState)(!1);if((0,x.useEffect)(()=>{f(!0)},[]),Is((0,x.useMemo)(()=>({onDragStart(d){let{active:g}=d;i(t.onDragStart({active:g}))},onDragMove(d){let{active:g,over:p}=d;t.onDragMove&&i(t.onDragMove({active:g,over:p}))},onDragOver(d){let{active:g,over:p}=d;i(t.onDragOver({active:g,over:p}))},onDragEnd(d){let{active:g,over:p}=d;i(t.onDragEnd({active:g,over:p}))},onDragCancel(d){let{active:g,over:p}=d;i(t.onDragCancel({active:g,over:p}))}}),[i,t])),!c)return null;let m=x.default.createElement(x.default.Fragment,null,x.default.createElement(va,{id:o,value:a.draggable}),x.default.createElement(wa,{id:u,announcement:l}));return n?(0,nt.createPortal)(m,n):m}var te;(function(e){e.DragStart=\"dragStart\",e.DragMove=\"dragMove\",e.DragEnd=\"dragEnd\",e.DragCancel=\"dragCancel\",e.DragOver=\"dragOver\",e.RegisterDroppable=\"registerDroppable\",e.SetDroppableDisabled=\"setDroppableDisabled\",e.UnregisterDroppable=\"unregisterDroppable\"})(te||(te={}));function Tn(){}function Lt(e,t){return(0,x.useMemo)(()=>({sensor:e,options:t!=null?t:{}}),[e,t])}function wr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,x.useMemo)(()=>[...t].filter(o=>o!=null),[...t])}var Te=Object.freeze({x:0,y:0});function Ms(e,t){let{data:{value:n}}=e,{data:{value:o}}=t;return o-n}function Ma(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Ps(e,t){let n=Math.max(t.top,e.top),o=Math.max(t.left,e.left),a=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),l=a-o,u=i-n;if(o<a&&n<i){let c=t.width*t.height,f=e.width*e.height,m=l*u,d=m/(c+f-m);return Number(d.toFixed(4))}return 0}var Ls=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:o}=e,a=[];for(let i of o){let{id:l}=i,u=n.get(l);if(u){let c=Ps(u,t);c>0&&a.push({id:l,data:{droppableContainer:i,value:c}})}}return a.sort(Ms)};function Bs(e,t,n){return B(S({},e),{scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1})}function Pa(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Te}function $s(e){return function(n){for(var o=arguments.length,a=new Array(o>1?o-1:0),i=1;i<o;i++)a[i-1]=arguments[i];return a.reduce((l,u)=>B(S({},l),{top:l.top+e*u.y,bottom:l.bottom+e*u.y,left:l.left+e*u.x,right:l.right+e*u.x}),S({},n))}}var zs=$s(1);function qs(e){if(e.startsWith(\"matrix3d(\")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(\"matrix(\")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Hs(e,t,n){let o=qs(t);if(!o)return e;let{scaleX:a,scaleY:i,x:l,y:u}=o,c=e.left-l-(1-a)*parseFloat(n),f=e.top-u-(1-i)*parseFloat(n.slice(n.indexOf(\" \")+1)),m=a?e.width/a:e.width,d=i?e.height/i:e.height;return{width:m,height:d,top:f,right:c+m,bottom:f+d,left:c}}var js={ignoreTransform:!1};function it(e,t){t===void 0&&(t=js);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:f,transformOrigin:m}=pe(e).getComputedStyle(e);f&&(n=Hs(n,f,m))}let{top:o,left:a,width:i,height:l,bottom:u,right:c}=n;return{top:o,left:a,width:i,height:l,bottom:u,right:c}}function Sa(e){return it(e,{ignoreTransform:!0})}function Vs(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Us(e,t){return t===void 0&&(t=pe(e).getComputedStyle(e)),t.position===\"fixed\"}function Ws(e,t){t===void 0&&(t=pe(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[\"overflow\",\"overflowX\",\"overflowY\"].some(a=>{let i=t[a];return typeof i==\"string\"?n.test(i):!1})}function In(e,t){let n=[];function o(a){if(t!=null&&n.length>=t||!a)return n;if(Cn(a)&&a.scrollingElement!=null&&!n.includes(a.scrollingElement))return n.push(a.scrollingElement),n;if(!ft(a)||pr(a)||n.includes(a))return n;let i=pe(e).getComputedStyle(a);return a!==e&&Ws(a,i)&&n.push(a),Us(a,i)?n:o(a.parentNode)}return e?o(e):n}function La(e){let[t]=In(e,1);return t!=null?t:null}function mr(e){return!Ft||!e?null:Je(e)?e:wn(e)?Cn(e)||e===Qe(e).scrollingElement?window:ft(e)?e:null:null}function Ba(e){return Je(e)?e.scrollX:e.scrollLeft}function $a(e){return Je(e)?e.scrollY:e.scrollTop}function hr(e){return{x:Ba(e),y:$a(e)}}var ae;(function(e){e[e.Forward=1]=\"Forward\",e[e.Backward=-1]=\"Backward\"})(ae||(ae={}));function za(e){return!Ft||!e?!1:e===document.scrollingElement}function qa(e){let t={x:0,y:0},n=za(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},o={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},a=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,l=e.scrollTop>=o.y,u=e.scrollLeft>=o.x;return{isTop:a,isLeft:i,isBottom:l,isRight:u,maxScroll:o,minScroll:t}}var Gs={x:.2,y:.2};function Ys(e,t,n,o,a){let{top:i,left:l,right:u,bottom:c}=n;o===void 0&&(o=10),a===void 0&&(a=Gs);let{isTop:f,isBottom:m,isLeft:d,isRight:g}=qa(e),p={x:0,y:0},v={x:0,y:0},y={height:t.height*a.y,width:t.width*a.x};return!f&&i<=t.top+y.height?(p.y=ae.Backward,v.y=o*Math.abs((t.top+y.height-i)/y.height)):!m&&c>=t.bottom-y.height&&(p.y=ae.Forward,v.y=o*Math.abs((t.bottom-y.height-c)/y.height)),!g&&u>=t.right-y.width?(p.x=ae.Forward,v.x=o*Math.abs((t.right-y.width-u)/y.width)):!d&&l<=t.left+y.width&&(p.x=ae.Backward,v.x=o*Math.abs((t.left+y.width-l)/y.width)),{direction:p,speed:v}}function Ks(e){if(e===document.scrollingElement){let{innerWidth:i,innerHeight:l}=window;return{top:0,left:0,right:i,bottom:l,width:i,height:l}}let{top:t,left:n,right:o,bottom:a}=e.getBoundingClientRect();return{top:t,left:n,right:o,bottom:a,width:e.clientWidth,height:e.clientHeight}}function Ha(e){return e.reduce((t,n)=>et(t,hr(n)),Te)}function Xs(e){return e.reduce((t,n)=>t+Ba(n),0)}function Zs(e){return e.reduce((t,n)=>t+$a(n),0)}function Js(e,t){if(t===void 0&&(t=it),!e)return;let{top:n,left:o,bottom:a,right:i}=t(e);La(e)&&(a<=0||i<=0||n>=window.innerHeight||o>=window.innerWidth)&&e.scrollIntoView({block:\"center\",inline:\"center\"})}var Qs=[[\"x\",[\"left\",\"right\"],Xs],[\"y\",[\"top\",\"bottom\"],Zs]],_t=class{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let o=In(n),a=Ha(o);this.rect=S({},t),this.width=t.width,this.height=t.height;for(let[i,l,u]of Qs)for(let c of l)Object.defineProperty(this,c,{get:()=>{let f=u(o),m=a[i]-f;return this.rect[c]+m},enumerable:!0});Object.defineProperty(this,\"rect\",{enumerable:!1})}},rt=class{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var o;return(o=this.target)==null?void 0:o.removeEventListener(...n)})},this.target=t}add(t,n,o){var a;(a=this.target)==null||a.addEventListener(t,n,o),this.listeners.push([t,n,o])}};function Rs(e){let{EventTarget:t}=pe(e);return e instanceof t?e:Qe(e)}function gr(e,t){let n=Math.abs(e.x),o=Math.abs(e.y);return typeof t==\"number\"?Math.sqrt(n**2+o**2)>t:\"x\"in t&&\"y\"in t?n>t.x&&o>t.y:\"x\"in t?n>t.x:\"y\"in t?o>t.y:!1}var ve;(function(e){e.Click=\"click\",e.DragStart=\"dragstart\",e.Keydown=\"keydown\",e.ContextMenu=\"contextmenu\",e.Resize=\"resize\",e.SelectionChange=\"selectionchange\",e.VisibilityChange=\"visibilitychange\"})(ve||(ve={}));function Oa(e){e.preventDefault()}function el(e){e.stopPropagation()}var W;(function(e){e.Space=\"Space\",e.Down=\"ArrowDown\",e.Right=\"ArrowRight\",e.Left=\"ArrowLeft\",e.Up=\"ArrowUp\",e.Esc=\"Escape\",e.Enter=\"Enter\",e.Tab=\"Tab\"})(W||(W={}));var ja={start:[W.Space,W.Enter],cancel:[W.Esc],end:[W.Space,W.Enter,W.Tab]},tl=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case W.Right:return B(S({},n),{x:n.x+25});case W.Left:return B(S({},n),{x:n.x-25});case W.Down:return B(S({},n),{y:n.y+25});case W.Up:return B(S({},n),{y:n.y-25})}},En=class{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;let{event:{target:n}}=t;this.props=t,this.listeners=new rt(Qe(n)),this.windowListeners=new rt(pe(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ve.Resize,this.handleCancel),this.windowListeners.add(ve.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ve.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:t,onStart:n}=this.props,o=t.node.current;o&&Js(o),n(Te)}handleKeyDown(t){if(Dt(t)){let{active:n,context:o,options:a}=this.props,{keyboardCodes:i=ja,coordinateGetter:l=tl,scrollBehavior:u=\"smooth\"}=a,{code:c}=t;if(i.end.includes(c)){this.handleEnd(t);return}if(i.cancel.includes(c)){this.handleCancel(t);return}let{collisionRect:f}=o.current,m=f?{x:f.left,y:f.top}:Te;this.referenceCoordinates||(this.referenceCoordinates=m);let d=l(t,{active:n,context:o.current,currentCoordinates:m});if(d){let g=gt(d,m),p={x:0,y:0},{scrollableAncestors:v}=o.current;for(let y of v){let k=t.code,{isTop:E,isRight:w,isLeft:F,isBottom:_,maxScroll:z,minScroll:H}=qa(y),h=Ks(y),C={x:Math.min(k===W.Right?h.right-h.width/2:h.right,Math.max(k===W.Right?h.left:h.left+h.width/2,d.x)),y:Math.min(k===W.Down?h.bottom-h.height/2:h.bottom,Math.max(k===W.Down?h.top:h.top+h.height/2,d.y))},L=k===W.Right&&!w||k===W.Left&&!F,M=k===W.Down&&!_||k===W.Up&&!E;if(L&&C.x!==d.x){let N=y.scrollLeft+g.x,j=k===W.Right&&N<=z.x||k===W.Left&&N>=H.x;if(j&&!g.y){y.scrollTo({left:N,behavior:u});return}j?p.x=y.scrollLeft-N:p.x=k===W.Right?y.scrollLeft-z.x:y.scrollLeft-H.x,p.x&&y.scrollBy({left:-p.x,behavior:u});break}else if(M&&C.y!==d.y){let N=y.scrollTop+g.y,j=k===W.Down&&N<=z.y||k===W.Up&&N>=H.y;if(j&&!g.x){y.scrollTo({top:N,behavior:u});return}j?p.y=y.scrollTop-N:p.y=k===W.Down?y.scrollTop-z.y:y.scrollTop-H.y,p.y&&y.scrollBy({top:-p.y,behavior:u});break}}this.handleMove(t,et(gt(d,this.referenceCoordinates),p))}}}handleMove(t,n){let{onMove:o}=this.props;t.preventDefault(),o(n)}handleEnd(t){let{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){let{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};En.activators=[{eventName:\"onKeyDown\",handler:(e,t,n)=>{let{keyboardCodes:o=ja,onActivation:a}=t,{active:i}=n,{code:l}=e.nativeEvent;if(o.start.includes(l)){let u=i.activatorNode.current;return u&&e.target!==u?!1:(e.preventDefault(),a==null||a({event:e.nativeEvent}),!0)}return!1}}];function ka(e){return!!(e&&\"distance\"in e)}function Ta(e){return!!(e&&\"delay\"in e)}var Mt=class{constructor(t,n,o){var a;o===void 0&&(o=Rs(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;let{event:i}=t,{target:l}=i;this.props=t,this.events=n,this.document=Qe(l),this.documentListeners=new rt(this.document),this.listeners=new rt(o),this.windowListeners=new rt(pe(l)),this.initialCoordinates=(a=Nt(i))!=null?a:Te,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:o}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(ve.Resize,this.handleCancel),this.windowListeners.add(ve.DragStart,Oa),this.windowListeners.add(ve.VisibilityChange,this.handleCancel),this.windowListeners.add(ve.ContextMenu,Oa),this.documentListeners.add(ve.Keydown,this.handleKeydown),n){if(o!=null&&o({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Ta(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(ka(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){let{active:o,onPending:a}=this.props;a(o,t,this.initialCoordinates,n)}handleStart(){let{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(ve.Click,el,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ve.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;let{activated:o,initialCoordinates:a,props:i}=this,{onMove:l,options:{activationConstraint:u}}=i;if(!a)return;let c=(n=Nt(t))!=null?n:Te,f=gt(a,c);if(!o&&u){if(ka(u)){if(u.tolerance!=null&&gr(f,u.tolerance))return this.handleCancel();if(gr(f,u.distance))return this.handleStart()}if(Ta(u)&&gr(f,u.tolerance))return this.handleCancel();this.handlePending(u,f);return}t.cancelable&&t.preventDefault(),l(c)}handleEnd(){let{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){let{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===W.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}},nl={cancel:{name:\"pointercancel\"},move:{name:\"pointermove\"},end:{name:\"pointerup\"}},at=class extends Mt{constructor(t){let{event:n}=t,o=Qe(n.target);super(t,nl,o)}};at.activators=[{eventName:\"onPointerDown\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return!n.isPrimary||n.button!==0?!1:(o==null||o({event:n}),!0)}}];var rl={move:{name:\"mousemove\"},end:{name:\"mouseup\"}},br;(function(e){e[e.RightClick=2]=\"RightClick\"})(br||(br={}));var yr=class extends Mt{constructor(t){super(t,rl,Qe(t.event.target))}};yr.activators=[{eventName:\"onMouseDown\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return n.button===br.RightClick?!1:(o==null||o({event:n}),!0)}}];var xr={cancel:{name:\"touchcancel\"},move:{name:\"touchmove\"},end:{name:\"touchend\"}},xt=class extends Mt{constructor(t){super(t,xr)}static setup(){return window.addEventListener(xr.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(xr.move.name,t)};function t(){}}};xt.activators=[{eventName:\"onTouchStart\",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t,{touches:a}=n;return a.length>1?!1:(o==null||o({event:n}),!0)}}];var At;(function(e){e[e.Pointer=0]=\"Pointer\",e[e.DraggableRect=1]=\"DraggableRect\"})(At||(At={}));var Fn;(function(e){e[e.TreeOrder=0]=\"TreeOrder\",e[e.ReversedTreeOrder=1]=\"ReversedTreeOrder\"})(Fn||(Fn={}));function ol(e){let{acceleration:t,activator:n=At.Pointer,canScroll:o,draggingRect:a,enabled:i,interval:l=5,order:u=Fn.TreeOrder,pointerCoordinates:c,scrollableAncestors:f,scrollableAncestorRects:m,delta:d,threshold:g}=e,p=il({delta:d,disabled:!i}),[v,y]=ha(),k=(0,x.useRef)({x:0,y:0}),E=(0,x.useRef)({x:0,y:0}),w=(0,x.useMemo)(()=>{switch(n){case At.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case At.DraggableRect:return a}},[n,a,c]),F=(0,x.useRef)(null),_=(0,x.useCallback)(()=>{let H=F.current;if(!H)return;let h=k.current.x*E.current.x,C=k.current.y*E.current.y;H.scrollBy(h,C)},[]),z=(0,x.useMemo)(()=>u===Fn.TreeOrder?[...f].reverse():f,[u,f]);(0,x.useEffect)(()=>{if(!i||!f.length||!w){y();return}for(let H of z){if((o==null?void 0:o(H))===!1)continue;let h=f.indexOf(H),C=m[h];if(!C)continue;let{direction:L,speed:M}=Ys(H,C,w,t,g);for(let N of[\"x\",\"y\"])p[N][L[N]]||(M[N]=0,L[N]=0);if(M.x>0||M.y>0){y(),F.current=H,v(_,l),k.current=M,E.current=L;return}}k.current={x:0,y:0},E.current={x:0,y:0},y()},[t,_,o,y,i,l,JSON.stringify(w),JSON.stringify(p),v,f,z,m,JSON.stringify(g)])}var al={x:{[ae.Backward]:!1,[ae.Forward]:!1},y:{[ae.Backward]:!1,[ae.Forward]:!1}};function il(e){let{delta:t,disabled:n}=e,o=On(t);return mt(a=>{if(n||!o||!a)return al;let i={x:Math.sign(t.x-o.x),y:Math.sign(t.y-o.y)};return{x:{[ae.Backward]:a.x[ae.Backward]||i.x===-1,[ae.Forward]:a.x[ae.Forward]||i.x===1},y:{[ae.Backward]:a.y[ae.Backward]||i.y===-1,[ae.Forward]:a.y[ae.Forward]||i.y===1}}},[n,t,o])}function sl(e,t){let n=t!=null?e.get(t):void 0,o=n?n.node.current:null;return mt(a=>{var i;return t==null?null:(i=o!=null?o:a)!=null?i:null},[o,t])}function ll(e,t){return(0,x.useMemo)(()=>e.reduce((n,o)=>{let{sensor:a}=o,i=a.activators.map(l=>({eventName:l.eventName,handler:t(l.handler,o)}));return[...n,...i]},[]),[e,t])}var Pt;(function(e){e[e.Always=0]=\"Always\",e[e.BeforeDragging=1]=\"BeforeDragging\",e[e.WhileDragging=2]=\"WhileDragging\"})(Pt||(Pt={}));var vr;(function(e){e.Optimized=\"optimized\"})(vr||(vr={}));var Ea=new Map;function dl(e,t){let{dragging:n,dependencies:o,config:a}=t,[i,l]=(0,x.useState)(null),{frequency:u,measure:c,strategy:f}=a,m=(0,x.useRef)(e),d=k(),g=pt(d),p=(0,x.useCallback)(function(E){E===void 0&&(E=[]),!g.current&&l(w=>w===null?E:w.concat(E.filter(F=>!w.includes(F))))},[g]),v=(0,x.useRef)(null),y=mt(E=>{if(d&&!n)return Ea;if(!E||E===Ea||m.current!==e||i!=null){let w=new Map;for(let F of e){if(!F)continue;if(i&&i.length>0&&!i.includes(F.id)&&F.rect.current){w.set(F.id,F.rect.current);continue}let _=F.node.current,z=_?new _t(c(_),_):null;F.rect.current=z,z&&w.set(F.id,z)}return w}return E},[e,i,n,d,c]);return(0,x.useEffect)(()=>{m.current=e},[e]),(0,x.useEffect)(()=>{d||p()},[n,d]),(0,x.useEffect)(()=>{i&&i.length>0&&l(null)},[JSON.stringify(i)]),(0,x.useEffect)(()=>{d||typeof u!=\"number\"||v.current!==null||(v.current=setTimeout(()=>{p(),v.current=null},u))},[u,d,p,...o]),{droppableRects:y,measureDroppableContainers:p,measuringScheduled:i!=null};function k(){switch(f){case Pt.Always:return!1;case Pt.BeforeDragging:return n;default:return!n}}}function Va(e,t){return mt(n=>e?n||(typeof t==\"function\"?t(e):e):null,[t,e])}function ul(e,t){return Va(e,t)}function cl(e){let{callback:t,disabled:n}=e,o=Sn(t),a=(0,x.useMemo)(()=>{if(n||typeof window>\"u\"||typeof window.MutationObserver>\"u\")return;let{MutationObserver:i}=window;return new i(o)},[o,n]);return(0,x.useEffect)(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function Dn(e){let{callback:t,disabled:n}=e,o=Sn(t),a=(0,x.useMemo)(()=>{if(n||typeof window>\"u\"||typeof window.ResizeObserver>\"u\")return;let{ResizeObserver:i}=window;return new i(o)},[n]);return(0,x.useEffect)(()=>()=>a==null?void 0:a.disconnect(),[a]),a}function fl(e){return new _t(it(e),e)}function Fa(e,t,n){t===void 0&&(t=fl);let[o,a]=(0,x.useState)(null);function i(){a(c=>{if(!e)return null;if(e.isConnected===!1){var f;return(f=c!=null?c:n)!=null?f:null}let m=t(e);return JSON.stringify(c)===JSON.stringify(m)?c:m})}let l=cl({callback(c){if(e)for(let f of c){let{type:m,target:d}=f;if(m===\"childList\"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),u=Dn({callback:i});return ye(()=>{i(),e?(u==null||u.observe(e),l==null||l.observe(document.body,{childList:!0,subtree:!0})):(u==null||u.disconnect(),l==null||l.disconnect())},[e]),o}function pl(e){let t=Va(e);return Pa(e,t)}var Ia=[];function ml(e){let t=(0,x.useRef)(e),n=mt(o=>e?o&&o!==Ia&&e&&t.current&&e.parentNode===t.current.parentNode?o:In(e):Ia,[e]);return(0,x.useEffect)(()=>{t.current=e},[e]),n}function gl(e){let[t,n]=(0,x.useState)(null),o=(0,x.useRef)(e),a=(0,x.useCallback)(i=>{let l=mr(i.target);l&&n(u=>u?(u.set(l,hr(l)),new Map(u)):null)},[]);return(0,x.useEffect)(()=>{let i=o.current;if(e!==i){l(i);let u=e.map(c=>{let f=mr(c);return f?(f.addEventListener(\"scroll\",a,{passive:!0}),[f,hr(f)]):null}).filter(c=>c!=null);n(u.length?new Map(u):null),o.current=e}return()=>{l(e),l(i)};function l(u){u.forEach(c=>{let f=mr(c);f==null||f.removeEventListener(\"scroll\",a)})}},[a,e]),(0,x.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((i,l)=>et(i,l),Te):Ha(e):Te,[e,t])}function Da(e,t){t===void 0&&(t=[]);let n=(0,x.useRef)(null);return(0,x.useEffect)(()=>{n.current=null},t),(0,x.useEffect)(()=>{let o=e!==Te;o&&!n.current&&(n.current=e),!o&&n.current&&(n.current=null)},[e]),n.current?gt(e,n.current):Te}function xl(e){(0,x.useEffect)(()=>{if(!Ft)return;let t=e.map(n=>{let{sensor:o}=n;return o.setup==null?void 0:o.setup()});return()=>{for(let n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function hl(e,t){return(0,x.useMemo)(()=>e.reduce((n,o)=>{let{eventName:a,handler:i}=o;return n[a]=l=>{i(l,t)},n},{}),[e,t])}function Ua(e){return(0,x.useMemo)(()=>e?Vs(e):null,[e])}var Na=[];function bl(e,t){t===void 0&&(t=it);let[n]=e,o=Ua(n?pe(n):null),[a,i]=(0,x.useState)(Na);function l(){i(()=>e.length?e.map(c=>za(c)?o:new _t(t(c),c)):Na)}let u=Dn({callback:l});return ye(()=>{u==null||u.disconnect(),l(),e.forEach(c=>u==null?void 0:u.observe(c))},[e]),a}function yl(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return ft(t)?t:e}function vl(e){let{measure:t}=e,[n,o]=(0,x.useState)(null),a=(0,x.useCallback)(f=>{for(let{target:m}of f)if(ft(m)){o(d=>{let g=t(m);return d?B(S({},d),{width:g.width,height:g.height}):g});break}},[t]),i=Dn({callback:a}),l=(0,x.useCallback)(f=>{let m=yl(f);i==null||i.disconnect(),m&&(i==null||i.observe(m)),o(m?t(m):null)},[t,i]),[u,c]=It(l);return(0,x.useMemo)(()=>({nodeRef:u,rect:n,setRef:c}),[n,u,c])}var wl=[{sensor:at,options:{}},{sensor:En,options:{}}],Cl={current:{}},kn={draggable:{measure:Sa},droppable:{measure:Sa,strategy:Pt.WhileDragging,frequency:vr.Optimized},dragOverlay:{measure:it}},ot=class extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,o;return(n=(o=this.get(t))==null?void 0:o.node.current)!=null?n:void 0}},Sl={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ot,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Tn},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:kn,measureDroppableContainers:Tn,windowRect:null,measuringScheduled:!1},Ol={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:\"\"},dispatch:Tn,draggableNodes:new Map,over:null,measureDroppableContainers:Tn},Nn=(0,x.createContext)(Ol),Wa=(0,x.createContext)(Sl);function kl(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ot}}}function Tl(e,t){switch(t.type){case te.DragStart:return B(S({},e),{draggable:B(S({},e.draggable),{initialCoordinates:t.initialCoordinates,active:t.active})});case te.DragMove:return e.draggable.active==null?e:B(S({},e),{draggable:B(S({},e.draggable),{translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}})});case te.DragEnd:case te.DragCancel:return B(S({},e),{draggable:B(S({},e.draggable),{active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}})});case te.RegisterDroppable:{let{element:n}=t,{id:o}=n,a=new ot(e.droppable.containers);return a.set(o,n),B(S({},e),{droppable:B(S({},e.droppable),{containers:a})})}case te.SetDroppableDisabled:{let{id:n,key:o,disabled:a}=t,i=e.droppable.containers.get(n);if(!i||o!==i.key)return e;let l=new ot(e.droppable.containers);return l.set(n,B(S({},i),{disabled:a})),B(S({},e),{droppable:B(S({},e.droppable),{containers:l})})}case te.UnregisterDroppable:{let{id:n,key:o}=t,a=e.droppable.containers.get(n);if(!a||o!==a.key)return e;let i=new ot(e.droppable.containers);return i.delete(n),B(S({},e),{droppable:B(S({},e.droppable),{containers:i})})}default:return e}}function El(e){let{disabled:t}=e,{active:n,activatorEvent:o,draggableNodes:a}=(0,x.useContext)(Nn),i=On(o),l=On(n==null?void 0:n.id);return(0,x.useEffect)(()=>{if(!t&&!o&&i&&l!=null){if(!Dt(i)||document.activeElement===i.target)return;let u=a.get(l);if(!u)return;let{activatorNode:c,node:f}=u;if(!c.current&&!f.current)return;requestAnimationFrame(()=>{for(let m of[c.current,f.current]){if(!m)continue;let d=ya(m);if(d){d.focus();break}}})}},[o,t,a,l,i]),null}function Fl(e,t){let a=t,{transform:n}=a,o=Gn(a,[\"transform\"]);return e!=null&&e.length?e.reduce((i,l)=>l(S({transform:i},o)),n):n}function Il(e){return(0,x.useMemo)(()=>({draggable:S(S({},kn.draggable),e==null?void 0:e.draggable),droppable:S(S({},kn.droppable),e==null?void 0:e.droppable),dragOverlay:S(S({},kn.dragOverlay),e==null?void 0:e.dragOverlay)}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function Dl(e){let{activeNode:t,measure:n,initialRect:o,config:a=!0}=e,i=(0,x.useRef)(!1),{x:l,y:u}=typeof a==\"boolean\"?{x:a,y:a}:a;ye(()=>{if(!l&&!u||!t){i.current=!1;return}if(i.current||!o)return;let f=t==null?void 0:t.node.current;if(!f||f.isConnected===!1)return;let m=n(f),d=Pa(m,o);if(l||(d.x=0),u||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){let g=La(f);g&&g.scrollBy({top:d.y,left:d.x})}},[t,l,u,o,n])}var Ga=(0,x.createContext)(B(S({},Te),{scaleX:1,scaleY:1})),Ue;(function(e){e[e.Uninitialized=0]=\"Uninitialized\",e[e.Initializing=1]=\"Initializing\",e[e.Initialized=2]=\"Initialized\"})(Ue||(Ue={}));var Cr=(0,x.memo)(function(t){var n,o,a,i;let O=t,{id:l,accessibility:u,autoScroll:c=!0,children:f,sensors:m=wl,collisionDetection:d=Ls,measuring:g,modifiers:p}=O,v=Gn(O,[\"id\",\"accessibility\",\"autoScroll\",\"children\",\"sensors\",\"collisionDetection\",\"measuring\",\"modifiers\"]),y=(0,x.useReducer)(Tl,void 0,kl),[k,E]=y,[w,F]=Ds(),[_,z]=(0,x.useState)(Ue.Uninitialized),H=_===Ue.Initialized,{draggable:{active:h,nodes:C,translate:L},droppable:{containers:M}}=k,N=h!=null?C.get(h):null,j=(0,x.useRef)({initial:null,translated:null}),ne=(0,x.useMemo)(()=>{var D;return h!=null?{id:h,data:(D=N==null?void 0:N.data)!=null?D:Cl,rect:j}:null},[h,N]),ie=(0,x.useRef)(null),[we,Ce]=(0,x.useState)(null),[J,Ee]=(0,x.useState)(null),ue=pt(v,Object.values(v)),T=Re(\"DndDescribedBy\",l),A=(0,x.useMemo)(()=>M.getEnabled(),[M]),$=Il(g),{droppableRects:U,measureDroppableContainers:me,measuringScheduled:Se}=dl(A,{dragging:H,dependencies:[L.x,L.y],config:$.droppable}),de=sl(C,h),Pe=(0,x.useMemo)(()=>J?Nt(J):null,[J]),Oe=b(),ge=ul(de,$.draggable.measure);Dl({activeNode:h!=null?C.get(h):null,config:Oe.layoutShiftCompensation,initialRect:ge,measure:$.draggable.measure});let q=Fa(de,$.draggable.measure,ge),We=Fa(de?de.parentElement:null),xe=(0,x.useRef)({activatorEvent:null,active:null,activeNode:de,collisionRect:null,collisions:null,droppableRects:U,draggableNodes:C,draggingNode:null,draggingNodeRect:null,droppableContainers:M,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Le=M.getNodeFor((n=xe.current.over)==null?void 0:n.id),ke=vl({measure:$.dragOverlay.measure}),Be=(o=ke.nodeRef.current)!=null?o:de,_e=H?(a=ke.rect)!=null?a:q:null,Ht=!!(ke.nodeRef.current&&ke.rect),jt=pl(Ht?null:q),yt=Ua(Be?pe(Be):null),Fe=ml(H?Le!=null?Le:de:null),lt=bl(Fe),dt=Fl(p,{transform:{x:L.x-jt.x,y:L.y-jt.y,scaleX:1,scaleY:1},activatorEvent:J,active:ne,activeNodeRect:q,containerNodeRect:We,draggingNodeRect:_e,over:xe.current.over,overlayNodeRect:ke.rect,scrollableAncestors:Fe,scrollableAncestorRects:lt,windowRect:yt}),Vt=Pe?et(Pe,L):null,Ut=gl(Fe),Bn=Da(Ut),$n=Da(Ut,[q]),$e=et(dt,Bn),ze=_e?zs(_e,dt):null,Ge=ne&&ze?d({active:ne,collisionRect:ze,droppableRects:U,droppableContainers:A,pointerCoordinates:Vt}):null,Wt=Ma(Ge,\"id\"),[Ie,Gt]=(0,x.useState)(null),zn=Ht?dt:et(dt,$n),qn=Bs(zn,(i=Ie==null?void 0:Ie.rect)!=null?i:null,q),vt=(0,x.useRef)(null),Yt=(0,x.useCallback)((D,P)=>{let{sensor:V,options:fe}=P;if(ie.current==null)return;let G=C.get(ie.current);if(!G)return;let se=D.nativeEvent,De=new V({active:ie.current,activeNode:G,event:se,options:fe,context:xe,onAbort(le){if(!C.get(le))return;let{onDragAbort:Ne}=ue.current,Me={id:le};Ne==null||Ne(Me),w({type:\"onDragAbort\",event:Me})},onPending(le,qe,Ne,Me){if(!C.get(le))return;let{onDragPending:Ct}=ue.current,He={id:le,constraint:qe,initialCoordinates:Ne,offset:Me};Ct==null||Ct(He),w({type:\"onDragPending\",event:He})},onStart(le){let qe=ie.current;if(qe==null)return;let Ne=C.get(qe);if(!Ne)return;let{onDragStart:Me}=ue.current,wt={activatorEvent:se,active:{id:qe,data:Ne.data,rect:j}};(0,nt.unstable_batchedUpdates)(()=>{Me==null||Me(wt),z(Ue.Initializing),E({type:te.DragStart,initialCoordinates:le,active:qe}),w({type:\"onDragStart\",event:wt}),Ce(vt.current),Ee(se)})},onMove(le){E({type:te.DragMove,coordinates:le})},onEnd:ut(te.DragEnd),onCancel:ut(te.DragCancel)});vt.current=De;function ut(le){return async function(){let{active:Ne,collisions:Me,over:wt,scrollAdjustedTranslate:Ct}=xe.current,He=null;if(Ne&&Ct){let{cancelDrop:St}=ue.current;He={activatorEvent:se,active:Ne,collisions:Me,delta:Ct,over:wt},le===te.DragEnd&&typeof St==\"function\"&&await Promise.resolve(St(He))&&(le=te.DragCancel)}ie.current=null,(0,nt.unstable_batchedUpdates)(()=>{E({type:le}),z(Ue.Uninitialized),Gt(null),Ce(null),Ee(null),vt.current=null;let St=le===te.DragEnd?\"onDragEnd\":\"onDragCancel\";if(He){let Un=ue.current[St];Un==null||Un(He),w({type:St,event:He})}})}}},[C]),Hn=(0,x.useCallback)((D,P)=>(V,fe)=>{let G=V.nativeEvent,se=C.get(fe);if(ie.current!==null||!se||G.dndKit||G.defaultPrevented)return;let De={active:se};D(V,P.options,De)===!0&&(G.dndKit={capturedBy:P.sensor},ie.current=fe,Yt(V,P))},[C,Yt]),ce=ll(m,Hn);xl(m),ye(()=>{q&&_===Ue.Initializing&&z(Ue.Initialized)},[q,_]),(0,x.useEffect)(()=>{let{onDragMove:D}=ue.current,{active:P,activatorEvent:V,collisions:fe,over:G}=xe.current;if(!P||!V)return;let se={active:P,activatorEvent:V,collisions:fe,delta:{x:$e.x,y:$e.y},over:G};(0,nt.unstable_batchedUpdates)(()=>{D==null||D(se),w({type:\"onDragMove\",event:se})})},[$e.x,$e.y]),(0,x.useEffect)(()=>{let{active:D,activatorEvent:P,collisions:V,droppableContainers:fe,scrollAdjustedTranslate:G}=xe.current;if(!D||ie.current==null||!P||!G)return;let{onDragOver:se}=ue.current,De=fe.get(Wt),ut=De&&De.rect.current?{id:De.id,rect:De.rect.current,data:De.data,disabled:De.disabled}:null,le={active:D,activatorEvent:P,collisions:V,delta:{x:G.x,y:G.y},over:ut};(0,nt.unstable_batchedUpdates)(()=>{Gt(ut),se==null||se(le),w({type:\"onDragOver\",event:le})})},[Wt]),ye(()=>{xe.current={activatorEvent:J,active:ne,activeNode:de,collisionRect:ze,collisions:Ge,droppableRects:U,draggableNodes:C,draggingNode:Be,draggingNodeRect:_e,droppableContainers:M,over:Ie,scrollableAncestors:Fe,scrollAdjustedTranslate:$e},j.current={initial:_e,translated:ze}},[ne,de,Ge,ze,C,Be,_e,U,M,Ie,Fe,$e]),ol(B(S({},Oe),{delta:L,draggingRect:ze,pointerCoordinates:Vt,scrollableAncestors:Fe,scrollableAncestorRects:lt}));let jn=(0,x.useMemo)(()=>({active:ne,activeNode:de,activeNodeRect:q,activatorEvent:J,collisions:Ge,containerNodeRect:We,dragOverlay:ke,draggableNodes:C,droppableContainers:M,droppableRects:U,over:Ie,measureDroppableContainers:me,scrollableAncestors:Fe,scrollableAncestorRects:lt,measuringConfiguration:$,measuringScheduled:Se,windowRect:yt}),[ne,de,q,J,Ge,We,ke,C,M,U,Ie,me,Fe,lt,$,Se,yt]),Vn=(0,x.useMemo)(()=>({activatorEvent:J,activators:ce,active:ne,activeNodeRect:q,ariaDescribedById:{draggable:T},dispatch:E,draggableNodes:C,over:Ie,measureDroppableContainers:me}),[J,ce,ne,q,E,T,C,Ie,me]);return x.default.createElement(_a.Provider,{value:F},x.default.createElement(Nn.Provider,{value:Vn},x.default.createElement(Wa.Provider,{value:jn},x.default.createElement(Ga.Provider,{value:qn},f)),x.default.createElement(El,{disabled:(u==null?void 0:u.restoreFocus)===!1})),x.default.createElement(_s,B(S({},u),{hiddenTextDescribedById:T})));function b(){let D=(we==null?void 0:we.autoScrollEnabled)===!1,P=typeof c==\"object\"?c.enabled===!1:c===!1,V=H&&!D&&!P;return typeof c==\"object\"?B(S({},c),{enabled:V}):{enabled:V}}}),Nl=(0,x.createContext)(null),Aa=\"button\",Al=\"Draggable\";function Ya(e){let{id:t,data:n,disabled:o=!1,attributes:a}=e,i=Re(Al),{activators:l,activatorEvent:u,active:c,activeNodeRect:f,ariaDescribedById:m,draggableNodes:d,over:g}=(0,x.useContext)(Nn),{role:p=Aa,roleDescription:v=\"draggable\",tabIndex:y=0}=a!=null?a:{},k=(c==null?void 0:c.id)===t,E=(0,x.useContext)(k?Ga:Nl),[w,F]=It(),[_,z]=It(),H=hl(l,t),h=pt(n);ye(()=>(d.set(t,{id:t,key:i,node:w,activatorNode:_,data:h}),()=>{let L=d.get(t);L&&L.key===i&&d.delete(t)}),[d,t]);let C=(0,x.useMemo)(()=>({role:p,tabIndex:y,\"aria-disabled\":o,\"aria-pressed\":k&&p===Aa?!0:void 0,\"aria-roledescription\":v,\"aria-describedby\":m.draggable}),[o,p,y,k,v,m.draggable]);return{active:c,activatorEvent:u,activeNodeRect:f,attributes:C,isDragging:k,listeners:o?void 0:H,node:w,over:g,setNodeRef:F,setActivatorNodeRef:z,transform:E}}function Ka(){return(0,x.useContext)(Wa)}var _l=\"Droppable\",Ml={timeout:25};function Xa(e){let{data:t,disabled:n=!1,id:o,resizeObserverConfig:a}=e,i=Re(_l),{active:l,dispatch:u,over:c,measureDroppableContainers:f}=(0,x.useContext)(Nn),m=(0,x.useRef)({disabled:n}),d=(0,x.useRef)(!1),g=(0,x.useRef)(null),p=(0,x.useRef)(null),{disabled:v,updateMeasurementsFor:y,timeout:k}=S(S({},Ml),a),E=pt(y!=null?y:o),w=(0,x.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{f(Array.isArray(E.current)?E.current:[E.current]),p.current=null},k)},[k]),F=Dn({callback:w,disabled:v||!l}),_=(0,x.useCallback)((C,L)=>{F&&(L&&(F.unobserve(L),d.current=!1),C&&F.observe(C))},[F]),[z,H]=It(_),h=pt(t);return(0,x.useEffect)(()=>{!F||!z.current||(F.disconnect(),d.current=!1,F.observe(z.current))},[z,F]),(0,x.useEffect)(()=>(u({type:te.RegisterDroppable,element:{id:o,key:i,disabled:n,node:z,rect:g,data:h}}),()=>u({type:te.UnregisterDroppable,key:i,id:o})),[o]),(0,x.useEffect)(()=>{n!==m.current.disabled&&(u({type:te.SetDroppableDisabled,id:o,key:i,disabled:n}),m.current.disabled=n)},[o,i,n,u]),{active:l,rect:g,isOver:(c==null?void 0:c.id)===o,node:z,over:c,setNodeRef:H}}var Sr=e=>{let{transform:t}=e;return B(S({},t),{x:0})};var ee=Y(Q());function Bt(e,t,n){let o=e.slice();return o.splice(n<0?o.length+n:n,0,o.splice(t,1)[0]),o}function Pl(e,t){return e.reduce((n,o,a)=>{let i=t.get(o);return i&&(n[a]=i),n},Array(e.length))}function An(e){return e!==null&&e>=0}function Ll(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Bl(e){return typeof e==\"boolean\"?{draggable:e,droppable:e}:e}var Za=e=>{let{rects:t,activeIndex:n,overIndex:o,index:a}=e,i=Bt(t,o,n),l=t[a],u=i[a];return!u||!l?null:{x:u.left-l.left,y:u.top-l.top,scaleX:u.width/l.width,scaleY:u.height/l.height}};var _n={scaleX:1,scaleY:1},Or=e=>{var t;let{activeIndex:n,activeNodeRect:o,index:a,rects:i,overIndex:l}=e,u=(t=i[n])!=null?t:o;if(!u)return null;if(a===n){let f=i[l];return f?S({x:0,y:n<l?f.top+f.height-(u.top+u.height):f.top-u.top},_n):null}let c=$l(i,a,n);return a>n&&a<=l?S({x:0,y:-u.height-c},_n):a<n&&a>=l?S({x:0,y:u.height+c},_n):S({x:0,y:0},_n)};function $l(e,t,n){let o=e[t],a=e[t-1],i=e[t+1];return o?n<t?a?o.top-(a.top+a.height):i?i.top-(o.top+o.height):0:i?i.top-(o.top+o.height):a?o.top-(a.top+a.height):0:0}var Ja=\"Sortable\",Qa=ee.default.createContext({activeIndex:-1,containerId:Ja,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Za,disabled:{draggable:!1,droppable:!1}});function kr(e){let{children:t,id:n,items:o,strategy:a=Za,disabled:i=!1}=e,{active:l,dragOverlay:u,droppableRects:c,over:f,measureDroppableContainers:m}=Ka(),d=Re(Ja,n),g=u.rect!==null,p=(0,ee.useMemo)(()=>o.map(H=>typeof H==\"object\"&&\"id\"in H?H.id:H),[o]),v=l!=null,y=l?p.indexOf(l.id):-1,k=f?p.indexOf(f.id):-1,E=(0,ee.useRef)(p),w=!Ll(p,E.current),F=k!==-1&&y===-1||w,_=Bl(i);ye(()=>{w&&v&&m(p)},[w,p,v,m]),(0,ee.useEffect)(()=>{E.current=p},[p]);let z=(0,ee.useMemo)(()=>({activeIndex:y,containerId:d,disabled:_,disableTransforms:F,items:p,overIndex:k,useDragOverlay:g,sortedRects:Pl(p,c),strategy:a}),[y,d,_.draggable,_.droppable,F,p,k,c,g,a]);return ee.default.createElement(Qa.Provider,{value:z},t)}var zl=e=>{let{id:t,items:n,activeIndex:o,overIndex:a}=e;return Bt(n,o,a).indexOf(t)},ql=e=>{let{containerId:t,isSorting:n,wasDragging:o,index:a,items:i,newIndex:l,previousItems:u,previousContainerId:c,transition:f}=e;return!f||!o||u!==i&&a===l?!1:n?!0:l!==a&&t===c},Hl={duration:200,easing:\"ease\"},Ra=\"transform\",jl=Ve.Transition.toString({property:Ra,duration:0,easing:\"linear\"}),Vl={roleDescription:\"sortable\"};function Ul(e){let{disabled:t,index:n,node:o,rect:a}=e,[i,l]=(0,ee.useState)(null),u=(0,ee.useRef)(n);return ye(()=>{if(!t&&n!==u.current&&o.current){let c=a.current;if(c){let f=it(o.current,{ignoreTransform:!0}),m={x:c.left-f.left,y:c.top-f.top,scaleX:c.width/f.width,scaleY:c.height/f.height};(m.x||m.y)&&l(m)}}n!==u.current&&(u.current=n)},[t,n,o,a]),(0,ee.useEffect)(()=>{i&&l(null)},[i]),i}function Tr(e){let{animateLayoutChanges:t=ql,attributes:n,disabled:o,data:a,getNewIndex:i=zl,id:l,strategy:u,resizeObserverConfig:c,transition:f=Hl}=e,{items:m,containerId:d,activeIndex:g,disabled:p,disableTransforms:v,sortedRects:y,overIndex:k,useDragOverlay:E,strategy:w}=(0,ee.useContext)(Qa),F=Wl(o,p),_=m.indexOf(l),z=(0,ee.useMemo)(()=>S({sortable:{containerId:d,index:_,items:m}},a),[d,a,_,m]),H=(0,ee.useMemo)(()=>m.slice(m.indexOf(l)),[m,l]),{rect:h,node:C,isOver:L,setNodeRef:M}=Xa({id:l,data:z,disabled:F.droppable,resizeObserverConfig:S({updateMeasurementsFor:H},c)}),{active:N,activatorEvent:j,activeNodeRect:ne,attributes:ie,setNodeRef:we,listeners:Ce,isDragging:J,over:Ee,setActivatorNodeRef:ue,transform:T}=Ya({id:l,data:z,attributes:S(S({},Vl),n),disabled:F.draggable}),A=xa(M,we),$=!!N,U=$&&!v&&An(g)&&An(k),me=!E&&J,Se=me&&U?T:null,de=u!=null?u:w,Pe=U?Se!=null?Se:de({rects:y,activeNodeRect:ne,activeIndex:g,overIndex:k,index:_}):null,Oe=An(g)&&An(k)?i({id:l,items:m,activeIndex:g,overIndex:k}):_,ge=N==null?void 0:N.id,q=(0,ee.useRef)({activeId:ge,items:m,newIndex:Oe,containerId:d}),We=m!==q.current.items,xe=t({active:N,containerId:d,isDragging:J,isSorting:$,id:l,index:_,items:m,newIndex:q.current.newIndex,previousItems:q.current.items,previousContainerId:q.current.containerId,transition:f,wasDragging:q.current.activeId!=null}),Le=Ul({disabled:!xe,index:_,node:C,rect:h});return(0,ee.useEffect)(()=>{$&&q.current.newIndex!==Oe&&(q.current.newIndex=Oe),d!==q.current.containerId&&(q.current.containerId=d),m!==q.current.items&&(q.current.items=m)},[$,Oe,d,m]),(0,ee.useEffect)(()=>{if(ge===q.current.activeId)return;if(ge!=null&&q.current.activeId==null){q.current.activeId=ge;return}let Be=setTimeout(()=>{q.current.activeId=ge},50);return()=>clearTimeout(Be)},[ge]),{active:N,activeIndex:g,attributes:ie,data:z,rect:h,index:_,newIndex:Oe,items:m,isOver:L,isSorting:$,isDragging:J,listeners:Ce,node:C,overIndex:k,over:Ee,setNodeRef:A,setActivatorNodeRef:ue,setDroppableNodeRef:M,setDraggableNodeRef:we,transform:Le!=null?Le:Pe,transition:ke()};function ke(){if(Le||We&&q.current.newIndex===_)return jl;if(!(me&&!Dt(j)||!f)&&($||xe))return Ve.Transition.toString(B(S({},f),{property:Ra}))}}function Wl(e,t){var n,o;return typeof e==\"boolean\"?{draggable:e,droppable:!1}:{draggable:(n=e==null?void 0:e.draggable)!=null?n:t.draggable,droppable:(o=e==null?void 0:e.droppable)!=null?o:t.droppable}}var Lf=[W.Down,W.Right,W.Up,W.Left];if(typeof window<\"u\"){let e=document.createElement(\"style\");e.textContent=\".container {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex: 1;\\n width: 100%;\\n padding: 16px;\\n box-sizing: border-box;\\n background: #F2F2F7;\\n}\\n.qrcode-card {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n max-width: 360px;\\n margin: 0 auto;\\n padding: 24px 20px;\\n}\\n.qrcode-wrapper {\\n position: relative;\\n cursor: pointer;\\n margin-bottom: 24px;\\n display: flex;\\n justify-content: center;\\n}\\n.qrcode-wrapper:hover .qrcode-glow {\\n opacity: 0.4;\\n}\\n.qrcode-glow {\\n position: absolute;\\n inset: -4px;\\n background: linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%);\\n border-radius: 24px;\\n filter: blur(12px);\\n opacity: 0.2;\\n transition: opacity 0.3s ease;\\n z-index: 0;\\n}\\n.qrcode-container {\\n position: relative;\\n background: #fff;\\n padding: 16px;\\n border-radius: 20px;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\\n border: 1px solid rgba(0, 0, 0, 0.05);\\n z-index: 1;\\n}\\n.qrcode-image {\\n width: 160px;\\n height: 160px;\\n border-radius: 12px;\\n object-fit: cover;\\n transition: opacity 0.3s ease;\\n}\\n.qrcode-image--loading {\\n opacity: 0.3;\\n}\\n.qrcode-overlay {\\n position: absolute;\\n inset: 0;\\n background: rgba(255, 255, 255, 0.95);\\n backdrop-filter: blur(4px);\\n border-radius: 20px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n gap: 12px;\\n z-index: 10;\\n}\\n.qrcode-overlay span {\\n font-size: 12px;\\n font-weight: 500;\\n color: #8E8E93;\\n letter-spacing: 0.5px;\\n}\\n.qrcode-spinner {\\n width: 32px;\\n height: 32px;\\n border: 2px solid rgba(59, 130, 246, 0.2);\\n border-top-color: #3b82f6;\\n border-radius: 50%;\\n animation: spin 0.8s linear infinite;\\n}\\n@keyframes spin {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n.qrcode-status {\\n position: absolute;\\n bottom: -14px;\\n left: 50%;\\n transform: translateX(-50%);\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n padding: 4px 12px;\\n background: rgba(255, 255, 255, 0.95);\\n backdrop-filter: blur(8px);\\n border-radius: 12px;\\n border: 1px solid rgba(0, 0, 0, 0.05);\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\\n z-index: 20;\\n white-space: nowrap;\\n}\\n.status-dot {\\n width: 6px;\\n height: 6px;\\n border-radius: 50%;\\n flex-shrink: 0;\\n transition: background-color 0.3s ease;\\n}\\n.status-dot--pulse {\\n animation: pulse 1.5s ease-in-out infinite;\\n}\\n@keyframes pulse {\\n 0%,\\n 100% {\\n opacity: 1;\\n }\\n 50% {\\n opacity: 0.5;\\n }\\n}\\n.status-text {\\n font-size: 10px;\\n font-weight: 600;\\n color: #8E8E93;\\n text-transform: uppercase;\\n letter-spacing: 0.5px;\\n white-space: nowrap;\\n}\\n.cookie-result-wrapper {\\n width: 100%;\\n margin-bottom: 20px;\\n}\\n.cookie-result {\\n width: 100%;\\n height: 120px;\\n padding: 14px;\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 16px;\\n font-size: 12px;\\n font-family: 'SF Mono', Monaco, 'Courier New', monospace;\\n color: #1C1C1E;\\n resize: none;\\n outline: none;\\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04);\\n transition: background-color 0.2s ease, box-shadow 0.2s ease;\\n box-sizing: border-box;\\n}\\n.cookie-result::placeholder {\\n color: #8E8E93;\\n}\\n.cookie-result:focus {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(59, 130, 246, 0.2);\\n}\\n.action-buttons {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n gap: 12px;\\n width: 100%;\\n}\\n.action-btn {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n gap: 8px;\\n padding: 14px 20px;\\n border-radius: 16px;\\n font-size: 14px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n border: none;\\n outline: none;\\n}\\n.action-btn:active {\\n transform: scale(0.98);\\n}\\n.action-btn--primary {\\n background: #1C1C1E;\\n color: #fff;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\\n}\\n.action-btn--primary:hover {\\n background: #2C2C2E;\\n}\\n.action-btn--secondary {\\n background: #fff;\\n color: #1C1C1E;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);\\n}\\n.action-btn--secondary:hover {\\n background: #F9F9F9;\\n}\\n.btn-icon {\\n display: block;\\n flex-shrink: 0;\\n width: 16px;\\n height: 16px;\\n opacity: 0.7;\\n}\\n.btn-icon--login {\\n transform: translateY(1px);\\n}\\n.dynamic-delete-button {\\n position: relative;\\n top: 2px;\\n margin: 0 8px;\\n color: #555;\\n font-size: 18px;\\n cursor: pointer;\\n transition: all 0.3s;\\n}\\n.dynamic-delete-button:hover {\\n color: #777;\\n}\\n.dynamic-delete-button[disabled] {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.domain-edit-modal {\\n --domain-action-size: 32px;\\n --domain-action-gap: 8px;\\n --domain-action-total: calc(var(--domain-action-size) + var(--domain-action-gap));\\n --domain-row-gap: 12px;\\n --domain-label-width: 72px;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-label {\\n flex: 0 0 var(--domain-label-width) !important;\\n max-width: var(--domain-label-width) !important;\\n padding-left: 8px;\\n padding-right: 12px;\\n padding-bottom: 0 !important;\\n display: flex !important;\\n align-items: center !important;\\n height: 32px !important;\\n text-align: right;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-label > label {\\n height: 32px !important;\\n line-height: 32px !important;\\n}\\n.domain-edit-modal .ant-form-horizontal .ant-form-item-control {\\n flex: 1 1 auto !important;\\n max-width: calc(100% - var(--domain-label-width)) !important;\\n min-width: 0;\\n}\\n.domain-edit-modal .domain-edit-aligned-input {\\n width: calc(100% - var(--domain-action-total));\\n}\\n.domain-edit-modal .domain-edit-full-input {\\n width: 100%;\\n}\\n.domain-edit-modal .domain-edit-add-button {\\n width: calc(100% - var(--domain-action-total));\\n}\\n.domain-edit-modal .ant-form-item {\\n margin-bottom: var(--domain-row-gap);\\n}\\n.domain-edit-modal .ant-form-item:last-child {\\n margin-bottom: 0;\\n}\\n.domain-list-row {\\n display: flex;\\n align-items: center;\\n gap: var(--domain-action-gap, 8px);\\n width: 100%;\\n}\\n.domain-list-input {\\n flex: 1;\\n min-width: 0;\\n}\\n.domain-list-action {\\n width: var(--domain-action-size, 32px);\\n flex: 0 0 var(--domain-action-size, 32px);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.domain-list-action--placeholder {\\n visibility: hidden;\\n}\\n.domain-list-row .dynamic-delete-button {\\n margin: 0;\\n}\\n.sites-table .ant-table-tbody > tr > td {\\n padding: 8px 16px;\\n}\\n.sites-table .ant-table-thead > tr > th {\\n white-space: nowrap;\\n}\\n.sites-list-toolbar {\\n display: flex;\\n justify-content: flex-end;\\n margin: -2px 0 12px;\\n}\\n.sites-list-toolbar .sites-add-button {\\n min-width: 78px;\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 16px;\\n font-weight: 600;\\n box-shadow: 0 8px 18px rgba(28, 28, 30, 0.12);\\n}\\n.site-add-menu {\\n min-width: 190px;\\n padding: 8px;\\n border-radius: 20px;\\n background: rgba(255, 255, 255, 0.86);\\n backdrop-filter: blur(28px);\\n border: 1px solid rgba(255, 255, 255, 0.45);\\n box-shadow: 0 22px 44px rgba(28, 28, 30, 0.16), 0 1px 0 rgba(255, 255, 255, 0.7) inset;\\n}\\n.site-add-type-item {\\n width: 100%;\\n min-height: 56px;\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n padding: 8px 10px;\\n border: 0;\\n border-radius: 14px;\\n background: transparent;\\n color: #1C1C1E;\\n font-size: 15px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.site-add-type-item:hover:not(:disabled) {\\n background: rgba(52, 199, 89, 0.1);\\n}\\n.site-add-type-item:disabled {\\n cursor: not-allowed;\\n opacity: 0.65;\\n}\\n.site-add-type-item__icon {\\n width: 36px;\\n height: 36px;\\n flex: 0 0 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n border-radius: 10px;\\n background: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.site-add-type-item__icon img {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n}\\n.site-add-type-item__icon svg {\\n font-size: 18px;\\n color: #34C759;\\n}\\n.site-add-type-item__name {\\n flex: 1;\\n min-width: 0;\\n overflow: hidden;\\n text-align: left;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.subscription-page {\\n display: flex;\\n flex-direction: column;\\n gap: 24px;\\n}\\n.subscription-section {\\n max-width: 720px;\\n}\\n.subscription-setting-modal .ios-form {\\n max-width: none !important;\\n}\\n.subscription-endpoints {\\n display: flex;\\n flex-direction: column;\\n gap: 10px;\\n}\\n.subscription-endpoint {\\n display: flex;\\n align-items: center;\\n gap: 10px;\\n min-height: 64px;\\n padding: 12px 10px 12px 14px;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n border-radius: 14px;\\n background: rgba(255, 255, 255, 0.72);\\n}\\n.subscription-endpoint__main {\\n flex: 1;\\n min-width: 0;\\n}\\n.subscription-endpoint__title {\\n display: flex;\\n align-items: center;\\n gap: 8px;\\n margin-bottom: 6px;\\n color: #1C1C1E;\\n font-size: 14px;\\n font-weight: 700;\\n}\\n.subscription-endpoint__url {\\n overflow: hidden;\\n color: #6B7280;\\n font-family: 'SF Mono', Monaco, 'Courier New', monospace;\\n font-size: 12px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.subscription-endpoint__actions {\\n display: flex;\\n flex: 0 0 auto;\\n gap: 2px;\\n}\\n.subscription-endpoint__actions .ant-btn {\\n width: 34px;\\n height: 34px;\\n border-radius: 12px;\\n color: #1C1C1E;\\n}\\n.subscription-endpoint__actions .ant-btn:hover {\\n background: rgba(0, 0, 0, 0.04) !important;\\n}\\n.subscription-endpoint__actions .ant-btn:focus,\\n.subscription-endpoint__actions .ant-btn:focus-visible {\\n background: transparent !important;\\n}\\n.subscription-endpoint__actions .ant-btn:focus-visible {\\n outline: 2px solid rgba(28, 28, 30, 0.22);\\n outline-offset: 2px;\\n}\\n.subscription-endpoint__actions .ant-btn:active {\\n background: rgba(0, 0, 0, 0.06) !important;\\n}\\n.main-card {\\n min-height: auto;\\n max-height: calc(100vh - 100px);\\n width: 100%;\\n max-width: 420px;\\n overflow: auto;\\n background: rgba(255, 255, 255, 0.65);\\n backdrop-filter: blur(50px);\\n border-radius: 32px;\\n box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(255, 255, 255, 0.5) inset, 0 0 0 1px rgba(0, 0, 0, 0.03);\\n border: 1px solid rgba(255, 255, 255, 0.2);\\n animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;\\n}\\n.main-card .ant-card-body {\\n padding: 24px 16px;\\n}\\n.main-card .ant-tabs-nav {\\n margin-bottom: 16px;\\n}\\n.main-card .ant-tabs-nav::before {\\n display: none;\\n}\\n.main-card .ant-tabs-nav-list {\\n display: flex;\\n flex-wrap: wrap;\\n gap: 6px;\\n padding: 6px;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n width: 100%;\\n justify-content: center;\\n}\\n.main-card .ant-tabs-tab {\\n flex: 1;\\n min-width: 0;\\n margin: 0 !important;\\n padding: 8px 12px !important;\\n border-radius: 10px;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n transition: all 0.3s ease;\\n justify-content: center;\\n}\\n.main-card .ant-tabs-tab:hover {\\n color: #1C1C1E;\\n}\\n.main-card .ant-tabs-tab.ant-tabs-tab-active {\\n background: #fff;\\n color: #1C1C1E;\\n box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.12), 0 1px 1px rgba(0, 0, 0, 0.05);\\n}\\n.main-card .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\\n color: #1C1C1E;\\n}\\n.main-card .ant-tabs-ink-bar {\\n display: none;\\n}\\n.main-card .account-tabs {\\n width: 100%;\\n}\\n.main-card .account-tabs__nav-scroll {\\n width: 100%;\\n max-width: 100%;\\n margin-bottom: 16px;\\n padding: 6px;\\n overflow-x: auto !important;\\n overflow-y: hidden;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n box-sizing: border-box;\\n cursor: grab;\\n overscroll-behavior-x: contain;\\n scrollbar-width: none;\\n touch-action: pan-x;\\n -ms-overflow-style: none;\\n -webkit-overflow-scrolling: touch;\\n}\\n.main-card .account-tabs__nav-scroll::-webkit-scrollbar {\\n display: none;\\n}\\n.main-card .account-tabs__nav-scroll.is-dragging {\\n cursor: grabbing;\\n user-select: none;\\n}\\n.main-card .account-tabs__nav-list {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 4px;\\n width: max-content;\\n min-width: 100%;\\n justify-content: flex-start;\\n}\\n.main-card .account-tabs__tab {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n flex: 0 0 auto;\\n min-width: 44px;\\n min-height: 34px;\\n margin: 0;\\n padding: 8px 12px;\\n border: 0;\\n border-radius: 10px;\\n background: transparent;\\n color: #8E8E93;\\n font-size: 13px;\\n font-weight: 500;\\n line-height: 1;\\n white-space: nowrap;\\n cursor: pointer;\\n transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;\\n appearance: none;\\n}\\n.main-card .account-tabs__tab:hover {\\n color: #1C1C1E;\\n}\\n.main-card .account-tabs__tab--active {\\n background: #fff;\\n color: #1C1C1E;\\n box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.12), 0 1px 1px rgba(0, 0, 0, 0.05);\\n}\\n.main-card .account-tabs__panel {\\n width: 100%;\\n}\\n@keyframes fadeInUp {\\n from {\\n opacity: 0;\\n transform: translateY(16px);\\n }\\n to {\\n opacity: 1;\\n transform: translateY(0);\\n }\\n}\\n.app-layout {\\n display: flex;\\n flex-direction: column;\\n min-height: 100vh;\\n width: 100%;\\n background: #F2F2F7;\\n}\\n.top-nav-bar {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n padding: 12px 16px;\\n background: transparent;\\n box-sizing: border-box;\\n}\\n.nav-pill {\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n padding: 4px;\\n background: rgba(255, 255, 255, 0.65);\\n backdrop-filter: blur(20px);\\n border-radius: 20px;\\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.5) inset, 0 0 0 1px rgba(0, 0, 0, 0.03);\\n}\\n.nav-tab {\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n padding: 8px 16px;\\n border-radius: 16px;\\n cursor: pointer;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n border: none;\\n transition: all 0.3s ease;\\n}\\n.nav-tab:hover {\\n color: #1C1C1E;\\n}\\n.nav-tab--active {\\n color: #1C1C1E;\\n background: #fff;\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\\n}\\n.nav-tab--active:hover {\\n background: #fff;\\n color: #1C1C1E;\\n}\\n.nav-tab .anticon {\\n font-size: 14px;\\n}\\n.nav-divider {\\n width: 1px;\\n height: 20px;\\n background: rgba(0, 0, 0, 0.1);\\n margin: 0 4px;\\n}\\n.nav-actions {\\n display: flex;\\n align-items: center;\\n gap: 2px;\\n}\\n.nav-actions .ant-btn {\\n color: #8E8E93;\\n font-size: 12px;\\n font-weight: 500;\\n padding: 6px 12px;\\n height: auto;\\n border-radius: 12px;\\n}\\n.nav-actions .ant-btn:hover {\\n color: #1C1C1E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.drag-handle {\\n cursor: grab;\\n color: #999;\\n font-size: 18px;\\n padding: 8px;\\n touch-action: none;\\n}\\n.drag-handle:active {\\n cursor: grabbing;\\n}\\n.pansou-config-modal {\\n max-width: 420px;\\n}\\n.pansou-config-modal .ant-modal-body {\\n padding: 16px 24px;\\n}\\n.pansou-config-tabs {\\n margin-bottom: 16px;\\n}\\n.pansou-config-tabs__nav-scroll {\\n width: 100%;\\n max-width: 100%;\\n padding: 6px;\\n overflow-x: auto !important;\\n overflow-y: hidden;\\n background: rgba(118, 118, 128, 0.1);\\n border-radius: 14px;\\n box-sizing: border-box;\\n cursor: grab;\\n overscroll-behavior-x: contain;\\n scrollbar-width: none;\\n touch-action: pan-x;\\n -ms-overflow-style: none;\\n -webkit-overflow-scrolling: touch;\\n}\\n.pansou-config-tabs__nav-scroll::-webkit-scrollbar {\\n display: none;\\n}\\n.pansou-config-tabs__nav-scroll.is-dragging {\\n cursor: grabbing;\\n user-select: none;\\n}\\n.pansou-config-tabs__nav-list {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 4px;\\n width: max-content;\\n min-width: 100%;\\n justify-content: flex-start;\\n}\\n.pansou-config-tabs__tab {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: 8px;\\n flex: 0 0 auto;\\n margin: 0;\\n padding: 8px 12px;\\n border: 0;\\n border-radius: 10px;\\n font-size: 13px;\\n font-weight: 500;\\n color: #8E8E93;\\n background: transparent;\\n outline: none;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.pansou-config-tabs__tab:hover {\\n color: #1C1C1E;\\n}\\n.pansou-config-tabs__tab--active {\\n background: rgba(118, 118, 128, 0.12);\\n color: #1C1C1E;\\n}\\n.pansou-config-tabs__badge {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n min-width: 22px;\\n height: 16px;\\n padding: 0 6px;\\n border-radius: 999px;\\n font-size: 11px;\\n line-height: 16px;\\n font-weight: 600;\\n color: #fff;\\n background: #1C1C1E;\\n}\\n.pansou-checkbox-section {\\n min-height: 200px;\\n max-height: 400px;\\n overflow-y: auto;\\n}\\n.pansou-checkbox-header {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-bottom: 12px;\\n padding: 0 4px;\\n color: #8E8E93;\\n font-size: 13px;\\n}\\n.pansou-checkbox-header .ant-btn-link {\\n color: #1C1C1E;\\n font-weight: 500;\\n padding: 4px 8px;\\n height: auto;\\n}\\n.pansou-checkbox-header .ant-btn-link:hover,\\n.pansou-checkbox-header .ant-btn-link:focus,\\n.pansou-checkbox-header .ant-btn-link:active {\\n color: #3C3C3E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.pansou-add-channel {\\n display: flex;\\n gap: 8px;\\n margin-bottom: 12px;\\n}\\n.pansou-checkbox-grid {\\n display: grid;\\n grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\\n gap: 8px;\\n}\\n.pansou-checkbox-card {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 10px 14px;\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n border-radius: 10px;\\n cursor: pointer;\\n transition: all 0.2s;\\n background: #fff;\\n}\\n.pansou-checkbox-card:hover {\\n border-color: rgba(0, 0, 0, 0.12);\\n background: #F9F9F9;\\n}\\n.pansou-checkbox-card--selected {\\n border-color: #1C1C1E;\\n background: rgba(28, 28, 30, 0.04);\\n}\\n.pansou-checkbox-card--selected .pansou-checkbox-card__check {\\n color: #1C1C1E;\\n}\\n.pansou-checkbox-card__label {\\n flex: 1;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n font-size: 13px;\\n}\\n.pansou-checkbox-card__delete {\\n flex-shrink: 0;\\n color: #8E8E93;\\n font-size: 14px;\\n margin-left: 6px;\\n transition: color 0.2s;\\n}\\n.pansou-checkbox-card__delete:hover {\\n color: #ef4444;\\n}\\n.pansou-empty-tip {\\n text-align: center;\\n color: #8E8E93;\\n padding: 40px 0;\\n font-size: 13px;\\n}\\n.pansou-config-footer {\\n margin-top: 16px;\\n padding-top: 16px;\\n border-top: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.emby-server-manager {\\n display: flex;\\n flex-direction: column;\\n gap: 14px;\\n}\\n.emby-server-toolbar {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n gap: 12px;\\n padding: 4px 0 2px;\\n}\\n.emby-server-toolbar__main {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n gap: 12px;\\n}\\n.emby-server-toolbar .ant-btn {\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n border-radius: 16px;\\n font-weight: 600;\\n box-shadow: 0 8px 18px rgba(28, 28, 30, 0.12);\\n}\\n.emby-server-title {\\n color: #1C1C1E;\\n font-size: 17px;\\n font-weight: 700;\\n line-height: 1.2;\\n}\\n.emby-server-subtitle {\\n color: #8E8E93;\\n font-size: 12px;\\n line-height: 1.4;\\n}\\n.emby-empty-card {\\n width: 100%;\\n min-height: 116px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n gap: 10px;\\n border: 1px dashed rgba(28, 28, 30, 0.2);\\n border-radius: 18px;\\n background: rgba(255, 255, 255, 0.55);\\n color: #1C1C1E;\\n font-size: 14px;\\n font-weight: 600;\\n cursor: pointer;\\n transition: all 0.2s ease;\\n}\\n.emby-empty-card .anticon {\\n width: 36px;\\n height: 36px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 50%;\\n background: rgba(52, 199, 89, 0.14);\\n color: #22c55e;\\n font-size: 17px;\\n}\\n.emby-empty-card:hover {\\n background: rgba(255, 255, 255, 0.75);\\n border-color: rgba(28, 28, 30, 0.35);\\n}\\n.emby-server-grid {\\n display: grid;\\n grid-template-columns: 1fr;\\n gap: 10px;\\n}\\n.emby-server-card {\\n position: relative;\\n overflow: hidden;\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n min-height: 82px;\\n padding: 12px 14px;\\n border-radius: 12px;\\n background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(242, 247, 245, 0.9));\\n box-shadow: 0 10px 22px rgba(28, 28, 30, 0.06);\\n border: 1px solid rgba(255, 255, 255, 0.62);\\n}\\n.emby-server-card__hero {\\n display: flex;\\n align-items: center;\\n flex: 0 0 auto;\\n}\\n.emby-server-card__logo {\\n width: 48px;\\n height: 48px;\\n flex: 0 0 48px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n border-radius: 12px;\\n background: rgba(255, 255, 255, 0.92);\\n border: 1px solid rgba(0, 0, 0, 0.06);\\n}\\n.emby-server-card__logo img {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n}\\n.emby-server-card__content {\\n min-width: 0;\\n flex: 1;\\n}\\n.emby-server-card__name {\\n display: flex;\\n align-items: center;\\n gap: 6px;\\n min-width: 0;\\n color: #111;\\n font-size: 15px;\\n font-weight: 700;\\n line-height: 1.3;\\n}\\n.emby-server-card__name span {\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.emby-server-card__name .anticon {\\n flex: 0 0 auto;\\n color: #22c55e;\\n font-size: 12px;\\n}\\n.emby-server-card__stats {\\n display: flex;\\n flex-wrap: nowrap;\\n gap: 10px;\\n margin-top: 7px;\\n color: #6b7280;\\n font-size: 12px;\\n line-height: 1.35;\\n}\\n.emby-server-card__stats .emby-server-card__stat,\\n.emby-server-card__stats .emby-server-card__sync {\\n min-width: 0;\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.emby-server-card__stats .emby-server-card__stat {\\n flex: 0 1 auto;\\n max-width: 72px;\\n}\\n.emby-server-card__stats .emby-server-card__stat span {\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.emby-server-card__stats .emby-server-card__sync {\\n color: #8e8e93;\\n}\\n.emby-server-card__stats .emby-server-card__stat-icon {\\n width: 17px;\\n height: 17px;\\n flex: 0 0 auto;\\n color: #8e8e93;\\n fill: currentColor;\\n}\\n.emby-server-card__stats .emby-server-card__stat-icon--series {\\n width: 18px;\\n height: 18px;\\n fill: none;\\n stroke: currentColor;\\n stroke-width: 1.5;\\n stroke-linecap: round;\\n stroke-linejoin: round;\\n}\\n.emby-server-card__actions {\\n flex: 0 0 auto;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: center;\\n gap: 4px;\\n}\\n.emby-server-card__actions .ant-btn {\\n width: 30px;\\n height: 30px;\\n padding: 0;\\n border-radius: 10px;\\n}\\n.emby-server-edit-modal .ant-modal-body {\\n padding-top: 18px;\\n}\\n.emby-server-edit-actions {\\n justify-content: space-between;\\n}\\n.emby-server-edit-actions--new {\\n justify-content: flex-end;\\n}\\n.emby-logo-preview {\\n display: flex;\\n align-items: center;\\n gap: 10px;\\n margin: -4px 0 16px;\\n color: #8e8e93;\\n font-size: 12px;\\n}\\n.emby-logo-preview img {\\n width: 38px;\\n height: 38px;\\n border-radius: 10px;\\n object-fit: cover;\\n background: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n}\\n.ant-input,\\n.ant-input-password .ant-input,\\n.ant-input-number,\\n.ant-input-number-input {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n font-size: 14px;\\n}\\n.ant-input:focus,\\n.ant-input-password .ant-input:focus,\\n.ant-input-number:focus,\\n.ant-input-number-input:focus,\\n.ant-input:hover,\\n.ant-input-password .ant-input:hover,\\n.ant-input-number:hover,\\n.ant-input-number-input:hover,\\n.ant-input.ant-input-focused,\\n.ant-input-password .ant-input.ant-input-focused,\\n.ant-input-number.ant-input-focused,\\n.ant-input-number-input.ant-input-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent;\\n}\\n.ant-input {\\n padding: 10px 14px;\\n}\\n.ant-input-affix-wrapper {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 6px 14px;\\n}\\n.ant-input-affix-wrapper:focus,\\n.ant-input-affix-wrapper:hover,\\n.ant-input-affix-wrapper.ant-input-affix-wrapper-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent !important;\\n}\\n.ant-input-affix-wrapper .ant-input {\\n background: transparent;\\n padding: 4px 0;\\n box-shadow: none;\\n}\\n.ant-input-affix-wrapper .ant-input:focus,\\n.ant-input-affix-wrapper .ant-input:hover {\\n box-shadow: none;\\n}\\n.ant-input-number {\\n width: 100%;\\n padding: 0;\\n}\\n.ant-input-number .ant-input-number-input {\\n padding: 10px 14px;\\n height: auto;\\n}\\n.ant-input-number:focus,\\n.ant-input-number:hover,\\n.ant-input-number.ant-input-number-focused {\\n border-color: transparent !important;\\n}\\n.ant-input-number-group-addon {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 0 12px 12px 0;\\n color: #8E8E93;\\n font-size: 13px;\\n padding: 0 14px;\\n min-width: 50px;\\n text-align: center;\\n}\\n.ant-input-number-group .ant-input-number {\\n border-radius: 12px 0 0 12px;\\n}\\n.ios-form .ant-form-item {\\n margin-bottom: 16px;\\n}\\n.ios-form .ant-form-item-label > label {\\n color: #8E8E93;\\n font-size: 13px;\\n font-weight: 500;\\n}\\n.ios-button-group {\\n display: flex;\\n gap: 12px;\\n margin-top: 20px;\\n}\\n.action-btn--danger {\\n background: #fff;\\n color: #ef4444;\\n border: 1px solid rgba(239, 68, 68, 0.3);\\n}\\n.action-btn--danger:hover {\\n background: rgba(239, 68, 68, 0.05);\\n}\\n.ios-modal {\\n max-width: 420px;\\n}\\n.ios-modal .ant-modal-content {\\n background: rgba(255, 255, 255, 0.9);\\n backdrop-filter: blur(30px);\\n border-radius: 24px;\\n box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.15);\\n border: 1px solid rgba(255, 255, 255, 0.3);\\n}\\n.ios-modal .ant-modal-header {\\n background: transparent;\\n border-bottom: 1px solid rgba(0, 0, 0, 0.06);\\n padding: 20px 24px;\\n border-radius: 24px 24px 0 0;\\n}\\n.ios-modal .ant-modal-title {\\n font-size: 17px;\\n font-weight: 600;\\n color: #1C1C1E;\\n}\\n.ios-modal .ant-modal-body {\\n padding: 20px 24px;\\n}\\n.ios-modal .ant-modal-footer {\\n border-top: 1px solid rgba(0, 0, 0, 0.06);\\n padding: 16px 24px;\\n}\\n.ios-modal .ant-modal-close {\\n top: 16px;\\n right: 16px;\\n}\\n.ios-modal .ant-modal-close .ant-modal-close-x {\\n color: #8E8E93;\\n}\\n.ios-modal .ant-modal-close .ant-modal-close-x:hover {\\n color: #1C1C1E;\\n}\\n.ant-message .ant-message-notice-content {\\n background: rgba(255, 255, 255, 0.85);\\n backdrop-filter: blur(20px);\\n border-radius: 16px;\\n padding: 12px 20px;\\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);\\n border: 1px solid rgba(255, 255, 255, 0.5);\\n}\\n.ios-alert {\\n background: rgba(59, 130, 246, 0.08);\\n border: none;\\n border-radius: 12px;\\n}\\n.ios-alert .ant-alert-message {\\n color: #1C1C1E;\\n font-weight: 500;\\n}\\n.ios-alert .ant-alert-description {\\n color: #8E8E93;\\n}\\n.ant-switch {\\n background: rgba(120, 120, 128, 0.16);\\n min-width: 51px;\\n height: 31px;\\n}\\n.ant-switch .ant-switch-handle {\\n width: 27px;\\n height: 27px;\\n top: 2px;\\n inset-inline-start: 2px;\\n}\\n.ant-switch .ant-switch-handle::before {\\n border-radius: 50%;\\n box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.16);\\n}\\n.ant-switch:hover:not(.ant-switch-disabled) {\\n background: rgba(120, 120, 128, 0.24);\\n}\\n.ant-switch:focus {\\n box-shadow: none;\\n}\\n.ant-switch.ant-switch-checked {\\n background: #34C759;\\n}\\n.ant-switch.ant-switch-checked .ant-switch-handle {\\n inset-inline-start: calc(100% - 29px);\\n}\\n.ant-switch.ant-switch-checked:hover:not(.ant-switch-disabled) {\\n background: #2DB84E;\\n}\\n.ios-edit-btn {\\n color: #8E8E93;\\n padding: 4px 8px;\\n border-radius: 8px;\\n transition: all 0.2s ease;\\n}\\n.ios-edit-btn:hover {\\n color: #1C1C1E;\\n background: rgba(0, 0, 0, 0.04);\\n}\\n.ios-edit-btn .anticon {\\n font-size: 16px;\\n}\\n.ios-tag {\\n background: rgba(118, 118, 128, 0.12);\\n border: none;\\n border-radius: 6px;\\n color: #8E8E93;\\n font-size: 11px;\\n font-weight: 500;\\n padding: 2px 8px;\\n line-height: 1.4;\\n}\\n.ant-space-compact .ant-input {\\n border-radius: 12px 0 0 12px;\\n}\\n.ant-space-compact .ant-btn {\\n border-radius: 0 12px 12px 0;\\n}\\n.ant-space-compact .ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n}\\n.ant-space-compact .ant-btn-primary:hover,\\n.ant-space-compact .ant-btn-primary:focus,\\n.ant-space-compact .ant-btn-primary:active {\\n background: #2C2C2E !important;\\n}\\n.xunlei-verify-compact .ant-input,\\n.xunlei-verify-compact .ant-btn {\\n height: 44px;\\n}\\n.xunlei-verify-compact .ant-input {\\n line-height: 22px;\\n}\\n.xunlei-verify-compact .xunlei-verify-send-btn {\\n min-width: 126px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border-color: rgba(0, 0, 0, 0.12);\\n box-shadow: none;\\n}\\n.ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n border-radius: 12px;\\n}\\n.ant-btn-primary:hover,\\n.ant-btn-primary:focus,\\n.ant-btn-primary:active {\\n background: #2C2C2E !important;\\n border-color: transparent !important;\\n}\\n.ant-btn-dashed {\\n border-radius: 12px;\\n border-color: rgba(0, 0, 0, 0.15) !important;\\n color: #8E8E93;\\n}\\n.ant-btn-dashed:hover,\\n.ant-btn-dashed:focus,\\n.ant-btn-dashed:active {\\n color: #1C1C1E !important;\\n border-color: rgba(0, 0, 0, 0.3) !important;\\n background: rgba(0, 0, 0, 0.02) !important;\\n}\\n.ant-btn-text:hover,\\n.ant-btn-text:focus,\\n.ant-btn-text:active {\\n background: rgba(0, 0, 0, 0.04) !important;\\n color: #1C1C1E !important;\\n}\\n.ant-btn-link {\\n color: #1C1C1E;\\n}\\n.ant-btn-link:hover,\\n.ant-btn-link:focus,\\n.ant-btn-link:active {\\n color: #3C3C3E !important;\\n background: transparent !important;\\n}\\n.ant-btn-dangerous.ant-btn-text {\\n color: #ef4444;\\n}\\n.ant-btn-dangerous.ant-btn-text:hover,\\n.ant-btn-dangerous.ant-btn-text:focus,\\n.ant-btn-dangerous.ant-btn-text:active {\\n color: #dc2626 !important;\\n background: rgba(239, 68, 68, 0.04) !important;\\n}\\n.action-btn--secondary-outline {\\n background: #fff;\\n color: #8E8E93;\\n border: 1px solid rgba(0, 0, 0, 0.08);\\n}\\n.action-btn--secondary-outline:hover {\\n color: #1C1C1E;\\n background: #F9F9F9;\\n}\\n.pansou-add-channel .ant-btn-primary {\\n background: #1C1C1E;\\n border: none;\\n border-radius: 12px;\\n font-weight: 500;\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\\n}\\n.pansou-add-channel .ant-btn-primary:hover,\\n.pansou-add-channel .ant-btn-primary:focus,\\n.pansou-add-channel .ant-btn-primary:active {\\n background: #2C2C2E !important;\\n border-color: transparent !important;\\n}\\n.pansou-add-channel .ant-input {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 8px 14px;\\n}\\n.pansou-add-channel .ant-input:focus,\\n.pansou-add-channel .ant-input:hover {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent;\\n}\\n.pansou-add-channel .ant-input-clear-icon {\\n color: #8E8E93;\\n}\\n.pansou-add-channel .ant-input-clear-icon:hover {\\n color: #1C1C1E;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper {\\n background: rgba(118, 118, 128, 0.08);\\n border: none;\\n border-radius: 12px;\\n padding: 4px 14px;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper:focus,\\n.pansou-add-channel .ant-input-affix-wrapper:hover,\\n.pansou-add-channel .ant-input-affix-wrapper.ant-input-affix-wrapper-focused {\\n background: rgba(255, 255, 255, 0.8);\\n box-shadow: 0 0 0 2px rgba(28, 28, 30, 0.15);\\n border-color: transparent !important;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input {\\n background: transparent;\\n box-shadow: none;\\n padding: 4px 0;\\n}\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input:focus,\\n.pansou-add-channel .ant-input-affix-wrapper .ant-input:hover {\\n box-shadow: none;\\n}\\n\",document.head.appendChild(e)}var $t=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAICAgICAQICAgIDAgIDAwYEAwMDAwcFBQQGCAcJCAgHCAgJCg0LCQoMCggICw8LDA0ODg8OCQsQERAOEQ0ODg7/2wBDAQIDAwMDAwcEBAcOCQgJDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg7/wgARCAE8ATwDAREAAhEBAxEB/8QAHQAAAgIDAQEBAAAAAAAAAAAABQYABAIDBwEJCP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAPv4QhCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCGsoFU8IQhD0tG80FgtEKxQNRkXDMpmZfNpSMDcVDQQhCEMi6XTIgMEEWzI9IQ8MRjGQCh4PngtCKUjaN4QE43j6XRQKwZFIEGw9IQxMhyHcskARycDjCbTwhrF4KnRCsEzSUgOIxsKQ6DaI4MOgGg58XxsEQ2B0h4ZFUXRyOpF8gBOVG8cwQVS2FhPKZ1MLGAqi0aSoYC8Nw5iUKoyEFMNDeJo1B0DGkIlwRAudSL5ACcsLQZObgcMHRwQUTpZZN4KEYrjMLwCD4SFwGF8JgAuDaKA0mk50UxoH0UwmdSL5ACcrLZeOVAINnVimUB5BBbKQjBU6gQBAI2hw1A4UxYGkchPGcGnLiiNx00WQodSL5ACcrLYaObgcLnRgUDzo5SAZgBDadRLQiA4bS+JwpgMrDsMwljSaDnhTGgfRSCZ1IvkAJyosDoCCoWguJxTOpF0DmIugo6EbTlwROjmIiCEHBlDJpOejQMAFNISLYhhc6kXyAI5OCBjNp4emoXQmdFKhdK4tFUMhYQQoOJTKolDOGDEhzY2h8hD0pi4OZ1EvkBggCyZEPTwxMRlGUWzQYFQEgsNgkZxtKBfF0rgUuDqLIJNh4Q9MT0cx5LRDWUCmDikXCkDz0NBUWheChVOaAQ3mY8DuXw8UxFEIvHSxhNhrBZgFCA0JDAbiEIaxXF0Oi+KxiHw2AjaNYHOTAAtFsJlwJHRBgFk5iLA2HSxqKghFEfC0IxfH4tkIeFcDlIJgoAlYqmstlMOBQRBaGcPmAsi0NQ7C6c6F8vj8dEBRzUqj0NgmhA6WXiHhVForDQXweJgvmQZChzsEjGbzwtDQaRbAIDLwJF01Bk6CPYrimGA+MgOLo0FghVFoVi2PATA5ycXx6HwrHIRHDZ0UKCGfk8/aAUMjmgFChTNQ1DiNoIF0sG4Ih8Mlg9IUBNF03h8aiockBR0YZxVOXiyO510rn5DPnEdwPrGBxbK5vF8rDYHBwCAqiQBxpOhDGbCEKgpHOxUGE6oZHPwSOQYOZiWXjpB0c+UQiC+GD6oHIjs5fAInggYB7GUtmYnCmP4yBAKGZAac+Ofi+FDpRmbS4XzE5WKI1HRT8bCcfvA+cZ+0wOfJA+uYfDYCE0zD4YN4xm0EjoUy8OJZIVRbF0VBaCw2jiUCsMQrHNCiHD5Gn1dL4GD46HzfOjHeguagSaCyNhrKIyDUMhqLodNpCFMVBTAYujKdHIahqB5yAQTSfJY+shsLZ086afOUJH6cB5vGMoi2XSuL4WGwPDeMhZIQhWE8VwUKgUG8vhkaTQIApAU+c53s/RAYG4JHxmPqAdjKgPGYuCKJhiaAWQJj8dGGQ2kIYA8UxHBwYMimNA5lYFG0FiCfJs/Yp+rDn583DrR+8jqxvFY9DgKEM2l8WACYhw6mdLLpDQCjM2AkEi0XS4Q3goqhYsGAKPw4cFLR+nTvYYG4yNhSFAEA0Oj4Czm5QGU6idELZAYJRBtLwuHPhiN4pGYeCYIF0ohYegSaQ6bAOKgTHQXzlANIOJ1ACnJzadJH8MmZCkKQtBIKCSLI/B0ClA0jSbgCK5VOmFosjEeigcvMx7BwiBADGZ04ggjGPofLZ6QoCaADwFCYUxvD54CRdDYeNYvnh0o2F0ZgYJYIMjEAgULAYHnShxFoolsbRtN5AaJx6bRSA54bzaQGi8Fg0CgeMAwkGAMCUKAbCArAYMF4rAcLjaCRJKx086gXiFQWigQpGshD0IGsVw4XxIA4WBwcGYCnPQKEAyVAudFN56JAhHhqK4eOoHRC4QEHNRYNxmeEMTSMw8mgsCocxBZdPTaZlEDmgJDsaS+PwNCYqHOSgUy6dEOmDKbiAE5OUhqMzE9PBULI/AkKi0c0KQYGEXgCeFYxLQfPBgOjEN4ogUyFA0jUdKHUskAJystDcLZQLwxiqDxtFcaS+LZXMQaKxZN4qFQ3HpmHhqLpkCg+M4vFIsjWNJvIATlhaChzACBo6eDSgPpSDodNRpFg5ULR0EIHNDEZgebyyLpsG8YRnGQzMTAsFk9IATlZbLxysBBs6qUygdCNQWDgJFwDCwK4bLIlhk6gazeDzngbOkDCDD0YCAE3h42kAJywtDAIIICo/AMHjyBS6NILEY0l8Ai+ajANHVC8bBcEkeg8UBMKo6m0BhsdSyQAnKTMdioVzeXBLK5000CuXg8UhcAYXAgICxoHA9CRrFMYQGKIJNocN4yD2MhuIAzlIBDJtIQ1gUOnVwgLItF4vCMBB9BwnG4qBwaxqN4rCsKYFPRkDwACJ0gdCwQoiaL5D0hDwgwDkXSsLJXLItGI0lYWDUeF8bw+ZgcTwOYGYfDAuFMaxpN5DE0GkhCEIQ2lgyPDSYmRpIbzE0nhDIsG0hgVjAhDabTSYG43npCEIQhCEIQhCEIQhCEIQhCEIQhCEIQhCEIf/8QAJRAAAwEBAAIBBAMBAQEAAAAAAwQFAgEAFRAGBwgUERITFiBQ/9oACAEBAAECAP8Ax/P/AMTWyudpez9n7P2fs80xu9Y64I/O+EPqj7PNIbWmdUBviL3RGcN9Y297P2fs/Z+z9nikFnPfhwtOn2xyr7T2ntO1c2ZtTTO3J7GD6YpOtWPcAszaDLLVNCqgydl+qpTI49W5Y9p7T2ntO1QWZNBbXxS7Y0sqGT6r1XJJZLCsjQA6nLrsOZpUzmHxPuImiBpKJ9ns0aTtCSYu3/EUMSPU+q5JPKICDpHvxT8p8kC5wz3sgPfxVFM5Mx/gQVEGu71+qXRSRO6PVZwym+31kEfhvD5kBNsj/KSzZ8URwvEfml5S8k+PHoUPZzqSJ6nk7xE3aGWniPMpbyo8lxBHhWmgeuXW/lzcnw3hvJfazTdPNSS+MtLyH4j80vKfknyn5T+Jfkzyn5O8Foxl3X3Wyx+ohYnHTNxUI521D5fc23E0bw3k3y3455nyJ4Dyj5D8R+aXlPyT48ChO9ZOnIAqcm+JhbnbB1ZudLHM8c1QeW8RQNig4zSNwU6Omzg3kvlZVubmXJQwKl5D8R+aflTskvPDo+tAh5VLM7N6bwifFqGVOTDUCUiRfE+sdrLFDOnCkKJUsH7IMYZJ/JqybG6BYXiPzS5Yyq0Gv7X2vKpa7LUjK5SUQONunPzSVM7lDUbv7PH3emDJ4Zxag/p/xF/Ff2vteVmKuzwcI/LYqkzUfkz13rfXdnYkzJul2QjZITvG3BU8VzNxO7GNXSjKHDN0pbWBvSeSPWeu9d63ssEiSitj41gqeph1MiyqbHS4MmTenddwqpRDRPw+XAsxnQ0AHDhtKoo1iYxNawt6vUwwBBFOLO1hLQf/ACTyj0exapbIXBkGtvHOpxbFYNRXi40BzgB/bQqzKGiU8Vs8ZlVZlITDbVKolXn0GmHnpTimvnvSFYwOdhNyaSX2eQeNfraPPpH3USwghMxFJIoId5Koip1ar729pmkOpsVXX2VdymtboBjCS58mM5QWeV7/AFa6+/qtgic86tYitMFnm/1FmVWm2T8bn/3xWdcJ5nCSshAK9bGUV5CU8YDzkJ4MfBiPOHMhlLXNUe2DLeSVU16Pbu+mn+Sk2122efmWq8qo4vUGHOEzprqIpodBp9T/AAw3iovTV0IXOfDPHx70GinWVYo9r+Jbkl4zVqVW88hLzFao/uF9+/uz9Ufjb+QYGm2jIYk9E4RUqpVcIYMCgm/zB5uJuB9+T9pFpuEpSH5rD7NAIUpYWt2G9lSUiIDN+RH5P/b38R/vL9CfYD7FaY+iPvMm0QreXc8NPdnuBpZq6JXXECUvg67Y9fDfa2nQlVlaSdKYCfEFgvBsp5Xk4n7/ADP+7f4i/Zl/dL8SJAfrL6ZBqP8AUS9UZqWDeAMrSE8KghUdKsqoJnc7a3yYbk1iRQndGm9P2sJwyjORVZb6yzwrn5B/U/03o1rTUtMET85fov8AGuiDAmzn2r1VYai7QwvJuIjF5tNREWfj+D8fMfrae+yHUmWAqpqipCuAKP8An7ucXa/unmBhXz8+af4ny8yjopoBhuRCLAcba1tF1WyrbnuB7z/wfNFbYnDm8nhWbxVScX25inNNCZk/l39vfxl+uupIzk/D/Uf3x+5P24+mU1HJgAJbOpTmGCMBk9dy0m/IrTnxa+e+HXopOJDngAXOBzMgMeh1rIHJ31h9ufqX6P8Atz+U0j6l+ufvZ96/yT/Gz7LSdzNN6Y4sUVB9pzafDKuIkHjc9mAdPvwQhXgtEXJJZmG8UBpQR9UDGHpdzT+HPqn6V+uPwaf/ABRl/h79ufxczFSRWZ0cSromaRK3WZnFEqiDwxDmow0lc/DfXSpOKtdLTaOab4905VyKi/RbXMTrk+guZzqyoZHYzqJmZ51uWeP44rgMXCGLWXxT0I8pJIefhjL4N6SeJSq1xuyTl4VEogvpPnywi8sjybkqya4R77W09meVF2qzvI02xTnJLlTBUpaKPgS878M7fZ7jo23XTL9QexX7Vbo6cQqZrkrNvIdnlM8iyIjrjjnU+TdlefwXDTpFuwi7Cyrx5e5Nog38N4bVVRYScmai8h4lev8AXNI7WSS4gyDAUlhtc3PGRupX7TTolovu4wvJ5JNH2jOcFYepuPKNfT5Uu/B+tF4/ultn/b/b/bJQjamkkIS2AUdgJ+zp6e4KhRrPUP2Vmx7NiSBRTo9LWVzMZpbf52ajDTUz8PErPfv5Y/2/3/36xx6U+HWh55Ycfew5hr+uGe1z0SE8T8Sw1mRwXdkBq3xlbSmsJ8jYm4Fz4p+V+IJAk9meu5MLIdSlcwclIDNkTaeU0kuIvg6Loe58AQFDb0c6pOh/tU0FBmS1PAtMLJYX78U/KfkjOzM1vdq1hnq5n+b4XEsTU00D/nuzGmTnTQYmMiyPgP4HlEq9nNvdUhZS+5rEH/nl4c5EGfin5S8k+US0m/3Zjc4tPyd4AO5yCvAdW0CpivoPY+KOX+JLiknmKSzTzEV2gmCOgkLH6vU+Ljxn5p+U/JPlLlPP9ZmZnKfk7xbemkjc202eyd91MiyDrdFncYaSbMlaVUVOrKkzJvFztLUgGOY1FR4Wvil5S8k+NrPyvSoSU1qnJ3gsn4i4Buh42IGO8cUKPnnUpQZvSbHux4MUpfrLFejWSrJ2D1dlmZW58U/KnZTA2CY/XEPZ6jEvqIXUDDSazoyTmeNgFSUWFoQNJukaS3QDkC7dGuewR5Yo2x0Jxp2Q8+KObAQ7FQ9j7D2G6BtxwTMGC9PKJNg56Z18Tw1wf16bnUiKKKInRcQb235pYac6ZuQdScSQdfvwyKhK1C5E9L6X0nYmIU6UqL+DBbngnmRZjrRFUHZpYXofQKxkURi7hxRyRqB/zo/p5CPqa3FDEnogz8dzpf8AS/R/R/R/R/R4lhfPPO86Hi/Q9U4pkOgdS/R/R4ngXx3HVf0f0eJYW/y6rxLAOc/+T//EAD0QAAICAQMCAgkCBQEGBwAAAAECAAMRBBIhBTEGEwcQIiMkQVFScRQyCCBCYYFiM1BykbLRJVNzgqGiwv/aAAgBAQADPwD+Qf7lABipnmL90T74n3xPvi/fE++J90V/nBjvFz3gccTI9QQHJirnmL9win+oRXHeALmICfaiv85uEwIEzFPzgwYqkjdE++J98X7hF+4RfuEX74pz7UDjvMj1lK2jV2MA0sNh9qWkZ3GW/cZb9xlv3GWgdzLBZgtGsIBaHyMywXEZhIEATvBsPMKI5Bjq7ANLT2Yx9+C0a2vvGFBliWNzHawDdN9Q5ipSeZsdhuhezvCNOTmMljYaWsT7Ut+plv3GW/cZb9xlw+Zj7+WjW/Obq/WRU8Y6lxHusjGuGGExhWcR6rTGF4ENmljG3OIaq4awRCcjML0NiO95h8omGu+EgCb9KYQ7EQ16qBaO8IrYZjPe3MZrYf0ZjPewj2w7O0Pq4PEZEaPVqSIdwmafX7p5nVtAbOZXXpsmVIx5Ep+olT/MSuzT5ihyQJjWCA6cZiRfLOIeSIa3OTPNXEO/diLXURA2omMRV0h5ilmxNt+YfKxmNdWYwvmLRPgz+IDqz+YvlCV1VSlWPIlJ+YlTnGYjUGAaoz3onufVwZ7p58Y359RTSHB+UcWtzH+6O1wG6F9JM7p8ZBXpgYofG6B07xBW0QOcGeZbN2nJx8o/OBHFxJENCQtSQDLLWbvLd2dssSBasGIXMzcJ8GfxPjD+ZimFKG5jC1vaj7/3RnsXmF9JPfme+nufVwZ7p58W3q+Fb8T3rww+eJ8H/ifunxkb9HxLFuMIQjMY1Ngx2uOYTesD6fGIhydsrr3cCYsIEax4uzJWVITwJUiGbNwBhe88zc4nwZ/E+MP5nw09y0PnNPbE96s+DP8Awz3899Pc+v3Tz4tvzOYX0bcRmub2Y/2x1tHswpo5jdM6yb9LOWOI9bECNYhBmCTNmqE9wIErYzFrAGefbAFzieXScDtGrLR2yMx78yw3Z2xkI4m3SET4w/mZoheo8RzY3Ebd+0xksHEKaMz35nvp7n1+6eY1bQC2V2abBlTk8CVZ7CVI3YSuvTEQGxpnWCAacZlbAxXcnERKzkRfam3VQCkQGh8Q/q2mXERaIj1sJlHMP6kwWAZErVclJXX8oF0zTGrP5i+UORK7aj2lTEnAlOewlVbdhETTmBtUZ70T3PrJqeMNQ5jU3QhMZ9ePnCayAY9tpjG8GGvSwi0jMVk5MCocTzCYK2zAh25i2aU8wNqmnIhr08LORPM07GfEHj5xUrGZXWmAYrEjdPM0zRk1LGNXDtxn1kdjGesjMa3Uw7hMU+vfWY1ljkLLRYeJaBLZb9JbLCOxjl+RCjjiEUERltYwoCMxrYyAsYEU8zbd3gOnILQWXzOIX08fzoxohFhOJ+nRhCXIDQvd3nm6SM7khZaGOAZcPkZb9JbLvoZaR2MfzORDXjiba/WCDFfPEr5O2VpngSrfjAlRTtKkzwJSD8pTnuJWe0XyYh3YM32nEJr5E8uhoQ7CEGMEPMJsgQDmVmrlpW7dxFsrilDgRl34jrecwV3DJiPWBmV3DOIh/pErUH2ZUhPAlLuRK3XsJWiHgSpHifKe7/l90YQGxLPPMbyJYC2Jd5h5Mu39zHU8mZoPMZrDzAX5i+TC1D4EIufiEtGcdo4/pMsq+REtq+ZjC4ZaB6hkwPVEKNmIHcieXf3hV1BaBkGWitXnMVKm5myxsNM38vFdO8zSxBjLeRmF7AMzdV/JgQAERbcwb84mKyIHzxEBPErWCrIEdzjMOzM8i6Bl27pXdpzEYtxPf9ojJyJWU/bEVD7MCbsR6ruIUIBMHkfugCsN0NrtzM2E5jK4wZZkDJjHTRlpbmWW2NzLUtBlvAJMZ9LHOoJjC4ZmKf5AqmbGbmeZZiB0girW0WpmEDOQDDqGhLZxBXpjDXe+IaruTN1eN0/UzZlsRKnxKzTECHE84tOCwEOmu+mIRURmWW5IMcucws8LuJ2mzSRiGENlxyINucQVvB5OILLO0FR7Tanr2qZgMMw2WGe9zAKoCJil43nvHfUQtgkRESKtLQeY+IRcZZZYBGKjImzTNPIvcs2FHJM8NaX+IhOgrovO8CLmi/rg3GwXZ/2qp86R2PG49x9DR1TplGs0Wor1mjvrWym+lwyWIwyrKw4IIIOYc8iKunaEXPtlhYxnryRNmeJmyBecRa8CB6MQuCcQUuZXXxmVgkboH+cW2ALkTA9ZNZjbmgrY5ldZ7iKxwGgdJmh5794BqIu0QJSYAjjdBa74MLXzdauRFGmBxMUPPRh4K6pqdH1DxCnUup1Eh9D0pP1NqkdwSDsU/wBmYTwD429IbeIvBXQeoeH9TqWLdRq1IrWq9/8AzVVGOxj/AFckHv3zm/0c9Wo8J+ML7NX4F1FmKruXfpTk/vUdzUTyyDt3HzB0l/SaNbo769VpL6ltouqcMliMMqykcEEEEERXyoM/UMx7zyyTtgprIIi7jEF0UpgQs8wgzFaqEZKiWVFpYbTzLHIhWsZg2fyDaYih4ELbWj+ccNGe4DM9z3gNJGYbnbEsF5OJYAIyaU/iNvcZMNlhhstyFzCrqcTTdP6LfrNZeml0mnqa2+61gqVooJZiT2AAJnWfHvVtf4V8Bau7pHglSarNVVmvU9U7gknulR+SdyOW+g8eeMtBR1fxFangrolwD1fqqTZrLVPIIpyNoP1dgf7Gein0ZXp4W8NdX6t4m8aIwPUbrtTUNLoR9hVKwTYfpu9n5zXelPxGOsdZFvTfAmjtxqtSOH1rDvTUf+p/lOm9C8J6bp2gSrp/Sen6VKaKwdqUU1rtVeewVQJ4K9Ifijr3TPDPVf1mq6VdstDDaL07edV99e7K5/7qTWaxkypk4xCwbEdXaFLJ7QBaV7O8qRe4iNxuiXVGLtcwHVxVpBi1DvA/zmV9ZFbSzc0sdmjhicGeXcIBph7UNpwDPM7iVp3ErXgTNDYjF3OIVu5iAjMqrQciX9H8D9M9GXRtSab+sV/q+sOh5/SqxFdX4d1JP9q8dmnTdf04elfxTpE1QS8p4d0lyZUMhw2qI7EhgVT6FSZU9Vg3cEYO0kH/AJieZ/EvbqT1p7fR3a51dpsuLa0sWydOSe+Sf9qecf3mi6N4c0fR+j6Ovp/TNJUKtNpqF2pWo7ACabxr6NOteGOpW31aLqWmNFtmntKOueQQR9CBweD2IIJB8VegX+KX28jqfRdZtuVSVr12nb/82IQR9CfqJpuqeF+ndY6df5+g12mr1Oms7b63UMp/5EQscFottPMTa0xa0KHvHXsZay9zLFfljMpgtPOqMLarIHzhTTSwOY5cZnu/XuUwWE8RAG9mKqtgRqbeIwwpMFuMmKKMiFMxzbiedR2gKOdsFFrcdjPJc8wqmN01fij+NHxed5sNWsr6fpq88KKkWvA/LBj+TNN4Z9H/AEXw9oMJo+m6GrS1BRjIRQufycZMLg+3DdaeZ5xEDU5KSjp3jTwV4ppqxZrtLfotSQPnSwdP8kWvL+rfwhdFS5za/T9Tfo8nvtV96j/CuBHV49aRrlMdmPEcAw74DTBUpIhrt7zzgATKzgxPLxBa3Amwzah/kAUxU3CC4mDYxhpumCOYHoEFomLYBVAaXh32YlgtMtEv6L/GZ4vuvTc1XXP1e36qxFo/+CINVoKdVQ4sourWytx2ZSMgx/qYxsEAAzKv0v8AiaUaD0d9GRwdSbNZqXX7VArRf+ZLS2r+Eim+wYTWdX1N1X91G2v/AKq2hNZOI6ORiGw4Igas8TYjcQ0W9psrIm9DHFuYa25MCJ3gZsbolqxCn8uUMdt0atyTAKmnmXGOpzDTUATFPBaJY8BSB62nmu/EJJ9mNXu9majp3pD6T4701HwHU6V0escDtqKwdhP/ABV8D/0jKPGnoQo8OazUA+JegVCiyt29u/TDiq0fUAYQ/QgfcIwsxiHvtn6VOZpen9K1Or1mpTTaSio2XXWuFStFBLMSewABJmq9M/8AFFqtf0am7VaIunTeg6YD23rDEKcfV3Zm/wDcBNN4N9EHhrwpQwcdO0SVWuOz2n2rH/y5YxX0/aDk4i02SsjES2huJhmIEet2EawQqpOI1bx1jq3eYCgtBag5m5f5AYrq0O18CWFmG0xhZlli1pCVO2W+ZHDDM2VcmIMjMrscyqxIjA8Tonj30bdW8K9doL6DW17d6Ab6XHKWIfkykAiekT+Hn08U2h7endQ0thfpvVaUzp9fV9RnhgRwyHt2M8D+JNHptF43x4O67gK9zBrNHe3zYOBmvP0fgfcZ4L1/TF1PT/FnRtdQV3CyjqdLjH+Gnos8HaCx+p+Nem3XqONJoLxqryfkNlWSM/VsCdd9JNV/h3oNN3QPCBf26i2dRrsHjzSOAv8AoBI+pM1nRNXV6QfGOhbT9UKf+DaC8YegMCDdYp7MQcKD2GTC165g8gRPLMzYcRq35iCrBaVvW3Ii+e0Umb6TgQqWO2bSZiMLBHYCZp9e0GBGIzBaMZi3IYrEkrEqRjibLiILRyJWgyRK6TAUIDR3JwZaGOcwoOTEKcmVB+4nhTx/4Nv6B4s6Pp+tdLtO7y7hzW3IDo4wyNyfaUg8zVfrr9b6OvFNL6Y8p07rmVZPqBdWp3f2yg/M9OeivNdXhKjXJ99HWdIF/wDvYpnpY6peB1duleHKP6zfrPOcD+wqDA/5YTwX4A11HVLxZ4p8RVkMmt1tYFdLfWqrkL+SWI+RlgP7TDQ4JE8urGY1sLgkieTUTGqYgNHcEbobLDzHZxC+n5EC0tkTZawE3EgRnsBxCgHE21+sipsR1taMtnJissTYYgreBtWcGZqHzhFJxLRaY5bmK8U15AjVA4lqsZYpjGxQTN+lzH3kCG1+REZOViYPswUoxAhrtIzBYYp00HkWRmveWEQq/MXeuYn6aDyXm+9oXccQYU7YK6+02r68oYuWMNVp2wqeTAKG9qcuN08zU8njMQ0gZldlUqYkxKQYK7duYllQ5lVqSshjEQnE26oTdpxFJiKYuyIqGA1PG89o9bz4fkwNQ3MD3mVmntEqc4nl3YzC9HeGyhoW1ZyPnK0xkSutB2ibcCZHr2o09phDa5j1KTLFrYCW2WMY4uzzHqUAw7CJlTCyNG87OYyiHZBtIzBbnEJ1IMCaaAPibzB5PJi1o0Wx2BMFxzBXyJ5CYz2hcEZh87MIpxGfdGF8ygzFt00StyYunzzBvxunm45m5PWTW0ZrjPrB5DYjMx4jN/TCD+2Onylv0Mtlqo3Bji7tLGHAMtFWcGWV5jvbNgDQVptzGteFBmCqk8wDeA0zectK9nLSvyjzAzMFj33R2GdssC42x9hysNFhyIKDgtK/JI3xGRsNCXbBlhvjttmafWNhiI7ZlSEgNK2XGZS2ZT9RKfqJT9RKT9JVbFepsCe/PswImSJXVQZWC0TzTESmYt7xCMkytKe4g8pgHhd25h3d43YGWPXH3kmBrhkRBR2lQOJW1JgQNiGu04jgY3GOwOWhsMLuOIUA4m2r17amjJa+DLWc4aWkdzLvqZd9TLvqZaB3MsV+TGZwMxX0/Mr82KlJIhrrbmMbH5h3HmO64zHJzzHo+ccKRujWAjMLE+rLyvyOYgc4g88YhGj4j+eY3kczKNC1jcRlXsYRBviELE2CAL68VPCdS8820RfLyREHylX0EQ/IRfKOFnlWtCl4nl6OEakjMNtEZ62lnnNxHh3jMUUHiBS2I5c4jiEerYYUqxum9+8BuERtPKy5MSug8wOWAi2seJigkLHV24joe0srIEZkEzX6uDPdPPi2g8yJVpoiMeYn3RHfvFs00GWmNTCdBx9JZ+rP5jNSAZ5tU3OfZgH9MFGTiLUjCC21p5wmyljibHYQtGjiOXj0nM8tMFoD84XrIBjXWmZ7iCzTniBnPsz/AEwo/aGqbU9funnxjfn1FdK2DHFz8mPnuY5uHJhbRT90+MgfSRWuJIgQRTX2lXOQJTsPAiCt8Rw7gRjfzE8kZiDStB+oYCeY+JupziMjdoW+UNVLGWVuRLbGllqRu5EFWMiIUxEb5CV4PEqWIO0wvr908+Lf8/8Af1fCt+IfNeH6Q+eJjRj8T90+MgGkieZFaDycwVAwKSN089WGZ5oY4hpvPEFKYzBZp2G6F7zM3iLZphxAzdoFTtFTTtxN97AD5wsw9mKlYyolVdRldLkZis+N0Vl7wKp5gRyMwWPNyev3Tz4xvzOYbNGY72NhY/2mOloO2GvSYmN0+Mjfo+JYtxzChwTA9MZ62xLfNPeOG5itURN24gRqnMezKxic4my8QCgRIhrOJmp4G1cRagYlCd8RBWw3zLnDwi7looqHtRWU4eNbacHMfMIrHr908xqmirbyZW9HJlLse0olKStKCMwNYwzM6sQPphBtY7Y1NxxCDgmLbVKyGOBEpDYgNxGYLqIqk8RRdE8qKmpgWjvGYnBjskNlJhTVQVafvMbgHjlj7caxv3Rt8tRP3Ry+GaLYRkxNkG315qeN57y2q0y1V7mW/WWSyWFSMyy14/nAmYpED1mAhjiNRacRxxCNO0sYvLHvhGlEJVsCOlxlhQiWC3MsPEa0Amba4HqORNhc4j1hgJa7NLSZYX7GM57Qig8R6rTLK3xGZBM1+vejTzXYhYd54jj5R/oY/wBDH+2P9Id/InlPyJsT1BkPE3scCFW7QmojEZ3bibH/AGzZTjE81GhLn2Yfthz+2FH7QVqMiKqwFDA6NxC7txCSfZn+iYblYK/6YDSeJudsLCr9oasTCevIitE+giRIkSJEip8oF9WRAYBAYh+URfkIAICDEPyiRIg+QgX1giKc5ESJEirBiISciIPkIEmB/ur/xAAUEQEAAAAAAAAAAAAAAAAAAACg/9oACAECAQE/AEgf/8QAFBEBAAAAAAAAAAAAAAAAAAAAoP/aAAgBAwEBPwBIH//Z\";var Er=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAMe0lEQVR4AezdbXYTORMFYHUGclhG2EHCCuAXsAtYCbASZheEX7ADsoNkdjEH5qTH13E5bafdX5JaVaXLoSInsdXSlR7S1ry8nAX+YgJM4GQCBHIyGn6DCYRAINwFTGAgAQIZCIffYgIEwj3ABAYSyAhk4Kr8FhMwkgCBGFkoDrNMAgRSJnde1UgCBGJkoTjMMgkQSJnceVUjCdgEYiRcDtN+AgRifw05g4wJEEjGcNm1/QQIxP4acgYZEyCQjOGya/sJEMjRGvJTJtBNgEC6aWR+/OLb5UXmS7D7xAkQSOJAT3X37Nvl6/umuT3/fvnp1HP4dX0JEMgKawIcZ03zY3uptvlMJNskTHw4MzFKw4M8wCHzIBJJQn1LIBmX6AjH4ZWI5DAPpZ8RSKaFGcQh1yQSSUJtSyAZlmYSDrkukUgSKlsCSbwss3DItYlEklDXEkjCJVmEQ65PJJKEqpZAEi1HFA4Zw2Ik0gHb1AkQSIJEk+CQcRCJJKGiJZDIZUiKQ8ZCJJJE8ZZAIpYgCw4ZD5FIEkVbAlkYf1YcMiYikSSKtQSyIPpVcMi4SiORcVTaEsjMhV8Vh4yNSCSJ1VsCmRF5ERwyPiKRJFZtCWRi3EVxyBiJRJJYrSWQCVGrwCHjJBJJYpWWQEZiVoVDxuoEiUxHc0sgA6ujEoeMl0gkiawtgZyIVzUOGTORSBLZWgLpidYEDhk3kUgSWVoCOYrVFA4ZO5FIEslbAulEahKHjJ9IJAm0yYpAdlGaxrGbQyASSSJZSyCbKF3g2Mxj+5tItjGk+lA9EFc4ZFcQiSQR3VYNxCUO2RJEIklEtdUCcY1DtgSRSBKL26dAFndl54VV4JDlIBJJYlFbHZCqcMiWIBJJYnZbFZAqcciWIBJJYlZbDZCqcciWIBJJYnJbBRDi6OyHBEjOr199RaadXt0+XBVIiRSxkPt/vKbEADReMwLJ8+urHyG0HzaZVoHENRDiGNC5AAlwNCG8Dg+/LmpA4hYIcTzs4sGPM5Ac4ZBu3SNxCYQ4ZP9OaCcgOYFDOneNxB0Q4pB9O6MdQDKCQy7iFokXINuFIo5tDMs+9CCZiEOu5xKJGyDEIfs0ou0gmYlDLuoOiRsgTdN8klViG5EAkFxf3XZOq+Z25gqJGyB/te3HNoSfgb9SJHAR2YkbJG6A/Pv+5o5IIrd12pe7QOIGCNY2DxL0zFqYgHkkroBgEYkEKagq00jcAcHWIBKkoKrMInEJBFuDSJCCqjKJxC0QbA0iQQqqyhwS10CwNQTJ5vHdpnT9rnM0ppC4B4I9eN+c4T8ixp7toytWmgTMIHEPBH/7LYT2Q5p1ZS8JEzCBxDUQ4ki4nfN0pR6JWyDEkWdHZ+hVNRKXQIrhaNrPAZVhF83t0tjz1SJxB6QYjs2ObO/DP7/f3nw5a9uXhLIJZN5vlUhcASmJo7sXcLS8hxICj5fD5F/qkLgBogVHdysAyuanyRv+NOmmMvpYFRIXQDTikG0AJPufJnx/IrGMtWqQmAeiGUd3F3ShtCFY/otdYaVfKpCYBmIFR3dDAcqfd7/etG37cfN1vj/ZhDDwuzgSs0As4uhuhD/vb/7m+5NuIicfF0ViEoh1HLIV8NOE708kjcG2GBJzQLzg6G6HAyg8Fu5G031cBIkpIB5xdHcAoNR929VNo/fx6kjMAPGOQ7YDkPC2S9LobVdFYgJILTi626ELhcfC3WS2j1dDoh5IjTi2W2D3AVB4LLwL47BZBYlqILXj6O4HHgt309g/zo5ELRDi2G+C/QP8NOH7k30c8mAaEnn2zFYlEOIYXsUDKDwWRljZkKgDQhxY72kFKDwW3meVBYkqIMSxX+zJD4CEt137uJIjUQOEOPaLvOhBF0rlx8JJkagAQhyLTPS+CFB4LBy2SF58u4z+/0KbAqR3IVJ9kThSJXnYT+3Hwm3bfsEfFoepzP+sKBDimL9gc16BDVLj+5MNjo/4A2JOVqeeWwwIcZxakvRfP4Di/Fg4JQ6sRBEgxIHo1y9A8XwsnBoHVmh1IMSB2MsVkHi87cqBA6u0KpCnODAEVokEulCsHwvnwoF1WQ0IcSBufQUolo+Fc+LAaq0ChDgQte7CqY+19ye5cWDFsgMhDsRso/DTxMZIQ1gDB7LICoQ4ELGNevbt8vX59VUb2uaz9hGvhQM5ZANSHAdmxxpNAP9zjOfXVz/OmubH6JMVPGFNHJhuFiDEgWh1F2Ccf7/8dN80t00Ir4OBX2vjQCTJgRAHYtVdAsPC7ZQkWQIHrp0UCHEgUr21e59xawkG0iyFA9dOBoQ4EKfO2t5OXb/6unufcaFzlP2jKokDI0oCpDYcCM5K7W+nQvvByphlnKVxYBzRQPCn0+ZU2lz4mLzn2t1OtdZup2RNNODAWKKB4D8ubf4L7Et0xiqfAP7AsnRs25eYFhwYWzQQdEIkSKFsAYbcTlk5tu1LTBMOjC8JEHREJEihTAkMq7dTkpo2HBhXMiDojEiQQlTNevHufYa5Y9u+SWrEgXEmBYIOiQQp5K3t7ZTRY9u+ZLTiwFiTA0GnRIIU8tT+dsrgsW1fIppxYLxZgKBjIkEK6Wp3O2X22LYvCe04MOZsQNA5kSCFuMLtlPVj274ELODAuLMCwQWIBCnML8CQ26k0x7bzx5DrFVZwYP7ZgeAiRIIUppfAsH5s2zdjSzgw/lWA4EJEghSGa/c+w8Wxbd9MreHAHFYDgosRCVJ4WtvbKUfHtk9nGFb7O+R914752qpAMFAiQQqPtb+dcnJs+zizx0cWf3LI6FcHggsTSQi72ykfx7ZY1BNlGQemdIYPJapWJLid8nhs27eHrOPAnIoBwcVrQgIYcjvl7dgWa3lcHnBgTkWBYAA1IBEYHo9tsYbH5QUH5lUcCAbhFcnufYbbY1us3XF5woG5qQCCgXhCsr2dcn5sizU7rhw4jq+x9udqgGDiHpDsb6ccH9tirY7LIw7MURUQDMgykqZpvtbyPgNrJeUVB+anDggGZRkJxl9TecaBdVQJBAMjEqSgu7zjQPpqgWBwRIIUdJYDHJOCVQ0EMyASpKCu7vAvUqkbVYYBqQeCORMJUlBVF+fXV7eqRpRpMCaAYO5EghRUVRVIzADB1iASpKCq3CMxBQRbg0iQgqpyjWQZkMLrQySFF+Dp5d0iMQkE60MkSEFVuURiFgi2BpEgBVXlDolpINgaCZHcoT9WdAKukJgHguWMRdKG8PP3u18vQ9N+Rn+suATu2/ZjXA96Xq0OyNJoliJpNzj+vPv1Btf9/fbmC5EgieW1wfHmv/c3P5f3oOuVboAg1rlIujjwehSRIIVl5Q0HUnAFBBOaiqQPB16PIhKkMK884kAC7oBgUmNIhnDg9SgiQQrTyisOzN4lEEzsFJIpOPB6FJEgheHyjAMzdwsEkztCEubgwOtRRIIU+ss7DszaNRBMUJAswYHXo4gEKRxWDTgwY/dAMEkgkaNcfL6kiOQxtVpwYMZVAMFEUxSRhFATDuwZAkEKM6pmJLXhwLYgEKQws54imdmBwafXiAPLRCBIYUHVhKRWHNgWBIIUFlYNSGrGgW1BIEghojwjqR0HtgWBIIXI8oiEOB42BYE85BD9MRuS6JHN74A4HjMjkMcsoh95QEIch9uAQA7ziP7MMhLieLr8BPI0k+ivWERCHP3LTiD9uUR/1RIS4ji93ARyOpvo72hHggkSB1I4XQRyOpsk39GMhDjGl5hAxjOKfoZGJMQxbVkJZFpO0c/ShIQ4pi8ngUzPKvqZGpAQx7xlJJB5eUU/uySSFXFE56SlAwIpsBIlkBDHsoUmkGW5Rb9qTSTEsXy5CGR5dtGvXAMJccQtE4HE5Rf96pxIiCN6eQKBxGcY3UMOJH5xRMc9qwMCmRVXvienREIc6daJQNJlGd1TCiTEEb0MBx0QyEEc5T+JQUIc6dePQNJnGt3jEiTEER17bwcE0htL+S/OQUIcidarpxsC6QlFy5emICGOvKtFIHnzje59CAlxRMc72gGBjEZU/gl9SIhjnXUhkHVyjr5KFwlxRMc5uQMCmRxV+ScCyVnbvvT075CXT3V4BKmADF+F302WAP61rGSdsaPRBAhkNCI+oeYECKTm1efcRxMgkNGI+ISaEyCQmlefcx9NwACQ0TnwCUwgWwIEki1aduwhAQLxsIqcQ7YECCRbtOzYQwIE4mEVOYdsCdQNJFus7NhLAgTiZSU5jywJEEiWWNmplwQIxMtKch5ZEiCQLLGyUy8JEEimlWS3PhL4HwAA//9O44MMAAAABklEQVQDAGCL7+uOGrzfAAAAAElFTkSuQmCC\";var ei=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO8AAADICAYAAAAA2bY3AAAQAElEQVR4AexdbZLbNhYENTnE1marlv7l+Aje1NaONgex5gZzgxnfwDeYyUESTVUq9hG8+8vaqnUqh4gHeQ9DWR9DSADZIAGyVaREgfh4aKCJhyZELQxfRIAIFIkAyVtks9FoImAMycteQAQKRYDkLbThaDYRIHl3fYBHRKAoBEjeopqLxhKBHQIk7w4LHhGBohAgeYtqLhpLBHYIkLw7LHi0Q4BHBSBA8hbQSDSRCLQhQPK2ocIwIlAAAiRvAY1EE4lAGwIkbxsqDCMCOwSyPSJ5s20aGkYETiNA8p7Gh2eJQLYIkLzZNg0NIwKnESB5T+PDs0QgWwRGIG+2WNAwIlAUAiRvUc1FY4nADgGSd4cFj4hAUQiQvEU1F40lAjsESN4dFiMcsUgi0B0Bkrc7dkxJBEZFgOQdFX4WTgS6I0DydseOKYnAqAiQvKPCz8J3CPAoFgGSNxYxxicCmSBA8mbSECnNuP6wrq9/WV/qZ8pymPewCJC8w+I9WGlKVNlvrt//bI21n8yFXeunfP/kwoXQgxnDgpIgQPImgXXcTK9//WmlRJX9tsWS2oVbu3bxWiIwaGwEwsonecNwKiaWjqqmqu4CDK4l3o2LHxCZUfJDgOTNr006W+SIaG3baOvLU0fhFUdgHzx5hy/yNo/WhSKggpRzh0MT7OJtR+B6F8SjEhAgeUtopRAbVZAKidceR0fgEFe7PTVDR0FgHuQdBdrhChUFeQ0o7ZLuMwDFAbMgeQcEO0VRzl025tIgXlWlAlaNyIp5pEeA5E2PcdoSLuwNsAAlLjI/oGnM6hgBkvcYkYK+N24uZtTd1tvaVTOab0P4mSkCJG+mDXPOLLktVMt92niR6VzGev7CpslX8+YOQ4DkhUE5cEY2KcHqZlQfuFIsLgYBkjcGrUziNm4t1l0+rpuIV8dB/J4XAiRvXu0RZg1WpPKVWYtrTvfZh04G4SRvBo0QY4IQStXgtKPu1iBrL5tRfhsyrc/Ca0PyFtSAQlxdCRWzdrlv7WpD8aovhsnSk7zJoE2QcVqRymcwxSsfMiOHk7wjN0Bo8Y37Ooy7fGwUxatjRLL4TvJm0QwBRgwjUvkMoXjlQ2bEcCh5R6zHpIuWue5wIpUPSYpXPmRGCyd5R4M+rGAh7tAilc8wilc+ZEYKJ3lHAj642HFEKp95FK98yIwQTvKOAHpokaOKVD4jKV75kBk8nORNBDkk23FFKl8VKF75kBk4nOQdGPDQ4mSuO75I5TOW4pUPmUHDSd5B4Y4oLO4pkBEZQ6KqeKUXF0hmzKQbAiRvN9ySpgI9k+rQxqq6Nbofhvb5xmde9UEPkJbkBYCIzCKJSPWlWr57vXyru7H2CmZvoHgFK48ZHSBA8h7AkcEXtEhVVffv/rl82Nbs3fc/3MsIfL/93vOzlrk5fzbYE8SuyUnersglSNc8vQK5fnkjo23bSPsWZj7FKxiUsRmRvLGIpYwf9h9D4RZ8qdqIa4TQG6D7TPEqvEWgMUleKJzdM0vgfj7su8vPLFss1JXePAvvFkDxKhA3ZLQFMjPm1Q0BJ1JZu+qW2pOqah91t7Hd6OsZmbdxoj4pXkXBhYhM8iJQ7JsHXqS6deQ8Y1czMusIfCZm0GmKV0Ew4SKRvDgsO+WUSKQKF6TOjNBRlaJ4FQVX38gkb18E+6YfSKTymelGaNziDYpXPqAThJdO3gSQDJfl4CKVv2o/yimKVwJCSRvJO1JrjSFS+arqRl9rw11tX0bbcIpXWySSfpK8SeE9kflIIpXPIrfyyhiKV6acF8k7QluNLlL56kzxyodMluEk7xjNkkak6l0T5z5XFWzds0F7F71rOK0MSN6B2zMjkcpXc9zc15hLN7f3lcTwXgiQvL3gi0vsOvLAK6niLDTodc9GRt+7WBsYPwwBkjcMJ0wstBsp92edq4uxbpfL07pnpHjFp27s0IUdkbwwKE9nlK1I1WK2uyB8qXDus3gbMl2oW4pKFTSLfEneoZoZfe8T+aOCFgzQ655NXs+fbqlxeUEk7wBtJqOOzvuQI8/pn/uh6oS8dWQoXqGaZZsPybtFItGnEFf/rmQFzR7p0p4wzLnPMq8+ESXuFP/rNw6vM7FJ3jMA9T6NdhflPmzj0vY2LTAD5Lpn/dkgxatA4M9FCyTvuWx4vg2BBCKV3sppfbRNW/mIMDf6Itc9U7xCNIvLg+R1MCR6w4tUy0SWnswWve5ZCuPoKyD03Ujevgh60stcVzto7TndJXgYkcpnGVK80tH3lzXyKZk+qycdTvImaF4hropUt9CsBxKpfDY791nm277z0eEUr6IhO05A8h4jcvZ7QITyRSpfJXELN4ypG03AVxbDzyBA8p4BKPa0W79sDNQllFFvUJHKeF5ix8ZYi7NFNAHnpXjKY/BpBEje0/jEn0W7g0iyxNfmeQrwumcpQLUB+eAWiwDJG4vYifgyimhHrE9EiT310Ci9semSxXejL3L+be2q8VaS2TzVjEleUMsKcScnUvmgcYtEnHjlixEZjvZWIosvNTrJi2q56YpUPoQoXvmQGSic5AUA3bh9kxSpfPA499lixStfWQxvR4DkbcclLhT9I3skKeJqEhcbLF7J1OMuzoB5xyZ5e7Z/c68SOepmJ1L5IHKjL1a8KviZVz6U0oWTvH2xxT8JEjmX7Fu7s+mdeGUM7JE5Bu3FmOm+SN4ebXv9/ud1j+TPk4qC25Dh+bmcQ5Drno25bLyZnGuchW0kb8dmSCFSiSlFjbpir9uc+4z80X5V6f1ylzff/AiQvH5sTp9Bu3ciUjkSnC41+uzf7j5eHu/RmYQlQP9on+LVGdzzJe8Zw8c83bh1SJFqg15J9e3dx9W39//5ZKtqfbxL+FrP/+XuY43C0V14rMV5DtZSvDrTOCTvGYBaT+NFKtxifzFYyWmebPSR81LPX1TVJx2VJQlkay5AFK8gaJ7PhOQ9j9FBDPi9SLBI5YhrzKUJfFkZmZEjsFwUkBcijr4n2pHkPQHO8SknUlm7Og7v+R3mav71x/+q0BNM3K3dMgKvUQR27rNckLZ59/7kumcvhCSvF5qWE2iRShRa19lbijoICvii7m9lbdend9QXEaN1gDmwC5KUpU+cpHglQBxvJO8xIp7vSUSq10tYJxf3t18Hr6o3nqpHB7sLkrU495niVWsbkLytsLQEou89Av+upHGX6xarY4IuUa6zKxS87pkrrxyqB28k7wEc7V8akaovOfYzhz0JUgnXw13etwl67EZf5LpnYyheHbUQyXsEyPHXJCIVcDmhiE393OW9Cv9+9Wqz97X3oVvqiRavels1nQxI3nNtmblIJeZHq8uSpm2DEnevANi8XvJU8UoVdTnkRvKe6AOTF6kO6l6hFlcc5OrcZ6x4tZJpTH1QyEy/kLynGn76ItXX2lf2Udcmf/0OPXgSr1AjuxKXo680EMkrILRtcnXXDqIdpe10l7CcRarN/69eJRl5FSg3+gLVdWPtymkRmvmM98WM6+6tuhC3lg7SdcFDe75A5RUpUqmxlQXek9UMW3YnXhmDu0Bw5ZXhyGtaXvgnQd42nbelsLggXUklKVAilWRlHlKOulrA1x2oskuesxevSF7pBftb444hybERtxGmuNqnXwvtm9zr+MsAo+7WQMFhY6oK59FYcZ8/rJFTm62pRXySvMfNhHbHgHM90EqqrzWWC8Et+t7u18z9ByqMbfyno84ocVWbiEo0lcgk715LylxXO4J2iL3QXodZi1S/vXkJ8whCUXKjr7W4cnX0/WWN9JRCqzJ6PJK3aQIhbuYi1UIvLI21/T8scuVTpDngH+0bg/aWIuszVnSSd4s8XqS6x4pUdrU1FfC5GWPUPbAbLV79+hMSnwNTc/1C8krLJBCpjLiHsJ/EySgJW78s1TUiUi31c8xd8NmIeHUPs6Gqbpz3BMsw/4xIXm0j9Ppla2HEHUukUlgG2HFzX2NUq4BOLUzmr9mTV67W2uBIwQP2dyUJfu43vru8Rwg3+gIvdMbKraMZiVezJ680OO6+o3ZM4EqqxWLxRrNE7XZEkcpbh6d1z1x55QXIf2LW5M3570qmPupuu6QbfYEXPMm3bn4NJofT3mZL3txFqouqWiO73hDrl7va26jyuNFXxKuutrSlyzVstuSVe4M618W1i7VZi1SDrV/uiij61tGHNVSh71qtlOlmSd7GraJIlbJnRebt3GfsuufJP/NqluSV+4vYqzJwzjYLkcpPbOy6Z/QtQL/do5yZHXnl1hCWuKLgNnO23g04F5HKB5Qbfa1F3vud9H/9jkFeX9slD3cilYUuM1SbYZ1NRCrohSVnkUqBa9vh654nLF7NirwpRCo3WrT1wsiwZiUVcB5e3WcvUvkwonjlQ+YgfDbknZtI9Xn1EqZ+7/cYmXa4J1jI541i6ryZ/QiAY3dBlOkIIKunLCb6dymzIS9Fqqd+3PXdkfX9z5+Mtbrfyuetw/TCrq8lXIncNW9POth0RPKv4V6XZDr2NgvySseDziWl06J+7mdyF6kEu1rIuXZkfVr839Zna8HkTuLC7p270ddapPdwmcJLaANjqLDJk9c1mLXo33rCRoWcRSohYy2k/SSdMWwubu2tI7okgGxc93wSxsmTF+4uVdWtGxVOwhp28tu7j3pRCSNGWJbYJ0F2e0AB7PaMwxl4D10grOWChPXCJNOxtkmTt5mHIcmxkQ4FGXXVXVZXE9nwn1ffwX5k34yg3bAD3p5x99DR4tVEnjg5afIKOWBzMEcy4JMgE6ykunU2At7cVMOYbsQ17lU3ebgvgW+nokEumE0BtXxi+4VkOMY2WfKKe6QNpA2FwnU+T4JEPNBt8QjDXrydjcy9ceKVaCDgiwuqj0XlM0nyCnFVaIGNRA5R4MKBzEWqO6kvjHiSF2ajePUMx0mSV67S2gGfVbZzAFCkyvnvSpqLnoponaFKldCNvmjxqvAnTk6OvI071Ge+dtz/YCKVZmxz/ruSbuqyVuv5/rjYPA/sF+LEK2MeDOolwpq7YKHyw+UTlNMiKFZJkRDztf36AkWqZv0yzCWVCwHs70rQynxDtH0kMcfA6YsYpG2h2ogclrdNirxyFdWG0AZBtcR8RCoZhVCgicp/D8vrKCPnPss05ii4+9eC1z1PhrxCXIpUHbuwYIe96P1h9Ef1Ha0JSqb5o9zyGr6QJ6gK/SNNhrwUqbp1BiEu+qIH81Z8NXKjr7XIe7+wVWE+m1OET4K850WqaOgoUkVD1iTAKsJNps8/+KN9YyZBXnF7sLeG5iJSPf27AE6ZryrYr62e07UlBCxeiReC7UctJiODiievAI6dr8mtCJRSquuXK2uRi0Wwf1eCVubTz3UP+r5zn+WCcRDY50th4lXR5BXioudrxgDdPvT6ZZnXw+Z5gh32oickQl30IvkHw0TKLUq8Kpq80pmxbg6wAyYYdR8+X70C3IIxRoiLv+gNPOoK0dwGH32NuWw0I2r0sgAABSFJREFUFJd/zm/FkrcBGDdfk1aSjgBb/H4B/ruSL9bCbINf9IBTDWmGLhty9DWioahX0sWOQdMUS144wF+qJQr5rFdSoUUqBa2qUPdcNbfoXS66Wj5u2aQx+qP9OtqQgRMUSV70Uj7BHHZvMoG7nLdIJeDJSD5qR3fTAGOQXlhtjHkje9ZbkeQ14MX9OYtUVubhqB4knVzdQe2YqCy3+Vxe6xMkP6zvpIw7vbgOsn9Y30h5N3Lx0OdsmfjXiRTWrk6czeJUceSVxpqTSIUddbG3rY47cC0kWrldL65D7Fof3Y8twXxPcZHDWNbkUhR5nUgFviLKfAkmBIlIBb2wiEgFm4fDL3pNB5ryh2CWNYGLIi9cpLIWRlyd60pHhs27bFXhfu6nD1yz+buBgl9e2x+G5DWAl86hJBsYOSSvh2Z9rBz238CjLtpdhnoE/dFiDggEsCMvwiJfHlX1xneqUzhwJVWCUReyGENxaVw/5EVPs+WeAQLlkNcYXAcUBRe5lA+8DBI76j4+4nAzM3t9Y/T+scn1VQR5G5cZhiFSpNJRF/njA8kLNg93gC0W/3KffItGQPoJyRuN2nGCxeLvx0Gdv1uLJUdnQ54ntCJSwf9T11Koeo50UAhyxVZQgbGRihh5pVK17IgNKlKpQd8Y026biX5h3WUp3t1ak09uHRCwVh+10yHhcElKIS/GfQGKVOgmsjIPR+dpMp+zwesLzBB5JwJo1kFWZZD38fF/B1Z3+SLkQIpUWxNAbi581FX7cp+zqY1Z7jJ9ydKuI6MKIe+i98grHTnlXLeXfciVVEftq1+zn7upkRntD9JXsD8xTFS5RaJ8odm6EVNGzs6ZAn/u12ZDH5dX0sJWUrXZZrDPeWot4mxgOREe3v3j37AlqamrXQR5GxC6XQ3FBXLkbzJJ8fHbm5dqW4cRrrpv0qYwy+Upo8hGCIx8jpbLd4JvRRFX8S+GvE0nfCFGb2QP26y9knRKrLD4PWKJ66tueTCBdcT9vHqpaXqUGpz0RxLYi9XGiGdW0oi7rUkx5FWDhYgb6YRL2c+NJE8N8v0PsGWGWv6p/ferV5vPq++WSkqJt5Hdt20qa5epR9z9whU32d8auZhJePAFRuJOedtoPxLSvkjtmaUCsSjyKgjSCTeyvxXgX7jOqHPh3X4rjVHJPlqDKCmFxC+UoMZUevFQsshe3WuYngMp1Cb2pbc/BBu9+O2wM0Zsc/vGGDPl/UH6zL3suz7yevnWDP0Cllccebd1FwJvXGd8vVTXeLtn0xhKUHWLhazLp/3llYZt7R/z8wA7EWiU0LK/mPi+lHprP8mmj/TtA8WSt2/FmZ4IlI4AyVt6C9L+2SJA8s626Vnx0hEonrylNwDtJwJdESB5uyLHdERgZARI3pEbgMUTga4IkLxdkWM6IjAyAiTvyA2ALJ55zQsBknde7c3aTggBkndCjcmqzAsBknde7c3aTggBkndCjcmq7BCYwxHJO4dWZh0niQDJO8lmZaXmgADJO4dWZh0niQDJO8lmZaXmgEAoeeeABetIBIpCgOQtqrloLBHYIUDy7rDgEREoCgGSt6jmorFEYIcAybvDIvSI8YhAFgiQvFk0A40gAvEIkLzxmDEFEcgCAZI3i2agEUQgHgGSNx4zptghwKMRESB5RwSfRROBPgiQvH3QY1oiMCICJO+I4LNoItAHAZK3D3pMSwR2CAx+RPIODjkLJAIYBEheDI7MhQgMjgDJOzjkLJAIYBD4EwAA///Fol1bAAAABklEQVQDADi0p/r9hNzAAAAAAElFTkSuQmCC\";var ti=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAABOFBMVEVHcEy97COy3y1yoi603zhfjlp3pTJ4p0mpz27a6tcuY6Gz4S9pmS297CQgV50dVJ4nXKGWuuqdzCey4SOevuudwfSLuiVqmNdThMeSwiX///+exPdfjyuZwPSLuyRomCqOtuy04x0lXKZjkyqw4B6OviRxnNaVu+6BsSWVxCKr2h+byiGYxyJSgsKezSGo1x+SwSN5qSdKe71tnSm76hxxoSl1pSh9rSYbU6B+SBgtY6yj0iG+7hyHtySBquGg0CCGruSEtCV8pt13odpqltFZiMdlkc43bLVfjcqKsee56By35h2l1SCt3R5Ddbk+cLU0aK95quuRvPSEsu9roOWycCVdld9NidjBeyk4ec/RiC74+/Hq8efh7cXL2rJ2OwHO3u7Bl2+ty3+tzNbRtZzJ6HSWumCTaUlth7IzAAAAGnRSTlMA3GegQkJuEicObYnMry3To3G00EOj1K3c6e9b4CAAABpASURBVHic7V0JQxrJEsYTEI3GJCa7iqCgEHVRHwi7ind2s3hsEjVegBqJ7v//B6/Pme6ePqZhEHX9BpjTnq5vqquranrGUOgFL3jBC17wghe0HeFOV6DDiHZ1d7oKHUW4q1zu7XQlOomhcqHcFel0LTqHoQJA+U200/XoFGIFjKFOV6RD6N6j+G8awu79vX2Mva7/oiHsndp38abTtXl49E5B7E8RxDpdn4dG5M0Ui3RzfWG496m2nXBXWoBtTxDt7R4CXtRT7UBiovzptM21DAPhC2WIJ2s8ut8cCnjjNyyKdg/tQ/8JuRBdba1lW9F9MAdxOEfhzxnojU0V9goUe0+YgFDvmzkOflSgd2h/j8NTJiAUGl3kYFSB3jf7AqaeNgGh2AELg0ELDwG/ATsOeAZ+n7wHFVs7WENAM60KdKenJHiq3aCDGBR8cxP+rK1pLmdkKD3l7TrT6dGHq2qbMLqJkIPfnNIX6J0DHWUa95dpt+tMHz59Fzo8lnOhup6xOdFroHgGgXRkYd6FvCeMzalw8FRjARa9CwDz8wtwkl5Qobdk8eZZ5BNHFxyMSXbzfSWHzafeC2KEf/lIseS9orE1DZ6+DUToX3LgaQO9uU011N3GE8PYDMLSzIzYBiI5HeY7Uts2oHdyhoLvB8Kj8zo8fTeIomeSglfq7gUtnksLAJq+TjDZw24Of9RhYewZ3VoepQxwWh2DdhF2Dksfl/AXb1jCa8/ADXQQyW4jZEvMVe2bEbGEf/Hsl2ekAEAFsgDb4NPnbuvxEMDhOSkAuNrZbAlykO13NkWQVVyfVOA5WQCIsRKGawX717Xo1xT2FNG/vFwCU9GxguGxbTXW13t0hT1FRIrLCIPOhqwWz6wBAPQUi5CDorNeQmahVMqiicyyWbzy3BoAQF8Rg17awZIGz1D+UDgPpF8prpCIOEyahAylQX1RTxQ9KwjEEehDohbJx53AWvHZGUCMvpV8Pu8Q0F9UYXnw+RlAhHAegRBA9AEAtgs8x3im1x+ghyVgcEWB5yt/qD+RSOQTlIC8HM/R/lNEEpABQoBc/MFnkQdXITwIGcAEhKEyeND/TM0fRU8ikUo5BHjQ86wvP0R/CgBfZC8Bg32Gv34GeAXknyAEpHj8F8QHgATgJY6Aif+I+KDvm5igbv5ECk5A+InB5276GPRMTFA/B3ABMdj/7C0fi76JCeroAC4Ge/r+O9eeoM919IzNPhyO9PX1I/T2RcKPmqswqGgPRH9A1xQU2DM4VlwulWCOCGYJx8ZG+x/jrbJwpL9nbBsmsgBQML8y2CINoMTBlSLOFGACsjBLur4+OTMzFut9TJoQhcKvb8MbHkT+ZRjQg5BucLBJEsL9IEqCETLOIDoqAOVH95iXxmKPxGxGusdAjSbX1+EdL5jJJPKTuB5GNj2WJj7Sj2JEnB2QEoDvJY52vi2Ee0d/AdLDOzuEANoCkAKsoNAOObi+LX20rycFIiTCgEoDIAELC/Njnb1vFon9gu5fIvl5ApYFAkD0AzgwPzoZ7R9MJYj8eZUGTDoE5OY7qAWRUXQne4bTgKxrA3gCIAWpCQMH4X7gFOKjgfj5FWwENATM5zZzo52xBZHRBTTeyyVgXWwCgIL8iqsBCeLwqosEThERP8FqQFFHQC63Od+BdhBBg/4QAUscATINyDsagCiYkPr8oOlP4CMoASsmAj4SAjbXHloJojE47hUxICOAsYJIA4gKYAYmUjLHHzT9CSR/IuUqAFSBoktACXlCggbMIwIONh/UEnQv5HKIANoEZqQaQFUA57xSVANSJPhxrEG0rx9FRClGAYgOuFYQ3TNUErB2cPBwYykjozkiv9MEZiQawHQDCbYJYPkRB8A/AJ7z4CDdQORPuSrANQE9AYujD+QadufgiH+WAZMGYApSCV4FPEjxKsAaAacbYAlY+riArSAhYO7NQzSDyOjmmksApwGTKg1I5OUa4GEg5TECUg3gPCFkBREBi3Pmx7FaRm8OPfniaQOMJ5RVuIKsFZSSkGI7AVcDDK4gS8DcXLsNQezggCMAy7/kaoC8H8Spfyfxp9QBrwrgO4ZyAj5SAjZdAg5H2/qajtiiS0CO7QaJBqzjYMisAWYbkKeuILEBJY0nxBJw2MYXlUTeLC4KGuAxgoIGOK5gnjECE0oVEI2gNBjwdgMcAYdte0sFlB8QcCBogOMIyAjgoyF/vUBCcAWLgiuoJmAREdAuBuATwA4BmxwBS55oSHQFOUdAZQRdCrD8ibw0GOAJwG0AEnCACUinDw/bwUAEPgNOCFgzEoA1AGVEsAb46QhTnC/MNoFlMwFrjgak01NzwTMQWZubYzQgl1P7wkgBSm4TcHzBlCu/igK2G7DTAI6AqamgGYgsHh5C+WUEeKygKRw0aABnBX1qgGMFKQHpYF2iKHwNxBxhwLUBoivIEFDi+0FqA/T94IQoPqcBy4IruCRzBCgBweoAkv+QtgHREzIEA3lGBQyekOMICJ6QzBEwEbAfJAMxaFkZDUAEzCsdAUYDipwGpAy+MKFAtIIKX3hJ4QkRAvaDe3kdfBMMQ8CByRNS5YX9a4A0HCypNSDHa0AaEbDfFZBP2Iu6VrcJUCMwzxkB6gv7jIa0NkASDnqSYp5oyOkGHAL2gnnpQrRryiFA1IB5qSMg0wDOBqgYEGwAEwws6wnYJATMuUYAElAIJDYcmkpLCNiUxMOytGiRswEGX1jIiWnzwjN8TmgNp0R4Avb2AjCE3bBT9doAH02A6wYYV3BC4wh4o6E8pwElVWJ8U6oBhdYNYRTLn5bYgJwxK1h0bg4K0ZCyG/D0goIGSAlgkmKuFcQaUGj5sfuhKVYDNEbQ5Aj46Qa8NoDLCcnTogsSArAGAAYKhRY9wu4pkYBF7Ac4GrCgIKAkSYxTBtQpISYadFWguKIjYF70hNKMDSgU9ltrBF37pAlIPCEtASZHQEZBSswJeTQg6/GF5QS4TaDQ2nv4Yvv7rg2QBwMeAnSOQMrKERBdQTEvrI6GHBWA72FroSeIdOFXWSk1QH1nQKcB8uvv6QbcrKAiGpqRETDnGkFMQCtvM47t+yLAGw5mFUMETIlxhQZIs4LKvLCgAeXm7WAkvb/PtgExJWIKBhRDBPyGg44NKIp5YUNalNEAaATKTccEMSK/1BPSNQFpXph1BJQ5Iewmia6gGA6a8sJcN1Aul5tUgSh+H7C3CUjywktcXlimAawKKI1ASuIMm0fJOGlRLinmEFAoN/kuwu49SoDCE5K5gtsSR8AbDJiygsL9YQUBS2I4KHUEoAo01RFEu/b2NDZA5wtrNMCJBzUqkJBpgHqUzAIJBmQagN5H2uQ7eXv3HAK4eNDOF3ZsAM0LJ4j0qeL97dVVvYZQv7m6ur2/z6eIFghDBPiEQFZJwIGsCUANaModHFIQsCgQoPKFhZyYowFAwpXbq3r1VwQyI6jWAQ+JCTJSinUFl1U5IdYREDVgn9iAcrmJxEB0b0/eBEQCVIlxaV44NZG4v6rxUosALNyvIEMoGgFVUiwnT4tSRwCgCTPYvefRAMYGmDwh/uYYVYGJieWrmlZ4h4Sr2yKgQBoMwCYwacgLpwUCyvZtYKjAE5BmbMABmxdW3BnwDhRLJe7rvqQnqN3e05tD2rywJxriCUBNwL4NRLoKRAUkvvCBkBjXEUBUAGi/nfi4MdyupBKqflA1SESqAdaJke6CSgMkWUHPcFkmGMAEJBL3/nTfA8BB3mqUjDccREbAtg0McQRMSaIhGQGSnBgiILFy1Zz4ELWr5bxqlIwnMS76wlQDrN3hgk4DRAI+MsOEuH4Qh4P5xK3e7usB/hZ0CytmX1hFAKLA0hfqdQngUyKUgDVBA5R5YSB/sYXLT0mo3xaLegKYrKDXF7buCGM8AVwTWBS6QcV4YUpAvtnWLwBSoAoHc0oCCk4bsIuJhzABXldwUUiKGW+N5G8DER+idgvcK2kwMM/7wk5WcJ8hwCoginYVOCOgzgqa8sKJ1tWfo2B5mdWAGTJkXuoLt2IFI4WC2Qr6ujUSqPyIglKJbwIfxWDAmxUsW1vBbt8EqFxB7Ajkg5YfmsP7UlZGwJqaAPtuICYh4FBFgDorGPj1x7i6z25rBokoNKDLZjD9EPrXLuqEgDktCjWgTfLDUGl920yA4AhY5QS6ykQFFFlB/TAhogHF4Oy/B7VbxIB6lIyQFrXsBqL75XITBMxwwUDxvn3yA9SX1n0TULAlIFJQEEDbgMQXRgSsM2nRbZX/E4xfBNvBpGrEuCwYsOkHewtsE+B7Ac2tEVYDSsvK4PcyKNNQu530RQBhwCIl0F2mGuBNCIhpUTkB2WW1Abi8/NlKbMSgejUzw7uCIgH7jA2wICDGEaC5M6DMC5fu1TJeAgSlBNXbGW1WkLUBFo5ArFwQbIA7UIzLCsoGiiECiprsDyQgMCX49UqRFGN84bK1Kzik1wDVeGGXgJKuB7zEsE6QKVC9/WhMixYss2JDjgYIVlBPANMEdNL9IAz8DIqBK9QGvASIrmCrGqC8QewhQKsAVAMuL39YdYg3440bxa7a2oI5MW5BQPSNVAN0wYBAgFayHw4DNkpQ3fp99fPFzo3cdtx5hggwvYB1TggQUEYU8GlRfwRMrm9n9T7gJYOf/pWg/vnz59XV6YsNqR7UNzWJcWsCusq4DfhPi3JZway+k2M04PLcokOcBRqwevEZcJCR0Fa9y20GSgDTBDxZQR0B8PFR/WW95HDuu0NsTEMCVi8uVldBU5AyoA0H7QgQ42HBE9I+QGyIgn6csxrgXwmqXz5j+S8AEatnDQ9x9cVNeTTULg3wjJLBGpA1hMGAADSdY/HPfSvB7OcLOOGf1c9ncfHPqnebirxwwZaAgmgD/BIAVEDrBGACLqnwhAt/XlEDCQ+VAM7gQlJsbHcuAWkxIWBBwFXZ6QYEAph4eE06Tgq2AcP1/HEO5T4/dxUBwI8S3BDBCQWIjh2BgjpuA2mqAs3dGvlUV7mCh0I87E2MT65r4iBCABH//Nyl4tyHV1T97cKDz6I9rKUXRVewbHuDOPphtnqnywurnp9FGrBtyoT9OKe45GZmr2jWSwDELk/BHfvo2J7bDVgEQx8utn6t+yXAkxU0GXWXAAE/TM2gIifgQnCO7hb5hyYKtuFw9P3FRQaY1D3J/VEVAYwGmAyakoDzcwN3NyoCLi5mWQrqUkfAQgMAARcNyICCAEk05OaEzAR8p/J+5+bfz79/19tCQMCZO8EP+sI1XgtqU5KsoEVG6D0sFJRXlybFNMEAGi5rsmaAAGaCP/QXznX0Vc+I3Ojj0HCBqeDM4d2hJy9sR8DF2Z916FmowkHNrRFTS/7x/TsRnOGAzrRKUP3rTAWsDRsO+dU7z50Bi6zwACrzT1ha3SotilxBHwQgafGX/tLZ9+9qr6g6qySA0rDlUFBPCxpgQcBbXNynGqJyyicBxBeeMciPNMDBOT/HM6US7BgIgKhQCupCN2BxY+Tt2ekZ/OygitS90dBiYATIofKKNqCEp/h7enbmLJw6EwSNEWr7XFrU5s7Q2ekpKO30b8RAFSiBbsC08MxAEASolKBCKga/cEYXmM3w92wcEwi112kCexY3R6O4IFAUHt4FCqKPzhnfIxEMAX98l+pA8tSIM/zToAw4TcBqpOAHpzgywA0YVV1WkPWEJo0E/GHEtcIprJgJcHjA2UPIAPaErMYHvCfFnJyeUgbqHhsgJ8BHL3BtEv8PVVhQobVCX36RrJ/gHzD7htyCO6oBViNE3p2eYICC6CDH+t3hoegLS0aL+nCEDARc/6vsByunpFYnpyfuEq3sCVmhP6cVSEGdaIAVAa+Zk5xe0Ut6l1ZpAJcXNrrCegJU6g9Q3WDrdcJIDpZm2XW6FaZP61gDrMaLv+WKcUKU2t2cjoAln7GAjgC1+kMCvp1Y4vQEdAh1+2fnwrsn4FzodPDHDdLq6UUjAcZwWEPA9b+6BlTD9QGfHfi7Q5bwAt1O6oxmcDppVKuwG7R7cmwX/Cn8oB+GAeATLC4agoHmCbjWqD8m4But1wnz+YYkddfA7w7dCrdt3UAG7MbLv/vG4aTh1qJ+aHh60pgRUhFw/a8pH3BC6rPzTQ2y74TZdFK5KZet5A+9Fotlqla9OzjwEuDGw0umnKCCAL36Q4xr5DagYfnIyNtv37bwXx6jDyiBqUjtbg0bAdkwIWM/KCfg+tqcE8x8g9XacupEAbds4V1wB/o9pgKQYy0fGop+Oxbwjb0TU60vbrqJcTEpZlBkhQaY7w/VxDoxtTOsHx/bPj275T0Hdy+qere5qXh+1pQWlhFw7WeswI2aACMqts8MvRNLSAIGuErW71QPEBtuDPz0EKDt/F00WiBgy/YdAq+PkzyOj46PhdvS9bV5+SARvSvk0YDrP1RDPzhUk2KdLPDOUv5QJHmUPDo6PnK+cD1Z4UWrQgqs7wyIGmDo/B3Ut5JJWBP2I1vyroM/syYgWjlCgEUlyRwuCrLV7uYXvGlR/f1xngA/1h+jkXRqRHEsLiW9e9Cm5GtbAkLvmNLYosTb8rW7hQXxDnlWZ9GqHAGa0E9ALSOpjW+8tSbgraqohihd/fbjR/6fjejHyLAE+FV/gCs7iQVYyx+KHsXjcfiFP/gDvnAh47lmmAKXgG1tP+AScO2j86eoZo5oXejErsWdRWavOyXtCQi9i6uQufIMzQAULLFvEtHptUOA2fdlcHOkrE88Tq+VEtY2UEtAPO5pBlALZmacEePaUTKEAFPox6Pa0FRnnHzZJX6vvQ0ERgD9LZjgh87IcrwhucT126VJOl5YN1QSE2AM/XhcHeEqkLrQqtCNdIdzDKkw3W1vAwGS7nl48cFX0gx+hc95z8Cnudb1KoAIsFJ/aAEcwamkcaY+4+McOXHuUIBkU++SesdRPS4sS5UAtYRt9I8W1FYAEOC/8ydo8MJ6KuPdyPHRjAmAbWBch3hDpgRQDe7Xs7oB8z+vLdUf0JrRVsWIplpAKKQnQKkE6BUo9yWlCvz0Ffpx5TVak3+8ybepvTOVq1ICWOeaUsif1g8KtCp/cy0AtAFz0UolCBI3JlU0oZlOEMFPy8v4fDNQ86i3Kv940+9VNbYBCE07CAQtG4DxZLPyhyJ+uEduUfsoaF3+5luATxVAblHb2kGj5QYQb+HNwq+pm+k4xcyMTNQzbAsF1ZujceF8ykl2HPw02wdARGk4geRkQ4/xOBuAwIV2mAIxBBrnIx0ictytC6mNe3GaDIQcvONOypRKNtN18DlKNoLWghonyrh74vH4OFsvpzLeaHA8nmlFfhQS+sbRUbANoWZzciVaaQGgDeiyAjIESMFNBpbnOQHz66tCTcYBjgpk4hnwcSe67v3g6SjTMLwx0h9q46hM4ZTemrgr3I9zVGsKAIBOksmws7g7dz7sxowkYWR9+ePkhEzxzNfZxyxxlaEMtaoAoCfMMIhndHD3JjM3LXFQG09qz8QJra1VpVX5Q9GKuSpeJJMZ5aPORlQbGR/y+0NLfSBRgSSSJ4M+sGL0myHbMu7OZDJJ5mixoXjUWX/1G8kkLQ6f0Tmhc66Mu8s9hq8J/ivre6ISDYgmsTi+IB4Yt7WIQPmDRAAKAJyhVmpwfJwc920PajeZSiUo2SEqgfyzrchWElSr4v6wH88kWalUMoAEgyZUazfxChLfUwqZ2BN6F6R/EYgCABWocEiSrxW2IAkqFqo3N+OZrS1zKXanTW4E9N/WonzVtsjXCluVra2NjQ3IQ+MGMIEBlhrjmQrc4Ud+y9NuBaQAQAW2ggQUFw/pQitbG4GWzp4osH/BHAV1RNXk67ohmW2wB8lE22CP2pAfI/mTDcnqBrPBUw4gNjAFAL7AxhPEbnDyh6K7Gxs7G+jLfjboL7eJru7IamWBHbd4/uTuCekRO/wXb2s5CmDxeufJ4X2Q8odCs7Jz7DK//DYzduGR/g72HrUr3cWvBPYvVzHe7iqxo96lwU7zf6o6N7cSoAXEeN9qXR8Ws4F1gRTRWQ92vau79BMkdp1zKU4hWQ/UAmK8Dlaq9iJgC4gQfT/7CUyzzK+z9omuyycFlDvYIz7RM3gL5TYz1Zj99ClgC4jx9tNTwV+BW0CM93+1qb7cUgAnaUcDgIh++Otx4hO/+HdbGgDE2787JqMF/m5TA4B4//cTQLsaAMKHTktnxp+Bu0As3v752PFbG1wgFq9/67SEevzW1gYA8eG3R40P7ZY/FHnUDHxoWw/ooq/TQuow0H75Q6GB/z1atN0AQERDHzotpwrtNwAY4dYY+CcgcT3lfrB5UU5L6PvnUaLvoeQHZoCc8otQhS/SRWt8ERa+OKtfpAXjTQ9iAB0Gvpjwj/GIgPGg8gN/6KHlM2HkYeUPhUc+B4kvLR74ZeTBDKDDADjtV7cGX7kZXfiq2sge/hV+vjJrwoK7Kj8Q4cHlBwx8fTT4Mvzq4eUPhV51Wm4XHZEfuAOrq6tf8fcrmugP96Xb+N3OTvKn3jLEI9hjv/J/2CH5QWe4+ijwwB0gz8C0U41p8mU28RumV8WVafcod+c0f5BmE1no2PVHDEyvThOsMl92G92wyq6xO9AeZ/Oq8Bd8savsZrzWweuPGZgWxBLE4ERlFoZHRgYgRkaGhZ2rbhHaEvC3o9efYcAGq19HBrh++9WAy4IlOi5/Ewz8MyCpdfjVQDMcPAL5IQO/85PzmXZndOVrDwhaFW7bK6AH4p9Py9bo1Bn/x4sBptJ8PXk+gPgD+pg9PDDMcyeUyH8ei/zAI3JrRYAq7Kzj5ekRPxmLVyP0z0gJbCG/s8U+dPynw6thR3SGBW5teMTn9QoDCvygw90fjzDLgAzDAzbh2qsBQ3G/P5rm70DHgO+Lz5Y3MKwj4TGpP4Xqqo1YXXwGYegeyIt8bJefoH+Yb/+/Dzdz7XlAFkaGXW0ARTZL6EMAXrNhp6KvArtQ4VcOgiryBS94wQte8IIXhP4P4nVznqPTxGMAAAAASUVORK5CYII=\";var{TabPane:Mn}=s.Tabs;function si(e,t=!0){let n=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(!t)return;let o=document.querySelector(e);if(!o)return;let a=!1,i=!1,l=0,u=0,c=0,f=0,m=0,d=w=>{o.scrollLeft=w,n.current=o.scrollLeft},g=(w=n.current)=>{window.cancelAnimationFrame(c),window.cancelAnimationFrame(f),window.clearTimeout(m),c=window.requestAnimationFrame(()=>{d(w),f=window.requestAnimationFrame(()=>{d(w),m=window.setTimeout(()=>{d(w)},80)})})},p=()=>{a&&(a=!1,o.classList.remove(\"is-dragging\"),window.setTimeout(()=>{i=!1},0))},v=w=>{w.pointerType===\"mouse\"&&w.button!==0||o.scrollWidth<=o.clientWidth||(a=!0,i=!1,l=w.clientX,u=o.scrollLeft,o.classList.add(\"is-dragging\"))},y=w=>{if(!a)return;let F=w.clientX-l;Math.abs(F)<4||(i=!0,o.scrollLeft=u-F,n.current=o.scrollLeft,w.preventDefault())},k=w=>{let F=o.scrollLeft;if(i){w.preventDefault(),w.stopPropagation();return}g(F)},E=()=>{n.current=o.scrollLeft};return g(),o.addEventListener(\"pointerdown\",v),o.addEventListener(\"click\",k,!0),o.addEventListener(\"scroll\",E),window.addEventListener(\"pointermove\",y,{passive:!1}),window.addEventListener(\"pointerup\",p),window.addEventListener(\"pointercancel\",p),()=>{window.cancelAnimationFrame(c),window.cancelAnimationFrame(f),window.clearTimeout(m),o.removeEventListener(\"pointerdown\",v),o.removeEventListener(\"click\",k,!0),o.removeEventListener(\"scroll\",E),window.removeEventListener(\"pointermove\",y),window.removeEventListener(\"pointerup\",p),window.removeEventListener(\"pointercancel\",p),o.classList.remove(\"is-dragging\")}},[e,t])}function Zl(){let[e,t]=(0,r.useState)(\"quark\");si(\".account-tabs__nav-scroll\");let n=[{key:\"quark\",label:\"\\u5938\\u514B\",content:r.default.createElement(st,{qrcodeUrl:\"/quark/qrcode\",cacheUrl:\"/quark/cookie\",checkStatusUrl:\"/quark/check-status\"})},{key:\"uc-cookie\",label:\"UC\",content:r.default.createElement(st,{qrcodeUrl:\"/uc/qrcode\",cacheUrl:\"/uc/cookie\",checkStatusUrl:\"/uc/check-status\"})},{key:\"uc-token\",label:\"UT\",content:r.default.createElement(st,{qrcodeUrl:\"/uc-tv/qrcode\",cacheUrl:\"/uc-tv/token\",checkStatusUrl:\"/uc-tv/check-status\"})},{key:\"115\",label:\"115\",content:r.default.createElement(st,{qrcodeUrl:\"/115/qrcode\",cacheUrl:\"/115/cookie\",checkStatusUrl:\"/115/check-status\"})},{key:\"baidu\",label:\"\\u767E\\u5EA6\",content:r.default.createElement(st,{qrcodeUrl:\"/baidu/qrcode\",cacheUrl:\"/baidu/cookie\",checkStatusUrl:\"/baidu/check-status\"})},{key:\"ali\",label:\"\\u963F\\u91CC\",content:r.default.createElement(st,{qrcodeUrl:\"/ali/qrcode\",cacheUrl:\"/ali/token\",checkStatusUrl:\"/ali/check-status\"})},{key:\"guangyapan\",label:\"\\u5149\\u9E2D\",content:r.default.createElement(ld,null)},{key:\"xunlei\",label:\"\\u8FC5\\u96F7\",content:r.default.createElement(id,null)},{key:\"yidong\",label:\"\\u79FB\\u52A8\",content:r.default.createElement(sd,null)},{key:\"tianyi\",label:\"\\u5929\\u7FFC\",content:r.default.createElement(ni,{api:\"/tianyi/account\"})},{key:\"123\",label:\"123\",content:r.default.createElement(ni,{api:\"/pan123/account\"},r.default.createElement(s.Form.Item,{label:\"\\u514D\\u767B\\u5F55\",name:\"useDirectDownload\",valuePropName:\"checked\"},r.default.createElement(s.Switch,null)))}],o=n.find(a=>a.key===e)||n[0];return r.default.createElement(\"div\",{className:\"account-tabs\"},r.default.createElement(\"div\",{className:\"account-tabs__nav-scroll\",role:\"tablist\",\"aria-label\":\"\\u7F51\\u76D8\\u767B\\u5F55\\u65B9\\u5F0F\"},r.default.createElement(\"div\",{className:\"account-tabs__nav-list\"},n.map(a=>{let i=a.key===o.key;return r.default.createElement(\"button\",{key:a.key,id:\"account-tab-\".concat(a.key),type:\"button\",role:\"tab\",\"aria-selected\":i,\"aria-controls\":\"account-panel-\".concat(a.key),className:\"account-tabs__tab\".concat(i?\" account-tabs__tab--active\":\"\"),onClick:()=>t(a.key)},a.label)}))),r.default.createElement(\"div\",{id:\"account-panel-\".concat(o.key),role:\"tabpanel\",\"aria-labelledby\":\"account-tab-\".concat(o.key),className:\"account-tabs__panel\"},o.content))}var I=bt.default.create({baseURL:\"/website\"}),qt=(e,t=\"\\u8BF7\\u6C42\\u5931\\u8D25\")=>typeof e==\"string\"?e||t:e&&typeof e==\"object\"?e.message||e.msg||e.desc||e.resultDesc||JSON.stringify(e):e==null?t:String(e);I.interceptors.response.use(function(e){var t;if(e.data.code!==0){let n=qt((t=e.data.message)!=null?t:e.data);s.message.error(n);let o=new Error(n);throw o.handled=!0,o}else return e.data.data},function(e){return Promise.reject(e)});s.message.config({top:\"40%\"});var Jl=\"https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js\",Ir=\"yidong-aliyun-captcha-button\",Ql={2:{prefix:\"7elm7k\",SceneId:\"1rmw421p\"},3:{prefix:\"7elm7k\",SceneId:\"kcx16g7r\"}},Rl=(e,t)=>new Promise((n,o)=>{if(document.getElementById(t)){n();return}let a=document.createElement(\"script\");a.id=t,a.src=e,a.async=!0,a.onload=()=>n(),a.onerror=()=>o(new Error(\"\\u6ED1\\u5757\\u7EC4\\u4EF6\\u52A0\\u8F7D\\u5931\\u8D25\")),document.head.appendChild(a)}),ed=()=>{let e=document.getElementById(Ir);return e||(e=document.createElement(\"button\"),e.id=Ir,e.type=\"button\",e.style.cssText=\"position:absolute;top:-50px;left:-50px;opacity:0;pointer-events:none;\",document.body.appendChild(e)),e},td=()=>{let e=String(navigator.language||\"\").toLowerCase();return e.includes(\"en\")?\"en\":e.includes(\"tw\")||e.includes(\"hk\")?\"tw\":\"cn\"},nd=(e=\"\")=>{try{return window.btoa(e)}catch(t){return window.btoa(unescape(encodeURIComponent(e)))}},rd=()=>{let e=navigator.userAgent||\"\",t=e.match(/Android\\s+([\\d.]+)[^;)]*;\\s*([^)]+?)(?:\\s+Build|;|\\))/i),n=e.match(/(iPhone|iPad|iPod);.*?OS\\s+([\\d_]+)/i),o=e.match(/(Edg|Chrome|Firefox|Safari|Opera)\\/([\\d.]+)/i),a=navigator.platform||\"Web\",i=o?\"\".concat(o[1],\" \").concat(o[2]):e.slice(0,120);t?(a=t[2].trim(),i=\"Android \".concat(t[1])):n&&(a=n[1],i=\"iOS \".concat(n[2].replace(/_/g,\".\")));let l=\"\".concat(window.screen.width,\"X\").concat(window.screen.height);return[\"\",\"\",\"3\",\"7.17.7\",a,a,\"\",\"\",i,l,\"\",\"\",\"\",nd(a),\"\"].join(\"|\")},od=async e=>{let t=Ql[Number(e)];if(!t)throw new Error(\"\\u6682\\u4E0D\\u652F\\u6301\\u5F53\\u524D\\u6ED1\\u5757\\u9A8C\\u8BC1\\u7801\\u7C7B\\u578B\\uFF1A\".concat(e||\"unknown\"));if(await Rl(Jl,\"yidong-aliyun-captcha-script\"),ed(),typeof window.initAliyunCaptcha!=\"function\")throw new Error(\"\\u6ED1\\u5757\\u7EC4\\u4EF6\\u521D\\u59CB\\u5316\\u5931\\u8D25\");return window.AliyunCaptchaConfig={region:\"cn\",prefix:t.prefix},new Promise((n,o)=>{let a=!1;window.initAliyunCaptcha({SceneId:t.SceneId,mode:\"popup\",button:\"#\".concat(Ir),language:td(),showErrorTip:!1,slideStyle:{width:360,height:40},success:i=>{a=!0,n(i)},error:i=>{a=!0,o(i instanceof Error?i:new Error(qt(i,\"\\u6ED1\\u5757\\u9A8C\\u8BC1\\u5931\\u8D25\")))},onClose:()=>{a||o(new Error(\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"))},getInstance:i=>{setTimeout(()=>{var l;return(l=i==null?void 0:i.show)==null?void 0:l.call(i)},0)}})})},X={IDLE:\"idle\",LOADING:\"loading\",WAITING:\"waiting\",SCANNED:\"scanned\",SUCCESS:\"success\",EXPIRED:\"expired\",ERROR:\"error\"},zt={NEW:\"NEW\",SCANNED:\"SCANNED\",CONFIRMED:\"CONFIRMED\",EXPIRED:\"EXPIRED\",CANCELED:\"CANCELED\"},ad={[X.IDLE]:\"READY\",[X.LOADING]:\"LOADING\",[X.WAITING]:\"SCAN ME\",[X.SCANNED]:\"CONFIRM\",[X.SUCCESS]:\"SUCCESS\",[X.EXPIRED]:\"EXPIRED\",[X.ERROR]:\"ERROR\"};function st({qrcodeUrl:e,cacheUrl:t,checkStatusUrl:n}){let[o,a]=r.default.useState(\"\"),[i,l]=r.default.useState(X.IDLE),[u,c]=r.default.useState($t),f=(0,r.useRef)(null),m=(0,r.useRef)(null),d=(0,r.useCallback)(()=>{f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearTimeout(m.current),m.current=null)},[]),g=(0,r.useCallback)(w=>{d(),f.current=setInterval(async()=>{try{let F=await bt.default.post(\"/website\".concat(n),{sessionKey:w});if(F.data.code===0&&F.data.data){let{status:_,cookie:z}=F.data.data;switch(_){case zt.CONFIRMED:d(),a(z),l(X.SUCCESS),await I.put(t,{cookie:z}),s.message.success(\"\\u626B\\u7801\\u6210\\u529F\\uFF0C\\u5DF2\\u81EA\\u52A8\\u5165\\u5E93\"),setTimeout(()=>{c($t),l(X.IDLE)},2e3);break;case zt.SCANNED:l(X.SCANNED);break;case zt.EXPIRED:case zt.CANCELED:d(),c($t),l(X.EXPIRED),s.message.warning(\"\\u4E8C\\u7EF4\\u7801\\u5DF2\\u8FC7\\u671F\\uFF0C\\u8BF7\\u91CD\\u65B0\\u70B9\\u51FB\");break;case zt.NEW:default:break}}}catch(F){}},2e3),m.current=setTimeout(()=>{d(),c($t),l(X.EXPIRED),s.message.warning(\"\\u4E8C\\u7EF4\\u7801\\u5DF2\\u8FC7\\u671F\\uFF0C\\u8BF7\\u91CD\\u65B0\\u70B9\\u51FB\")},12e4)},[t,n,d]),p=(0,r.useCallback)(async()=>{if(i!==X.LOADING){d(),l(X.LOADING);try{let w=await bt.default.get(\"/website\".concat(e,\"?t=\").concat(Date.now()),{responseType:\"blob\"}),F=w.headers[\"x-session-key\"];if(F){let _=URL.createObjectURL(w.data);c(_),l(X.WAITING),g(F)}else throw new Error(\"\\u672A\\u83B7\\u53D6\\u5230 sessionKey\")}catch(w){console.error(\"\\u83B7\\u53D6\\u4E8C\\u7EF4\\u7801\\u5931\\u8D25:\",w),l(X.ERROR),s.message.error(\"\\u83B7\\u53D6\\u4E8C\\u7EF4\\u7801\\u5931\\u8D25\")}}},[e,i,d,g]),v=(0,r.useCallback)(w=>{if(!w){s.message.warning(\"\\u6CA1\\u6709\\u53EF\\u590D\\u5236\\u7684\\u5185\\u5BB9\");return}(0,Mr.default)(w),s.message.success(\"\\u5DF2\\u590D\\u5236\\u5230\\u526A\\u8D34\\u677F\")},[]),y=(0,r.useCallback)(async()=>{if(!o){s.message.warning(\"\\u6CA1\\u6709\\u53EF\\u5165\\u5E93\\u7684\\u5185\\u5BB9\");return}await I.put(t,{cookie:o}),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")},[t,o]);(0,r.useEffect)(()=>(I.get(t).then(w=>{a(w||\"\")}),()=>d()),[t,d]);let k=()=>{switch(i){case X.SUCCESS:return\"#22c55e\";case X.ERROR:case X.EXPIRED:return\"#ef4444\";default:return\"#3b82f6\"}},E=i===X.LOADING;return r.default.createElement(\"div\",{className:\"qrcode-card\"},r.default.createElement(\"div\",{className:\"qrcode-wrapper\",onClick:p},r.default.createElement(\"div\",{className:\"qrcode-glow\"}),r.default.createElement(\"div\",{className:\"qrcode-container\"},r.default.createElement(\"img\",{src:u,alt:\"\\u626B\\u7801\\u533A\\u57DF\",className:\"qrcode-image \".concat(E?\"qrcode-image--loading\":\"\")}),E&&r.default.createElement(\"div\",{className:\"qrcode-overlay\"},r.default.createElement(\"div\",{className:\"qrcode-spinner\"}),r.default.createElement(\"span\",null,\"\\u751F\\u6210\\u4E2D...\"))),r.default.createElement(\"div\",{className:\"qrcode-status\"},r.default.createElement(\"div\",{className:\"status-dot \".concat(i===X.WAITING||i===X.SCANNED?\"status-dot--pulse\":\"\"),style:{backgroundColor:k()}}),r.default.createElement(\"span\",{className:\"status-text\"},ad[i]))),r.default.createElement(\"div\",{className:\"cookie-result-wrapper\"},r.default.createElement(\"textarea\",{className:\"cookie-result\",value:o,onChange:w=>a(w.target.value),placeholder:\"\\u70B9\\u51FB\\u4E0A\\u65B9\\u4E8C\\u7EF4\\u7801\\u5F00\\u59CB\\u626B\\u7801...\",spellCheck:\"false\"})),r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:()=>v(o)},r.default.createElement(\"span\",null,\"\\u590D\\u5236\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"}))),r.default.createElement(\"button\",{className:\"action-btn action-btn--secondary\",onClick:y},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"})))))}function ni({api:e,children:t}){let[n]=s.Form.useForm(),o=async()=>{try{let a=await n.validateFields();await I.put(e,a),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(a){console.error(a),s.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(a==null?void 0:a.message))}};return(0,r.useEffect)(()=>{I.get(e).then(a=>{n.setFieldsValue(a)})},[]),r.default.createElement(s.Form,{form:n,className:\"ios-form\",layout:\"vertical\",initialValues:{useDirectDownload:!0}},r.default.createElement(s.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\"},r.default.createElement(s.Input,null)),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,null)),t,r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:o},\"\\u4FDD\\u5B58\")))}function id(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(\"\"),[o,a]=(0,r.useState)(!1),[i,l]=(0,r.useState)(!1),u=(0,r.useCallback)(async()=>{let d=await I.get(\"/xunlei/account\");e.setFieldsValue({username:d.username||\"\",password:d.password||\"\"})},[e]),c=async()=>{let d=await e.validateFields([\"username\",\"password\"]);await I.put(\"/xunlei/account\",d),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")},f=async()=>{try{a(!0);let d=await e.validateFields([\"username\",\"password\"]);await I.put(\"/xunlei/account\",d),await I.post(\"/xunlei/send-code\",{}),s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat((d==null?void 0:d.message)||d))}finally{a(!1)}},m=async()=>{try{l(!0);let d;if(t.trim())d=await I.post(\"/xunlei/verify-code\",{code:t.trim()});else{let g=await e.validateFields([\"username\",\"password\"]);d=await I.post(\"/xunlei/login\",g)}d!=null&&d.hasAuth&&s.message.success(\"\\u8FC5\\u96F7\\u767B\\u5F55\\u6210\\u529F\\uFF0C\\u53EF\\u5C1D\\u8BD5\\u539F\\u753B\\u64AD\\u653E\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u8FC5\\u96F7\\u767B\\u5F55\\u5931\\u8D25\\uFF1A\".concat((d==null?void 0:d.message)||d))}finally{l(!1)}};return(0,r.useEffect)(()=>{u()},[u]),r.default.createElement(s.Form,{form:e,className:\"ios-form\",layout:\"vertical\"},r.default.createElement(s.Form.Item,{label:\"\\u624B\\u673A\\u53F7\",name:\"username\"},r.default.createElement(s.Input,{placeholder:\"\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\",inputMode:\"tel\",autoComplete:\"tel\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u8FC5\\u96F7\\u767B\\u5F55\\u5BC6\\u7801\",autoComplete:\"current-password\"})),r.default.createElement(s.Form.Item,{label:\"\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Space.Compact,{className:\"xunlei-verify-compact\",style:{width:\"100%\"}},r.default.createElement(s.Input,{value:t,onChange:d=>n(d.target.value),placeholder:\"\\u8F93\\u5165\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",inputMode:\"numeric\",autoComplete:\"one-time-code\"}),r.default.createElement(s.Button,{className:\"xunlei-verify-send-btn\",onClick:f,loading:o},\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\"))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:i},r.default.createElement(\"span\",null,i?\"\\u767B\\u5F55\\u4E2D...\":\"\\u767B\\u5F55\"),r.default.createElement(\"svg\",{className:\"btn-icon btn-icon--login\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3\"}))),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--secondary\",onClick:c},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"}))))))}function sd(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(\"\"),[o,a]=(0,r.useState)(!1),[i,l]=(0,r.useState)(!1),u=(0,r.useCallback)(async(d,g)=>{try{s.message.info(\"\\u8BF7\\u5B8C\\u6210\\u6ED1\\u5757\\u9A8C\\u8BC1\");let p=await od(g);await I.post(\"/yidong/send-code-captcha\",{phone:d,captchaType:g,puzzleVerfycode:p,clientInfo:rd()}),s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(p){console.error(p),(p==null?void 0:p.message)===\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"?s.message.warning(\"\\u5DF2\\u53D6\\u6D88\\u6ED1\\u5757\\u9A8C\\u8BC1\"):p!=null&&p.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat(qt((p==null?void 0:p.message)||p)))}},[]),c=async()=>{try{let d=await e.validateFields([\"authorization\"]);await I.put(\"/yidong/authorization\",{authorization:String(d.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim()}),s.message.success(\"\\u5165\\u5E93\\u6210\\u529F\")}catch(d){console.error(d),s.message.error(\"\\u5165\\u5E93\\u5931\\u8D25\\uFF1A\".concat(d==null?void 0:d.message))}},f=async()=>{try{a(!0);let d=await e.validateFields([\"phone\"]),g=String(d.phone||\"\").trim(),p=await I.post(\"/yidong/send-code\",{phone:g});if(p!=null&&p.captchaRequired){await u(g,p.captchaType);return}s.message.success(\"\\u9A8C\\u8BC1\\u7801\\u5DF2\\u53D1\\u9001\\uFF0C\\u8BF7\\u67E5\\u6536\\u77ED\\u4FE1\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\\u5931\\u8D25\\uFF1A\".concat(qt((d==null?void 0:d.message)||d)))}finally{a(!1)}},m=async()=>{if(!t.trim()){s.message.warning(\"\\u8BF7\\u5148\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801\");return}try{l(!0);let d=await e.validateFields([\"phone\"]),g=await I.post(\"/yidong/verify-code\",{phone:String(d.phone||\"\").trim(),code:t.trim()});g!=null&&g.authorization&&e.setFieldsValue({authorization:String(g.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim()}),s.message.success(\"\\u79FB\\u52A8\\u4E91\\u76D8\\u767B\\u5F55\\u6210\\u529F\\uFF0CAuthorization \\u5DF2\\u81EA\\u52A8\\u5165\\u5E93\")}catch(d){console.error(d),d!=null&&d.handled||s.message.error(\"\\u9A8C\\u8BC1\\u7801\\u767B\\u5F55\\u5931\\u8D25\\uFF1A\".concat(qt((d==null?void 0:d.message)||d)))}finally{l(!1)}};return(0,r.useEffect)(()=>{I.get(\"/yidong/authorization\").then(d=>{e.setFieldsValue({authorization:String(d.authorization||\"\").replace(/^Basic\\s+/i,\"\").trim(),phone:d.phone||\"\"})})},[e]),r.default.createElement(s.Form,{form:e,className:\"ios-form\",layout:\"vertical\"},r.default.createElement(s.Form.Item,{label:\"\\u624B\\u673A\\u53F7\",name:\"phone\",rules:[{pattern:/^1[3456789]\\d{9}$/,message:\"\\u8BF7\\u8F93\\u5165\\u6B63\\u786E\\u7684\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\"}]},r.default.createElement(s.Input,{placeholder:\"\\u4E2D\\u56FD\\u5927\\u9646\\u624B\\u673A\\u53F7\",inputMode:\"tel\",autoComplete:\"tel\"})),r.default.createElement(s.Form.Item,{label:\"\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Space.Compact,{className:\"xunlei-verify-compact\",style:{width:\"100%\"}},r.default.createElement(s.Input,{value:t,onChange:d=>n(d.target.value),placeholder:\"\\u8F93\\u5165\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",inputMode:\"numeric\",autoComplete:\"one-time-code\"}),r.default.createElement(s.Button,{className:\"xunlei-verify-send-btn\",onClick:f,loading:o},\"\\u53D1\\u9001\\u9A8C\\u8BC1\\u7801\"))),r.default.createElement(s.Form.Item,{label:\"Authorization\",name:\"authorization\"},r.default.createElement(s.Input.Password,{placeholder:\"Basic \\u540E\\u9762\\u7684\\u5185\\u5BB9\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"action-buttons\"},r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:i},r.default.createElement(\"span\",null,i?\"\\u767B\\u5F55\\u4E2D...\":\"\\u767B\\u5F55\"),r.default.createElement(\"svg\",{className:\"btn-icon btn-icon--login\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3\"}))),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--secondary\",onClick:c},r.default.createElement(\"span\",null,\"\\u5165\\u5E93\"),r.default.createElement(\"svg\",{className:\"btn-icon\",fill:\"none\",stroke:\"currentColor\",viewBox:\"0 0 24 24\"},r.default.createElement(\"ellipse\",{cx:\"12\",cy:\"5\",rx:\"9\",ry:\"3\",strokeWidth:\"2\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5\"}),r.default.createElement(\"path\",{strokeLinecap:\"round\",strokeLinejoin:\"round\",strokeWidth:\"2\",d:\"M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3\"}))))))}function ld(){return r.default.createElement(st,{qrcodeUrl:\"/guangyapan/qrcode\",cacheUrl:\"/guangyapan/token\",checkStatusUrl:\"/guangyapan/check-status\"})}function dd({visible:e,onCancel:t,onSave:n,panKey:o,panName:a,panPic:i,chunkSize:l,poolSize:u,noSaveMode:c}){let[f]=s.Form.useForm(),m=s.Form.useWatch(\"pic\",f),d=o===\"quark\"||o===\"uc\"||o===\"ali\";(0,r.useEffect)(()=>{e&&f.setFieldsValue({name:a||\"\",pic:i||\"\",chunkSize:l||(o===\"ali\"?128:512),poolSize:u||(o===\"ali\"?20:10),noSaveMode:c===!0})},[e,a,i,l,u,c,f]);let g=async()=>{try{let p=await f.validateFields();n(p)}catch(p){console.error(\"\\u9A8C\\u8BC1\\u5931\\u8D25:\",p)}};return r.default.createElement(s.Modal,{title:\"\".concat(a||\"\\u7F51\\u76D8\",\" \\u914D\\u7F6E\"),open:e,onCancel:t,width:\"90%\",className:\"ios-modal\",footer:null},r.default.createElement(s.Form,{form:f,layout:\"vertical\",className:\"ios-form ios-input-number\"},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u7F51\\u76D8\\u540D\\u79F0\"},{max:20,message:\"\\u540D\\u79F0\\u957F\\u5EA6\\u8BF7\\u63A7\\u5236\\u5728 20 \\u4E2A\\u5B57\\u7B26\\u4EE5\\u5185\"}]},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u5938\\u514B\"})),r.default.createElement(s.Form.Item,{label:\"\\u56FE\\u7247 URL\",name:\"pic\",tooltip:\"\\u7559\\u7A7A\\u5C06\\u56DE\\u9000\\u4E3A\\u5185\\u7F6E\\u9ED8\\u8BA4\\u56FE\\u6807\",rules:[{validator:(p,v)=>{let y=String(v||\"\").trim();return!y||/^https?:\\/\\/\\S+$/i.test(y)||/^data:image\\//i.test(y)||/^\\/\\S+/.test(y)?Promise.resolve():Promise.reject(new Error(\"\\u8BF7\\u8F93\\u5165\\u5408\\u6CD5\\u56FE\\u7247\\u5730\\u5740\\uFF08http/https\\u3001data:image \\u6216 / \\u5F00\\u5934\\u8DEF\\u5F84\\uFF09\"))}}]},r.default.createElement(s.Input,{placeholder:\"https://example.com/logo.png \\u6216 data:image/png;base64,...\"})),!!String(m||\"\").trim()&&r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,marginBottom:16}},r.default.createElement(\"img\",{src:String(m).trim(),alt:\"\\u7F51\\u76D8\\u56FE\\u6807\\u9884\\u89C8\",style:{width:36,height:36,borderRadius:8,objectFit:\"cover\",border:\"1px solid rgba(0,0,0,0.08)\",backgroundColor:\"#fff\"}}),r.default.createElement(\"span\",{style:{fontSize:12,color:\"#8e8e93\"}},\"\\u56FE\\u6807\\u9884\\u89C8\\uFF08\\u82E5\\u4E0D\\u663E\\u793A\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\\u662F\\u5426\\u53EF\\u8BBF\\u95EE\\uFF09\")),d&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"\\u5206\\u7247\\u5927\\u5C0F (KB)\",name:\"chunkSize\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u5206\\u7247\\u5927\\u5C0F\"},{type:\"number\",min:64,max:2048,message:\"\\u8303\\u56F4: 64-2048 KB\"}]},r.default.createElement(s.InputNumber,{style:{width:\"100%\"},placeholder:\"512\",addonAfter:\"KB\"})),r.default.createElement(s.Form.Item,{label:\"\\u5E76\\u53D1\\u7EBF\\u7A0B\\u6570\",name:\"poolSize\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u7EBF\\u7A0B\\u6570\"},{type:\"number\",min:1,max:20,message:\"\\u8303\\u56F4: 1-20\"}]},r.default.createElement(s.InputNumber,{style:{width:\"100%\"},placeholder:\"10\",addonAfter:\"\\u7EBF\\u7A0B\"}))),o===\"quark\"&&r.default.createElement(s.Form.Item,{label:\"\\u4E0D\\u8F6C\\u5B58\\u6A21\\u5F0F\",name:\"noSaveMode\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u5148\\u5C1D\\u8BD5\\u4E0D\\u8F6C\\u5B58\\u76F4\\u94FE\\uFF0C\\u62FF\\u4E0D\\u5230\\u518D\\u56DE\\u9000\\u8F6C\\u5B58\\uFF1B\\u5173\\u95ED\\u5219\\u76F4\\u63A5\\u8F6C\\u5B58\\u83B7\\u53D6\\u591A\\u753B\\u8D28\\u3002\"},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{style:{marginBottom:0,marginTop:24}},r.default.createElement(\"div\",{className:\"ios-button-group\",style:{justifyContent:\"flex-end\"}},r.default.createElement(\"button\",{className:\"action-btn action-btn--secondary-outline\",onClick:t},\"\\u53D6\\u6D88\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:g},\"\\u4FDD\\u5B58\")))))}var li=e=>{let{attributes:t,listeners:n,setNodeRef:o,transform:a,transition:i,isDragging:l}=Tr({id:e[\"data-row-key\"]}),u=S(B(S({},e.style),{transform:Ve.Translate.toString(a),transition:i}),l?{position:\"relative\",zIndex:9999}:{});return r.default.createElement(\"tr\",S(B(S({},e),{ref:o,style:u}),t))},di=({rowKey:e})=>{let{listeners:t,setActivatorNodeRef:n}=Tr({id:e});return r.default.createElement(lr,S({ref:n,className:\"drag-handle\"},t))},Pn=\"https://pan.199333.xyz\",ht=[{key:\"quark\",name:\"\\u5938\\u514B\\u7F51\\u76D8\"},{key:\"uc\",name:\"UC\\u7F51\\u76D8\"},{key:\"aliyun\",name:\"\\u963F\\u91CC\\u4E91\\u76D8\"},{key:\"baidu\",name:\"\\u767E\\u5EA6\\u7F51\\u76D8\"},{key:\"xunlei\",name:\"\\u8FC5\\u96F7\\u7F51\\u76D8\"},{key:\"tianyi\",name:\"\\u5929\\u7FFC\\u4E91\\u76D8\"},{key:\"mobile\",name:\"\\u79FB\\u52A8\\u4E91\\u76D8\"},{key:\"123\",name:\"123\\u7F51\\u76D8\"},{key:\"115\",name:\"115\\u7F51\\u76D8\"},{key:\"pikpak\",name:\"PikPak\"},{key:\"magnet\",name:\"\\u78C1\\u529B\\u94FE\\u63A5\"},{key:\"ed2k\",name:\"\\u7535\\u9A74\\u94FE\\u63A5\"}],Pr={id:\"\",name:\"\",host:\"\",username:\"\",password:\"\",deviceId:\"\",logo:\"\",libraryStats:{movieCount:0,seriesCount:0}};function ud(e){return String(e||\"\").trim().toLowerCase().replace(/[^a-z0-9_-]+/g,\"-\").replace(/^-+|-+$/g,\"\").slice(0,40)}function Lr(){return S({},Pr)}function cd(e){let t=String(e||\"\").trim();return!t||/^https?:\\/\\/\\S+$/i.test(t)||/^data:image\\//i.test(t)||/^\\/\\S+/.test(t)}function Ln(e={}){return String(e.name||\"Emby\").trim()}function fd(e={}){let t=Number(e.movieCount||0),n=Number(e.seriesCount||0);return{movieCount:t,seriesCount:n}}function pd(){return r.default.createElement(\"svg\",{className:\"emby-server-card__stat-icon\",viewBox:\"0 0 1024 1024\",\"aria-hidden\":\"true\",focusable:\"false\"},r.default.createElement(\"path\",{d:\"M875.690667 414.72H301.738667l576.682666-195.754667c36.181333-11.093333 56.832-49.322667 45.909334-85.674666L909.824 83.626667c-8.704-29.013333-35.84-49.322667-66.218667-49.322667-6.656 0-13.312 1.024-19.626666 2.901333l-0.512 0.170667L127.829333 273.237333C91.648 284.330667 70.997333 322.56 81.92 358.912l14.848 49.664c4.096 13.653333 12.288 25.429333 23.04 34.133333-8.533333 11.434667-13.482667 25.6-13.482667 40.96v436.736c0 38.058667 30.890667 68.949333 68.949334 68.949334h700.416c38.058667 0 68.949333-30.890667 68.949333-68.949334V483.84c0-38.058667-30.890667-69.12-68.949333-69.12z m17.408 69.12v69.290667H690.858667l70.144-86.869334h114.688c9.557333 0.170667 17.408 7.850667 17.408 17.578667z m-717.824-17.408h175.616l-76.970667 76.970667c-2.901333 2.901333-4.949333 6.144-6.144 9.728H157.696v-69.290667c0-9.728 7.850667-17.408 17.578667-17.408z m243.029333 5.290667c1.706667-1.706667 3.072-3.413333 4.096-5.461334H694.613333l-63.829333 79.018667c-1.877333 2.389333-3.413333 4.949333-4.266667 7.68H336.896l81.408-81.237333zM143.189333 322.56l0.512-0.170667L838.997333 86.528c1.536-0.341333 3.072-0.682667 4.608-0.682667 7.68 0 14.506667 5.12 16.725334 12.458667l14.848 49.664c2.730667 9.216-2.56 18.944-11.776 21.674667l-0.512 0.170666L167.424 405.845333c-1.536 0.341333-3.072 0.682667-4.608 0.682667-7.68 0-14.506667-5.12-16.725333-12.458667L131.413333 344.234667c-2.730667-9.216 2.56-18.944 11.776-21.674667z m732.501334 615.424H175.274667c-9.557333 0-17.408-7.850667-17.408-17.408v-315.733333h735.402666v315.733333c-0.170667 9.557333-8.021333 17.408-17.578666 17.408z m0 0\"}))}function md(){return r.default.createElement(\"svg\",{className:\"emby-server-card__stat-icon emby-server-card__stat-icon--series\",viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\"},r.default.createElement(\"rect\",{x:\"3\",y:\"9\",width:\"18\",height:\"12\",rx:\"2.5\"}),r.default.createElement(\"path\",{d:\"M7.5 3.5 L12 9 L16.5 3.5\"}))}function gd(e={}){let{movieCount:t,seriesCount:n}=fd(e);return!t&&!n?r.default.createElement(\"span\",{className:\"emby-server-card__sync\"},\"\\u5F85\\u540C\\u6B65\"):r.default.createElement(r.default.Fragment,null,r.default.createElement(\"span\",{className:\"emby-server-card__stat\",title:\"\".concat(t,\" \\u7535\\u5F71\"),\"aria-label\":\"\".concat(t,\" \\u7535\\u5F71\")},r.default.createElement(pd,null),r.default.createElement(\"span\",null,t)),r.default.createElement(\"span\",{className:\"emby-server-card__stat\",title:\"\".concat(n,\" \\u5267\\u96C6\"),\"aria-label\":\"\".concat(n,\" \\u5267\\u96C6\")},r.default.createElement(md,null),r.default.createElement(\"span\",null,n)))}function Dr(e={}){return{id:e.id,name:e.name||\"Emby\",host:e.host,username:e.username,password:e.password,deviceId:e.deviceId||\"\",logo:e.logo||\"\",libraries:e.libraries||[],libraryStats:e.libraryStats||Pr.libraryStats}}var ri=\"nodejs_emby_\",oi=\"nodejs_alist_\";function xd(e=\"\"){let t=String(e||\"\");return t.startsWith(ri)?t.slice(ri.length):\"\"}function hd(e=\"\"){let t=String(e||\"\");return t.startsWith(oi)?t.slice(oi.length):\"\"}function ui(){return{id:\"alist_\".concat(Date.now()),name:\"\",server:\"\",username:\"\",password:\"\",token:\"\",otpCode:\"\"}}function Br(e={}){let t=String(e.name||\"\").trim();if(t)return t;try{return new URL(e.server).hostname||\"Alist\"}catch(n){return\"Alist\"}}function Nr(e={}){return{id:e.id||\"alist_\".concat(Date.now()),name:Br(e),server:String(e.server||\"\").trim().replace(/\\/+$/,\"\"),username:String(e.username||\"\").trim(),password:String(e.password||\"\"),token:String(e.token||\"\").trim(),otpCode:String(e.otpCode||\"\").trim()}}var bd=[{key:\"nodejs_muou\",api:\"/muou/urls\",name:\"\\u6728\\u5076\"},{key:\"nodejs_wanou\",api:\"/wanou/urls\",name:\"\\u73A9\\u5076\"},{key:\"nodejs_leijing\",api:\"/leijing/urls\",name:\"\\u96F7\\u9CB8\"},{key:\"nodejs_zhizhen\",api:\"/zhizhen/urls\",name:\"\\u81F3\\u81FB\"},{key:\"nodejs_duoduo\",api:\"/duoduo/urls\",name:\"\\u591A\\u591A\"},{key:\"nodejs_erxiao\",api:\"/erxiao/urls\",name:\"\\u4E8C\\u5C0F\"},{key:\"nodejs_huban\",api:\"/huban/urls\",name:\"\\u864E\\u6591\"},{key:\"nodejs_labi\",api:\"/labi/urls\",name:\"\\u8FA3\\u7B14\"},{key:\"nodejs_ouge\",api:\"/ouge/urls\",name:\"\\u6B27\\u6B4C\"},{key:\"nodejs_xiaoban\",api:\"/xiaoban/urls\",name:\"\\u5C0F\\u73ED\"},{key:\"nodejs_tgchannel\",api:\"/tgchannel/config\",name:\"TG\\u9891\\u9053\",type:\"tg\"},{key:\"nodejs_tgsou\",api:\"/tgsou/config\",name:\"TG\\u641C\",type:\"tg\"},{key:\"nodejs_tgfilebot\",api:\"/tgfilebot/config\",name:\"TGFileBot\",type:\"tgfilebot\"},{key:\"nodejs_pansou\",api:\"/pansou/config\",name:\"PanSou\",type:\"pansou\"},{key:\"nodejs_123ypzysq\",api:\"/123ypzysq/config\",name:\"123\\u8D44\\u6E90\\u793E\\u533A\",type:\"domain-cookie\"},{key:\"nodejs_live2vod\",api:\"/live2vod/config\",name:\"\\u76F4\\u64AD\\u8F6C\\u70B9\\u64AD\",type:\"live2vod\"},{key:\"nodejs_emby\",api:\"/emby-spider/setting\",name:\"Emby\\u6E90\",type:\"emby-spider\"},{key:\"nodejs_alist-video\",api:\"/alist-video/setting\",name:\"Alist\",type:\"alist-video\"}],ai=bd.reduce((e,t)=>(e[t.key]={api:t.api,name:t.name,type:t.type},e),{});function yd({visible:e,onCancel:t,onSave:n,siteName:o}){let[a]=s.Form.useForm(),[i,l]=(0,r.useState)(!1),[u,c]=(0,r.useState)(\"channels\"),[f,m]=(0,r.useState)([]),[d,g]=(0,r.useState)([]),[p,v]=(0,r.useState)(!1),[y,k]=(0,r.useState)([]),[E,w]=(0,r.useState)([]),[F,_]=(0,r.useState)([]),[z,H]=(0,r.useState)(\"\"),[h,C]=(0,r.useState)([]),L=(0,r.useRef)(0),M=()=>{let T=z.trim();if(T){if(f.includes(T)){s.message.warning('\\u9891\\u9053 \"'.concat(T,'\" \\u5DF2\\u5B58\\u5728')),H(\"\");return}m([T,...f]),C([T,...h]),k([T,...y]),H(\"\"),s.message.success('\\u5DF2\\u6DFB\\u52A0\\u9891\\u9053 \"'.concat(T,'\"'))}},N=(T,A)=>{A.stopPropagation(),m(f.filter($=>$!==T)),k(y.filter($=>$!==T)),C(h.filter($=>$!==T)),s.message.success('\\u5DF2\\u5220\\u9664\\u9891\\u9053 \"'.concat(T,'\"'))},j=(0,r.useCallback)(async T=>{if(!T)return null;v(!0);try{let A=await bt.default.get(\"\".concat(T,\"/api/health\"));if(A.data){let $=A.data.channels||[],U=A.data.plugins||[];return m($),g(U),{channels:$,plugins:U}}return null}catch(A){return console.error(\"\\u83B7\\u53D6 PanSou \\u9009\\u9879\\u5931\\u8D25:\",A),null}finally{v(!1)}},[]);(0,r.useEffect)(()=>{let T=++L.current;if(!e){l(!1),H(\"\");return}l(!0),I.get(\"/pansou/config\").then(async A=>{if(L.current!==T)return;let $=A.url||Pn;a.setFieldsValue({name:o,url:$});let U=await j($);A.channels&&A.channels.length>0?k(A.channels):U!=null&&U.channels&&k(U.channels),A.plugins&&A.plugins.length>0?w(A.plugins):U!=null&&U.plugins&&w(U.plugins),A.cloudTypes&&A.cloudTypes.length>0?_(A.cloudTypes):_(ht.map(me=>me.key))}).catch(A=>{L.current===T&&(console.error(A),s.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\"))}).finally(()=>{L.current===T&&l(!1)})},[e,o,a,j]);let ne=(0,r.useCallback)(T=>{let A=T.target.value||Pn;j(A)},[j]),ie=async()=>{let T;try{T=await a.validateFields()}catch(A){return}try{l(!0);let A={url:T.url||\"\",channels:y,plugins:E,cloudTypes:F};await I.put(\"/pansou/config\",A),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\"),n(T.name),t()}catch(A){console.error(A),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((A==null?void 0:A.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{l(!1)}},we=async()=>{try{l(!0),await I.delete(\"/pansou/config\");let A=(await I.get(\"/pansou/config\")).url||Pn;a.setFieldsValue({url:A});let $=await j(A);k(($==null?void 0:$.channels)||[]),w(($==null?void 0:$.plugins)||[]),_(ht.map(U=>U.key)),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(T){console.error(T),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(T==null?void 0:T.message))}finally{l(!1)}},Ce=(T,A,$)=>{T.includes($)?A(T.filter(U=>U!==$)):A([...T,$])},J=(T,A,$)=>{A.length===T.length?$([]):$([...T])},Ee=(T,A,$,U,me,Se)=>r.default.createElement(\"div\",{key:T,className:\"pansou-checkbox-card \".concat(A?\"pansou-checkbox-card--selected\":\"\"),onClick:$},r.default.createElement(\"span\",{className:\"pansou-checkbox-card__label\"},U||T),me&&r.default.createElement(Ze,{className:\"pansou-checkbox-card__delete\",onClick:Se}));si(\".pansou-config-tabs__nav-scroll\",e);let ue=[{key:\"channels\",label:\"TG\\u9891\\u9053\",count:y.length},{key:\"plugins\",label:\"\\u641C\\u7D22\\u63D2\\u4EF6\",count:E.length},{key:\"cloudTypes\",label:\"\\u7F51\\u76D8\\u7C7B\\u578B\",count:F.length}];return r.default.createElement(s.Modal,{title:\"\\u7F16\\u8F91 \".concat(o||\"PanSou\"),open:e,onCancel:t,className:\"ios-modal pansou-config-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Spin,{spinning:i},r.default.createElement(s.Form,{form:a,layout:\"vertical\",className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\"},r.default.createElement(s.Input,{placeholder:\"\\u7AD9\\u6E90\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u4F7F\\u7528\\u9ED8\\u8BA4: \".concat(Pn),onBlur:ne}))),r.default.createElement(\"div\",{className:\"pansou-config-tabs\"},r.default.createElement(\"div\",{className:\"pansou-config-tabs__nav-scroll\",role:\"tablist\",\"aria-label\":\"PanSou \\u914D\\u7F6E\\u9879\"},r.default.createElement(\"div\",{className:\"pansou-config-tabs__nav-list\"},ue.map(T=>{let A=T.key===u;return r.default.createElement(\"button\",{key:T.key,type:\"button\",role:\"tab\",\"aria-selected\":A,className:\"pansou-config-tabs__tab\".concat(A?\" pansou-config-tabs__tab--active\":\"\"),onClick:()=>c(T.key)},r.default.createElement(\"span\",null,T.label),r.default.createElement(\"span\",{className:\"pansou-config-tabs__badge\"},Math.min(T.count,9999)))})))),r.default.createElement(s.Spin,{spinning:p},u===\"channels\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",y.length,\" / \",f.length),r.default.createElement(s.Space,null,r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(f,y,k)},y.length===f.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\"))),r.default.createElement(\"div\",{className:\"pansou-add-channel\"},r.default.createElement(s.Input,{placeholder:\"\\u641C\\u7D22\\u6216\\u6DFB\\u52A0\\u9891\\u9053\",value:z,onChange:T=>H(T.target.value),onPressEnter:M,allowClear:!0,style:{flex:1}}),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:M},\"\\u6DFB\\u52A0\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},f.filter(T=>!z||T.toLowerCase().includes(z.toLowerCase())).map(T=>Ee(T,y.includes(T),()=>Ce(y,k,T),T,h.includes(T),A=>N(T,A)))),f.length===0&&!p&&r.default.createElement(\"div\",{className:\"pansou-empty-tip\"},\"\\u8BF7\\u5148\\u914D\\u7F6E\\u6B63\\u786E\\u7684 API \\u5730\\u5740\\u4EE5\\u52A0\\u8F7D\\u53EF\\u7528\\u9891\\u9053\")),u===\"plugins\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",E.length,\" / \",d.length),r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(d,E,w)},E.length===d.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},d.map(T=>Ee(T,E.includes(T),()=>Ce(E,w,T),T,!1,null))),d.length===0&&!p&&r.default.createElement(\"div\",{className:\"pansou-empty-tip\"},\"\\u8BF7\\u5148\\u914D\\u7F6E\\u6B63\\u786E\\u7684 API \\u5730\\u5740\\u4EE5\\u52A0\\u8F7D\\u53EF\\u7528\\u63D2\\u4EF6\")),u===\"cloudTypes\"&&r.default.createElement(\"div\",{className:\"pansou-checkbox-section\"},r.default.createElement(\"div\",{className:\"pansou-checkbox-header\"},r.default.createElement(\"span\",null,\"\\u5DF2\\u9009 \",F.length,\" / \",ht.length),r.default.createElement(s.Button,{type:\"link\",size:\"small\",onClick:()=>J(ht.map(T=>T.key),F,_)},F.length===ht.length?\"\\u53D6\\u6D88\\u5168\\u9009\":\"\\u5168\\u9009\")),r.default.createElement(\"div\",{className:\"pansou-checkbox-grid\"},ht.map(T=>Ee(T.key,F.includes(T.key),()=>Ce(F,_,T.key),T.name,!1,null))))),r.default.createElement(\"div\",{className:\"pansou-config-footer ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:ie,disabled:i},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:we,disabled:i},\"\\u91CD\\u7F6E\"))))}function Ar({visible:e,onCancel:t,onSave:n,onDelete:o,server:a,usedIds:i}){let[l]=s.Form.useForm(),[u,c]=(0,r.useState)(!1),f=s.Form.useWatch(\"logo\",l);(0,r.useEffect)(()=>{e&&l.setFieldsValue(S(S({},Pr),a||Lr()))},[e,a,l]);let m=async()=>{let g;try{g=await l.validateFields()}catch(w){return}let p=ud(a!=null&&a.isNew?\"\".concat(g.name||\"emby\",\"-\").concat(g.host||\"\",\"-\").concat(g.username||\"\"):(a==null?void 0:a.id)||\"\".concat(g.name||\"emby\",\"-\").concat(g.host||\"\",\"-\").concat(g.username||\"\"));if(!p){s.message.warning(\"\\u8BF7\\u586B\\u5199\\u670D\\u52A1\\u5668\\u5730\\u5740\");return}if(i!=null&&i.has(p)&&p!==(a==null?void 0:a.id)){s.message.warning(\"\\u5F53\\u524D\\u670D\\u52A1\\u5668\\u5DF2\\u5B58\\u5728\\uFF0C\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\\u6216\\u8D26\\u53F7\");return}let v={id:p,name:String(g.name||\"\").trim(),host:String(g.host||\"\").trim().replace(/\\/+$/,\"\"),username:String(g.username||\"\").trim(),password:String(g.password||\"\"),logo:String(g.logo||\"\").trim()},y=String((a==null?void 0:a.host)||\"\").trim().replace(/\\/+$/,\"\"),k=String((a==null?void 0:a.username)||\"\").trim();v.host===y&&v.username===k&&(v.deviceId=String((a==null?void 0:a.deviceId)||\"\").trim());let E=!1;try{c(!0);let w=await I.post(\"/emby-spider/verify\",v);E=!0,await n(w||v),s.message.success(\"Emby \\u767B\\u5F55\\u9A8C\\u8BC1\\u901A\\u8FC7\")}catch(w){console.error(w),w!=null&&w.message&&w.message!==\"[object Object]\"&&s.message.error(\"\".concat(E?\"\\u4FDD\\u5B58\":\"\\u9A8C\\u8BC1\",\"\\u5931\\u8D25\\uFF1A\").concat(w.message))}finally{c(!1)}},d=()=>{!a||a.isNew||o==null||o(a)};return r.default.createElement(s.Modal,{title:a!=null&&a.isNew?\"\\u6DFB\\u52A0 Emby \\u670D\\u52A1\\u5668\":\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"Emby\"),open:e,onCancel:t,confirmLoading:u,className:\"ios-modal emby-server-edit-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:l,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u540D\\u79F0\",name:\"name\",tooltip:\"\\u7559\\u7A7A\\u65F6\\u4F1A\\u5728\\u767B\\u5F55\\u9A8C\\u8BC1\\u901A\\u8FC7\\u540E\\u81EA\\u52A8\\u4F7F\\u7528 Emby \\u670D\\u52A1\\u5668\\u540D\\u79F0\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u81EA\\u52A8\\u83B7\\u53D6\\uFF0C\\u4F8B\\u5982\\uFF1A\\u5BB6\\u91CC NAS\"})),r.default.createElement(s.Form.Item,{label:\"Logo URL\",name:\"logo\",tooltip:\"\\u652F\\u6301 http/https\\u3001data:image \\u6216\\u7AD9\\u5185 / \\u5F00\\u5934\\u8DEF\\u5F84\",rules:[{validator(g,p){return cd(p)?Promise.resolve():Promise.reject(new Error(\"\\u8BF7\\u8F93\\u5165\\u5408\\u6CD5\\u56FE\\u7247\\u5730\\u5740\"))}}]},r.default.createElement(s.Input,{placeholder:\"https://example.com/emby-logo.png\"})),!!String(f||\"\").trim()&&r.default.createElement(\"div\",{className:\"emby-logo-preview\"},r.default.createElement(\"img\",{src:String(f).trim(),alt:\"Emby Logo \\u9884\\u89C8\"}),r.default.createElement(\"span\",null,\"Logo \\u9884\\u89C8\")),r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:\"host\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 Emby \\u670D\\u52A1\\u5668\\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"http://192.168.1.100:8096\"})),r.default.createElement(s.Form.Item,{label:\"\\u7528\\u6237\\u540D\",name:\"username\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 Emby \\u7528\\u6237\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165 Emby \\u7528\\u6237\\u540D\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u5BC6\\u7801\\u53EF\\u4E3A\\u7A7A\",autoComplete:\"new-password\"})),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group emby-server-edit-actions\".concat(a!=null&&a.isNew?\" emby-server-edit-actions--new\":\"\")},!(a!=null&&a.isNew)&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:d,disabled:u},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:m,disabled:u},u?\"\\u9A8C\\u8BC1\\u4E2D...\":\"\\u4FDD\\u5B58\")))))}function vd({value:e,onChange:t}){let[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=Array.isArray(e)?e:[],u=(0,r.useMemo)(()=>new Set(l.map(g=>g.id).filter(Boolean)),[l]),c=()=>{i(B(S({},Lr()),{isNew:!0})),o(!0)},f=g=>{i(S({},g)),o(!0)},m=g=>{let p=l.findIndex(k=>k.id===(a==null?void 0:a.id)),v=Dr(g),y=p>=0?[...l]:[...l,v];p>=0&&(y[p]=v),t(y),o(!1)},d=g=>{s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Ln(g),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u5BF9\\u5E94\\u7684 Emby \\u5206\\u7C7B\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",onOk(){t(l.filter(p=>p.id!==g.id)),o(!1),i(null)}})};return r.default.createElement(\"div\",{className:\"emby-server-manager\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar__main\"},r.default.createElement(\"div\",{className:\"emby-server-title\"},\"Emby \\u670D\\u52A1\\u5668\"),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:c},\"\\u6DFB\\u52A0\")),r.default.createElement(\"div\",{className:\"emby-server-subtitle\"},\"\\u6709\\u64AD\\u653E\\u5668\\u9ED1/\\u767D\\u540D\\u5355\\u7684\\u670D\\u8C28\\u614E\\u4F7F\\u7528\\uFF0C\\u5426\\u5219\\u540E\\u679C\\u81EA\\u8D1F\\uFF01\")),l.length===0?r.default.createElement(\"button\",{type:\"button\",className:\"emby-empty-card\",onClick:c},r.default.createElement(be,null),r.default.createElement(\"span\",null,\"\\u6DFB\\u52A0\\u7B2C\\u4E00\\u53F0 Emby \\u670D\\u52A1\\u5668\")):r.default.createElement(\"div\",{className:\"emby-server-grid\"},l.map(g=>r.default.createElement(\"div\",{className:\"emby-server-card\",key:g.id},r.default.createElement(\"div\",{className:\"emby-server-card__hero\"},r.default.createElement(\"div\",{className:\"emby-server-card__logo\"},r.default.createElement(\"img\",{src:g.logo||Er,alt:Ln(g)}))),r.default.createElement(\"div\",{className:\"emby-server-card__content\"},r.default.createElement(\"div\",{className:\"emby-server-card__name\"},r.default.createElement(\"span\",null,Ln(g)),r.default.createElement(dn,null)),r.default.createElement(\"div\",{className:\"emby-server-card__stats\"},gd(g.libraryStats))),r.default.createElement(\"div\",{className:\"emby-server-card__actions\"},r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>f(g)}))))),r.default.createElement(Ar,{visible:n,onCancel:()=>o(!1),onSave:m,onDelete:d,server:a,usedIds:u}))}function _r({visible:e,onCancel:t,onSave:n,onDelete:o,server:a}){let[i]=s.Form.useForm(),[l,u]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&i.setFieldsValue({name:(a==null?void 0:a.name)||\"\",server:(a==null?void 0:a.server)||\"\",username:(a==null?void 0:a.username)||\"\",password:(a==null?void 0:a.password)||\"\",token:(a==null?void 0:a.token)||\"\",otpCode:(a==null?void 0:a.otpCode)||\"\"})},[e,a,i]);let c=async()=>{let m;try{m=await i.validateFields()}catch(p){return}let d={id:(a==null?void 0:a.id)||\"alist_\".concat(Date.now()),name:m.name||\"\",server:String(m.server||\"\").trim().replace(/\\/+$/,\"\"),username:String(m.username||\"\").trim(),password:String(m.password||\"\"),token:String(m.token||\"\").trim(),otpCode:String(m.otpCode||\"\").trim()},g=!1;try{u(!0);let p=await I.post(\"/alist-video/verify\",d);g=!0,await n(p||d),s.message.success(\"Alist \\u8FDE\\u63A5\\u9A8C\\u8BC1\\u901A\\u8FC7\")}catch(p){console.error(p),s.message.error(\"\".concat(g?\"\\u4FDD\\u5B58\":\"\\u8FDE\\u63A5\\u9A8C\\u8BC1\",\"\\u5931\\u8D25\\uFF1A\").concat((p==null?void 0:p.message)||\"\\u8BF7\\u68C0\\u67E5\\u5730\\u5740\"))}finally{u(!1)}},f=()=>{!a||a.isNew||o==null||o(a)};return r.default.createElement(s.Modal,{title:a!=null&&a.isNew?\"\\u6DFB\\u52A0 Alist \\u670D\\u52A1\\u5668\":\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"Alist\"),open:e,onCancel:t,confirmLoading:l,className:\"ios-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:i,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u540D\\u79F0\",name:\"name\"},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u5BB6\\u91CC NAS\"})),r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u5730\\u5740\",name:\"server\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165 Alist \\u670D\\u52A1\\u5668\\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"http://192.168.1.100:5244\"})),r.default.createElement(s.Form.Item,{label:\"\\u8D26\\u53F7\",name:\"username\"},r.default.createElement(s.Input,{placeholder:\"\\u79C1\\u6709\\u76EE\\u5F55\\u9700\\u8981\\u586B\\u5199\",autoComplete:\"username\"})),r.default.createElement(s.Form.Item,{label:\"\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u79C1\\u6709\\u76EE\\u5F55\\u9700\\u8981\\u586B\\u5199\",autoComplete:\"new-password\"})),r.default.createElement(s.Form.Item,{label:\"Token\",name:\"token\",tooltip:\"\\u5DF2\\u6709 Alist token \\u65F6\\u53EF\\u76F4\\u63A5\\u586B\\u5199\\uFF0C\\u4F18\\u5148\\u4E8E\\u8D26\\u53F7\\u5BC6\\u7801\"},r.default.createElement(s.Input.Password,{placeholder:\"\\u53EF\\u7559\\u7A7A\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:\"\\u4E24\\u6B65\\u9A8C\\u8BC1\\u7801\",name:\"otpCode\",tooltip:\"\\u5F00\\u542F\\u4E24\\u6B65\\u9A8C\\u8BC1\\u65F6\\u586B\\u5199\\u5F53\\u524D\\u9A8C\\u8BC1\\u7801\"},r.default.createElement(s.Input,{placeholder:\"\\u53EF\\u7559\\u7A7A\",autoComplete:\"one-time-code\"})),r.default.createElement(s.Form.Item,null,r.default.createElement(\"div\",{className:\"ios-button-group\"},!(a!=null&&a.isNew)&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:f},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:c,disabled:l},l?\"\\u9A8C\\u8BC1\\u4E2D...\":\"\\u4FDD\\u5B58\")))))}function wd({value:e,onChange:t}){let[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=Array.isArray(e)?e:[],u=()=>{i(B(S({},ui()),{isNew:!0})),o(!0)},c=d=>{i(S({},d)),o(!0)},f=d=>{let g=l.findIndex(y=>y.id===(a==null?void 0:a.id)),p=Nr(d),v=g>=0?[...l]:[...l,p];g>=0&&(v[g]=p),t(v),o(!1)},m=d=>{s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Br(d),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8BE5 Alist \\u670D\\u52A1\\u5668\\u5C06\\u4E0D\\u518D\\u663E\\u793A\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",onOk(){t(l.filter(g=>g.id!==d.id)),o(!1),i(null)}})};return r.default.createElement(\"div\",{className:\"emby-server-manager\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar\"},r.default.createElement(\"div\",{className:\"emby-server-toolbar__main\"},r.default.createElement(\"div\",{className:\"emby-server-title\"},\"Alist \\u670D\\u52A1\\u5668\"),r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),onClick:u},\"\\u6DFB\\u52A0\"))),l.length===0?r.default.createElement(\"button\",{type:\"button\",className:\"emby-empty-card\",onClick:u},r.default.createElement(be,null),r.default.createElement(\"span\",null,\"\\u6DFB\\u52A0\\u7B2C\\u4E00\\u53F0 Alist \\u670D\\u52A1\\u5668\")):r.default.createElement(\"div\",{className:\"emby-server-grid\"},l.map(d=>r.default.createElement(\"div\",{className:\"emby-server-card\",key:d.id},r.default.createElement(\"div\",{className:\"emby-server-card__content\",style:{padding:\"16px\"}},r.default.createElement(\"div\",{className:\"emby-server-card__name\"},r.default.createElement(\"span\",null,d.name||d.server),r.default.createElement(dn,null)),r.default.createElement(\"div\",{style:{fontSize:12,color:\"#999\",marginTop:4}},d.server),(d.username||d.token)&&r.default.createElement(\"div\",{style:{fontSize:12,color:\"#999\",marginTop:4}},d.username?\"\\u8D26\\u53F7\\uFF1A\".concat(d.username):\"Token \\u5DF2\\u914D\\u7F6E\")),r.default.createElement(\"div\",{className:\"emby-server-card__actions\"},r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>c(d)}))))),r.default.createElement(_r,{visible:n,onCancel:()=>o(!1),onSave:f,onDelete:m,server:a}))}function Cd({visible:e,onCancel:t,onSave:n,siteKey:o,siteName:a}){let[i]=s.Form.useForm(),[l,u]=(0,r.useState)(!1),c=String(o||\"\").startsWith(\"nodejs_emby\"),f=ai[o]||(c?ai.nodejs_emby:void 0),m=!!f,d=(f==null?void 0:f.type)===\"tg\",g=(f==null?void 0:f.type)===\"tgfilebot\",p=(f==null?void 0:f.type)===\"live2vod\",v=(f==null?void 0:f.type)===\"emby-spider\",y=(f==null?void 0:f.type)===\"alist-video\",k=(f==null?void 0:f.type)===\"domain-cookie\",E=o===\"nodejs_tgchannel\",w=(0,r.useRef)(0),F=h=>{if(h===\"\"||h===null||typeof h>\"u\")return null;let C=Number(h);return Number.isFinite(C)?C:null},_=h=>{if(h==null||h===\"\")return\"\";let C=Number(h);return Number.isFinite(C)?C:\"\"};(0,r.useEffect)(()=>{let h=++w.current;if(!e){u(!1);return}m?(u(!0),I.get(f.api).then(C=>{if(w.current===h)if(d){let L=[],M=new Set;C.channelNameMap&&Object.keys(C.channelNameMap).forEach(N=>M.add(N)),C.channelUsername&&C.channelUsername.forEach(N=>M.add(N)),C.homeChannelUsername&&C.homeChannelUsername.forEach(N=>M.add(N)),M.forEach(N=>{var j;L.push({id:N,name:((j=C.channelNameMap)==null?void 0:j[N])||\"\"})}),i.setFieldsValue({name:a,url:C.url,count:F(C==null?void 0:C.count),pic:C.pic,channels:L.length>0?L:E?[]:[{id:\"\",name:\"\"}]})}else g?i.setFieldsValue({name:a,url:C.url,password:C.password||\"\"}):p?i.setFieldsValue({name:a,sources:C.sources||[{name:\"\",url:\"\"}]}):v?i.setFieldsValue({name:a,servers:C.servers||[]}):y?i.setFieldsValue({name:a,servers:C.servers||[]}):k?i.setFieldsValue({name:a,url:C.url||\"\",cookie:C.cookie||\"\"}):i.setFieldsValue({urls:C,name:a})}).catch(C=>{w.current===h&&(console.error(C),s.message.error(\"\\u52A0\\u8F7D\\u914D\\u7F6E\\u5931\\u8D25\"))}).finally(()=>{w.current===h&&u(!1)})):i.setFieldsValue({name:a})},[e,o,a,m,d,g,p,v,y,k,i,f]);let z=async()=>{let h;try{h=await i.validateFields()}catch(C){return}try{if(u(!0),m)if(d){let C={},L=[],M=[];h.channels&&h.channels.length>0&&h.channels.forEach(j=>{j.id&&(j.name&&(C[j.id]=j.name),L.push(j.id),o===\"nodejs_tgchannel\"&&M.push(j.id))});let N=S({url:h.url,count:_(h.count),pic:h.pic,channelNameMap:C,channelUsername:L},o===\"nodejs_tgchannel\"?{homeChannelUsername:M}:{});await I.put(f.api,N)}else if(g)await I.put(f.api,{url:h.url||\"\",password:h.password||\"\"});else if(p){let C={sources:h.sources||[]};await I.put(f.api,C)}else v?await I.put(f.api,{servers:h.servers||[]}):y?await I.put(f.api,{servers:h.servers||[]}):k?await I.put(f.api,{url:h.url||\"\",cookie:h.cookie||\"\"}):await I.put(f.api,h.urls);s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\"),n(h.name,v||y?{reload:!0}:void 0),t()}catch(C){console.error(C),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat((C==null?void 0:C.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{u(!1)}},H=async()=>{if(m)try{u(!0),await I.delete(f.api);let h=await I.get(f.api);if(d){let C=[],L=new Set;h.channelNameMap&&Object.keys(h.channelNameMap).forEach(M=>L.add(M)),h.channelUsername&&h.channelUsername.forEach(M=>L.add(M)),h.homeChannelUsername&&h.homeChannelUsername.forEach(M=>L.add(M)),L.forEach(M=>{var N;C.push({id:M,name:((N=h.channelNameMap)==null?void 0:N[M])||\"\"})}),i.setFieldsValue({url:h.url,count:F(h==null?void 0:h.count),pic:h.pic,channels:C.length>0?C:E?[]:[{id:\"\",name:\"\"}]})}else g?i.setFieldsValue({url:h.url,password:h.password||\"\"}):p?i.setFieldsValue({sources:h.sources||[{name:\"\",url:\"\"}]}):v?i.setFieldsValue({servers:h.servers||[]}):y?i.setFieldsValue({servers:h.servers||[]}):k?i.setFieldsValue({url:h.url||\"\",cookie:h.cookie||\"\"}):i.setFieldsValue({urls:h});s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(h){console.error(h),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(h==null?void 0:h.message))}finally{u(!1)}};return r.default.createElement(s.Modal,{title:\"\\u7F16\\u8F91 \".concat(a||(f==null?void 0:f.name)||\"\"),open:e,onCancel:t,className:\"ios-modal domain-edit-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:i,layout:\"vertical\",requiredMark:!1,colon:!1},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\",className:v||y?\"domain-edit-full-input\":\"domain-edit-aligned-input\"})),m&&!d&&!g&&!p&&!v&&!y&&!k&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.List,{name:\"urls\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0\\u57DF\\u540D\"}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((N,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u57DF\\u540D\":null,required:!1,key:N.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},N),{validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\"}],noStyle:!0}),r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\",className:\"domain-list-input\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1?\"\":\" domain-list-action--placeholder\")},h.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(N.name)}):null)))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C(),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u57DF\\u540D\"),r.default.createElement(s.Form.ErrorList,{errors:M}))))),m&&k&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"\\u57DF\\u540D\",name:\"url\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u57DF\\u540D\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"Cookie\",name:\"cookie\"},r.default.createElement(s.Input.TextArea,{placeholder:\"\\u8BBF\\u95EE\\u7F51\\u7AD9\\u9700\\u8981\\u7684 Cookie\\uFF0C\\u4F8B\\u5982 bbs_token=xxx\",className:\"domain-edit-aligned-input\",autoSize:{minRows:3,maxRows:6}}))),m&&g&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\"},r.default.createElement(s.Input,{placeholder:\"\\u7559\\u7A7A\\u4F7F\\u7528\\u9ED8\\u8BA4: http://127.0.0.1:8080\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"\\u8BBF\\u95EE\\u5BC6\\u7801\",name:\"password\"},r.default.createElement(s.Input.Password,{placeholder:\"TGFileBot password\\uFF0C\\u53EF\\u7559\\u7A7A\",className:\"domain-edit-aligned-input\"}))),m&&v&&r.default.createElement(s.Form.Item,{name:\"servers\"},r.default.createElement(vd,null)),m&&y&&r.default.createElement(s.Form.Item,{name:\"servers\"},r.default.createElement(wd,null)),m&&d&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.Item,{label:\"TG\\u57DF\\u540D\",name:\"url\",rules:[{required:!0,message:\"\\u8BF7\\u8F93\\u5165TG\\u57DF\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165TG\\u57DF\\u540D\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.Item,{label:\"\\u5355\\u9891\\u9053\\u8D44\\u6E90\\u6570\\u91CF\",name:\"count\"},r.default.createElement(s.InputNumber,{min:1,placeholder:\"\\u7559\\u7A7A\\u8868\\u793A\\u4E0D\\u9650\\u5236\",className:\"domain-edit-aligned-input\"})),r.default.createElement(s.Form.List,{name:\"channels\",rules:[{validator:async(h,C)=>{if(!E&&(!C||C.length===0))return Promise.reject(new Error(\"\\u8BF7\\u81F3\\u5C11\\u6DFB\\u52A0\\u4E00\\u4E2A\\u9891\\u9053\"))}}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((N,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u9891\\u9053\\u5217\\u8868\":\"\",required:!1,key:N.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},N),{name:[N.name,\"name\"],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,B(S({},N),{name:[N.name,\"id\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u9891\\u9053ID\"}],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u9891\\u9053ID\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1||E?\"\":\" domain-list-action--placeholder\")},h.length>1||E?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(N.name)}):null)))),r.default.createElement(s.Form.Item,{label:\"\"},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C({id:\"\",name:\"\"}),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u9891\\u9053\"),r.default.createElement(s.Form.ErrorList,{errors:M})))),r.default.createElement(s.Form.Item,{label:\"\\u663E\\u793A\\u56FE\\u7247\",name:\"pic\",valuePropName:\"checked\"},r.default.createElement(s.Switch,null))),m&&p&&r.default.createElement(r.default.Fragment,null,r.default.createElement(s.Form.List,{name:\"sources\",rules:[{validator:async(h,C)=>{if(!C||C.length===0)return Promise.reject(new Error(\"\\u8BF7\\u81F3\\u5C11\\u6DFB\\u52A0\\u4E00\\u4E2A\\u76F4\\u64AD\\u6E90\"))}}]},(h,{add:C,remove:L},{errors:M})=>r.default.createElement(r.default.Fragment,null,h.map((N,j)=>r.default.createElement(s.Form.Item,{label:j===0?\"\\u76F4\\u64AD\\u6E90\\u5217\\u8868\":\"\",required:!1,key:N.key,style:{marginBottom:12}},r.default.createElement(\"div\",{className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},N),{name:[N.name,\"name\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u540D\\u79F0\"}],style:{marginBottom:0,flex:\"1\"}}),r.default.createElement(s.Input,{placeholder:\"\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,B(S({},N),{name:[N.name,\"url\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u76F4\\u64AD\\u6E90URL\"}],style:{marginBottom:0,flex:\"2\"}}),r.default.createElement(s.Input,{placeholder:\"\\u76F4\\u64AD\\u6E90URL (m3u/txt)\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(h.length>1?\"\":\" domain-list-action--placeholder\")},h.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>L(N.name)}):null)))),r.default.createElement(s.Form.Item,{label:\"\"},r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>C({name:\"\",url:\"\"}),className:\"domain-edit-add-button\",icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0\\u76F4\\u64AD\\u6E90\"),r.default.createElement(s.Form.ErrorList,{errors:M}))))),r.default.createElement(s.Form.Item,{label:null},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:z,disabled:l},\"\\u4FDD\\u5B58\"),m&&r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:H,disabled:l},\"\\u91CD\\u7F6E\")))))}var Sd=new Set([\"nodejs_push\",\"nodejs_muban\",\"nodejs_template\"]),Od=new Set([\"\\u63A8\\u9001\",\"\\u6A21\\u677F\"]);function kd(e){let t=String(e.name||\"\").trim();return!Sd.has(e.key)&&!Od.has(t)}function Td(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(!1),[l,u]=(0,r.useState)(!1),[c,f]=(0,r.useState)(!1),[m,d]=(0,r.useState)(!1),[g,p]=(0,r.useState)(null),[v,y]=(0,r.useState)([]),[k,E]=(0,r.useState)(!1),[w,F]=(0,r.useState)(null),[_,z]=(0,r.useState)([]),[H,h]=(0,r.useState)(!1),[C,L]=(0,r.useState)(null),[M,N]=(0,r.useState)([]),[j,ne]=(0,r.useState)(!1),[ie,we]=(0,r.useState)(null),[Ce,J]=(0,r.useState)([]),[Ee,ue]=(0,r.useState)(!1),[T,A]=(0,r.useState)([]),[$,U]=(0,r.useState)(!1),[me,Se]=(0,r.useState)(null),[de,Pe]=(0,r.useState)([]),[Oe,ge]=(0,r.useState)(\"\"),[q,We]=(0,r.useState)(null),xe=(0,r.useMemo)(()=>e.filter(kd),[e]),Le=(0,r.useMemo)(()=>new Set(v.map(b=>b.id).filter(Boolean)),[v]),ke=(0,r.useMemo)(()=>new Set(_.map(b=>b.id).filter(Boolean)),[_]),Be=b=>{let O=xd(b==null?void 0:b.key);if(O){Ge(O);return}let D=hd(b==null?void 0:b.key);if(D){Gt(D);return}if(b!=null&&b.cms){$n(b.key);return}We(b),b.key===\"nodejs_pansou\"?i(!0):o(!0)},_e=(b,O={})=>{if(O.reload){ce();return}if(q){let D=e.findIndex(P=>P.key===q.key);D!==-1&&(e[D].name=b,t([...e]))}},Ht=async()=>{try{f(!0);let b=await I.get(\"/emby-spider/setting\");y(Array.isArray(b==null?void 0:b.servers)?b.servers:[]),p(B(S({},Lr()),{isNew:!0})),u(!1),d(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D Emby \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},jt=async()=>{try{f(!0);let b=await I.get(\"/alist-video/setting\");N(Array.isArray(b==null?void 0:b.servers)?b.servers:[]),L(B(S({},ui()),{isNew:!0})),u(!1),h(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D Alist \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},yt=async()=>{try{f(!0);let b=await I.get(\"/cms/list\");A(Array.isArray(b)?b:[]),u(!1),ue(!0)}catch(b){console.error(b),s.message.error(\"\\u52A0\\u8F7D CMS \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((b==null?void 0:b.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{f(!1)}},Fe=async b=>{let O=Dr(b),D=v.findIndex(V=>V.id===O.id),P=D>=0?[...v]:[...v,O];D>=0&&(P[D]=O),await I.put(\"/emby-spider/setting\",{servers:P}),y(P),d(!1),p(null),await ce()},lt=()=>{d(!1),p(null)},dt=async b=>{let O=Nr(b),D=M.findIndex(V=>V.id===O.id),P=D>=0?[...M]:[...M,O];D>=0&&(P[D]=O),await I.put(\"/alist-video/setting\",{servers:P}),N(P),h(!1),L(null),await ce()},Vt=()=>{h(!1),L(null)},Ut=async b=>{let O=Dd(T,b);await I.put(\"/cms/list\",O),A(O),ue(!1),await ce()},Bn=()=>{ue(!1)},$n=async b=>{try{let O=await I.get(\"/cms/list\"),D=Array.isArray(O)?O:[],P=D.find(V=>Fr(V)===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 CMS \\u6E90\\u914D\\u7F6E\");return}Pe(D),Se(S({},P)),ge(b),U(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D CMS \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},$e=async b=>{let O=ci(b);if(!O){s.message.warning(\"CMS \\u6E90\\u4FE1\\u606F\\u4E0D\\u5B8C\\u6574\");return}let D=de.map(P=>Fr(P)===Oe?O:P);await I.put(\"/cms/list\",D),Pe(D),U(!1),Se(null),ge(\"\"),await ce()},ze=b=>{b&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(b.name||\"CMS \\u6E90\",\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u4E2A CMS \\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=de.filter(D=>Fr(D)!==Oe);await I.put(\"/cms/list\",O),Pe(O),U(!1),Se(null),ge(\"\"),await ce()}})},Ge=async b=>{try{let O=await I.get(\"/emby-spider/setting\"),D=Array.isArray(O==null?void 0:O.servers)?O.servers:[],P=D.find(V=>V.id===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 Emby \\u670D\\u52A1\\u5668\\u914D\\u7F6E\");return}z(D),F(S({},P)),E(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D Emby \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},Wt=async b=>{let O=Dr(b),D=_.map(P=>P.id===(w==null?void 0:w.id)?O:P);await I.put(\"/emby-spider/setting\",{servers:D}),z(D),E(!1),F(null),await ce()},Ie=b=>{b!=null&&b.id&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Ln(b),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u53F0 Emby \\u5BF9\\u5E94\\u7684\\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=_.filter(D=>D.id!==b.id);await I.put(\"/emby-spider/setting\",{servers:O}),z(O),E(!1),F(null),await ce()}})},Gt=async b=>{try{let O=await I.get(\"/alist-video/setting\"),D=Array.isArray(O==null?void 0:O.servers)?O.servers:[],P=D.find(V=>V.id===b);if(!P){s.message.warning(\"\\u672A\\u627E\\u5230\\u5BF9\\u5E94\\u7684 Alist \\u670D\\u52A1\\u5668\\u914D\\u7F6E\");return}J(D),we(S({},P)),ne(!0)}catch(O){console.error(O),s.message.error(\"\\u52A0\\u8F7D Alist \\u914D\\u7F6E\\u5931\\u8D25\\uFF1A\".concat((O==null?void 0:O.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}},zn=async b=>{let O=Nr(b),D=Ce.map(P=>P.id===(ie==null?void 0:ie.id)?O:P);await I.put(\"/alist-video/setting\",{servers:D}),J(D),ne(!1),we(null),await ce()},qn=b=>{b!=null&&b.id&&s.Modal.confirm({title:\"\\u5220\\u9664 \".concat(Br(b),\"\\uFF1F\"),content:\"\\u5220\\u9664\\u540E\\u8FD9\\u53F0 Alist \\u5BF9\\u5E94\\u7684\\u89C6\\u9891\\u6E90\\u4F1A\\u4ECE\\u7AD9\\u6E90\\u5217\\u8868\\u4E2D\\u79FB\\u9664\\u3002\",okText:\"\\u5220\\u9664\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){let O=Ce.filter(D=>D.id!==b.id);await I.put(\"/alist-video/setting\",{servers:O}),J(O),ne(!1),we(null),await ce()}})},vt=(0,r.useMemo)(()=>[{title:\"\",dataIndex:\"drag\",width:40,render(b,O){return r.default.createElement(di,{rowKey:O.key})}},{title:\"\\u7AD9\\u6E90\",dataIndex:\"name\",render(b,O){return r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",minWidth:0}},r.default.createElement(\"span\",{title:b,style:{flex:1,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},b),O.t4&&r.default.createElement(s.Tag,{className:\"ios-tag\"},\"T4\"))}},{title:\"\\u542F\\u7528\",dataIndex:\"enable\",render(b,O){return r.default.createElement(s.Switch,{value:b,onChange:D=>{t(P=>P.map(V=>V.key===O.key?B(S({},V),{enable:D}):V))}})},width:80},{title:\"\\u64CD\\u4F5C\",dataIndex:\"action\",width:60,render(b,O){return r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>Be(O),size:\"small\"})}}],[e]),Yt=wr(Lt(at,{activationConstraint:{distance:1}}),Lt(xt,{activationConstraint:{delay:150,tolerance:5}})),Hn=({active:b,over:O})=>{b.id!==(O==null?void 0:O.id)&&t(D=>{let P=D.findIndex(fe=>fe.key===b.id),V=D.findIndex(fe=>fe.key===(O==null?void 0:O.id));return Bt(D,P,V)})},ce=async()=>{let O=(await bt.default.get(\"/full-config\")).data.video.sites,D=await I.get(\"/sites/list\"),P={},V={};O.forEach(G=>{V[G.key]=G});let fe=D.filter(G=>(P[G.key]=!0,V[G.key])).map(G=>{let se=V[G.key];return{key:G.key,name:G.name||se.name,enable:G.enable,t4:se.t4,cms:se.cms}});O.forEach(G=>{P[G.key]||fe.push({key:G.key,name:G.name,enable:!0,t4:G.t4,cms:G.cms})}),t(fe)},jn=async()=>{try{await I.put(\"/sites/list\",{list:e}),s.message.success({content:r.default.createElement(r.default.Fragment,null,\"\\u8BBE\\u7F6E\\u6210\\u529F\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null),\"\\u9700\\u91CD\\u65B0\\u52A0\\u8F7D\\u6E90\\uFF01\",r.default.createElement(\"br\",null)),duration:5})}catch(b){console.error(b),s.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(b==null?void 0:b.message))}},Vn=async()=>{try{await I.delete(\"/sites/list\"),ce(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(b){console.error(b),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(b==null?void 0:b.message))}};return(0,r.useEffect)(()=>{ce()},[]),r.default.createElement(\"div\",null,r.default.createElement(\"div\",{className:\"sites-list-toolbar\"},r.default.createElement(s.Dropdown,{open:l,onOpenChange:u,trigger:[\"click\"],placement:\"bottomRight\",dropdownRender:()=>r.default.createElement(\"div\",{className:\"site-add-menu\"},r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:Ht,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:Er,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"Emby\")),r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:jt,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:ei,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"Alist\")),r.default.createElement(\"button\",{type:\"button\",className:\"site-add-type-item\",onClick:yt,disabled:c},r.default.createElement(\"span\",{className:\"site-add-type-item__icon\"},r.default.createElement(\"img\",{src:ti,alt:\"\",\"aria-hidden\":\"true\"})),r.default.createElement(\"span\",{className:\"site-add-type-item__name\"},\"CMS\")))},r.default.createElement(s.Button,{type:\"primary\",icon:r.default.createElement(be,null),className:\"sites-add-button\"},\"\\u6DFB\\u52A0\"))),r.default.createElement(Cr,{sensors:Yt,modifiers:[Sr],onDragEnd:Hn},r.default.createElement(kr,{items:xe.map(b=>b.key),strategy:Or},r.default.createElement(s.Table,{components:{body:{row:li}},rowKey:\"key\",columns:vt,dataSource:xe,pagination:!1,tableLayout:\"fixed\",className:\"sites-table\"}))),r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:jn},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:Vn},\"\\u91CD\\u7F6E\")),r.default.createElement(Cd,{visible:n,onCancel:()=>o(!1),onSave:_e,siteKey:q==null?void 0:q.key,siteName:q==null?void 0:q.name}),r.default.createElement(yd,{visible:a,onCancel:()=>i(!1),onSave:_e,siteName:q==null?void 0:q.name}),r.default.createElement(Ar,{visible:m,onCancel:lt,onSave:Fe,server:g,usedIds:Le}),r.default.createElement(Ar,{visible:k,onCancel:()=>E(!1),onSave:Wt,onDelete:Ie,server:w,usedIds:ke}),r.default.createElement(_r,{visible:H,onCancel:Vt,onSave:dt,server:C}),r.default.createElement(_r,{visible:j,onCancel:()=>ne(!1),onSave:zn,onDelete:qn,server:ie}),r.default.createElement(Nd,{visible:Ee,onCancel:Bn,onSave:Ut}),r.default.createElement(fi,{visible:$,onCancel:()=>U(!1),onSave:$e,onDelete:ze,source:me,mode:\"edit\"}))}function Ed(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(null),l=(0,r.useMemo)(()=>[{title:\"\",dataIndex:\"drag\",width:40,render(p,v){return r.default.createElement(di,{rowKey:v.key})}},{title:\"\\u7F51\\u76D8\",dataIndex:\"name\",render(p,v){return r.default.createElement(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",minWidth:0}},r.default.createElement(\"span\",{title:p,style:{flex:1,minWidth:0,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},p),(v.key===\"quark\"||v.key===\"uc\"||v.key===\"ali\")&&v.chunkSize&&r.default.createElement(s.Tag,{className:\"ios-tag\"},v.chunkSize,\"K\\xB7\",v.poolSize))}},{title:\"\\u542F\\u7528\",dataIndex:\"enable\",render(p,v,y){return r.default.createElement(s.Switch,{value:p,onChange:k=>{e[y].enable=k,t([...e])}})},width:80},{title:\"\\u64CD\\u4F5C\",dataIndex:\"action\",width:60,render(p,v,y){return r.default.createElement(s.Button,{type:\"text\",className:\"ios-edit-btn\",icon:r.default.createElement(ct,null),onClick:()=>{i(B(S({},v),{index:y})),o(!0)},size:\"small\"})}}],[e]),u=wr(Lt(at,{activationConstraint:{distance:1}}),Lt(xt,{activationConstraint:{delay:150,tolerance:5}})),c=({active:p,over:v})=>{p.id!==(v==null?void 0:v.id)&&t(y=>{let k=y.findIndex(w=>w.key===p.id),E=y.findIndex(w=>w.key===(v==null?void 0:v.id));return Bt(y,k,E)})},f=async()=>{let p=await I.get(\"/pans/list\");t(p)},m=async()=>{try{await I.put(\"/pans/list\",{list:e}),s.message.success({content:r.default.createElement(r.default.Fragment,null,\"\\u8BBE\\u7F6E\\u6210\\u529F\",r.default.createElement(\"br\",null),r.default.createElement(\"span\",{style:{fontSize:\"12px\",color:\"#999\"}},\"\\u914D\\u7F6E\\u5DF2\\u4FDD\\u5B58\\u5E76\\u7ACB\\u5373\\u751F\\u6548\")),duration:2})}catch(p){console.error(p),s.message.error(\"\\u8BBE\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(p==null?void 0:p.message))}},d=async()=>{try{await I.delete(\"/pans/list\"),f(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(p){console.error(p),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(p==null?void 0:p.message))}},g=p=>{let v=String(p.name||\"\").trim(),y=String(p.pic||\"\").trim(),k=B(S({},e[a.index]),{name:v,pic:y});(a.key===\"quark\"||a.key===\"uc\"||a.key===\"ali\")&&(k.chunkSize=p.chunkSize,k.poolSize=p.poolSize),a.key===\"quark\"&&(k.noSaveMode=p.noSaveMode===!0),e[a.index]=k,t([...e]),o(!1),s.message.info('\\u914D\\u7F6E\\u5DF2\\u66F4\\u65B0\\uFF0C\\u8BF7\\u70B9\\u51FB\\u4E0B\\u65B9\"\\u4FDD\\u5B58\"\\u6309\\u94AE\\u4FDD\\u5B58\\u914D\\u7F6E')};return(0,r.useEffect)(()=>{f()},[]),r.default.createElement(\"div\",null,r.default.createElement(Cr,{sensors:u,modifiers:[Sr],onDragEnd:c},r.default.createElement(kr,{items:e.map(p=>p.key),strategy:Or},r.default.createElement(s.Table,{components:{body:{row:li}},rowKey:\"key\",columns:l,dataSource:e,pagination:!1,tableLayout:\"fixed\",className:\"sites-table\"}))),r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:m},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:d},\"\\u91CD\\u7F6E\")),r.default.createElement(dd,{visible:n,onCancel:()=>o(!1),onSave:g,panKey:a==null?void 0:a.key,panName:a==null?void 0:a.name,panPic:a==null?void 0:a.pic,chunkSize:a==null?void 0:a.chunkSize,poolSize:a==null?void 0:a.poolSize,noSaveMode:a==null?void 0:a.noSaveMode}))}function Fd(){let[e]=s.Form.useForm(),[t,n]=(0,r.useState)(!1),o=\"/emby/setting\",a=async()=>{let c=await I.get(o);e.setFieldsValue(c)},i=async()=>{let c=await e.validateFields();try{await I.put(o,c),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\")}catch(f){console.error(f),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat(f==null?void 0:f.message))}},l=async()=>{try{await I.delete(o),a(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(c){console.error(c),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(c==null?void 0:c.message))}},u=()=>{s.Modal.confirm({title:\"\\u786E\\u8BA4\\u6E05\\u7406 TMDB \\u7F13\\u5B58\\uFF1F\",content:\"\\u5C06\\u6E05\\u7A7A\\u670D\\u52A1\\u7AEF TMDB \\u7F13\\u5B58\\uFF08\\u542B\\u5185\\u5B58\\u4E0E\\u6301\\u4E45\\u5316\\u6570\\u636E\\uFF09\\uFF0C\\u540E\\u7EED\\u8BE6\\u60C5\\u4F1A\\u91CD\\u65B0\\u8BF7\\u6C42 TMDB\\u3002\",okText:\"\\u6E05\\u7406\",okButtonProps:{danger:!0},cancelText:\"\\u53D6\\u6D88\",async onOk(){n(!0);try{await I.post(\"/emby/tmdb/cache/clear\"),s.message.success(\"TMDB \\u7F13\\u5B58\\u5DF2\\u6E05\\u7406\")}catch(c){console.error(c),s.message.error(\"\\u6E05\\u7406\\u5931\\u8D25\\uFF1A\".concat(c==null?void 0:c.message))}finally{n(!1)}}})};return(0,r.useEffect)(()=>{a()},[]),r.default.createElement(s.Form,{form:e,layout:\"vertical\",style:{maxWidth:600},className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"\\u670D\\u52A1\\u5668\\u540D\\u79F0\",name:\"serverName\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u540D\\u79F0\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u670D\\u52A1\\u5668\\u540D\\u79F0\"})),r.default.createElement(s.Form.Item,{label:\"\\u767B\\u5F55\\u7528\\u6237\\u540D\",name:\"username\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u7528\\u6237\\u540D\"}]},r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u7528\\u6237\\u540D\"})),r.default.createElement(s.Form.Item,{label:\"\\u767B\\u5F55\\u5BC6\\u7801\",name:\"password\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u5BC6\\u7801\"}]},r.default.createElement(s.Input.Password,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u767B\\u5F55\\u5BC6\\u7801\"})),r.default.createElement(s.Form.Item,{label:\"TMDB API Key\",name:\"tmdbApiKey\",tooltip:\"TMDB v3 API Key\\uFF0C\\u542F\\u7528\\u589E\\u5F3A\\u65F6\\u5FC5\\u586B\",rules:[({getFieldValue:c})=>({validator(f,m){return!c(\"tmdbEnable\")||String(m||\"\").trim()?Promise.resolve():Promise.reject(new Error(\"\\u542F\\u7528 TMDB \\u589E\\u5F3A\\u65F6\\u8BF7\\u8F93\\u5165 API Key\"))}})]},r.default.createElement(s.Input.Password,{placeholder:\"\\u8BF7\\u8F93\\u5165 TMDB API Key\",autoComplete:\"off\"})),r.default.createElement(s.Form.Item,{label:\"\\u542F\\u7528 Emby\",name:\"enable\",valuePropName:\"checked\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u641C\\u7D22\\u663E\\u793A\\u6765\\u6E90\",name:\"searchSourcePrefix\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u641C\\u7D22\\u7ED3\\u679C\\u6807\\u9898\\u663E\\u793A\\u4E3A\\u201C\\u6765\\u6E90 \\xB7 \\u6807\\u9898\\u201D\",style:{marginBottom:24}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u542F\\u7528 TMDB \\u589E\\u5F3A\",name:\"tmdbEnable\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u4F18\\u5148\\u4F7F\\u7528 TMDB \\u7684\\u6D77\\u62A5\\u3001\\u5267\\u7167\\u548C\\u5143\\u6570\\u636E\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"TMDB \\u7F13\\u5B58\",tooltip:\"\\u4EC5\\u6E05\\u7406\\u670D\\u52A1\\u7AEF TMDB \\u7F13\\u5B58\\uFF0C\\u4E0D\\u5F71\\u54CD\\u5217\\u8868/\\u641C\\u7D22\\u7AD9\\u6E90\\u7F13\\u5B58\"},r.default.createElement(s.Button,{danger:!0,onClick:u,loading:t},\"\\u4E00\\u952E\\u6E05\\u7406 TMDB \\u7F13\\u5B58\")),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:i},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:l},\"\\u91CD\\u7F6E\"))))}function Id(){let[e]=s.Form.useForm(),t=\"/danmu/setting\",n=async()=>{let i=await I.get(t);e.setFieldsValue(i)},o=async()=>{let i=await e.validateFields();try{await I.put(t,i),s.message.success(\"\\u4FDD\\u5B58\\u6210\\u529F\")}catch(l){console.error(l),s.message.error(\"\\u4FDD\\u5B58\\u5931\\u8D25\\uFF1A\".concat(l==null?void 0:l.message))}},a=async()=>{try{await I.delete(t),n(),s.message.success(\"\\u91CD\\u7F6E\\u6210\\u529F\")}catch(i){console.error(i),s.message.error(\"\\u91CD\\u7F6E\\u5931\\u8D25\\uFF1A\".concat(i==null?void 0:i.message))}};return(0,r.useEffect)(()=>{n()},[]),r.default.createElement(s.Form,{form:e,layout:\"vertical\",style:{maxWidth:600},className:\"ios-form\"},r.default.createElement(s.Form.Item,{label:\"API \\u5217\\u8868\",style:{marginBottom:8}},r.default.createElement(s.Form.List,{name:\"urls\",rules:[{required:!0,message:\"\\u8BF7\\u6DFB\\u52A0API\\u5730\\u5740\"}]},(i,{add:l,remove:u},{errors:c})=>r.default.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12}},i.map(f=>r.default.createElement(\"div\",{key:f.key,className:\"domain-list-row\"},r.default.createElement(s.Form.Item,B(S({},f),{name:[f.name,\"address\"],validateTrigger:[\"onChange\",\"onBlur\"],rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165API\\u5730\\u5740\"}],style:{flex:1,marginBottom:0}}),r.default.createElement(s.Input,{placeholder:\"\\u8BF7\\u8F93\\u5165API\\u5730\\u5740\"})),r.default.createElement(s.Form.Item,B(S({},f),{name:[f.name,\"name\"],validateTrigger:[\"onChange\",\"onBlur\"],style:{width:100,marginBottom:0,flexShrink:0}}),r.default.createElement(s.Input,{placeholder:\"\\u522B\\u540D\"})),r.default.createElement(\"span\",{className:\"domain-list-action\".concat(i.length>1?\"\":\" domain-list-action--placeholder\")},i.length>1?r.default.createElement(Ze,{className:\"dynamic-delete-button\",onClick:()=>u(f.name)}):null))),r.default.createElement(s.Button,{type:\"dashed\",onClick:()=>l(),block:!0,icon:r.default.createElement(be,null)},\"\\u6DFB\\u52A0 API\"),r.default.createElement(s.Form.ErrorList,{errors:c})))),r.default.createElement(s.Form.Item,{label:\"\\u81EA\\u52A8\\u63A8\\u9001\",name:\"autoPush\",valuePropName:\"checked\",style:{marginBottom:16}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{label:\"\\u8C03\\u8BD5\\u4FE1\\u606F\",name:\"debug\",valuePropName:\"checked\",tooltip:\"\\u5F00\\u542F\\u540E\\u5728\\u63A7\\u5236\\u53F0\\u663E\\u793A\\u8BE6\\u7EC6\\u7684\\u5F39\\u5E55\\u5339\\u914D\\u8C03\\u8BD5\\u4FE1\\u606F\",style:{marginBottom:24}},r.default.createElement(s.Switch,null)),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\"},r.default.createElement(\"button\",{className:\"action-btn action-btn--primary\",onClick:o},\"\\u4FDD\\u5B58\"),r.default.createElement(\"button\",{className:\"action-btn action-btn--danger\",onClick:a},\"\\u91CD\\u7F6E\"))))}function ci(e,t=\"\"){if(!e||typeof e!=\"object\")return null;let n=String(e.address||e.api||e.url||\"\").trim();if(!n)return null;let o=\"\";try{o=new URL(/^https?:\\/\\//i.test(n)?n:\"https://\".concat(n)).hostname}catch(l){}let a=String(e.name||e.title||t||o||\"CMS\").trim();return{name:a.startsWith(\"\\u300C\\u91C7\\u300D\")?a:\"\\u300C\\u91C7\\u300D\".concat(a),address:n}}function Fr(e={}){return\"nodejs_\".concat(String(e.name||\"\").trim())}function Dd(e=[],t=[]){let n=new Set;return[...e,...t].map(o=>ci(o)).filter(o=>!o||n.has(o.address)?!1:(n.add(o.address),!0))}function fi({visible:e,onCancel:t,onSave:n,onDelete:o,source:a,mode:i=\"add\"}){let[l]=s.Form.useForm(),[u,c]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&l.setFieldsValue({name:(a==null?void 0:a.name)||\"\",url:(a==null?void 0:a.address)||\"\"})},[e,a,l]);let f=async()=>{let m;try{m=await l.validateFields()}catch(p){return}let d=String(m.name||\"\").trim(),g=String(m.url||\"\").trim();try{if(c(!0),i===\"edit\"&&g===String((a==null?void 0:a.address)||\"\").trim()){await n({name:d,address:g}),s.message.success(\"CMS \\u6E90\\u4FDD\\u5B58\\u6210\\u529F\");return}let p=await I.post(\"/cms/resolve\",{name:d,url:g}),v=Array.isArray(p==null?void 0:p.sources)?p.sources:[];if(v.length===0){s.message.warning(\"\\u672A\\u8BC6\\u522B\\u5230\\u53EF\\u7528\\u7684 CMS \\u6E90\");return}i===\"edit\"?(await n(v[0]),s.message.success(v.length>1?\"\\u5DF2\\u4F7F\\u7528\\u8BC6\\u522B\\u7ED3\\u679C\\u4E2D\\u7684\\u7B2C\\u4E00\\u4E2A CMS \\u6E90\":\"CMS \\u6E90\\u4FDD\\u5B58\\u6210\\u529F\")):(await n(v),s.message.success(v.length>1?\"\\u5DF2\\u6DFB\\u52A0 \".concat(v.length,\" \\u4E2A CMS \\u6E90\"):\"CMS \\u6E90\\u6DFB\\u52A0\\u6210\\u529F\"))}catch(p){console.error(p),s.message.error(\"\".concat(i===\"edit\"?\"CMS \\u4FDD\\u5B58\\u5931\\u8D25\":\"CMS \\u89E3\\u6790\\u5931\\u8D25\",\"\\uFF1A\").concat((p==null?void 0:p.message)||\"\\u8BF7\\u6C42\\u5931\\u8D25\"))}finally{c(!1)}};return r.default.createElement(s.Modal,{title:i===\"edit\"?\"\\u7F16\\u8F91 \".concat((a==null?void 0:a.name)||\"CMS \\u6E90\"):\"\\u6DFB\\u52A0 CMS \\u6E90\",open:e,onCancel:t,confirmLoading:u,className:\"ios-modal\",footer:null,width:\"90%\",destroyOnClose:!0},r.default.createElement(s.Form,{form:l,layout:\"vertical\",className:\"ios-form\",requiredMark:!1},r.default.createElement(s.Form.Item,{label:\"\\u540D\\u79F0\",name:\"name\",tooltip:\"\\u7559\\u7A7A\\u65F6\\u4F7F\\u7528\\u63A5\\u53E3\\u8FD4\\u56DE\\u540D\\u79F0\\u6216\\u57DF\\u540D\\uFF0C\\u4FDD\\u5B58\\u65F6\\u4F1A\\u81EA\\u52A8\\u6DFB\\u52A0\\u300C\\u91C7\\u300D\\u524D\\u7F00\"},r.default.createElement(s.Input,{placeholder:\"\\u4F8B\\u5982\\uFF1A\\u6211\\u7684 CMS\"})),r.default.createElement(s.Form.Item,{label:\"API \\u5730\\u5740\",name:\"url\",rules:[{required:!0,whitespace:!0,message:\"\\u8BF7\\u8F93\\u5165 CMS API \\u5730\\u5740\"}]},r.default.createElement(s.Input,{placeholder:\"example.com \\u6216 https://example.com/api.php/provide/vod/\"})),r.default.createElement(s.Form.Item,{style:{marginBottom:0}},r.default.createElement(\"div\",{className:\"ios-button-group\".concat(i===\"edit\"?\"\":\" emby-server-edit-actions--new\")},i===\"edit\"&&r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--danger\",onClick:()=>o==null?void 0:o(a),disabled:u},\"\\u5220\\u9664\"),r.default.createElement(\"button\",{type:\"button\",className:\"action-btn action-btn--primary\",onClick:f,disabled:u},u?i===\"edit\"?\"\\u4FDD\\u5B58\\u4E2D...\":\"\\u89E3\\u6790\\u4E2D...\":i===\"edit\"?\"\\u4FDD\\u5B58\":\"\\u89E3\\u6790\\u5E76\\u6DFB\\u52A0\")))))}function Nd(e){return r.default.createElement(fi,B(S({},e),{mode:\"add\"}))}function Ad(){let[e,t]=(0,r.useState)([]),[n,o]=(0,r.useState)(!1),[a,i]=(0,r.useState)(!1),l=(0,r.useCallback)(async()=>{o(!0);try{let c=await I.get(\"/subscriptions\");t(Array.isArray(c==null?void 0:c.endpoints)?c.endpoints:[])}catch(c){console.error(\"\\u52A0\\u8F7D\\u8BA2\\u9605\\u63A5\\u53E3\\u5931\\u8D25:\",c),c!=null&&c.handled||s.message.error(\"\\u52A0\\u8F7D\\u8BA2\\u9605\\u63A5\\u53E3\\u5931\\u8D25\")}finally{o(!1)}},[]);(0,r.useEffect)(()=>{l()},[l]);let u=c=>{(0,Mr.default)(c.url),s.message.success(\"\\u5DF2\\u590D\\u5236\\u5230\\u526A\\u8D34\\u677F\")};return r.default.createElement(\"div\",{className:\"subscription-page\"},r.default.createElement(\"section\",{className:\"subscription-section\"},r.default.createElement(s.Spin,{spinning:n},r.default.createElement(\"div\",{className:\"subscription-endpoints\"},e.map(c=>r.default.createElement(\"div\",{className:\"subscription-endpoint\",key:c.key||c.url},r.default.createElement(\"div\",{className:\"subscription-endpoint__main\"},r.default.createElement(\"div\",{className:\"subscription-endpoint__title\"},r.default.createElement(\"span\",null,c.name)),r.default.createElement(\"div\",{className:\"subscription-endpoint__url\",title:c.url},c.url)),r.default.createElement(\"div\",{className:\"subscription-endpoint__actions\"},c.key===\"emby\"&&r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(yn,null),onClick:()=>i(!0),\"aria-label\":\"\\u914D\\u7F6E Emby API\"}),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(ir,null),onClick:()=>u(c),\"aria-label\":\"\\u590D\\u5236\".concat(c.name)}),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(ur,null),href:c.url,target:\"_blank\",rel:\"noreferrer\",\"aria-label\":\"\\u6253\\u5F00\".concat(c.name)}))))))),r.default.createElement(s.Modal,{title:\"Emby API \\u8BBE\\u7F6E\",open:a,footer:null,onCancel:()=>i(!1),destroyOnClose:!0,className:\"ios-modal subscription-setting-modal\"},r.default.createElement(Fd,null)))}function _d(){let[e,t]=(0,r.useState)(\"account\"),n={accept:\".json\",showUploadList:!1,beforeUpload(i){let l=new FileReader;return l.onload=async u=>{try{let c=JSON.parse(u.target.result);await I.put(\"/backup\",c),s.message.success(\"\".concat(i.name,\"\\u5BFC\\u5165\\u6210\\u529F\"))}catch(c){s.message.error(\"\".concat(i.name,\"\\u5BFC\\u5165\\u5931\\u8D25: \").concat(c.message)),console.error(\"Error parsing JSON:\",c)}},l.readAsText(i),!1}},o=[{key:\"account\",label:\"\\u767B\\u5F55\",icon:r.default.createElement(cr,null)},{key:\"settings\",label:\"\\u8BBE\\u7F6E\",icon:r.default.createElement(yn,null)}],a=()=>{switch(e){case\"account\":return r.default.createElement(Zl,null);case\"settings\":return r.default.createElement(s.Tabs,{destroyOnHidden:!0},r.default.createElement(Mn,{tab:\"\\u7AD9\\u6E90\\u5217\\u8868\",key:\"sites\"},r.default.createElement(Td,null)),r.default.createElement(Mn,{tab:\"\\u7F51\\u76D8\\u5217\\u8868\",key:\"pans\"},r.default.createElement(Ed,null)),r.default.createElement(Mn,{tab:\"\\u5F39\\u5E55\\u8BBE\\u7F6E\",key:\"danmu\"},r.default.createElement(Id,null)),r.default.createElement(Mn,{tab:\"\\u8BA2\\u9605\\u8F6C\\u6362\",key:\"subscriptions\"},r.default.createElement(Ad,null)));default:return null}};return r.default.createElement(\"div\",{className:\"app-layout\"},r.default.createElement(\"div\",{className:\"top-nav-bar\"},r.default.createElement(\"div\",{className:\"nav-pill\"},o.map(i=>r.default.createElement(\"div\",{key:i.key,className:\"nav-tab \".concat(e===i.key?\"nav-tab--active\":\"\"),onClick:()=>t(i.key)},i.icon,r.default.createElement(\"span\",null,i.label))),r.default.createElement(\"div\",{className:\"nav-divider\"}),r.default.createElement(\"div\",{className:\"nav-actions\"},r.default.createElement(s.Upload,S({},n),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(dr,null),size:\"small\"},\"\\u5BFC\\u5165\")),r.default.createElement(s.Button,{type:\"text\",icon:r.default.createElement(sr,null),size:\"small\",href:\"/website/backup\",target:\"_blank\"},\"\\u5BFC\\u51FA\")))),r.default.createElement(\"div\",{className:\"container\"},r.default.createElement(s.Card,{className:\"main-card\"},a())))}function Md(){(0,ii.createRoot)(document.getElementById(\"app\")).render(r.default.createElement(_d,null))}\n/*! Bundled license information:\n\nclassnames/index.js:\n (*!\n \tCopyright (c) 2018 Jed Watson.\n \tLicensed under the MIT License (MIT), see\n \thttp://jedwatson.github.io/classnames\n *)\n*/\n"}
|
|
module.exports.renderClient();
|
|
})();
|
|
`;
|
|
}();
|
|
|
|
|
|
|
|
globalThis.danmuBundle = function() {
|
|
return `
|
|
(function() {
|
|
const exports = {};
|
|
const module = { exports };
|
|
${"var Bt=Object.create;var R=Object.defineProperty,Lt=Object.defineProperties,Nt=Object.getOwnPropertyDescriptor,Ht=Object.getOwnPropertyDescriptors,qt=Object.getOwnPropertyNames,pe=Object.getOwnPropertySymbols,Ut=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable;var xe=(t,e,r)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,he=(t,e)=>{for(var r in e||(e={}))ce.call(e,r)&&xe(t,r,e[r]);if(pe)for(var r of pe(e))jt.call(e,r)&&xe(t,r,e[r]);return t},Oe=(t,e)=>Lt(t,Ht(e));var D=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Wt=(t,e)=>{for(var r in e)R(t,r,{get:e[r],enumerable:!0})},ge=(t,e,r,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of qt(e))!ce.call(t,a)&&a!==r&&R(t,a,{get:()=>e[a],enumerable:!(o=Nt(e,a))||o.enumerable});return t};var T=(t,e,r)=>(r=t!=null?Bt(Ut(t)):{},ge(e||!t||!t.__esModule?R(r,\"default\",{value:t,enumerable:!0}):r,t)),Vt=t=>ge(R({},\"__esModule\",{value:!0}),t);var C=D((vr,Te)=>{Te.exports=window.React});var be=D((Sr,we)=>{we.exports=window.ReactDOM});var Ce=D(X=>{\"use strict\";var Fe=be();X.createRoot=Fe.createRoot,X.hydrateRoot=Fe.hydrateRoot;var kr});var ve=D((Ar,ye)=>{ye.exports=window.antd});var Ee=D((eo,H)=>{(function(){\"use strict\";var t={}.hasOwnProperty;function e(){for(var a=\"\",l=0;l<arguments.length;l++){var n=arguments[l];n&&(a=o(a,r(n)))}return a}function r(a){if(typeof a==\"string\"||typeof a==\"number\")return a;if(typeof a!=\"object\")return\"\";if(Array.isArray(a))return e.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes(\"[native code]\"))return a.toString();var l=\"\";for(var n in a)t.call(a,n)&&a[n]&&(l=o(l,n));return l}function o(a,l){return l?a?a+\" \"+l:a+l:a}typeof H<\"u\"&&H.exports?(e.default=e,H.exports=e):typeof define==\"function\"&&typeof define.amd==\"object\"&&define.amd?define(\"classnames\",[],function(){return e}):window.classNames=e})()});var Mt=D((ia,Rt)=>{Rt.exports=window.axios});var Cr={};Wt(Cr,{Danmu:()=>Et,renderDanmu:()=>Fr});module.exports=Vt(Cr);var s=T(C(),1),_t=T(Ce(),1),x=T(ve(),1);var Se=T(C()),zt=(0,Se.createContext)({}),B=zt;function y(){return y=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)({}).hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},y.apply(null,arguments)}function ke(t){if(Array.isArray(t))return t}function Pe(t,e){var r=t==null?null:typeof Symbol<\"u\"&&t[Symbol.iterator]||t[\"@@iterator\"];if(r!=null){var o,a,l,n,u=[],f=!0,i=!1;try{if(l=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;f=!1}else for(;!(f=(o=l.call(r)).done)&&(u.push(o.value),u.length!==e);f=!0);}catch(m){i=!0,a=m}finally{try{if(!f&&r.return!=null&&(n=r.return(),Object(n)!==n))return}finally{if(i)throw a}}return u}}function ee(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=Array(e);r<e;r++)o[r]=t[r];return o}function Ae(t,e){if(t){if(typeof t==\"string\")return ee(t,e);var r={}.toString.call(t).slice(8,-1);return r===\"Object\"&&t.constructor&&(r=t.constructor.name),r===\"Map\"||r===\"Set\"?Array.from(t):r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ee(t,e):void 0}}function De(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function L(t,e){return ke(t)||Pe(t,e)||Ae(t,e)||De()}function w(t){\"@babel/helpers - typeof\";return w=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(e){return typeof e}:function(e){return e&&typeof Symbol==\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},w(t)}function Re(t,e){if(w(t)!=\"object\"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var o=r.call(t,e||\"default\");if(w(o)!=\"object\")return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(e===\"string\"?String:Number)(t)}function Me(t){var e=Re(t,\"string\");return w(e)==\"symbol\"?e:e+\"\"}function h(t,e,r){return(e=Me(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _e(t,e){if(t==null)return{};var r={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(e.indexOf(o)!==-1)continue;r[o]=t[o]}return r}function N(t,e){if(t==null)return{};var r,o,a=_e(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(o=0;o<l.length;o++)r=l[o],e.indexOf(r)===-1&&{}.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var k=T(C()),Pt=T(Ee());var O=Math.round;function te(t,e){let r=t.replace(/^[^(]*\\((.*)/,\"$1\").replace(/\\).*/,\"\").match(/\\d*\\.?\\d+%?/g)||[],o=r.map(a=>parseFloat(a));for(let a=0;a<3;a+=1)o[a]=e(o[a]||0,r[a]||\"\",a);return r[3]?o[3]=r[3].includes(\"%\")?o[3]/100:o[3]:o[3]=1,o}var Ie=(t,e,r)=>r===0?t:t/100;function M(t,e){let r=e||255;return t>r?r:t<0?0:t}var v=class t{constructor(e){h(this,\"isValid\",!0),h(this,\"r\",0),h(this,\"g\",0),h(this,\"b\",0),h(this,\"a\",1),h(this,\"_h\",void 0),h(this,\"_s\",void 0),h(this,\"_l\",void 0),h(this,\"_v\",void 0),h(this,\"_max\",void 0),h(this,\"_min\",void 0),h(this,\"_brightness\",void 0);function r(o){return o[0]in e&&o[1]in e&&o[2]in e}if(e)if(typeof e==\"string\"){let a=function(l){return o.startsWith(l)},o=e.trim();/^#?[A-F\\d]{3,8}$/i.test(o)?this.fromHexString(o):a(\"rgb\")?this.fromRgbString(o):a(\"hsl\")?this.fromHslString(o):(a(\"hsv\")||a(\"hsb\"))&&this.fromHsvString(o)}else if(e instanceof t)this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this._h=e._h,this._s=e._s,this._l=e._l,this._v=e._v;else if(r(\"rgb\"))this.r=M(e.r),this.g=M(e.g),this.b=M(e.b),this.a=typeof e.a==\"number\"?M(e.a,1):1;else if(r(\"hsl\"))this.fromHsl(e);else if(r(\"hsv\"))this.fromHsv(e);else throw new Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(e))}setR(e){return this._sc(\"r\",e)}setG(e){return this._sc(\"g\",e)}setB(e){return this._sc(\"b\",e)}setA(e){return this._sc(\"a\",e,1)}setHue(e){let r=this.toHsv();return r.h=e,this._c(r)}getLuminance(){function e(l){let n=l/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}let r=e(this.r),o=e(this.g),a=e(this.b);return .2126*r+.7152*o+.0722*a}getHue(){if(typeof this._h>\"u\"){let e=this.getMax()-this.getMin();e===0?this._h=0:this._h=O(60*(this.r===this.getMax()?(this.g-this.b)/e+(this.g<this.b?6:0):this.g===this.getMax()?(this.b-this.r)/e+2:(this.r-this.g)/e+4))}return this._h}getSaturation(){if(typeof this._s>\"u\"){let e=this.getMax()-this.getMin();e===0?this._s=0:this._s=e/this.getMax()}return this._s}getLightness(){return typeof this._l>\"u\"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>\"u\"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>\"u\"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(e=10){let r=this.getHue(),o=this.getSaturation(),a=this.getLightness()-e/100;return a<0&&(a=0),this._c({h:r,s:o,l:a,a:this.a})}lighten(e=10){let r=this.getHue(),o=this.getSaturation(),a=this.getLightness()+e/100;return a>1&&(a=1),this._c({h:r,s:o,l:a,a:this.a})}mix(e,r=50){let o=this._c(e),a=r/100,l=u=>(o[u]-this[u])*a+this[u],n={r:O(l(\"r\")),g:O(l(\"g\")),b:O(l(\"b\")),a:O(l(\"a\")*100)/100};return this._c(n)}tint(e=10){return this.mix({r:255,g:255,b:255,a:1},e)}shade(e=10){return this.mix({r:0,g:0,b:0,a:1},e)}onBackground(e){let r=this._c(e),o=this.a+r.a*(1-this.a),a=l=>O((this[l]*this.a+r[l]*r.a*(1-this.a))/o);return this._c({r:a(\"r\"),g:a(\"g\"),b:a(\"b\"),a:o})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}clone(){return this._c(this)}toHexString(){let e=\"#\",r=(this.r||0).toString(16);e+=r.length===2?r:\"0\"+r;let o=(this.g||0).toString(16);e+=o.length===2?o:\"0\"+o;let a=(this.b||0).toString(16);if(e+=a.length===2?a:\"0\"+a,typeof this.a==\"number\"&&this.a>=0&&this.a<1){let l=O(this.a*255).toString(16);e+=l.length===2?l:\"0\"+l}return e}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let e=this.getHue(),r=O(this.getSaturation()*100),o=O(this.getLightness()*100);return this.a!==1?\"hsla(\".concat(e,\",\").concat(r,\"%,\").concat(o,\"%,\").concat(this.a,\")\"):\"hsl(\".concat(e,\",\").concat(r,\"%,\").concat(o,\"%)\")}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?\"rgba(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\",\").concat(this.a,\")\"):\"rgb(\".concat(this.r,\",\").concat(this.g,\",\").concat(this.b,\")\")}toString(){return this.toRgbString()}_sc(e,r,o){let a=this.clone();return a[e]=M(r,o),a}_c(e){return new this.constructor(e)}getMax(){return typeof this._max>\"u\"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>\"u\"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(e){let r=e.replace(\"#\",\"\");function o(a,l){return parseInt(r[a]+r[l||a],16)}r.length<6?(this.r=o(0),this.g=o(1),this.b=o(2),this.a=r[3]?o(3)/255:1):(this.r=o(0,1),this.g=o(2,3),this.b=o(4,5),this.a=r[6]?o(6,7)/255:1)}fromHsl({h:e,s:r,l:o,a}){if(this._h=e%360,this._s=r,this._l=o,this.a=typeof a==\"number\"?a:1,r<=0){let d=O(o*255);this.r=d,this.g=d,this.b=d}let l=0,n=0,u=0,f=e/60,i=(1-Math.abs(2*o-1))*r,m=i*(1-Math.abs(f%2-1));f>=0&&f<1?(l=i,n=m):f>=1&&f<2?(l=m,n=i):f>=2&&f<3?(n=i,u=m):f>=3&&f<4?(n=m,u=i):f>=4&&f<5?(l=m,u=i):f>=5&&f<6&&(l=i,u=m);let p=o-i/2;this.r=O((l+p)*255),this.g=O((n+p)*255),this.b=O((u+p)*255)}fromHsv({h:e,s:r,v:o,a}){this._h=e%360,this._s=r,this._v=o,this.a=typeof a==\"number\"?a:1;let l=O(o*255);if(this.r=l,this.g=l,this.b=l,r<=0)return;let n=e/60,u=Math.floor(n),f=n-u,i=O(o*(1-r)*255),m=O(o*(1-r*f)*255),p=O(o*(1-r*(1-f))*255);switch(u){case 0:this.g=p,this.b=i;break;case 1:this.r=m,this.b=i;break;case 2:this.r=i,this.b=p;break;case 3:this.r=i,this.g=m;break;case 4:this.r=p,this.g=i;break;case 5:default:this.g=i,this.b=m;break}}fromHsvString(e){let r=te(e,Ie);this.fromHsv({h:r[0],s:r[1],v:r[2],a:r[3]})}fromHslString(e){let r=te(e,Ie);this.fromHsl({h:r[0],s:r[1],l:r[2],a:r[3]})}fromRgbString(e){let r=te(e,(o,a)=>a.includes(\"%\")?O(o/100*255):o);this.r=r[0],this.g=r[1],this.b=r[2],this.a=r[3]}};var q=2,Be=.16,Gt=.05,$t=.05,Qt=.15,qe=5,Ue=4,Yt=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function Le(t,e,r){var o;return Math.round(t.h)>=60&&Math.round(t.h)<=240?o=r?Math.round(t.h)-q*e:Math.round(t.h)+q*e:o=r?Math.round(t.h)+q*e:Math.round(t.h)-q*e,o<0?o+=360:o>=360&&(o-=360),o}function Ne(t,e,r){if(t.h===0&&t.s===0)return t.s;var o;return r?o=t.s-Be*e:e===Ue?o=t.s+Be:o=t.s+Gt*e,o>1&&(o=1),r&&e===qe&&o>.1&&(o=.1),o<.06&&(o=.06),Math.round(o*100)/100}function He(t,e,r){var o;return r?o=t.v+$t*e:o=t.v-Qt*e,o=Math.max(0,Math.min(1,o)),Math.round(o*100)/100}function U(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[],o=new v(t),a=o.toHsv(),l=qe;l>0;l-=1){var n=new v({h:Le(a,l,!0),s:Ne(a,l,!0),v:He(a,l,!0)});r.push(n)}r.push(o);for(var u=1;u<=Ue;u+=1){var f=new v({h:Le(a,u),s:Ne(a,u),v:He(a,u)});r.push(f)}return e.theme===\"dark\"?Yt.map(function(i){var m=i.index,p=i.amount;return new v(e.backgroundColor||\"#141414\").mix(r[m],p).toHexString()}):r.map(function(i){return i.toHexString()})}var je=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];je.primary=je[5];var We=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];We.primary=We[5];var Ve=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];Ve.primary=Ve[5];var ze=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];ze.primary=ze[5];var Ge=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];Ge.primary=Ge[5];var $e=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];$e.primary=$e[5];var Qe=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];Qe.primary=Qe[5];var Ye=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];Ye.primary=Ye[5];var j=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];j.primary=j[5];var Ze=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];Ze.primary=Ze[5];var Ke=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];Ke.primary=Ke[5];var Je=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];Je.primary=Je[5];var Xe=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];Xe.primary=Xe[5];var et=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];et.primary=et[5];var tt=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];tt.primary=tt[5];var rt=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];rt.primary=rt[5];var ot=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];ot.primary=ot[5];var at=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];at.primary=at[5];var lt=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];lt.primary=lt[5];var nt=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];nt.primary=nt[5];var ft=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];ft.primary=ft[5];var it=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];it.primary=it[5];var dt=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];dt.primary=dt[5];var ut=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];ut.primary=ut[5];var st=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];st.primary=st[5];var mt=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];mt.primary=mt[5];function pt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function g(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?pt(Object(r),!0).forEach(function(o){h(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pt(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}var St=T(C());function re(){return!!(typeof window<\"u\"&&window.document&&window.document.createElement)}function oe(t,e){if(!t)return!1;if(t.contains)return t.contains(e);for(var r=e;r;){if(r===t)return!0;r=r.parentNode}return!1}var xt=\"data-rc-order\",ct=\"data-rc-priority\",Zt=\"rc-util-key\",ae=new Map;function ht(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=t.mark;return e?e.startsWith(\"data-\")?e:\"data-\".concat(e):Zt}function le(t){if(t.attachTo)return t.attachTo;var e=document.querySelector(\"head\");return e||document.body}function Kt(t){return t===\"queue\"?\"prependQueue\":t?\"prepend\":\"append\"}function ne(t){return Array.from((ae.get(t)||t).children).filter(function(e){return e.tagName===\"STYLE\"})}function Ot(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!re())return null;var r=e.csp,o=e.prepend,a=e.priority,l=a===void 0?0:a,n=Kt(o),u=n===\"prependQueue\",f=document.createElement(\"style\");f.setAttribute(xt,n),u&&l&&f.setAttribute(ct,\"\".concat(l)),r!=null&&r.nonce&&(f.nonce=r==null?void 0:r.nonce),f.innerHTML=t;var i=le(e),m=i.firstChild;if(o){if(u){var p=(e.styles||ne(i)).filter(function(d){if(![\"prepend\",\"prependQueue\"].includes(d.getAttribute(xt)))return!1;var c=Number(d.getAttribute(ct)||0);return l>=c});if(p.length)return i.insertBefore(f,p[p.length-1].nextSibling),f}i.insertBefore(f,m)}else i.appendChild(f);return f}function Jt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=le(e);return(e.styles||ne(r)).find(function(o){return o.getAttribute(ht(e))===t})}function Xt(t,e){var r=ae.get(t);if(!r||!oe(document,r)){var o=Ot(\"\",e),a=o.parentNode;ae.set(t,a),t.removeChild(o)}}function gt(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=le(r),a=ne(o),l=g(g({},r),{},{styles:a});Xt(o,l);var n=Jt(e,l);if(n){var u,f;if((u=l.csp)!==null&&u!==void 0&&u.nonce&&n.nonce!==((f=l.csp)===null||f===void 0?void 0:f.nonce)){var i;n.nonce=(i=l.csp)===null||i===void 0?void 0:i.nonce}return n.innerHTML!==t&&(n.innerHTML=t),n}var m=Ot(t,l);return m.setAttribute(ht(l),e),m}function Tt(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}function er(t){return Tt(t)instanceof ShadowRoot}function wt(t){return er(t)?Tt(t):null}var fe={},tr=[],rr=function(e){tr.push(e)};function or(t,e){if(0)var r}function ar(t,e){if(0)var r}function lr(){fe={}}function bt(t,e,r){!e&&!fe[r]&&(t(!1,r),fe[r]=!0)}function W(t,e){bt(or,t,e)}function nr(t,e){bt(ar,t,e)}W.preMessage=rr;W.resetWarned=lr;W.noteOnce=nr;var Ft=W;var S=T(C());function fr(t){return t.replace(/-(.)/g,function(e,r){return r.toUpperCase()})}function yt(t,e){Ft(t,\"[@ant-design/icons] \".concat(e))}function ie(t){return w(t)===\"object\"&&typeof t.name==\"string\"&&typeof t.theme==\"string\"&&(w(t.icon)===\"object\"||typeof t.icon==\"function\")}function Ct(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(t).reduce(function(e,r){var o=t[r];switch(r){case\"class\":e.className=o,delete e.class;break;default:delete e[r],e[fr(r)]=o}return e},{})}function V(t,e,r){return r?S.default.createElement(t.tag,g(g({key:e},Ct(t.attrs)),r),(t.children||[]).map(function(o,a){return V(o,\"\".concat(e,\"-\").concat(t.tag,\"-\").concat(a))})):S.default.createElement(t.tag,g({key:e},Ct(t.attrs)),(t.children||[]).map(function(o,a){return V(o,\"\".concat(e,\"-\").concat(t.tag,\"-\").concat(a))}))}function de(t){return U(t)[0]}function z(t){return t?Array.isArray(t)?t:[t]:[]}var ir=\"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\",vt=function(e){var r=(0,S.useContext)(B),o=r.csp,a=r.prefixCls,l=r.layer,n=ir;a&&(n=n.replace(/anticon/g,a)),l&&(n=\"@layer \".concat(l,\" {\\n\").concat(n,\"\\n}\")),(0,S.useEffect)(function(){var u=e.current,f=wt(u);gt(n,\"@ant-design-icons\",{prepend:!l,csp:o,attachTo:f})},[])};var dr=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],_={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1};function ur(t){var e=t.primaryColor,r=t.secondaryColor;_.primaryColor=e,_.secondaryColor=r||de(e),_.calculated=!!r}function sr(){return g({},_)}var G=function(e){var r=e.icon,o=e.className,a=e.onClick,l=e.style,n=e.primaryColor,u=e.secondaryColor,f=N(e,dr),i=St.useRef(),m=_;if(n&&(m={primaryColor:n,secondaryColor:u||de(n)}),vt(i),yt(ie(r),\"icon should be icon definiton, but got \".concat(r)),!ie(r))return null;var p=r;return p&&typeof p.icon==\"function\"&&(p=g(g({},p),{},{icon:p.icon(m.primaryColor,m.secondaryColor)})),V(p.icon,\"svg-\".concat(p.name),g(g({className:o,onClick:a,style:l,\"data-icon\":p.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},f),{},{ref:i}))};G.displayName=\"IconReact\";G.getTwoToneColors=sr;G.setTwoToneColors=ur;var E=G;function ue(t){var e=z(t),r=L(e,2),o=r[0],a=r[1];return E.setTwoToneColors({primaryColor:o,secondaryColor:a})}function kt(){var t=E.getTwoToneColors();return t.calculated?[t.primaryColor,t.secondaryColor]:t.primaryColor}var mr=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];ue(j.primary);var $=k.forwardRef(function(t,e){var r=t.className,o=t.icon,a=t.spin,l=t.rotate,n=t.tabIndex,u=t.onClick,f=t.twoToneColor,i=N(t,mr),m=k.useContext(B),p=m.prefixCls,d=p===void 0?\"anticon\":p,c=m.rootClassName,P=(0,Pt.default)(c,d,h(h({},\"\".concat(d,\"-\").concat(o.name),!!o.name),\"\".concat(d,\"-spin\"),!!a||o.name===\"loading\"),r),A=n;A===void 0&&u&&(A=-1);var b=l?{msTransform:\"rotate(\".concat(l,\"deg)\"),transform:\"rotate(\".concat(l,\"deg)\")}:void 0,F=z(f),I=L(F,2),J=I[0],It=I[1];return k.createElement(\"span\",y({role:\"img\",\"aria-label\":o.name},i,{ref:e,tabIndex:A,onClick:u,className:P}),k.createElement(E,{icon:o,primaryColor:J,secondaryColor:It,style:b}))});$.displayName=\"AntdIcon\";$.getTwoToneColor=kt;$.setTwoToneColor=ue;var Q=$;var Y=T(C());var pr={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z\"}}]},name:\"sort-ascending\",theme:\"outlined\"},At=pr;var xr=function(e,r){return Y.createElement(Q,y({},e,{ref:r,icon:At}))},cr=Y.forwardRef(xr),se=cr;var Z=T(C());var hr={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z\"}}]},name:\"sort-descending\",theme:\"outlined\"},Dt=hr;var Or=function(e,r){return Z.createElement(Q,y({},e,{ref:r,icon:Dt}))},gr=Z.forwardRef(Or),me=gr;var K=T(Mt(),1);if(typeof window<\"u\"){let t=document.createElement(\"style\");t.textContent=\"html,\\nbody,\\n#app {\\n height: 100%;\\n margin: 0;\\n padding: 0;\\n overflow: hidden;\\n}\\n.danmu-container {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n padding: 20px;\\n box-sizing: border-box;\\n}\\n.danmu-container .main-title {\\n text-align: center;\\n transition: all 0.3s ease-out;\\n max-height: 50px;\\n opacity: 1;\\n margin-bottom: 20px;\\n overflow: hidden;\\n}\\n.danmu-container .main-title.hidden {\\n max-height: 0;\\n opacity: 0;\\n margin: 0;\\n}\\n.danmu-container .search-input {\\n margin-bottom: 20px;\\n}\\n.danmu-container .result-container {\\n flex-grow: 1;\\n overflow: hidden;\\n display: flex;\\n flex-direction: column;\\n}\\n.danmu-container .result-container .spin-container {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 100%;\\n}\\n.danmu-container .result-container > .ant-tabs {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n.danmu-container .result-container > .ant-tabs .ant-tabs-content-holder {\\n overflow-y: auto;\\n flex-grow: 1;\\n}\\n.drawer {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n}\\n.drawer .ant-drawer-mask {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n}\\n.drawer .ant-drawer-content-wrapper {\\n left: 0;\\n right: 0;\\n}\\n.drawer .ant-drawer-title {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.drawer .ant-list-item {\\n padding: 16px 24px;\\n}\\n@media (max-width: 768px) {\\n .danmu-container {\\n padding: 10px;\\n }\\n .danmu-container .search-input {\\n margin-bottom: 8px;\\n }\\n .danmu-container .ant-tabs-left > .ant-tabs-nav {\\n width: 80px;\\n }\\n .danmu-container .ant-tabs-nav {\\n margin: 0;\\n }\\n .danmu-container .ant-tabs-tab {\\n font-size: 12px;\\n padding: 8px 12px;\\n }\\n .danmu-container .anime-episode-container {\\n flex-direction: column;\\n }\\n .danmu-container .anime-episode-container .anime-list-col,\\n .danmu-container .anime-episode-container .episode-list-col {\\n width: 100%;\\n border-right: none;\\n max-height: 50vh;\\n }\\n .danmu-container .anime-episode-container .anime-list-col {\\n border-bottom: 1px solid #f0f0f0;\\n }\\n .drawer .ant-drawer-header {\\n padding: 16px 12px;\\n }\\n .drawer .ant-list-item {\\n padding: 12px;\\n }\\n}\\n\",document.head.appendChild(t)}var{Search:Tr}=x.Input,{Title:wr}=x.Typography,br=({animes:t,sourceUrl:e,sourceName:r})=>{let[o,a]=(0,s.useState)(!1),[l,n]=(0,s.useState)(null),[u,f]=(0,s.useState)(!1),i=async d=>{try{let c=\"\".concat(e,\"/api/v2/comment/\").concat(d.episodeId);await K.default.post(\"/website/danmu/push\",{url:\"\".concat(c,\"?format=xml\"),previewUrl:\"\".concat(c,\"?format=json\"),sourceName:r}),a(!1)}catch(c){console.error(c),x.message.error(\"\\u63A8\\u9001\\u5931\\u8D25\")}},m=d=>{n(d),a(!0),f(!1)},p=()=>{l&&(n(Oe(he({},l),{episodes:[...l.episodes].reverse()})),f(d=>!d))};return!t||t.length===0?s.default.createElement(x.Empty,{description:\"\\u8BE5\\u6765\\u6E90\\u4E0B\\u65E0\\u7ED3\\u679C\"}):s.default.createElement(s.default.Fragment,null,s.default.createElement(x.List,{dataSource:t,renderItem:d=>s.default.createElement(x.List.Item,{onClick:()=>m(d)},d.animeTitle)}),l&&s.default.createElement(x.Drawer,{title:l.animeTitle,placement:\"bottom\",onClose:()=>a(!1),open:o,height:\"80%\",destroyOnClose:!0,closable:!1,bodyStyle:{padding:0},rootClassName:\"drawer\",extra:s.default.createElement(x.Button,{icon:u?s.default.createElement(se,null):s.default.createElement(me,null),onClick:p,style:{marginLeft:16}})},s.default.createElement(x.List,{dataSource:l.episodes,renderItem:d=>s.default.createElement(x.List.Item,{onClick:()=>i(d)},d.episodeTitle)})))};function Et(){let[t,e]=(0,s.useState)([]),[r,o]=(0,s.useState)(!1),[a,l]=(0,s.useState)([]),[n,u]=(0,s.useState)(!1),[f,i]=(0,s.useState)(new URLSearchParams(window.location.search).get(\"keyword\")||\"\");(0,s.useEffect)(()=>{K.default.get(\"/website/danmu/setting\").then(d=>{d.data.code===0&&d.data.data&&d.data.data.urls?e(d.data.data.urls.map(c=>({name:c.name||new URL(c.address).hostname,url:c.address}))):x.message.error(\"\\u83B7\\u53D6\\u5F39\\u5E55\\u6E90\\u5931\\u8D25\")}).catch(d=>{console.error(d),x.message.error(\"\\u83B7\\u53D6\\u5F39\\u5E55\\u6E90\\u5931\\u8D25\")})},[]);let m=(0,s.useCallback)((d,c=!1)=>{let P=d.trim();if(!P){c||x.message.warning(\"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5173\\u952E\\u8BCD\");return}if(t.length===0&&!c){x.message.error(\"\\u6CA1\\u6709\\u53EF\\u7528\\u7684\\u5F39\\u5E55\\u6E90\");return}if(i(P),!c){let b=new URL(window.location);b.searchParams.set(\"keyword\",P),window.history.pushState({},\"\",b)}o(!0),u(!0),l([]);let A=0;t.forEach(b=>{K.default.get(\"\".concat(b.url,\"/api/v2/search/episodes\"),{params:{anime:P}}).then(F=>{if(F.data.success&&F.data.animes&&F.data.animes.length>0){let I={sourceName:b.name,sourceUrl:b.url,data:F.data};l(J=>[...J,I])}}).catch(F=>console.error(\"Search from \".concat(b.name,\" failed:\"),F)).finally(()=>{A++,A===t.length&&o(!1)})})},[t]);(0,s.useEffect)(()=>{if(t.length>0){let c=new URLSearchParams(window.location.search).get(\"keyword\");c&&m(c,!0)}},[t,m]);let p=a.map((d,c)=>({key:\"\".concat(d.sourceName,\"-\").concat(c),label:d.sourceName,children:s.default.createElement(br,{animes:d.data.animes,sourceUrl:d.sourceUrl,sourceName:d.sourceName})}));return s.default.createElement(\"div\",{className:\"danmu-container\"},s.default.createElement(wr,{level:2,className:\"main-title \".concat(n?\"hidden\":\"\")},\"\\u5F39\\u5E55\\u641C\\u7D22\"),s.default.createElement(Tr,{placeholder:\"\\u8F93\\u5165\\u5F71\\u89C6\\u540D\\u79F0...\",enterButton:\"\\u641C\\u7D22\",size:\"large\",onSearch:d=>m(d),loading:r,className:\"search-input\",value:f,onChange:d=>i(d.target.value)}),s.default.createElement(\"div\",{className:\"result-container\"},n&&a.length===0&&r&&s.default.createElement(\"div\",{className:\"spin-container\"},s.default.createElement(x.Spin,{size:\"large\"})),a.length>0&&s.default.createElement(x.Tabs,{items:p,size:\"small\"}),n&&a.length===0&&!r&&s.default.createElement(x.Empty,{description:\"\\u672A\\u627E\\u5230\\u76F8\\u5173\\u7ED3\\u679C\"})))}function Fr(){(0,_t.createRoot)(document.getElementById(\"app\")).render(s.default.createElement(Et,null))}\n/*! Bundled license information:\n\nclassnames/index.js:\n (*!\n \tCopyright (c) 2018 Jed Watson.\n \tLicensed under the MIT License (MIT), see\n \thttp://jedwatson.github.io/classnames\n *)\n*/\n"}
|
|
module.exports.renderDanmu();
|
|
})();
|
|
`;
|
|
}();
|
|
|
|
|
|
var H0t=Object.create;var J2=Object.defineProperty;var Q0t=Object.getOwnPropertyDescriptor;var G0t=Object.getOwnPropertyNames;var V0t=Object.getPrototypeOf,z0t=Object.prototype.hasOwnProperty;var dr=(t,e)=>()=>(t&&(e=t(t=0)),e);var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),is=(t,e)=>{for(var r in e)J2(t,r,{get:e[r],enumerable:!0})},Ode=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of G0t(e))!z0t.call(t,s)&&s!==r&&J2(t,s,{get:()=>e[s],enumerable:!(n=Q0t(e,s))||n.enumerable});return t};var Re=(t,e,r)=>(r=t!=null?H0t(V0t(t)):{},Ode(e||!t||!t.__esModule?J2(r,"default",{value:t,enumerable:!0}):r,t)),K0t=t=>Ode(J2({},"__esModule",{value:!0}),t);var Dde=E((mOr,Pde)=>{"use strict";function Y0t(t){var e=new t,r=e;function n(){var i=e;return i.next?e=i.next:(e=new t,r=e),i.next=null,i}function s(i){r.next=i,r=i}return{get:n,release:s}}Pde.exports=Y0t});var Lde=E((hOr,L6)=>{"use strict";var J0t=Dde();function kde(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var n=J0t(X0t),s=null,i=null,a=0,o=null,c={push:h,drain:Na,saturated:Na,pause:l,paused:!1,get concurrency(){return r},set concurrency(C){if(!(C>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=C,!c.paused)for(;s&&a<r;)a++,g()},running:u,resume:p,idle:m,length:d,getQueue:f,unshift:A,empty:Na,kill:b,killAndDrain:y,error:v,abort:x};return c;function u(){return a}function l(){c.paused=!0}function d(){for(var C=s,R=0;C;)C=C.next,R++;return R}function f(){for(var C=s,R=[];C;)R.push(C.value),C=C.next;return R}function p(){if(c.paused){if(c.paused=!1,s===null){a++,g();return}for(;s&&a<r;)a++,g()}}function m(){return a===0&&c.length()===0}function h(C,R){var w=n.get();w.context=t,w.release=g,w.value=C,w.callback=R||Na,w.errorHandler=o,a>=r||c.paused?i?(i.next=w,i=w):(s=w,i=w,c.saturated()):(a++,e.call(t,w.value,w.worked))}function A(C,R){var w=n.get();w.context=t,w.release=g,w.value=C,w.callback=R||Na,w.errorHandler=o,a>=r||c.paused?s?(w.next=s,s=w):(s=w,i=w,c.saturated()):(a++,e.call(t,w.value,w.worked))}function g(C){C&&n.release(C);var R=s;R&&a<=r?c.paused?a--:(i===s&&(i=null),s=R.next,R.next=null,e.call(t,R.value,R.worked),i===null&&c.empty()):--a===0&&c.drain()}function b(){s=null,i=null,c.drain=Na}function y(){s=null,i=null,c.drain(),c.drain=Na}function x(){var C=s;for(s=null,i=null;C;){var R=C.next,w=C.callback,N=C.errorHandler,P=C.value,L=C.context;C.value=null,C.callback=Na,C.errorHandler=null,N&&N(new Error("abort"),P),w.call(L,new Error("abort")),C.release(C),C=R}c.drain=Na}function v(C){o=C}}function Na(){}function X0t(){this.value=null,this.callback=Na,this.next=null,this.release=Na,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,n){var s=t.callback,i=t.errorHandler,a=t.value;t.value=null,t.callback=Na,t.errorHandler&&i(r,a),s.call(t.context,r,n),t.release(t)}}function Z0t(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function n(l,d){e.call(this,l).then(function(f){d(null,f)},d)}var s=kde(t,n,r),i=s.push,a=s.unshift;return s.push=o,s.unshift=c,s.drained=u,s;function o(l){var d=new Promise(function(f,p){i(l,function(m,h){if(m){p(m);return}f(h)})});return d.catch(Na),d}function c(l){var d=new Promise(function(f,p){a(l,function(m,h){if(m){p(m);return}f(h)})});return d.catch(Na),d}function u(){var l=new Promise(function(d){process.nextTick(function(){if(s.idle())d();else{var f=s.drain;s.drain=function(){typeof f=="function"&&f(),d(),s.drain=f}}})});return l}}L6.exports=kde;L6.exports.promise=Z0t});var M6=E((gOr,X2)=>{"use strict";var{format:emt}=require("node:util");function tmt(){return`${this.name} [${this.code}]: ${this.message}`}function B6(t,e,r=500,n=Error){if(!t)throw new Error("Fastify error code must not be empty");if(!e)throw new Error("Fastify error message must not be empty");t=t.toUpperCase(),!r&&(r=void 0);function s(...i){if(!new.target)return new s(...i);this.code=t,this.name="FastifyError",this.statusCode=r;let a=i.length-1;a!==-1&&i[a]&&typeof i[a]=="object"&&"cause"in i[a]&&(this.cause=i.pop().cause),this.message=emt(e,...i),Error.stackTraceLimit!==0&&Error.captureStackTrace(this,s)}return s.prototype=Object.create(n.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),s.prototype[Symbol.toStringTag]="Error",s.prototype.toString=tmt,s}X2.exports=B6;X2.exports.default=B6;X2.exports.createError=B6});var Z2=E((AOr,Bde)=>{"use strict";var{createError:cp}=M6();Bde.exports={AVV_ERR_EXPOSE_ALREADY_DEFINED:cp("AVV_ERR_EXPOSE_ALREADY_DEFINED","'%s' is already defined, specify an expose option for '%s'"),AVV_ERR_ATTRIBUTE_ALREADY_DEFINED:cp("AVV_ERR_ATTRIBUTE_ALREADY_DEFINED","'%s' is already defined"),AVV_ERR_CALLBACK_NOT_FN:cp("AVV_ERR_CALLBACK_NOT_FN","Callback for '%s' hook is not a function. Received: '%s'"),AVV_ERR_PLUGIN_NOT_VALID:cp("AVV_ERR_PLUGIN_NOT_VALID","Plugin must be a function or a promise. Received: '%s'"),AVV_ERR_ROOT_PLG_BOOTED:cp("AVV_ERR_ROOT_PLG_BOOTED","Root plugin has already booted"),AVV_ERR_PARENT_PLG_LOADED:cp("AVV_ERR_PARENT_PLG_LOADED","Impossible to load '%s' plugin because the parent '%s' was already loaded"),AVV_ERR_READY_TIMEOUT:cp("AVV_ERR_READY_TIMEOUT","Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise"),AVV_ERR_PLUGIN_EXEC_TIMEOUT:cp("AVV_ERR_PLUGIN_EXEC_TIMEOUT","Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise")}});var PA=E((yOr,Mde)=>{"use strict";var rmt=Symbol("avvio.Boot"),nmt=Symbol("isOnCloseHandler"),smt=Symbol("avvio.ThenifyDoNotWrap"),imt=Symbol("avvio.TimeTree.untrackNode"),amt=Symbol("avvio.TimeTree.trackNode"),omt=Symbol("avvio.TimeTree.getParent"),cmt=Symbol("avvio.TimeTree.getNode"),umt=Symbol("avvio.TimeTree.addNode"),lmt=Symbol.for("plugin-meta");Mde.exports={kAvvio:rmt,kIsOnCloseHandler:nmt,kThenifyDoNotWrap:smt,kUntrackNode:imt,kTrackNode:amt,kGetParent:omt,kGetNode:cmt,kAddNode:umt,kPluginMeta:lmt}});var Hde=E((xOr,jde)=>{"use strict";var{kUntrackNode:Wde,kTrackNode:W6,kGetParent:$de,kGetNode:Fde,kAddNode:Ude}=PA(),$6=class{constructor(){this.root=null,this.tableId=new Map,this.tableLabel=new Map}[W6](e){this.tableId.set(e.id,e),this.tableLabel.has(e.label)?this.tableLabel.get(e.label).push(e):this.tableLabel.set(e.label,[e])}[Wde](e){this.tableId.delete(e.id);let r=this.tableLabel.get(e.label);r.pop(),r.length===0&&this.tableLabel.delete(e.label)}[$de](e){if(e===null)return null;if(this.tableLabel.has(e)){let r=this.tableLabel.get(e);return r[r.length-1]}else return null}[Fde](e){return this.tableId.get(e)}[Ude](e,r,n){let s=this[$de](e);if(s===null)return this.root={parent:null,id:"root",label:r,nodes:[],start:n,stop:null,diff:-1},this[W6](this.root),this.root.id;let a=`${r}-${Math.random()}`,o={parent:e,id:a,label:r,nodes:[],start:n,stop:null,diff:-1};return s.nodes.push(o),this[W6](o),a}start(e,r,n=Date.now()){return this[Ude](e,r,n)}stop(e,r=Date.now()){let n=this[Fde](e);n&&(n.stop=r,n.diff=n.stop-n.start||0,this[Wde](n))}toJSON(){return Object.assign({},this.root)}prettyPrint(){return qde(this.toJSON())}};function qde(t,e=""){let r=e,n=t.nodes.length,s=n-1;r+=`${t.label} ${t.diff} ms
|
|
`;for(let i=0;i<n;++i){let a=t.nodes[i],o=e+(i===s?" ":"\u2502 ");r+=e,r+=i===s?"\u2514\u2500":"\u251C\u2500",r+=a.nodes.length===0?"\u2500 ":"\u252C ",r+=qde(a,o).slice(e.length+2)}return r}jde.exports={TimeTree:$6}});var eR=E((bOr,Qde)=>{"use strict";var{debuglog:dmt}=require("node:util"),fmt=dmt("avvio");Qde.exports={debug:fmt}});var Vde=E((EOr,Gde)=>{"use strict";function pmt(){let t={resolve:null,reject:null,promise:null};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}Gde.exports={createPromise:pmt}});var Kde=E((_Or,zde)=>{"use strict";var{kPluginMeta:F6}=PA();function mmt(t,e){return t[F6]&&t[F6].name?t[F6].name:e&&e.name?e.name:t.name?t.name:t.toString().split(`
|
|
`).slice(0,2).map(r=>r.trim()).join(" -- ")}zde.exports={getPluginName:mmt}});var tR=E((SOr,Yde)=>{"use strict";function hmt(t){return t!==null&&typeof t=="object"&&typeof t.then=="function"}Yde.exports={isPromiseLike:hmt}});var Xde=E((vOr,Jde)=>{"use strict";var{EventEmitter:gmt}=require("node:events"),{inherits:Amt}=require("node:util"),{debug:ci}=eR(),{createPromise:ymt}=Vde(),{AVV_ERR_PLUGIN_EXEC_TIMEOUT:xmt}=Z2(),{getPluginName:bmt}=Kde(),{isPromiseLike:Emt}=tR();function DA(t,e,r,n,s){this.queue=t,this.func=e,this.options=r,this.isAfter=n,this.timeout=s,this.started=!1,this.name=bmt(e,r),this.queue.pause(),this._error=null,this.loaded=!1,this._promise=null,this.startTime=null}Amt(DA,gmt);DA.prototype.exec=function(t,e){ci("exec",this.name),this.server=t;let r=this.func,n=this.name,s=!1;this.options=typeof this.options=="function"?this.options(this.server):this.options;let i=null,a=c=>{if(s){ci("loading complete",n);return}this._error=c,ci(c?"exec errored":"exec completed",n),s=!0,i&&clearTimeout(i),e(c)};this.timeout>0&&(ci("setting up timeout",n,this.timeout),i=setTimeout(function(){ci("timed out",n),i=null;let c=new xmt(n);c.fn=r,a(c)},this.timeout)),this.started=!0,this.startTime=Date.now(),this.emit("start",this.server?this.server.name:null,this.name,Date.now());let o=r(this.server,this.options,a);Emt(o)&&(ci("exec: resolving promise",n),o.then(()=>process.nextTick(a),c=>process.nextTick(a,c)))};DA.prototype.loadedSoFar=function(){if(ci("loadedSoFar",this.name),this.loaded)return Promise.resolve();let t=()=>{this.server.after((r,n)=>{this._error=r,this.queue.pause(),this._promise&&(r?(ci("rejecting promise",this.name,r),this._promise.reject(r)):(ci("resolving promise",this.name),this._promise.resolve()),this._promise=null),process.nextTick(n,r)}),this.queue.resume()},e;return this._promise?e=Promise.resolve():(this._promise=ymt(),e=this._promise.promise,this.server?t():this.on("start",t)),e};DA.prototype.enqueue=function(t,e){ci("enqueue",this.name,t.name),this.emit("enqueue",this.server?this.server.name:null,this.name,Date.now()),this.queue.push(t,e)};DA.prototype.finish=function(t,e){ci("finish",this.name,t);let r=()=>{this.loaded||(ci("loaded",this.name),this.emit("loaded",this.server?this.server.name:null,this.name,Date.now()),this.loaded=!0,e(t))};if(t){this._promise&&(this._promise.reject(t),this._promise=null),r();return}let n=()=>{if(ci("check",this.name,this.queue.length(),this.queue.running(),this._promise),this.queue.length()===0&&this.queue.running()===0)if(this._promise){let s=()=>{ci("wrap"),queueMicrotask(n)};this._promise.resolve(),this._promise.promise.then(s,s),this._promise=null}else r();else ci("delayed",this.name),this.queue.drain=()=>{ci("drain",this.name),this.queue.drain=_mt,queueMicrotask(n)}};queueMicrotask(n),this.queue.resume()};function _mt(){}Jde.exports={Plugin:DA}});var efe=E((COr,Zde)=>{"use strict";var{AVV_ERR_PLUGIN_NOT_VALID:U6}=Z2();function Smt(t){if(!(t&&(typeof t=="function"||typeof t.then=="function")))throw Array.isArray(t)?new U6("array"):t===null?new U6("null"):new U6(typeof t)}Zde.exports={validatePlugin:Smt}});var rfe=E((IOr,tfe)=>{"use strict";function vmt(t){return t!==null&&typeof t=="object"&&typeof t.default=="function"}tfe.exports={isBundledOrTypescriptPlugin:vmt}});var ife=E((TOr,sfe)=>{"use strict";var{debug:nfe}=eR(),{kThenifyDoNotWrap:q6}=PA();function Cmt(){if(this.booted){nfe("thenify returning undefined because we are already booted");return}if(this[q6]){this[q6]=!1;return}return nfe("thenify"),(t,e)=>this._loadRegistered().then(()=>(this[q6]=!0,t(this._server)),e)}sfe.exports={thenify:Cmt}});var ofe=E((wOr,afe)=>{"use strict";var{isPromiseLike:Imt}=tR(),{kAvvio:Tmt}=PA();function wmt(t,e,r){let n=t.apply(t,e);Imt(n)&&!n[Tmt]?n.then(()=>process.nextTick(r),s=>process.nextTick(r,s)):r&&process.nextTick(r)}afe.exports={executeWithThenable:wmt}});var hfe=E((ROr,H6)=>{"use strict";var rR=Lde(),Rmt=require("node:events").EventEmitter,Nmt=require("node:util").inherits,{AVV_ERR_EXPOSE_ALREADY_DEFINED:e1,AVV_ERR_CALLBACK_NOT_FN:kA,AVV_ERR_ROOT_PLG_BOOTED:Omt,AVV_ERR_READY_TIMEOUT:Pmt,AVV_ERR_ATTRIBUTE_ALREADY_DEFINED:Dmt}=Z2(),{kAvvio:lfe,kIsOnCloseHandler:dfe}=PA(),{TimeTree:kmt}=Hde(),{Plugin:ffe}=Xde(),{debug:LA}=eR(),{validatePlugin:Lmt}=efe(),{isBundledOrTypescriptPlugin:Bmt}=rfe(),{isPromiseLike:Mmt}=tR(),{thenify:pfe}=ife(),{executeWithThenable:cfe}=ofe();function as(t,e,r){if(typeof t=="function"&&arguments.length===1&&(r=t,e={},t=null),typeof e=="function"&&(r=e,e={}),e=e||{},e.autostart=e.autostart!==!1,e.timeout=Number(e.timeout)||0,e.expose=e.expose||{},!new.target)return new as(t,e,r);this._server=t||this,this._opts=e,t&&this._expose(),this._current=[],this._error=null,this._lastUsed=null,this.setMaxListeners(0),r&&this.once("start",r),this.started=!1,this.booted=!1,this.pluginTree=new kmt,this._readyQ=rR(this,mfe,1),this._readyQ.pause(),this._readyQ.drain=()=>{this.emit("start"),this._readyQ.drain=ufe},this._closeQ=rR(this,$mt,1),this._closeQ.pause(),this._closeQ.drain=()=>{this.emit("close"),this._closeQ.drain=ufe},this._doStart=null;let n=this;this._root=new ffe(rR(this,this._loadPluginNextTick,1),function(i,a,o){n._doStart=o,a.autostart&&n.start()},e,!1,0),this._trackPluginLoading(this._root),this._loadPlugin(this._root,s=>{LA("root plugin ready");try{this.emit("preReady"),this._root=null}catch(i){s=s||this._error||i}if(s){if(this._error=s,this._readyQ.length()===0)throw s}else this.booted=!0;this._readyQ.resume()})}Nmt(as,Rmt);as.prototype.start=function(){return this.started=!0,process.nextTick(this._doStart),this};as.prototype.override=function(t,e,r){return t};as.prototype[lfe]=!0;as.prototype.use=function(t,e){return this._lastUsed=this._addPlugin(t,e,!1),this};as.prototype._loadRegistered=function(){let t=this._current[0];return!this.started&&!this.booted&&process.nextTick(()=>this._root.queue.resume()),t?t.loadedSoFar():Promise.resolve()};Object.defineProperty(as.prototype,"then",{get:pfe});as.prototype._addPlugin=function(t,e,r){if(Bmt(t)&&(t=t.default),Lmt(t),e=e||{},this.booted)throw new Omt;let n=this._current[0],s=this._opts.timeout;if(!n.loaded&&n.timeout>0){let a=Date.now()-n.startTime;s=n.timeout-(a+3)}let i=new ffe(rR(this,this._loadPluginNextTick,1),t,e,r,s);if(this._trackPluginLoading(i),n.loaded)throw new Error(i.name,n.name);return n.enqueue(i,a=>{a&&(this._error=a)}),i};as.prototype._expose=function(){let e=this,r=e._server,{use:n="use",after:s="after",ready:i="ready",onClose:a="onClose",close:o="close"}=this._opts.expose;if(r[n])throw new e1(n,"use");if(r[n]=function(c,u){return e.use(c,u),this},r[s])throw new e1(s,"after");if(r[s]=function(c){return typeof c!="function"?e._loadRegistered():(e.after(j6(c,this)),this)},r[i])throw new e1(i,"ready");if(r[i]=function(c){if(c&&typeof c!="function")throw new kA(i,typeof c);return e.ready(c?j6(c,this):void 0)},r[a])throw new e1(a,"onClose");if(r[a]=function(c){if(typeof c!="function")throw new kA(a,typeof c);return e.onClose(Fmt(c,this)),this},r[o])throw new e1(o,"close");if(r[o]=function(c){if(c&&typeof c!="function")throw new kA(o,typeof c);return c?(e.close(j6(c,this)),this):e.close()},r.then)throw new Dmt("then");Object.defineProperty(r,"then",{get:pfe.bind(e)}),r[lfe]=!0};as.prototype.after=function(t){if(!t)return this._loadRegistered();this._addPlugin(e.bind(this),{},!0);function e(r,n,s){mfe.call(this,t,s)}return this};as.prototype.onClose=function(t){if(typeof t!="function")throw new kA("onClose",typeof t);return t[dfe]=!0,this._closeQ.unshift(t,e=>{e&&(this._error=e)}),this};as.prototype.close=function(t){let e;if(t){if(typeof t!="function")throw new kA("close",typeof t)}else e=new Promise(function(r,n){t=function(s){if(s)return n(s);r()}});return this.ready(()=>{this._error=null,this._closeQ.push(t),process.nextTick(this._closeQ.resume.bind(this._closeQ))}),e};as.prototype.ready=function(t){if(t){if(typeof t!="function")throw new kA("ready",typeof t);this._readyQ.push(t),queueMicrotask(this.start.bind(this));return}return new Promise((e,r)=>{this._readyQ.push(s),this.start();let n=this._current[0].server;function s(i,a,o){i?r(i):e(n),process.nextTick(o)}})};as.prototype._trackPluginLoading=function(t){let e=this._current[0]?.name||null;t.once("start",(r,n,s)=>{let i=this.pluginTree.start(e||null,n,s);t.once("loaded",(a,o,c)=>{this.pluginTree.stop(i,c)})})};as.prototype.prettyPrint=function(){return this.pluginTree.prettyPrint()};as.prototype.toJSON=function(){return this.pluginTree.toJSON()};as.prototype._loadPlugin=function(t,e){let r=this;if(Mmt(t.func)){t.func.then(a=>{typeof a.default=="function"&&(a=a.default),t.func=a,this._loadPlugin(t,e)},e);return}let n=r._current[0];if(r._current.unshift(t),r._error&&!t.isAfter){LA("skipping loading of plugin as instance errored and it is not an after",t.name),process.nextTick(i);return}let s=n&&n.server||r._server;if(!t.isAfter)try{s=r.override(s,t.func,t.options)}catch(a){return LA("override errored",t.name),i(a)}t.exec(s,i);function i(a){t.finish(a,o=>{r._current.shift(),e(o)})}};as.prototype._loadPluginNextTick=function(t,e){process.nextTick(this._loadPlugin.bind(this),t,e)};function ufe(){}function mfe(t,e){let r=this._server,n=this._error;if(this._error=null,t.length===0)this._error=n,cfe(t,[],e);else if(t.length===1)cfe(t,[n],e);else if(this._opts.timeout===0){let s=i=>{this._error=i,e(this._error)};t.length===2?t(n,s):t(n,r,s)}else Wmt.call(this,t,n,r,e)}function Wmt(t,e,r,n){let s=t.unwrappedName??t.name;LA("setting up ready timeout",s,this._opts.timeout);let i=setTimeout(()=>{LA("timed out",s),i=null;let o=new Pmt(s);o.fn=t,this._error=o,n(o)},this._opts.timeout);t.length===2?t(e,a.bind(this)):t(e,r,a.bind(this));function a(o){i&&(clearTimeout(i),this._error=o,n(this._error))}}function $mt(t,e){let r=this._server,n=t[dfe];if(t.length===0||t.length===1){let s;n?s=t(r):s=t(this._error),s&&typeof s.then=="function"?(LA("resolving close/onClose promise"),s.then(()=>process.nextTick(e),i=>process.nextTick(e,i))):process.nextTick(e)}else t.length===2?t(n?r:this._error,e):n?t(r,e):t(this._error,r,e)}function Fmt(t,e){return r.bind(e);function r(n,s){let i;t.length===0?(i=t(),i&&i.then?i.then(function(){process.nextTick(s)},s):process.nextTick(s)):t.length===1?(i=t(this),i&&i.then?i.then(function(){process.nextTick(s)},s):process.nextTick(s)):t(this,s)}}function j6(t,e){let r=n.bind(e);return r.unwrappedName=t.name,r;function n(s,i){let a;t?t.length===0?(a=t(),a&&a.then?a.then(function(){process.nextTick(i,s)},i):process.nextTick(i,s)):t.length===1?(a=t(s),a&&a.then?a.then(function(){process.nextTick(i)},i):process.nextTick(i)):t.length===2?t(s,i):t(s,this,i):process.nextTick(i)}}H6.exports=as;H6.exports.express=function(t){return as(t,{expose:{use:"load"}})}});var Qs=E((NOr,gfe)=>{"use strict";var Umt={kAvvioBoot:Symbol("fastify.avvioBoot"),kChildren:Symbol("fastify.children"),kServerBindings:Symbol("fastify.serverBindings"),kBodyLimit:Symbol("fastify.bodyLimit"),kRoutePrefix:Symbol("fastify.routePrefix"),kLogLevel:Symbol("fastify.logLevel"),kLogSerializers:Symbol("fastify.logSerializers"),kHooks:Symbol("fastify.hooks"),kContentTypeParser:Symbol("fastify.contentTypeParser"),kState:Symbol("fastify.state"),kOptions:Symbol("fastify.options"),kDisableRequestLogging:Symbol("fastify.disableRequestLogging"),kPluginNameChain:Symbol("fastify.pluginNameChain"),kRouteContext:Symbol("fastify.context"),kPublicRouteContext:Symbol("fastify.routeOptions"),kGenReqId:Symbol("fastify.genReqId"),kSchemaController:Symbol("fastify.schemaController"),kSchemaHeaders:Symbol("headers-schema"),kSchemaParams:Symbol("params-schema"),kSchemaQuerystring:Symbol("querystring-schema"),kSchemaBody:Symbol("body-schema"),kSchemaResponse:Symbol("response-schema"),kSchemaErrorFormatter:Symbol("fastify.schemaErrorFormatter"),kSchemaVisited:Symbol("fastify.schemas.visited"),kRequest:Symbol("fastify.Request"),kRequestPayloadStream:Symbol("fastify.RequestPayloadStream"),kRequestAcceptVersion:Symbol("fastify.RequestAcceptVersion"),kRequestCacheValidateFns:Symbol("fastify.request.cache.validateFns"),kRequestOriginalUrl:Symbol("fastify.request.originalUrl"),kFourOhFour:Symbol("fastify.404"),kCanSetNotFoundHandler:Symbol("fastify.canSetNotFoundHandler"),kFourOhFourLevelInstance:Symbol("fastify.404LogLevelInstance"),kFourOhFourContext:Symbol("fastify.404ContextKey"),kDefaultJsonParse:Symbol("fastify.defaultJSONParse"),kReply:Symbol("fastify.Reply"),kReplySerializer:Symbol("fastify.reply.serializer"),kReplyIsError:Symbol("fastify.reply.isError"),kReplyHeaders:Symbol("fastify.reply.headers"),kReplyTrailers:Symbol("fastify.reply.trailers"),kReplyHasStatusCode:Symbol("fastify.reply.hasStatusCode"),kReplyHijacked:Symbol("fastify.reply.hijacked"),kReplyStartTime:Symbol("fastify.reply.startTime"),kReplyNextErrorHandler:Symbol("fastify.reply.nextErrorHandler"),kReplyEndTime:Symbol("fastify.reply.endTime"),kReplyErrorHandlerCalled:Symbol("fastify.reply.errorHandlerCalled"),kReplyIsRunningOnErrorHook:Symbol("fastify.reply.isRunningOnErrorHook"),kReplySerializerDefault:Symbol("fastify.replySerializerDefault"),kReplyCacheSerializeFns:Symbol("fastify.reply.cache.serializeFns"),kTestInternals:Symbol("fastify.testInternals"),kErrorHandler:Symbol("fastify.errorHandler"),kChildLoggerFactory:Symbol("fastify.childLoggerFactory"),kHasBeenDecorated:Symbol("fastify.hasBeenDecorated"),kKeepAliveConnections:Symbol("fastify.keepAliveConnections"),kRouteByFastify:Symbol("fastify.routeByFastify")};gfe.exports=Umt});var V6=E((OOr,nR)=>{"use strict";var{format:Q6}=require("node:util");function qmt(t){return Afe({...t,name:"DeprecationWarning"})}function Afe({name:t,code:e,message:r,unlimited:n=!1}={}){if(!t)throw new Error("Warning name must not be empty");if(!e)throw new Error("Warning code must not be empty");if(!r)throw new Error("Warning message must not be empty");if(typeof n!="boolean")throw new Error("Warning opts.unlimited must be a boolean");e=e.toUpperCase();let s={[t]:function(a,o,c){i.emitted===!0&&i.unlimited!==!0||(i.emitted=!0,process.emitWarning(i.format(a,o,c),i.name,i.code))}};n&&(s={[t]:function(a,o,c){i.emitted=!0,process.emitWarning(i.format(a,o,c),i.name,i.code)}});let i=s[t];return i.emitted=!1,i.message=r,i.unlimited=n,i.code=e,i.format=function(a,o,c){let u;return a&&o&&c?u=Q6(r,a,o,c):a&&o?u=Q6(r,a,o):a?u=Q6(r,a):u=r,u},i}var G6={createWarning:Afe,createDeprecation:qmt};nR.exports=G6;nR.exports.default=G6;nR.exports.processWarning=G6});var cd=E((POr,xfe)=>{"use strict";var{createDeprecation:vi,createWarning:yfe}=V6(),jmt=vi({code:"FSTDEP005",message:'You are accessing the deprecated "request.connection" property. Use "request.socket" instead.'}),Hmt=vi({code:"FSTDEP006",message:"You are decorating Request/Reply with a reference type. This reference is shared amongst all requests. Use onRequest hook instead. Property: %s"}),Qmt=vi({code:"FSTDEP007",message:'You are trying to set a HEAD route using "exposeHeadRoute" route flag when a sibling route is already set. See documentation for more info.'}),Gmt=vi({code:"FSTDEP008",message:'You are using route constraints via the route { version: "..." } option, use { constraints: { version: "..." } } option instead.'}),Vmt=vi({code:"FSTDEP009",message:'You are using a custom route versioning strategy via the server { versioning: "..." } option, use { constraints: { version: "..." } } option instead.'}),zmt=vi({code:"FSTDEP010",message:'Modifying the "reply.sent" property is deprecated. Use the "reply.hijack()" method instead.'}),Kmt=vi({code:"FSTDEP011",message:'Variadic listen method is deprecated. Please use ".listen(optionsObject)" instead. The variadic signature will be removed in `fastify@5`.'}),Ymt=vi({code:"FSTDEP012",message:'request.context property access is deprecated. Please use "request.routeOptions.config" or "request.routeOptions.schema" instead for accessing Route settings. The "request.context" will be removed in `fastify@5`.'}),Jmt=vi({code:"FSTDEP013",message:'Direct return of "trailers" function is deprecated. Please use "callback" or "async-await" for return value. The support of direct return will removed in `fastify@5`.'}),Xmt=vi({code:"FSTDEP014",message:"You are trying to set/access the default route. This property is deprecated. Please, use setNotFoundHandler if you want to custom a 404 handler or the wildcard (*) to match all routes."}),Zmt=vi({code:"FSTDEP015",message:'You are accessing the deprecated "request.routeSchema" property. Use "request.routeOptions.schema" instead. Property "req.routeSchema" will be removed in `fastify@5`.'}),eht=vi({code:"FSTDEP016",message:'You are accessing the deprecated "request.routeConfig" property. Use "request.routeOptions.config" instead. Property "req.routeConfig" will be removed in `fastify@5`.'}),tht=vi({code:"FSTDEP017",message:'You are accessing the deprecated "request.routerPath" property. Use "request.routeOptions.url" instead. Property "req.routerPath" will be removed in `fastify@5`.'}),rht=vi({code:"FSTDEP018",message:'You are accessing the deprecated "request.routerMethod" property. Use "request.routeOptions.method" instead. Property "req.routerMethod" will be removed in `fastify@5`.'}),nht=vi({code:"FSTDEP019",message:'reply.context property access is deprecated. Please use "request.routeOptions.config" or "request.routeOptions.schema" instead for accessing Route settings. The "reply.context" will be removed in `fastify@5`.'}),sht=vi({code:"FSTDEP020",message:'You are using the deprecated "reply.getResponseTime()"" method. Use the "request.elapsedTime" property instead. Method "reply.getResponseTime()" will be removed in `fastify@5`.'}),iht=yfe({name:"FastifyWarning",code:"FSTWRN001",message:"The %s schema for %s: %s is missing. This may indicate the schema is not well specified.",unlimited:!0}),aht=yfe({name:"FastifyWarning",code:"FSTWRN002",message:"The %s plugin being registered mixes async and callback styles, which will result in an error in `fastify@5`",unlimited:!0});xfe.exports={FSTDEP005:jmt,FSTDEP006:Hmt,FSTDEP007:Qmt,FSTDEP008:Gmt,FSTDEP009:Vmt,FSTDEP010:zmt,FSTDEP011:Kmt,FSTDEP012:Ymt,FSTDEP013:Jmt,FSTDEP014:Xmt,FSTDEP015:Zmt,FSTDEP016:eht,FSTDEP017:tht,FSTDEP018:rht,FSTDEP019:nht,FSTDEP020:sht,FSTWRN001:iht,FSTWRN002:aht}});var Ci=E((DOr,sR)=>{"use strict";var He=M6(),BA={FST_ERR_NOT_FOUND:He("FST_ERR_NOT_FOUND","Not Found",404),FST_ERR_OPTIONS_NOT_OBJ:He("FST_ERR_OPTIONS_NOT_OBJ","Options must be an object",500,TypeError),FST_ERR_QSP_NOT_FN:He("FST_ERR_QSP_NOT_FN","querystringParser option should be a function, instead got '%s'",500,TypeError),FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN:He("FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN","schemaController.bucket option should be a function, instead got '%s'",500,TypeError),FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN:He("FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN","schemaErrorFormatter option should be a non async function. Instead got '%s'.",500,TypeError),FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ:He("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ","ajv.customOptions option should be an object, instead got '%s'",500,TypeError),FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR:He("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR","ajv.plugins option should be an array, instead got '%s'",500,TypeError),FST_ERR_VERSION_CONSTRAINT_NOT_STR:He("FST_ERR_VERSION_CONSTRAINT_NOT_STR","Version constraint should be a string.",500,TypeError),FST_ERR_VALIDATION:He("FST_ERR_VALIDATION","%s",400),FST_ERR_LISTEN_OPTIONS_INVALID:He("FST_ERR_LISTEN_OPTIONS_INVALID","Invalid listen options: '%s'",500,TypeError),FST_ERR_CTP_ALREADY_PRESENT:He("FST_ERR_CTP_ALREADY_PRESENT","Content type parser '%s' already present."),FST_ERR_CTP_INVALID_TYPE:He("FST_ERR_CTP_INVALID_TYPE","The content type should be a string or a RegExp",500,TypeError),FST_ERR_CTP_EMPTY_TYPE:He("FST_ERR_CTP_EMPTY_TYPE","The content type cannot be an empty string",500,TypeError),FST_ERR_CTP_INVALID_HANDLER:He("FST_ERR_CTP_INVALID_HANDLER","The content type handler should be a function",500,TypeError),FST_ERR_CTP_INVALID_PARSE_TYPE:He("FST_ERR_CTP_INVALID_PARSE_TYPE","The body parser can only parse your data as 'string' or 'buffer', you asked '%s' which is not supported.",500,TypeError),FST_ERR_CTP_BODY_TOO_LARGE:He("FST_ERR_CTP_BODY_TOO_LARGE","Request body is too large",413,RangeError),FST_ERR_CTP_INVALID_MEDIA_TYPE:He("FST_ERR_CTP_INVALID_MEDIA_TYPE","Unsupported Media Type: %s",415),FST_ERR_CTP_INVALID_CONTENT_LENGTH:He("FST_ERR_CTP_INVALID_CONTENT_LENGTH","Request body size did not match Content-Length",400,RangeError),FST_ERR_CTP_EMPTY_JSON_BODY:He("FST_ERR_CTP_EMPTY_JSON_BODY","Body cannot be empty when content-type is set to 'application/json'",400),FST_ERR_CTP_INSTANCE_ALREADY_STARTED:He("FST_ERR_CTP_INSTANCE_ALREADY_STARTED",'Cannot call "%s" when fastify instance is already started!',400),FST_ERR_DEC_ALREADY_PRESENT:He("FST_ERR_DEC_ALREADY_PRESENT","The decorator '%s' has already been added!"),FST_ERR_DEC_DEPENDENCY_INVALID_TYPE:He("FST_ERR_DEC_DEPENDENCY_INVALID_TYPE","The dependencies of decorator '%s' must be of type Array.",500,TypeError),FST_ERR_DEC_MISSING_DEPENDENCY:He("FST_ERR_DEC_MISSING_DEPENDENCY","The decorator is missing dependency '%s'."),FST_ERR_DEC_AFTER_START:He("FST_ERR_DEC_AFTER_START","The decorator '%s' has been added after start!"),FST_ERR_HOOK_INVALID_TYPE:He("FST_ERR_HOOK_INVALID_TYPE","The hook name must be a string",500,TypeError),FST_ERR_HOOK_INVALID_HANDLER:He("FST_ERR_HOOK_INVALID_HANDLER","%s hook should be a function, instead got %s",500,TypeError),FST_ERR_HOOK_INVALID_ASYNC_HANDLER:He("FST_ERR_HOOK_INVALID_ASYNC_HANDLER","Async function has too many arguments. Async hooks should not use the 'done' argument.",500,TypeError),FST_ERR_HOOK_NOT_SUPPORTED:He("FST_ERR_HOOK_NOT_SUPPORTED","%s hook not supported!",500,TypeError),FST_ERR_MISSING_MIDDLEWARE:He("FST_ERR_MISSING_MIDDLEWARE","You must register a plugin for handling middlewares, visit fastify.dev/docs/latest/Reference/Middleware/ for more info.",500),FST_ERR_HOOK_TIMEOUT:He("FST_ERR_HOOK_TIMEOUT","A callback for '%s' hook timed out. You may have forgotten to call 'done' function or to resolve a Promise"),FST_ERR_LOG_INVALID_DESTINATION:He("FST_ERR_LOG_INVALID_DESTINATION","Cannot specify both logger.stream and logger.file options"),FST_ERR_LOG_INVALID_LOGGER:He("FST_ERR_LOG_INVALID_LOGGER","Invalid logger object provided. The logger instance should have these functions(s): '%s'.",500,TypeError),FST_ERR_REP_INVALID_PAYLOAD_TYPE:He("FST_ERR_REP_INVALID_PAYLOAD_TYPE","Attempted to send payload of invalid type '%s'. Expected a string or Buffer.",500,TypeError),FST_ERR_REP_RESPONSE_BODY_CONSUMED:He("FST_ERR_REP_RESPONSE_BODY_CONSUMED","Response.body is already consumed."),FST_ERR_REP_ALREADY_SENT:He("FST_ERR_REP_ALREADY_SENT",'Reply was already sent, did you forget to "return reply" in "%s" (%s)?'),FST_ERR_REP_SENT_VALUE:He("FST_ERR_REP_SENT_VALUE","The only possible value for reply.sent is true.",500,TypeError),FST_ERR_SEND_INSIDE_ONERR:He("FST_ERR_SEND_INSIDE_ONERR","You cannot use `send` inside the `onError` hook"),FST_ERR_SEND_UNDEFINED_ERR:He("FST_ERR_SEND_UNDEFINED_ERR","Undefined error has occurred"),FST_ERR_BAD_STATUS_CODE:He("FST_ERR_BAD_STATUS_CODE","Called reply with an invalid status code: %s"),FST_ERR_BAD_TRAILER_NAME:He("FST_ERR_BAD_TRAILER_NAME","Called reply.trailer with an invalid header name: %s"),FST_ERR_BAD_TRAILER_VALUE:He("FST_ERR_BAD_TRAILER_VALUE","Called reply.trailer('%s', fn) with an invalid type: %s. Expected a function."),FST_ERR_FAILED_ERROR_SERIALIZATION:He("FST_ERR_FAILED_ERROR_SERIALIZATION","Failed to serialize an error. Error: %s. Original error: %s"),FST_ERR_MISSING_SERIALIZATION_FN:He("FST_ERR_MISSING_SERIALIZATION_FN",'Missing serialization function. Key "%s"'),FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN:He("FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN",'Missing serialization function. Key "%s:%s"'),FST_ERR_REQ_INVALID_VALIDATION_INVOCATION:He("FST_ERR_REQ_INVALID_VALIDATION_INVOCATION",'Invalid validation invocation. Missing validation function for HTTP part "%s" nor schema provided.'),FST_ERR_SCH_MISSING_ID:He("FST_ERR_SCH_MISSING_ID","Missing schema $id property"),FST_ERR_SCH_ALREADY_PRESENT:He("FST_ERR_SCH_ALREADY_PRESENT","Schema with id '%s' already declared!"),FST_ERR_SCH_CONTENT_MISSING_SCHEMA:He("FST_ERR_SCH_CONTENT_MISSING_SCHEMA","Schema is missing for the content type '%s'"),FST_ERR_SCH_DUPLICATE:He("FST_ERR_SCH_DUPLICATE","Schema with '%s' already present!"),FST_ERR_SCH_VALIDATION_BUILD:He("FST_ERR_SCH_VALIDATION_BUILD","Failed building the validation schema for %s: %s, due to error %s"),FST_ERR_SCH_SERIALIZATION_BUILD:He("FST_ERR_SCH_SERIALIZATION_BUILD","Failed building the serialization schema for %s: %s, due to error %s"),FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX:He("FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX",'response schemas should be nested under a valid status code, e.g { 2xx: { type: "object" } }'),FST_ERR_HTTP2_INVALID_VERSION:He("FST_ERR_HTTP2_INVALID_VERSION","HTTP2 is available only from node >= 8.8.1"),FST_ERR_INIT_OPTS_INVALID:He("FST_ERR_INIT_OPTS_INVALID","Invalid initialization options: '%s'"),FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE:He("FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE","Cannot set forceCloseConnections to 'idle' as your HTTP server does not support closeIdleConnections method"),FST_ERR_DUPLICATED_ROUTE:He("FST_ERR_DUPLICATED_ROUTE","Method '%s' already declared for route '%s'"),FST_ERR_BAD_URL:He("FST_ERR_BAD_URL","'%s' is not a valid url component",400,URIError),FST_ERR_ASYNC_CONSTRAINT:He("FST_ERR_ASYNC_CONSTRAINT","Unexpected error from async constraint",500),FST_ERR_DEFAULT_ROUTE_INVALID_TYPE:He("FST_ERR_DEFAULT_ROUTE_INVALID_TYPE","The defaultRoute type should be a function",500,TypeError),FST_ERR_INVALID_URL:He("FST_ERR_INVALID_URL","URL must be a string. Received '%s'",400,TypeError),FST_ERR_ROUTE_OPTIONS_NOT_OBJ:He("FST_ERR_ROUTE_OPTIONS_NOT_OBJ",'Options for "%s:%s" route must be an object',500,TypeError),FST_ERR_ROUTE_DUPLICATED_HANDLER:He("FST_ERR_ROUTE_DUPLICATED_HANDLER",'Duplicate handler for "%s:%s" route is not allowed!',500),FST_ERR_ROUTE_HANDLER_NOT_FN:He("FST_ERR_ROUTE_HANDLER_NOT_FN","Error Handler for %s:%s route, if defined, must be a function",500,TypeError),FST_ERR_ROUTE_MISSING_HANDLER:He("FST_ERR_ROUTE_MISSING_HANDLER",'Missing handler function for "%s:%s" route.',500),FST_ERR_ROUTE_METHOD_INVALID:He("FST_ERR_ROUTE_METHOD_INVALID","Provided method is invalid!",500,TypeError),FST_ERR_ROUTE_METHOD_NOT_SUPPORTED:He("FST_ERR_ROUTE_METHOD_NOT_SUPPORTED","%s method is not supported.",500),FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED:He("FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED","Body validation schema for %s:%s route is not supported!",500),FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT:He("FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT","'bodyLimit' option must be an integer > 0. Got '%s'",500,TypeError),FST_ERR_ROUTE_REWRITE_NOT_STR:He("FST_ERR_ROUTE_REWRITE_NOT_STR",'Rewrite url for "%s" needs to be of type "string" but received "%s"',500,TypeError),FST_ERR_REOPENED_CLOSE_SERVER:He("FST_ERR_REOPENED_CLOSE_SERVER","Fastify has already been closed and cannot be reopened"),FST_ERR_REOPENED_SERVER:He("FST_ERR_REOPENED_SERVER","Fastify is already listening"),FST_ERR_INSTANCE_ALREADY_LISTENING:He("FST_ERR_INSTANCE_ALREADY_LISTENING","Fastify instance is already listening. %s"),FST_ERR_PLUGIN_VERSION_MISMATCH:He("FST_ERR_PLUGIN_VERSION_MISMATCH","fastify-plugin: %s - expected '%s' fastify version, '%s' is installed"),FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE:He("FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE","The decorator '%s'%s is not present in %s"),FST_ERR_PLUGIN_CALLBACK_NOT_FN:He("FST_ERR_PLUGIN_CALLBACK_NOT_FN","fastify-plugin: %s",500,TypeError),FST_ERR_PLUGIN_NOT_VALID:He("FST_ERR_PLUGIN_NOT_VALID","fastify-plugin: %s"),FST_ERR_ROOT_PLG_BOOTED:He("FST_ERR_ROOT_PLG_BOOTED","fastify-plugin: %s"),FST_ERR_PARENT_PLUGIN_BOOTED:He("FST_ERR_PARENT_PLUGIN_BOOTED","fastify-plugin: %s"),FST_ERR_PLUGIN_TIMEOUT:He("FST_ERR_PLUGIN_TIMEOUT","fastify-plugin: %s")};function oht(t,e){return e.cause=t,e}sR.exports=BA;sR.exports.appendStackTrace=oht;sR.exports.AVVIO_ERRORS_MAP={AVV_ERR_CALLBACK_NOT_FN:BA.FST_ERR_PLUGIN_CALLBACK_NOT_FN,AVV_ERR_PLUGIN_NOT_VALID:BA.FST_ERR_PLUGIN_NOT_VALID,AVV_ERR_ROOT_PLG_BOOTED:BA.FST_ERR_ROOT_PLG_BOOTED,AVV_ERR_PARENT_PLG_LOADED:BA.FST_ERR_PARENT_PLUGIN_BOOTED,AVV_ERR_READY_TIMEOUT:BA.FST_ERR_PLUGIN_TIMEOUT}});var up=E((kOr,wfe)=>{"use strict";var cht=["onRoute","onRegister","onReady","onListen","preClose","onClose"],Sfe=["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError","onRequestAbort"],uht=Sfe.concat(cht),{FST_ERR_HOOK_INVALID_TYPE:lht,FST_ERR_HOOK_INVALID_HANDLER:dht,FST_ERR_SEND_UNDEFINED_ERR:iR,FST_ERR_HOOK_TIMEOUT:fht,FST_ERR_HOOK_NOT_SUPPORTED:pht,AVVIO_ERRORS_MAP:bfe,appendStackTrace:Efe}=Ci(),{kChildren:t1,kHooks:vfe,kRequestPayloadStream:_fe}=Qs();function r1(){this.onRequest=[],this.preParsing=[],this.preValidation=[],this.preSerialization=[],this.preHandler=[],this.onResponse=[],this.onSend=[],this.onError=[],this.onRoute=[],this.onRegister=[],this.onReady=[],this.onListen=[],this.onTimeout=[],this.onRequestAbort=[],this.preClose=[]}r1.prototype=Object.create(null);r1.prototype.validate=function(t,e){if(typeof t!="string")throw new lht;if(Array.isArray(this[t])===!1)throw new pht(t);if(typeof e!="function")throw new dht(t,Object.prototype.toString.call(e))};r1.prototype.add=function(t,e){this.validate(t,e),this[t].push(e)};function mht(t){let e=new r1;return e.onRequest=t.onRequest.slice(),e.preParsing=t.preParsing.slice(),e.preValidation=t.preValidation.slice(),e.preSerialization=t.preSerialization.slice(),e.preHandler=t.preHandler.slice(),e.onSend=t.onSend.slice(),e.onResponse=t.onResponse.slice(),e.onError=t.onError.slice(),e.onRoute=t.onRoute.slice(),e.onRegister=t.onRegister.slice(),e.onTimeout=t.onTimeout.slice(),e.onRequestAbort=t.onRequestAbort.slice(),e.onReady=[],e.onListen=[],e.preClose=[],e}function Cfe(t,e,r,n){let s=r[vfe][t],i=0,a=0;c();function o(l){if(l){l.code==="AVV_ERR_READY_TIMEOUT"?l=Efe(l,new fht(t)):l=bfe[l.code]!=null?Efe(l,new bfe[l.code](l.message)):l,n(l);return}n()}function c(l){if(l){o(l);return}if(i===s.length&&a===r[t1].length){i===0&&a===0?o():e(function(f,p){o(f),p(f)});return}if(i===s.length&&a<r[t1].length){let d=r[t1][a++];Cfe(t,e,d,c);return}e(u(s[i++],r)),c()}function u(l,d){return function(f,p){if(f){p(f);return}if(l.length===1){try{l.call(d,p)}catch(m){p(m)}return}try{let m=l.call(d);if(m&&typeof m.then=="function"){m.then(p,p);return}}catch(m){f=m}p(f)}}}function Ife(t){let e=t[vfe].onListen,r=e.length,n=0,s=0;i();function i(o){if(o&&t.log.error(o),n===r){for(;s<t[t1].length;){let c=t[t1][s++];Ife(c)}return}a(e[n++],t,i)}async function a(o,c,u){if(o.length===1){try{o.call(c,u)}catch(l){u(l)}return}try{let l=o.call(c);if(l&&typeof l.then=="function"){l.then(u,u);return}u()}catch(l){u(l)}}}function MA(t){return function(r,n,s,i){let a=0;function o(l){if(l||a===r.length){i(l,n,s);return}let d;try{d=t(r[a++],n,s,o)}catch(f){i(f,n,s);return}d&&typeof d.then=="function"&&d.then(c,u)}function c(){o()}function u(l){l||(l=new iR),i(l,n,s)}o()}}function hht(t,e,r,n){return t(e,r,n)}var ght=MA(hht),Aht=MA(n1),yht=MA(n1),xht=MA(n1),bht=MA(n1);function Tfe(t,e,r,n,s){let i=0;function a(u,l){if(u){s(u,e,r,n);return}if(l!==void 0&&(n=l),i===t.length){s(null,e,r,n);return}let d;try{d=t[i++](e,r,n,a)}catch(f){s(f,e,r);return}d&&typeof d.then=="function"&&d.then(o,c)}function o(u){a(null,u)}function c(u){u||(u=new iR),s(u,e,r,n)}a()}var Eht=Tfe;function _ht(t,e,r,n){let s=0;function i(c,u){if(r.sent)return;if(u!==void 0&&(e[_fe]=u),c||s===t.length){n(c,e,r);return}let l;try{l=t[s++](e,r,e[_fe],i)}catch(d){n(d,e,r);return}l&&typeof l.then=="function"&&l.then(a,o)}function a(c){i(null,c)}function o(c){c||(c=new iR),n(c,e,r)}i()}function Sht(t,e,r){let n=0;function s(o){if(o||n===t.length){r(o,e);return}let c;try{c=t[n++](e,s)}catch(u){r(u,e);return}c&&typeof c.then=="function"&&c.then(i,a)}function i(){s()}function a(o){o||(o=new iR),r(o,e)}s()}function n1(t,e,r,n){if(r.sent!==!0)return t(e,r,n)}wfe.exports={Hooks:r1,buildHooks:mht,hookRunnerGenerator:MA,preParsingHookRunner:_ht,onResponseHookRunner:ght,onSendHookRunner:Tfe,preSerializationHookRunner:Eht,onRequestAbortHookRunner:Sht,hookIterator:n1,hookRunnerApplication:Cfe,onListenHookRunner:Ife,preHandlerHookRunner:yht,preValidationHookRunner:Aht,onRequestHookRunner:bht,onTimeoutHookRunner:xht,lifecycleHooks:Sfe,supportedHooks:uht}});var Wfe=E((LOr,K6)=>{"use strict";var vht=require("node:http"),Cht=require("node:https"),Iht=require("node:dns"),{FSTDEP011:Rfe}=cd(),{kState:Ii,kOptions:Tht,kServerBindings:wht}=Qs(),{onListenHookRunner:aR}=up(),{FST_ERR_HTTP2_INVALID_VERSION:Rht,FST_ERR_REOPENED_CLOSE_SERVER:Pfe,FST_ERR_REOPENED_SERVER:Dfe,FST_ERR_LISTEN_OPTIONS_INVALID:Nht}=Ci();K6.exports.createServer=Oht;K6.exports.compileValidateHTTPVersion=Dht;function kfe(t){return`Server listening at ${t}`}function Oht(t,e){let r=Bfe(t,e);function n(s,...i){let a=i.slice(-1).pop(),o=Object.prototype.toString.call(arguments[0]);if(arguments.length===0)s=z6([]);else if(arguments.length>0&&o!=="[object Object]"&&o!=="[object Function]")Rfe(),s=z6(Array.from(arguments)),a=s.cb;else if(i.length>1){Rfe();let u=s.path?[s.path]:[s.port??0,s.host??"localhost"];Object.assign(s,z6([...u,...i]))}else s.cb=a;if(s.signal){if(typeof s.signal.on!="function"&&typeof s.signal.addEventListener!="function")throw new Nht("Invalid options.signal");if(s.signal.aborted)this.close();else{let u=()=>{this.close()};s.signal.addEventListener("abort",u,{once:!0})}}let c;if(s.path==null?c=s.host??"localhost":c=s.host,Object.prototype.hasOwnProperty.call(s,"host")===!1&&(s.host=c),c==="localhost"?s.cb=(u,l)=>{if(u){a(u,l);return}Nfe.call(this,r,e,t,s,()=>{this[Ii].listening=!0,a(null,l),aR(this)})}:s.cb=(u,l)=>{if(u){a(u,l);return}this[Ii].listening=!0,a(null,l),aR(this)},a===void 0)return Pht.call(this,r,s).then(l=>new Promise((d,f)=>{c==="localhost"?Nfe.call(this,r,e,t,s,()=>{this[Ii].listening=!0,d(l),aR(this)}):(d(l),aR(this))}));this.ready(Lfe.call(this,r,s))}return{server:r,listen:n}}function Nfe(t,e,r,n,s){this[Ii].listening=!1,Iht.lookup(n.host,{all:!0},(i,a)=>{if(i){s();return}let o=t.listening&&r.serverFactory,c=0,u=0;if(!o){let d=t.address();for(let f of a)if(f.address!==d.address){c++;let p=Object.assign({},n,{host:f.address,port:d.port,cb:A=>{u++,A||this[wht].push(m),u===c&&s()}}),m=Bfe(r,e),h=()=>{m.close(()=>{}),r.forceCloseConnections==="idle"?m.closeIdleConnections():typeof m.closeAllConnections=="function"&&r.forceCloseConnections&&m.closeAllConnections()};m.on("upgrade",t.emit.bind(t,"upgrade")),t.on("unref",h),t.on("close",h),t.on("error",h),this[Ii].listening=!1,Lfe.call(this,m,p)()}}if(c===0){s();return}let l=t.unref;t.unref=function(){l.call(t),t.emit("unref")}})}function Lfe(t,e){let r=n=>{if(t.removeListener("error",r),n)this[Ii].listening=!1,e.cb(n,null);else{let s=Mfe.call(this,t,e.listenTextResolver||kfe);e.cb(null,s)}};return n=>{if(n!=null)return e.cb(n);if(this[Ii].listening&&this[Ii].closing)return e.cb(new Pfe,null);if(this[Ii].listening)return e.cb(new Dfe,null);t.once("error",r),this[Ii].closing||(t.listen(e,r),this[Ii].listening=!0)}}function Pht(t,e){return this[Ii].listening&&this[Ii].closing?Promise.reject(new Pfe):this[Ii].listening?Promise.reject(new Dfe):this.ready().then(()=>{let r,n=new Promise((i,a)=>{r=o=>{this[Ii].listening=!1,a(o)},t.once("error",r)}),s=new Promise((i,a)=>{t.listen(e,()=>{t.removeListener("error",r),i(Mfe.call(this,t,e.listenTextResolver||kfe))}),this[Ii].listening=!0});return Promise.race([n,s])})}function Dht(t){let e=!1,r=new Map;return t.serverFactory&&(e=!0),t.http2?(r.set("2.0",!0),t.https&&t.https.allowHTTP1===!0&&(r.set("1.1",!0),r.set("1.0",!0))):(r.set("1.1",!0),r.set("1.0",!0)),function(s){return e||r.has(s)}}function Bfe(t,e){let r=null,n=t.https===!0?{}:t.https;return t.serverFactory?r=t.serverFactory(e,t):t.http2?(typeof n=="object"?r=Ofe().createSecureServer(n,e):r=Ofe().createServer(e),r.on("session",Lht(t.http2SessionTimeout))):(n?r=Cht.createServer(n,e):r=vht.createServer(t.http,e),r.keepAliveTimeout=t.keepAliveTimeout,r.requestTimeout=t.requestTimeout,t.maxRequestsPerSocket>0&&(r.maxRequestsPerSocket=t.maxRequestsPerSocket)),t.serverFactory||r.setTimeout(t.connectionTimeout),r}function z6(t){if(t.length===0)return{port:0,host:"localhost"};let r={cb:typeof t[t.length-1]=="function"?t.pop():void 0},n=t[0],s=t.length,i=t[s-1];return typeof n=="string"&&isNaN(n)?(r.path=n,r.backlog=s>1?i:void 0):(r.port=s>=1&&Number.isInteger(n)?n:kht(n),r.host=s>=2&&t[1]?t[1]:"localhost",r.backlog=s>=3?t[2]:void 0),r}function kht(t){let e=Number(t);return e>=0&&!Number.isNaN(e)&&Number.isInteger(e)?e:0}function Mfe(t,e){let r=t.address(),n=typeof r=="string";n||(r.address.indexOf(":")===-1?r=r.address+":"+r.port:r="["+r.address+"]:"+r.port),r=(n?"":"http"+(this[Tht].https?"s":"")+"://")+r;let s=e(r);return this.log.info(s),r}function Ofe(){try{return require("node:http2")}catch{throw new Rht}}function Lht(t){return function(e){e.setTimeout(t,Bht)}}function Bht(){this.close()}});var Z6=E((BOr,Ffe)=>{"use strict";var{kSchemaHeaders:uR,kSchemaParams:Y6,kSchemaQuerystring:J6,kSchemaBody:X6,kSchemaResponse:$fe}=Qs(),Mht=/^[1-5]{1}[0-9]{2}$|^[1-5]xx$|^default$/,{FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX:Wht}=Ci(),{FSTWRN001:oR}=cd();function $ht(t,e){if(!t.schema||!t.schema.response)return;let{method:r,url:n}=t.config||{};t[$fe]=Object.keys(t.schema.response).reduce(function(s,i){let a=t.schema.response[i];if(i=i.toLowerCase(),!Mht.exec(i))throw new Wht;if(a.content){let o={};for(let c of Object.keys(a.content)){let u=a.content[c].schema;o[c]=e({schema:u,url:n,method:r,httpStatus:i,contentType:c})}s[i]=o}else s[i]=e({schema:a,url:n,method:r,httpStatus:i});return s},{})}function Fht(t,e,r){let{schema:n}=t;if(!n)return;let{method:s,url:i}=t.config||{},a=n.headers;if(a&&(r||Object.getPrototypeOf(a)!==Object.prototype))t[uR]=e({schema:a,method:s,url:i,httpPart:"headers"});else if(a){let o={};Object.keys(a).forEach(c=>{o[c]=a[c]}),o.required instanceof Array&&(o.required=o.required.map(c=>c.toLowerCase())),a.properties&&(o.properties={},Object.keys(a.properties).forEach(c=>{o.properties[c.toLowerCase()]=a.properties[c]})),t[uR]=e({schema:o,method:s,url:i,httpPart:"headers"})}else Object.prototype.hasOwnProperty.call(n,"headers")&&oR("headers",s,i);n.body?t[X6]=e({schema:n.body,method:s,url:i,httpPart:"body"}):Object.prototype.hasOwnProperty.call(n,"body")&&oR("body",s,i),n.querystring?t[J6]=e({schema:n.querystring,method:s,url:i,httpPart:"querystring"}):Object.prototype.hasOwnProperty.call(n,"querystring")&&oR("querystring",s,i),n.params?t[Y6]=e({schema:n.params,method:s,url:i,httpPart:"params"}):Object.prototype.hasOwnProperty.call(n,"params")&&oR("params",s,i)}function cR(t,e,r){let n=e[r]===void 0,s=t&&t(n?null:e[r]);if(s?.then)return s.then(a=>i(a)).catch(a=>a);return i(s);function i(a){return a===!1?t.errors:a&&a.error?a.error:(a&&a.value&&(e[r]=a.value),!1)}}function lR(t,e,r){let n=r===void 0;if(n||!r.skipParams){let i=cR(t[Y6],e,"params");if(i)return typeof i.then!="function"?lp(i,"params",t.schemaErrorFormatter):Uht(i,t,e)}if(n||!r.skipBody){let i=cR(t[X6],e,"body");if(i)return typeof i.then!="function"?lp(i,"body",t.schemaErrorFormatter):qht(i,t,e)}if(n||!r.skipQuery){let i=cR(t[J6],e,"query");if(i)return typeof i.then!="function"?lp(i,"querystring",t.schemaErrorFormatter):jht(i,t,e)}let s=cR(t[uR],e,"headers");return s?typeof s.then!="function"?lp(s,"headers",t.schemaErrorFormatter):Hht(s,t,e):!1}function Uht(t,e,r){return t.then(n=>n?lp(n,"params",e.schemaErrorFormatter):lR(e,r,{skipParams:!0}))}function qht(t,e,r){return t.then(n=>n?lp(n,"body",e.schemaErrorFormatter):lR(e,r,{skipParams:!0,skipBody:!0}))}function jht(t,e,r){return t.then(n=>n?lp(n,"querystring",e.schemaErrorFormatter):lR(e,r,{skipParams:!0,skipBody:!0,skipQuery:!0}))}function Hht(t,e,r){return t.then(n=>n?lp(n,"headers",e.schemaErrorFormatter):!1)}function lp(t,e,r){if(t instanceof Error)return t.statusCode=t.statusCode||400,t.code=t.code||"FST_ERR_VALIDATION",t.validationContext=t.validationContext||e,t;let n=r(t,e);return n.statusCode=n.statusCode||400,n.code=n.code||"FST_ERR_VALIDATION",n.validation=t,n.validationContext=e,n}Ffe.exports={symbols:{bodySchema:X6,querystringSchema:J6,responseSchema:$fe,paramsSchema:Y6,headersSchema:uR},compileSchemasForValidation:Fht,compileSchemasForSerialization:$ht,validate:lR}});var e5=E((MOr,qfe)=>{"use strict";var{kReplyIsError:Ufe,kReplyHijacked:Qht}=Qs();function Ght(t,e){t.then(function(r){if(e[Qht]!==!0&&(r!==void 0||e.sent===!1&&e.raw.headersSent===!1&&e.request.raw.aborted===!1))try{e.send(r)}catch(n){e[Ufe]=!0,e.send(n)}},function(r){if(e.sent===!0){e.log.error({err:r},"Promise errored, but reply.sent = true was set");return}e[Ufe]=!0;try{e.send(r)}catch(n){e.send(n)}})}qfe.exports=Ght});var s5=E((WOr,n5)=>{"use strict";var{validate:Vht}=Z6(),{preValidationHookRunner:zht,preHandlerHookRunner:Kht}=up(),Yht=e5(),{kReplyIsError:dR,kRouteContext:fp}=Qs();function Jht(t,e,r){if(r.sent===!0)return;if(t!=null){r[dR]=!0,r.send(t);return}let n=e.raw.method,s=e.headers,i=e[fp];if(n==="GET"||n==="HEAD"){dp(e,r);return}let a=s["content-type"];if(n==="POST"||n==="PUT"||n==="PATCH"||n==="TRACE"||n==="SEARCH"){a===void 0?s["transfer-encoding"]===void 0&&(s["content-length"]==="0"||s["content-length"]===void 0)?dp(e,r):i.contentTypeParser.run("",dp,e,r):i.contentTypeParser.run(a,dp,e,r);return}if(n==="OPTIONS"||n==="DELETE"){a!==void 0&&(s["transfer-encoding"]!==void 0||s["content-length"]!==void 0)?i.contentTypeParser.run(a,dp,e,r):dp(e,r);return}dp(e,r)}function dp(t,e){try{t[fp].preValidation!==null?zht(t[fp].preValidation,t,e,t5):t5(null,t,e)}catch(r){t5(r,t,e)}}function t5(t,e,r){if(r.sent===!0)return;if(t!=null){r[dR]=!0,r.send(t);return}let n=Vht(r[fp],e);if(n&&typeof n.then=="function"||!1){let i=jfe.bind(null,e,r);n.then(i,i)}else jfe(e,r,n)}function jfe(t,e,r){if(r){if(e[fp].attachValidation===!1){e.send(r);return}e.request.validationError=r}t[fp].preHandler!==null?Kht(t[fp].preHandler,t,e,r5):r5(null,t,e)}function r5(t,e,r){if(r.sent)return;if(t!=null){r[dR]=!0,r.send(t);return}let n;try{n=e[fp].handler(e,r)}catch(s){r[dR]=!0,r.send(s);return}n!==void 0&&(n!==null&&typeof n.then=="function"?Yht(n,r):r.send(n))}n5.exports=Jht;n5.exports[Symbol.for("internals")]={handler:dp,preHandlerCallback:r5}});var Qfe=E(($Or,Hfe)=>{"use strict";function WA(){}var Xht={fatal:WA,error:WA,warn:WA,info:WA,debug:WA,trace:WA};Object.defineProperty(Hfe,"exports",{get(){return Object.create(Xht)}})});var a5=E((FOr,zfe)=>{"use strict";var s1=t=>t&&typeof t.message=="string",i5=t=>{if(!t)return;let e=t.cause;if(typeof e=="function"){let r=t.cause();return s1(r)?r:void 0}else return s1(e)?e:void 0},Gfe=(t,e)=>{if(!s1(t))return"";let r=t.stack||"";if(e.has(t))return r+`
|
|
causes have become circular...`;let n=i5(t);return n?(e.add(t),r+`
|
|
caused by: `+Gfe(n,e)):r},Zht=t=>Gfe(t,new Set),Vfe=(t,e,r)=>{if(!s1(t))return"";let n=r?"":t.message||"";if(e.has(t))return n+": ...";let s=i5(t);if(s){e.add(t);let i=typeof t.cause=="function";return n+(i?"":": ")+Vfe(s,e,i)}else return n},egt=t=>Vfe(t,new Set);zfe.exports={isErrorLike:s1,getErrorCause:i5,stackWithCauses:Zht,messageWithCauses:egt}});var o5=E((UOr,Yfe)=>{"use strict";var tgt=Symbol("circular-ref-tag"),fR=Symbol("pino-raw-err-ref"),Kfe=Object.create({},{type:{enumerable:!0,writable:!0,value:void 0},message:{enumerable:!0,writable:!0,value:void 0},stack:{enumerable:!0,writable:!0,value:void 0},aggregateErrors:{enumerable:!0,writable:!0,value:void 0},raw:{enumerable:!1,get:function(){return this[fR]},set:function(t){this[fR]=t}}});Object.defineProperty(Kfe,fR,{writable:!0,value:{}});Yfe.exports={pinoErrProto:Kfe,pinoErrorSymbols:{seen:tgt,rawSymbol:fR}}});var Zfe=E((qOr,Xfe)=>{"use strict";Xfe.exports=u5;var{messageWithCauses:rgt,stackWithCauses:ngt,isErrorLike:Jfe}=a5(),{pinoErrProto:sgt,pinoErrorSymbols:igt}=o5(),{seen:c5}=igt,{toString:agt}=Object.prototype;function u5(t){if(!Jfe(t))return t;t[c5]=void 0;let e=Object.create(sgt);e.type=agt.call(t.constructor)==="[object Function]"?t.constructor.name:t.name,e.message=rgt(t),e.stack=ngt(t),Array.isArray(t.errors)&&(e.aggregateErrors=t.errors.map(r=>u5(r)));for(let r in t)if(e[r]===void 0){let n=t[r];Jfe(n)?r!=="cause"&&!Object.prototype.hasOwnProperty.call(n,c5)&&(e[r]=u5(n)):e[r]=n}return delete t[c5],e.raw=t,e}});var tpe=E((jOr,epe)=>{"use strict";epe.exports=mR;var{isErrorLike:l5}=a5(),{pinoErrProto:ogt,pinoErrorSymbols:cgt}=o5(),{seen:pR}=cgt,{toString:ugt}=Object.prototype;function mR(t){if(!l5(t))return t;t[pR]=void 0;let e=Object.create(ogt);e.type=ugt.call(t.constructor)==="[object Function]"?t.constructor.name:t.name,e.message=t.message,e.stack=t.stack,Array.isArray(t.errors)&&(e.aggregateErrors=t.errors.map(r=>mR(r))),l5(t.cause)&&!Object.prototype.hasOwnProperty.call(t.cause,pR)&&(e.cause=mR(t.cause));for(let r in t)if(e[r]===void 0){let n=t[r];l5(n)?Object.prototype.hasOwnProperty.call(n,pR)||(e[r]=mR(n)):e[r]=n}return delete t[pR],e.raw=t,e}});var ipe=E((HOr,spe)=>{"use strict";spe.exports={mapHttpRequest:lgt,reqSerializer:npe};var d5=Symbol("pino-raw-req-ref"),rpe=Object.create({},{id:{enumerable:!0,writable:!0,value:""},method:{enumerable:!0,writable:!0,value:""},url:{enumerable:!0,writable:!0,value:""},query:{enumerable:!0,writable:!0,value:""},params:{enumerable:!0,writable:!0,value:""},headers:{enumerable:!0,writable:!0,value:{}},remoteAddress:{enumerable:!0,writable:!0,value:""},remotePort:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[d5]},set:function(t){this[d5]=t}}});Object.defineProperty(rpe,d5,{writable:!0,value:{}});function npe(t){let e=t.info||t.socket,r=Object.create(rpe);if(r.id=typeof t.id=="function"?t.id():t.id||(t.info?t.info.id:void 0),r.method=t.method,t.originalUrl)r.url=t.originalUrl;else{let n=t.path;r.url=typeof n=="string"?n:t.url?t.url.path||t.url:void 0}return t.query&&(r.query=t.query),t.params&&(r.params=t.params),r.headers=t.headers,r.remoteAddress=e&&e.remoteAddress,r.remotePort=e&&e.remotePort,r.raw=t.raw||t,r}function lgt(t){return{req:npe(t)}}});var upe=E((QOr,cpe)=>{"use strict";cpe.exports={mapHttpResponse:dgt,resSerializer:ope};var f5=Symbol("pino-raw-res-ref"),ape=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[f5]},set:function(t){this[f5]=t}}});Object.defineProperty(ape,f5,{writable:!0,value:{}});function ope(t){let e=Object.create(ape);return e.statusCode=t.headersSent?t.statusCode:null,e.headers=t.getHeaders?t.getHeaders():t._headers,e.raw=t,e}function dgt(t){return{res:ope(t)}}});var m5=E((GOr,lpe)=>{"use strict";var p5=Zfe(),fgt=tpe(),hR=ipe(),gR=upe();lpe.exports={err:p5,errWithCause:fgt,mapHttpRequest:hR.mapHttpRequest,mapHttpResponse:gR.mapHttpResponse,req:hR.reqSerializer,res:gR.resSerializer,wrapErrorSerializer:function(e){return e===p5?e:function(n){return e(p5(n))}},wrapRequestSerializer:function(e){return e===hR.reqSerializer?e:function(n){return e(hR.reqSerializer(n))}},wrapResponseSerializer:function(e){return e===gR.resSerializer?e:function(n){return e(gR.resSerializer(n))}}}});var h5=E((VOr,dpe)=>{"use strict";function pgt(t,e){return e}dpe.exports=function(){let e=Error.prepareStackTrace;Error.prepareStackTrace=pgt;let r=new Error().stack;if(Error.prepareStackTrace=e,!Array.isArray(r))return;let n=r.slice(2),s=[];for(let i of n)i&&s.push(i.getFileName());return s}});var ppe=E((zOr,fpe)=>{"use strict";fpe.exports=mgt;function mgt(t={}){let{ERR_PATHS_MUST_BE_STRINGS:e=()=>"fast-redact - Paths must be (non-empty) strings",ERR_INVALID_PATH:r=n=>`fast-redact \u2013 Invalid path (${n})`}=t;return function({paths:s}){s.forEach(i=>{if(typeof i!="string")throw Error(e());try{if(/〇/.test(i))throw Error();let a=(i[0]==="["?"":".")+i.replace(/^\*/,"\u3007").replace(/\.\*/g,".\u3007").replace(/\[\*\]/g,"[\u3007]");if(/\n|\r|;/.test(a)||/\/\*/.test(a))throw Error();Function(`
|
|
'use strict'
|
|
const o = new Proxy({}, { get: () => o, set: () => { throw Error() } });
|
|
const \u3007 = null;
|
|
o${a}
|
|
if ([o${a}].length !== 1) throw Error()`)()}catch{throw Error(r(i))}})}}});var AR=E((KOr,mpe)=>{"use strict";mpe.exports=/[^.[\]]+|\[((?:.)*?)\]/g});var gpe=E((YOr,hpe)=>{"use strict";var hgt=AR();hpe.exports=ggt;function ggt({paths:t}){let e=[];var r=0;let n=t.reduce(function(s,i,a){var o=i.match(hgt).map(l=>l.replace(/'|"|`/g,""));let c=i[0]==="[";o=o.map(l=>l[0]==="["?l.substr(1,l.length-2):l);let u=o.indexOf("*");if(u>-1){let l=o.slice(0,u),d=l.join("."),f=o.slice(u+1,o.length),p=f.length>0;r++,e.push({before:l,beforeStr:d,after:f,nested:p})}else s[i]={path:o,val:void 0,precensored:!1,circle:"",escPath:JSON.stringify(i),leadingBracket:c};return s},{});return{wildcards:e,wcLen:r,secret:n}}});var ype=E((JOr,Ape)=>{"use strict";var Agt=AR();Ape.exports=ygt;function ygt({secret:t,serialize:e,wcLen:r,strict:n,isCensorFct:s,censorFctTakesPath:i},a){let o=Function("o",`
|
|
if (typeof o !== 'object' || o == null) {
|
|
${_gt(n,e)}
|
|
}
|
|
const { censor, secret } = this
|
|
const originalSecret = {}
|
|
const secretKeys = Object.keys(secret)
|
|
for (var i = 0; i < secretKeys.length; i++) {
|
|
originalSecret[secretKeys[i]] = secret[secretKeys[i]]
|
|
}
|
|
|
|
${xgt(t,s,i)}
|
|
this.compileRestore()
|
|
${bgt(r>0,s,i)}
|
|
this.secret = originalSecret
|
|
${Egt(e)}
|
|
`).bind(a);return o.state=a,e===!1&&(o.restore=c=>a.restore(c)),o}function xgt(t,e,r){return Object.keys(t).map(n=>{let{escPath:s,leadingBracket:i,path:a}=t[n],o=i?1:0,c=i?"":".",u=[];for(var l;(l=Agt.exec(n))!==null;){let[,m]=l,{index:h,input:A}=l;h>o&&u.push(A.substring(0,h-(m?0:1)))}var d=u.map(m=>`o${c}${m}`).join(" && ");d.length===0?d+=`o${c}${n} != null`:d+=` && o${c}${n} != null`;let f=`
|
|
switch (true) {
|
|
${u.reverse().map(m=>`
|
|
case o${c}${m} === censor:
|
|
secret[${s}].circle = ${JSON.stringify(m)}
|
|
break
|
|
`).join(`
|
|
`)}
|
|
}
|
|
`,p=r?`val, ${JSON.stringify(a)}`:"val";return`
|
|
if (${d}) {
|
|
const val = o${c}${n}
|
|
if (val === censor) {
|
|
secret[${s}].precensored = true
|
|
} else {
|
|
secret[${s}].val = val
|
|
o${c}${n} = ${e?`censor(${p})`:"censor"}
|
|
${f}
|
|
}
|
|
}
|
|
`}).join(`
|
|
`)}function bgt(t,e,r){return t===!0?`
|
|
{
|
|
const { wildcards, wcLen, groupRedact, nestedRedact } = this
|
|
for (var i = 0; i < wcLen; i++) {
|
|
const { before, beforeStr, after, nested } = wildcards[i]
|
|
if (nested === true) {
|
|
secret[beforeStr] = secret[beforeStr] || []
|
|
nestedRedact(secret[beforeStr], o, before, after, censor, ${e}, ${r})
|
|
} else secret[beforeStr] = groupRedact(o, before, censor, ${e}, ${r})
|
|
}
|
|
}
|
|
`:""}function Egt(t){return t===!1?"return o":`
|
|
var s = this.serialize(o)
|
|
this.restore(o)
|
|
return s
|
|
`}function _gt(t,e){return t===!0?"throw Error('fast-redact: primitives cannot be redacted')":e===!1?"return o":"return this.serialize(o)"}});var A5=E((XOr,Epe)=>{"use strict";Epe.exports={groupRedact:vgt,groupRestore:Sgt,nestedRedact:Igt,nestedRestore:Cgt};function Sgt({keys:t,values:e,target:r}){if(r==null||typeof r=="string")return;let n=t.length;for(var s=0;s<n;s++){let i=t[s];r[i]=e[s]}}function vgt(t,e,r,n,s){let i=xpe(t,e);if(i==null||typeof i=="string")return{keys:null,values:null,target:i,flat:!0};let a=Object.keys(i),o=a.length,c=e.length,u=s?[...e]:void 0,l=new Array(o);for(var d=0;d<o;d++){let f=a[d];l[d]=i[f],s?(u[c]=f,i[f]=r(i[f],u)):n?i[f]=r(i[f]):i[f]=r}return{keys:a,values:l,target:i,flat:!0}}function Cgt(t){for(let e=0;e<t.length;e++){let{target:r,path:n,value:s}=t[e],i=r;for(let a=n.length-1;a>0;a--)i=i[n[a]];i[n[0]]=s}}function Igt(t,e,r,n,s,i,a){let o=xpe(e,r);if(o==null)return;let c=Object.keys(o),u=c.length;for(var l=0;l<u;l++){let d=c[l];Tgt(t,o,d,r,n,s,i,a)}return t}function g5(t,e){return t!=null?"hasOwn"in Object?Object.hasOwn(t,e):Object.prototype.hasOwnProperty.call(t,e):!1}function Tgt(t,e,r,n,s,i,a,o){let c=s.length,u=c-1,l=r;var d=-1,f,p,m,h=null,A=null,g,b,y=!1,x=0,v=0,C=wgt();if(m=f=e[r],typeof f=="object"){for(;f!=null&&++d<c&&(v+=1,r=s[d],h=m,!(r!=="*"&&!A&&!(typeof f=="object"&&r in f)));)if(!(r==="*"&&(A==="*"&&(y=!0),A=r,d!==u))){if(A){let w=Object.keys(f);for(var R=0;R<w.length;R++){let N=w[R];if(b=f[N],g=r==="*",y)C=ud(C,N,v),x=d,m=bpe(b,x-1,r,n,s,i,a,o,l,f,p,m,g,N,d,u,C,t,e[l],v+1);else if(g||typeof b=="object"&&b!==null&&r in b){if(g?m=b:m=b[r],p=d!==u?m:a?o?i(m,[...n,l,...s]):i(m):i,g){let P=i1(ud(C,N,v),m,e[l]);t.push(P),f[N]=p}else if(b[r]!==p)if(p===void 0&&i!==void 0||g5(b,r)&&p===m)C=ud(C,N,v);else{C=ud(C,N,v);let P=i1(ud(C,r,v+1),m,e[l]);t.push(P),b[r]=p}}}A=null}else{if(m=f[r],C=ud(C,r,v),p=d!==u?m:a?o?i(m,[...n,l,...s]):i(m):i,!(g5(f,r)&&p===m||p===void 0&&i!==void 0)){let w=i1(C,m,e[l]);t.push(w),f[r]=p}f=f[r]}if(typeof f!="object")break}}}function xpe(t,e){for(var r=-1,n=e.length,s=t;s!=null&&++r<n;)s=s[e[r]];return s}function bpe(t,e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y){if(e===0&&(f||typeof t=="object"&&t!==null&&r in t)){if(f?d=t:d=t[r],l=m!==h?d:a?o?i(d,[...n,c,...s]):i(d):i,f){let x=i1(A,d,b);g.push(x),u[p]=l}else if(t[r]!==l){if(!(l===void 0&&i!==void 0||g5(t,r)&&l===d)){let x=i1(ud(A,r,y+1),d,b);g.push(x),t[r]=l}}}for(let x in t)typeof t[x]=="object"&&(A=ud(A,x,y),bpe(t[x],e-1,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y+1))}function wgt(){return{parent:null,key:null,children:[],depth:0}}function ud(t,e,r){if(t.depth===r)return ud(t.parent,e,r);var n={parent:t,key:e,depth:r,children:[]};return t.children.push(n),n}function i1(t,e,r){let n=t,s=[];do s.push(n.key),n=n.parent;while(n.parent!=null);return{path:s,value:e,target:r}}});var Spe=E((ZOr,_pe)=>{"use strict";var{groupRestore:Rgt,nestedRestore:Ngt}=A5();_pe.exports=Ogt;function Ogt(){return function(){if(this.restore){this.restore.state.secret=this.secret;return}let{secret:e,wcLen:r}=this,n=Object.keys(e),s=Pgt(e,n),i=r>0,a=i?{secret:e,groupRestore:Rgt,nestedRestore:Ngt}:{secret:e};this.restore=Function("o",Dgt(s,n,i)).bind(a),this.restore.state=a}}function Pgt(t,e){return e.map(r=>{let{circle:n,escPath:s,leadingBracket:i}=t[r],o=n?`o.${n} = secret[${s}].val`:`o${i?"":"."}${r} = secret[${s}].val`,c=`secret[${s}].val = undefined`;return`
|
|
if (secret[${s}].val !== undefined) {
|
|
try { ${o} } catch (e) {}
|
|
${c}
|
|
}
|
|
`}).join("")}function Dgt(t,e,r){return`
|
|
const secret = this.secret
|
|
${r===!0?`
|
|
const keys = Object.keys(secret)
|
|
const len = keys.length
|
|
for (var i = len - 1; i >= ${e.length}; i--) {
|
|
const k = keys[i]
|
|
const o = secret[k]
|
|
if (o) {
|
|
if (o.flat === true) this.groupRestore(o)
|
|
else this.nestedRestore(o)
|
|
secret[k] = null
|
|
}
|
|
}
|
|
`:""}
|
|
${t}
|
|
return o
|
|
`}});var Cpe=E((ePr,vpe)=>{"use strict";vpe.exports=kgt;function kgt(t){let{secret:e,censor:r,compileRestore:n,serialize:s,groupRedact:i,nestedRedact:a,wildcards:o,wcLen:c}=t,u=[{secret:e,censor:r,compileRestore:n}];return s!==!1&&u.push({serialize:s}),c>0&&u.push({groupRedact:i,nestedRedact:a,wildcards:o,wcLen:c}),Object.assign(...u)}});var wpe=E((tPr,Tpe)=>{"use strict";var Ipe=ppe(),Lgt=gpe(),Bgt=ype(),Mgt=Spe(),{groupRedact:Wgt,nestedRedact:$gt}=A5(),Fgt=Cpe(),Ugt=AR(),qgt=Ipe(),y5=t=>t;y5.restore=y5;var jgt="[REDACTED]";x5.rx=Ugt;x5.validator=Ipe;Tpe.exports=x5;function x5(t={}){let e=Array.from(new Set(t.paths||[])),r="serialize"in t&&(t.serialize===!1||typeof t.serialize=="function")?t.serialize:JSON.stringify,n=t.remove;if(n===!0&&r!==JSON.stringify)throw Error("fast-redact \u2013 remove option may only be set when serializer is JSON.stringify");let s=n===!0?void 0:"censor"in t?t.censor:jgt,i=typeof s=="function",a=i&&s.length>1;if(e.length===0)return r||y5;qgt({paths:e,serialize:r,censor:s});let{wildcards:o,wcLen:c,secret:u}=Lgt({paths:e,censor:s}),l=Mgt(),d="strict"in t?t.strict:!0;return Bgt({secret:u,wcLen:c,serialize:r,strict:d,isCensorFct:i,censorFctTakesPath:a},Fgt({secret:u,censor:s,compileRestore:l,serialize:r,groupRedact:Wgt,nestedRedact:$gt,wildcards:o,wcLen:c}))}});var $A=E((rPr,Rpe)=>{"use strict";var Hgt=Symbol("pino.setLevel"),Qgt=Symbol("pino.getLevel"),Ggt=Symbol("pino.levelVal"),Vgt=Symbol("pino.levelComp"),zgt=Symbol("pino.useLevelLabels"),Kgt=Symbol("pino.useOnlyCustomLevels"),Ygt=Symbol("pino.mixin"),Jgt=Symbol("pino.lsCache"),Xgt=Symbol("pino.chindings"),Zgt=Symbol("pino.asJson"),eAt=Symbol("pino.write"),tAt=Symbol("pino.redactFmt"),rAt=Symbol("pino.time"),nAt=Symbol("pino.timeSliceIndex"),sAt=Symbol("pino.stream"),iAt=Symbol("pino.stringify"),aAt=Symbol("pino.stringifySafe"),oAt=Symbol("pino.stringifiers"),cAt=Symbol("pino.end"),uAt=Symbol("pino.formatOpts"),lAt=Symbol("pino.messageKey"),dAt=Symbol("pino.errorKey"),fAt=Symbol("pino.nestedKey"),pAt=Symbol("pino.nestedKeyStr"),mAt=Symbol("pino.mixinMergeStrategy"),hAt=Symbol("pino.msgPrefix"),gAt=Symbol("pino.wildcardFirst"),AAt=Symbol.for("pino.serializers"),yAt=Symbol.for("pino.formatters"),xAt=Symbol.for("pino.hooks"),bAt=Symbol.for("pino.metadata");Rpe.exports={setLevelSym:Hgt,getLevelSym:Qgt,levelValSym:Ggt,levelCompSym:Vgt,useLevelLabelsSym:zgt,mixinSym:Ygt,lsCacheSym:Jgt,chindingsSym:Xgt,asJsonSym:Zgt,writeSym:eAt,serializersSym:AAt,redactFmtSym:tAt,timeSym:rAt,timeSliceIndexSym:nAt,streamSym:sAt,stringifySym:iAt,stringifySafeSym:aAt,stringifiersSym:oAt,endSym:cAt,formatOptsSym:uAt,messageKeySym:lAt,errorKeySym:dAt,nestedKeySym:fAt,wildcardFirstSym:gAt,needsMetadataGsym:bAt,useOnlyCustomLevelsSym:Kgt,formattersSym:yAt,hooksSym:xAt,nestedKeyStrSym:pAt,mixinMergeStrategySym:mAt,msgPrefixSym:hAt}});var _5=E((nPr,Dpe)=>{"use strict";var E5=wpe(),{redactFmtSym:EAt,wildcardFirstSym:yR}=$A(),{rx:b5,validator:_At}=E5,Npe=_At({ERR_PATHS_MUST_BE_STRINGS:()=>"pino \u2013 redacted paths must be strings",ERR_INVALID_PATH:t=>`pino \u2013 redact paths array contains an invalid path (${t})`}),Ope="[Redacted]",Ppe=!1;function SAt(t,e){let{paths:r,censor:n}=vAt(t),s=r.reduce((o,c)=>{b5.lastIndex=0;let u=b5.exec(c),l=b5.exec(c),d=u[1]!==void 0?u[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):u[0];if(d==="*"&&(d=yR),l===null)return o[d]=null,o;if(o[d]===null)return o;let{index:f}=l,p=`${c.substr(f,c.length-1)}`;return o[d]=o[d]||[],d!==yR&&o[d].length===0&&o[d].push(...o[yR]||[]),d===yR&&Object.keys(o).forEach(function(m){o[m]&&o[m].push(p)}),o[d].push(p),o},{}),i={[EAt]:E5({paths:r,censor:n,serialize:e,strict:Ppe})},a=(...o)=>e(typeof n=="function"?n(...o):n);return[...Object.keys(s),...Object.getOwnPropertySymbols(s)].reduce((o,c)=>{if(s[c]===null)o[c]=u=>a(u,[c]);else{let u=typeof n=="function"?(l,d)=>n(l,[c,...d]):n;o[c]=E5({paths:s[c],censor:u,serialize:e,strict:Ppe})}return o},i)}function vAt(t){if(Array.isArray(t))return t={paths:t,censor:Ope},Npe(t),t;let{paths:e,censor:r=Ope,remove:n}=t;if(Array.isArray(e)===!1)throw Error("pino \u2013 redact must contain an array of strings");return n===!0&&(r=void 0),Npe({paths:e,censor:r}),{paths:e,censor:r}}Dpe.exports=SAt});var Lpe=E((sPr,kpe)=>{"use strict";var CAt=()=>"",IAt=()=>`,"time":${Date.now()}`,TAt=()=>`,"time":${Math.round(Date.now()/1e3)}`,wAt=()=>`,"time":"${new Date(Date.now()).toISOString()}"`;kpe.exports={nullTime:CAt,epochTime:IAt,unixTime:TAt,isoTime:wAt}});var Mpe=E((iPr,Bpe)=>{"use strict";function RAt(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}Bpe.exports=NAt;function NAt(t,e,r){var n=r&&r.stringify||RAt,s=1;if(typeof t=="object"&&t!==null){var i=e.length+s;if(i===1)return t;var a=new Array(i);a[0]=n(t);for(var o=1;o<i;o++)a[o]=n(e[o]);return a.join(" ")}if(typeof t!="string")return t;var c=e.length;if(c===0)return t;for(var u="",l=1-s,d=-1,f=t&&t.length||0,p=0;p<f;){if(t.charCodeAt(p)===37&&p+1<f){switch(d=d>-1?d:0,t.charCodeAt(p+1)){case 100:case 102:if(l>=c||e[l]==null)break;d<p&&(u+=t.slice(d,p)),u+=Number(e[l]),d=p+2,p++;break;case 105:if(l>=c||e[l]==null)break;d<p&&(u+=t.slice(d,p)),u+=Math.floor(Number(e[l])),d=p+2,p++;break;case 79:case 111:case 106:if(l>=c||e[l]===void 0)break;d<p&&(u+=t.slice(d,p));var m=typeof e[l];if(m==="string"){u+="'"+e[l]+"'",d=p+2,p++;break}if(m==="function"){u+=e[l].name||"<anonymous>",d=p+2,p++;break}u+=n(e[l]),d=p+2,p++;break;case 115:if(l>=c)break;d<p&&(u+=t.slice(d,p)),u+=String(e[l]),d=p+2,p++;break;case 37:d<p&&(u+=t.slice(d,p)),u+="%",d=p+2,p++,l--;break}++l}++p}return d===-1?t:(d<f&&(u+=t.slice(d)),u)}});var v5=E((aPr,S5)=>{"use strict";if(typeof SharedArrayBuffer<"u"&&typeof Atomics<"u"){let e=function(r){if((r>0&&r<1/0)===!1)throw typeof r!="number"&&typeof r!="bigint"?TypeError("sleep: ms must be a number"):RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");Atomics.wait(t,0,0,Number(r))},t=new Int32Array(new SharedArrayBuffer(4));S5.exports=e}else{let t=function(e){if((e>0&&e<1/0)===!1)throw typeof e!="number"&&typeof e!="bigint"?TypeError("sleep: ms must be a number"):RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");let n=Date.now()+Number(e);for(;n>Date.now(););};S5.exports=t}});var Qpe=E((oPr,Hpe)=>{"use strict";var os=require("fs"),OAt=require("events"),PAt=require("util").inherits,Wpe=require("path"),I5=v5(),xR=100,bR=Buffer.allocUnsafe(0),DAt=16*1024,$pe="buffer",Fpe="utf8";function Upe(t,e){e._opening=!0,e._writing=!0,e._asyncDrainScheduled=!1;function r(i,a){if(i){e._reopening=!1,e._writing=!1,e._opening=!1,e.sync?process.nextTick(()=>{e.listenerCount("error")>0&&e.emit("error",i)}):e.emit("error",i);return}let o=e._reopening;e.fd=a,e.file=t,e._reopening=!1,e._opening=!1,e._writing=!1,e.sync?process.nextTick(()=>e.emit("ready")):e.emit("ready"),!e.destroyed&&(!e._writing&&e._len>e.minLength||e._flushPending?e._actualWrite():o&&process.nextTick(()=>e.emit("drain")))}let n=e.append?"a":"w",s=e.mode;if(e.sync)try{e.mkdir&&os.mkdirSync(Wpe.dirname(t),{recursive:!0});let i=os.openSync(t,n,s);r(null,i)}catch(i){throw r(i),i}else e.mkdir?os.mkdir(Wpe.dirname(t),{recursive:!0},i=>{if(i)return r(i);os.open(t,n,s,r)}):os.open(t,n,s,r)}function Mc(t){if(!(this instanceof Mc))return new Mc(t);let{fd:e,dest:r,minLength:n,maxLength:s,maxWrite:i,sync:a,append:o=!0,mkdir:c,retryEAGAIN:u,fsync:l,contentMode:d,mode:f}=t||{};e=e||r,this._len=0,this.fd=-1,this._bufs=[],this._lens=[],this._writing=!1,this._ending=!1,this._reopening=!1,this._asyncDrainScheduled=!1,this._flushPending=!1,this._hwm=Math.max(n||0,16387),this.file=null,this.destroyed=!1,this.minLength=n||0,this.maxLength=s||0,this.maxWrite=i||DAt,this.sync=a||!1,this.writable=!0,this._fsync=l||!1,this.append=o||!1,this.mode=f,this.retryEAGAIN=u||(()=>!0),this.mkdir=c||!1;let p,m;if(d===$pe)this._writingBuf=bR,this.write=BAt,this.flush=WAt,this.flushSync=FAt,this._actualWrite=qAt,p=()=>os.writeSync(this.fd,this._writingBuf),m=()=>os.write(this.fd,this._writingBuf,this.release);else if(d===void 0||d===Fpe)this._writingBuf="",this.write=LAt,this.flush=MAt,this.flushSync=$At,this._actualWrite=UAt,p=()=>os.writeSync(this.fd,this._writingBuf,"utf8"),m=()=>os.write(this.fd,this._writingBuf,"utf8",this.release);else throw new Error(`SonicBoom supports "${Fpe}" and "${$pe}", but passed ${d}`);if(typeof e=="number")this.fd=e,process.nextTick(()=>this.emit("ready"));else if(typeof e=="string")Upe(e,this);else throw new Error("SonicBoom supports only file descriptors and files");if(this.minLength>=this.maxWrite)throw new Error(`minLength should be smaller than maxWrite (${this.maxWrite})`);this.release=(h,A)=>{if(h){if((h.code==="EAGAIN"||h.code==="EBUSY")&&this.retryEAGAIN(h,this._writingBuf.length,this._len-this._writingBuf.length))if(this.sync)try{I5(xR),this.release(void 0,0)}catch(y){this.release(y)}else setTimeout(m,xR);else this._writing=!1,this.emit("error",h);return}this.emit("write",A);let g=C5(this._writingBuf,this._len,A);if(this._len=g.len,this._writingBuf=g.writingBuf,this._writingBuf.length){if(!this.sync){m();return}try{do{let y=p(),x=C5(this._writingBuf,this._len,y);this._len=x.len,this._writingBuf=x.writingBuf}while(this._writingBuf.length)}catch(y){this.release(y);return}}this._fsync&&os.fsyncSync(this.fd);let b=this._len;this._reopening?(this._writing=!1,this._reopening=!1,this.reopen()):b>this.minLength?this._actualWrite():this._ending?b>0?this._actualWrite():(this._writing=!1,ER(this)):(this._writing=!1,this.sync?this._asyncDrainScheduled||(this._asyncDrainScheduled=!0,process.nextTick(kAt,this)):this.emit("drain"))},this.on("newListener",function(h){h==="drain"&&(this._asyncDrainScheduled=!1)})}function C5(t,e,r){return typeof t=="string"&&Buffer.byteLength(t)!==r&&(r=Buffer.from(t).subarray(0,r).toString().length),e=Math.max(e-r,0),t=t.slice(r),{writingBuf:t,len:e}}function kAt(t){t.listenerCount("drain")>0&&(t._asyncDrainScheduled=!1,t.emit("drain"))}PAt(Mc,OAt);function qpe(t,e){return t.length===0?bR:t.length===1?t[0]:Buffer.concat(t,e)}function LAt(t){if(this.destroyed)throw new Error("SonicBoom destroyed");let e=this._len+t.length,r=this._bufs;return this.maxLength&&e>this.maxLength?(this.emit("drop",t),this._len<this._hwm):(r.length===0||r[r.length-1].length+t.length>this.maxWrite?r.push(""+t):r[r.length-1]+=t,this._len=e,!this._writing&&this._len>=this.minLength&&this._actualWrite(),this._len<this._hwm)}function BAt(t){if(this.destroyed)throw new Error("SonicBoom destroyed");let e=this._len+t.length,r=this._bufs,n=this._lens;return this.maxLength&&e>this.maxLength?(this.emit("drop",t),this._len<this._hwm):(r.length===0||n[n.length-1]+t.length>this.maxWrite?(r.push([t]),n.push(t.length)):(r[r.length-1].push(t),n[n.length-1]+=t.length),this._len=e,!this._writing&&this._len>=this.minLength&&this._actualWrite(),this._len<this._hwm)}function jpe(t){this._flushPending=!0;let e=()=>{this._fsync?(this._flushPending=!1,t()):os.fsync(this.fd,n=>{this._flushPending=!1,t(n)}),this.off("error",r)},r=n=>{this._flushPending=!1,t(n),this.off("drain",e)};this.once("drain",e),this.once("error",r)}function MAt(t){if(t!=null&&typeof t!="function")throw new Error("flush cb must be a function");if(this.destroyed){let e=new Error("SonicBoom destroyed");if(t){t(e);return}throw e}if(this.minLength<=0){t?.();return}t&&jpe.call(this,t),!this._writing&&(this._bufs.length===0&&this._bufs.push(""),this._actualWrite())}function WAt(t){if(t!=null&&typeof t!="function")throw new Error("flush cb must be a function");if(this.destroyed){let e=new Error("SonicBoom destroyed");if(t){t(e);return}throw e}if(this.minLength<=0){t?.();return}t&&jpe.call(this,t),!this._writing&&(this._bufs.length===0&&(this._bufs.push([]),this._lens.push(0)),this._actualWrite())}Mc.prototype.reopen=function(t){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.reopen(t)});return}if(this._ending)return;if(!this.file)throw new Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");if(t&&(this.file=t),this._reopening=!0,this._writing)return;let e=this.fd;this.once("ready",()=>{e!==this.fd&&os.close(e,r=>{if(r)return this.emit("error",r)})}),Upe(this.file,this)};Mc.prototype.end=function(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.end()});return}this._ending||(this._ending=!0,!this._writing&&(this._len>0&&this.fd>=0?this._actualWrite():ER(this)))};function $At(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this.fd<0)throw new Error("sonic boom is not ready yet");!this._writing&&this._writingBuf.length>0&&(this._bufs.unshift(this._writingBuf),this._writingBuf="");let t="";for(;this._bufs.length||t;){t.length<=0&&(t=this._bufs[0]);try{let e=os.writeSync(this.fd,t,"utf8"),r=C5(t,this._len,e);t=r.writingBuf,this._len=r.len,t.length<=0&&this._bufs.shift()}catch(e){if((e.code==="EAGAIN"||e.code==="EBUSY")&&!this.retryEAGAIN(e,t.length,this._len-t.length))throw e;I5(xR)}}try{os.fsyncSync(this.fd)}catch{}}function FAt(){if(this.destroyed)throw new Error("SonicBoom destroyed");if(this.fd<0)throw new Error("sonic boom is not ready yet");!this._writing&&this._writingBuf.length>0&&(this._bufs.unshift([this._writingBuf]),this._writingBuf=bR);let t=bR;for(;this._bufs.length||t.length;){t.length<=0&&(t=qpe(this._bufs[0],this._lens[0]));try{let e=os.writeSync(this.fd,t);t=t.subarray(e),this._len=Math.max(this._len-e,0),t.length<=0&&(this._bufs.shift(),this._lens.shift())}catch(e){if((e.code==="EAGAIN"||e.code==="EBUSY")&&!this.retryEAGAIN(e,t.length,this._len-t.length))throw e;I5(xR)}}}Mc.prototype.destroy=function(){this.destroyed||ER(this)};function UAt(){let t=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf||this._bufs.shift()||"",this.sync)try{let e=os.writeSync(this.fd,this._writingBuf,"utf8");t(null,e)}catch(e){t(e)}else os.write(this.fd,this._writingBuf,"utf8",t)}function qAt(){let t=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:qpe(this._bufs.shift(),this._lens.shift()),this.sync)try{let e=os.writeSync(this.fd,this._writingBuf);t(null,e)}catch(e){t(e)}else os.write(this.fd,this._writingBuf,t)}function ER(t){if(t.fd===-1){t.once("ready",ER.bind(null,t));return}t.destroyed=!0,t._bufs=[],t._lens=[],os.fsync(t.fd,e);function e(){t.fd!==1&&t.fd!==2?os.close(t.fd,r):r()}function r(n){if(n){t.emit("error",n);return}t._ending&&!t._writing&&t.emit("finish"),t.emit("close")}}Mc.SonicBoom=Mc;Mc.default=Mc;Hpe.exports=Mc});var T5=E((cPr,Ype)=>{"use strict";var Wc={exit:[],beforeExit:[]},Gpe={exit:QAt,beforeExit:GAt},FA;function jAt(){FA===void 0&&(FA=new FinalizationRegistry(VAt))}function HAt(t){Wc[t].length>0||process.on(t,Gpe[t])}function Vpe(t){Wc[t].length>0||(process.removeListener(t,Gpe[t]),Wc.exit.length===0&&Wc.beforeExit.length===0&&(FA=void 0))}function QAt(){zpe("exit")}function GAt(){zpe("beforeExit")}function zpe(t){for(let e of Wc[t]){let r=e.deref(),n=e.fn;r!==void 0&&n(r,t)}Wc[t]=[]}function VAt(t){for(let e of["exit","beforeExit"]){let r=Wc[e].indexOf(t);Wc[e].splice(r,r+1),Vpe(e)}}function Kpe(t,e,r){if(e===void 0)throw new Error("the object can't be undefined");HAt(t);let n=new WeakRef(e);n.fn=r,jAt(),FA.register(e,n),Wc[t].push(n)}function zAt(t,e){Kpe("exit",t,e)}function KAt(t,e){Kpe("beforeExit",t,e)}function YAt(t){if(FA!==void 0){FA.unregister(t);for(let e of["exit","beforeExit"])Wc[e]=Wc[e].filter(r=>{let n=r.deref();return n&&n!==t}),Vpe(e)}}Ype.exports={register:zAt,registerBeforeExit:KAt,unregister:YAt}});var Jpe=E((uPr,JAt)=>{JAt.exports={name:"thread-stream",version:"2.7.0",description:"A streaming way to send data to a Node.js Worker Thread",main:"index.js",types:"index.d.ts",dependencies:{"real-require":"^0.2.0"},devDependencies:{"@types/node":"^20.1.0","@types/tap":"^15.0.0","@yao-pkg/pkg":"^5.11.5",desm:"^1.3.0",fastbench:"^1.0.1",husky:"^9.0.6","pino-elasticsearch":"^8.0.0","sonic-boom":"^3.0.0",standard:"^17.0.0",tap:"^16.2.0","ts-node":"^10.8.0",typescript:"^5.3.2","why-is-node-running":"^2.2.2"},scripts:{test:'standard && npm run transpile && tap "test/**/*.test.*js" && tap --ts test/*.test.*ts',"test:ci":"standard && npm run transpile && npm run test:ci:js && npm run test:ci:ts","test:ci:js":'tap --no-check-coverage --timeout=120 --coverage-report=lcovonly "test/**/*.test.*js"',"test:ci:ts":'tap --ts --no-check-coverage --coverage-report=lcovonly "test/**/*.test.*ts"',"test:yarn":'npm run transpile && tap "test/**/*.test.js" --no-check-coverage',transpile:"sh ./test/ts/transpile.sh",prepare:"husky install"},standard:{ignore:["test/ts/**/*"]},repository:{type:"git",url:"git+https://github.com/mcollina/thread-stream.git"},keywords:["worker","thread","threads","stream"],author:"Matteo Collina <[email protected]>",license:"MIT",bugs:{url:"https://github.com/mcollina/thread-stream/issues"},homepage:"https://github.com/mcollina/thread-stream#readme"}});var Zpe=E((lPr,Xpe)=>{"use strict";function XAt(t,e,r,n,s){let i=Date.now()+n,a=Atomics.load(t,e);if(a===r){s(null,"ok");return}let o=a,c=u=>{Date.now()>i?s(null,"timed-out"):setTimeout(()=>{o=a,a=Atomics.load(t,e),a===o?c(u>=1e3?1e3:u*2):a===r?s(null,"ok"):s(null,"not-equal")},u)};c(1)}function ZAt(t,e,r,n,s){let i=Date.now()+n,a=Atomics.load(t,e);if(a!==r){s(null,"ok");return}let o=c=>{Date.now()>i?s(null,"timed-out"):setTimeout(()=>{a=Atomics.load(t,e),a!==r?s(null,"ok"):o(c>=1e3?1e3:c*2)},c)};o(1)}Xpe.exports={wait:XAt,waitDiff:ZAt}});var t0e=E((dPr,e0e)=>{"use strict";e0e.exports={WRITE_INDEX:4,READ_INDEX:8}});var a0e=E((fPr,i0e)=>{"use strict";var{version:eyt}=Jpe(),{EventEmitter:tyt}=require("events"),{Worker:ryt}=require("worker_threads"),{join:nyt}=require("path"),{pathToFileURL:syt}=require("url"),{wait:iyt}=Zpe(),{WRITE_INDEX:Oa,READ_INDEX:Mu}=t0e(),ayt=require("buffer"),oyt=require("assert"),Se=Symbol("kImpl"),cyt=ayt.constants.MAX_STRING_LENGTH,a1=class{constructor(e){this._value=e}deref(){return this._value}},SR=class{register(){}unregister(){}},uyt=process.env.NODE_V8_COVERAGE?SR:global.FinalizationRegistry||SR,lyt=process.env.NODE_V8_COVERAGE?a1:global.WeakRef||a1,r0e=new uyt(t=>{t.exited||t.terminate()});function dyt(t,e){let{filename:r,workerData:n}=e,i=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||nyt(__dirname,"lib","worker.js"),a=new ryt(i,{...e.workerOpts,trackUnmanagedFds:!1,workerData:{filename:r.indexOf("file://")===0?r:syt(r).href,dataBuf:t[Se].dataBuf,stateBuf:t[Se].stateBuf,workerData:{$context:{threadStreamVersion:eyt},...n}}});return a.stream=new a1(t),a.on("message",fyt),a.on("exit",s0e),r0e.register(t,a),a}function n0e(t){oyt(!t[Se].sync),t[Se].needDrain&&(t[Se].needDrain=!1,t.emit("drain"))}function _R(t){let e=Atomics.load(t[Se].state,Oa),r=t[Se].data.length-e;if(r>0){if(t[Se].buf.length===0){t[Se].flushing=!1,t[Se].ending?P5(t):t[Se].needDrain&&process.nextTick(n0e,t);return}let n=t[Se].buf.slice(0,r),s=Buffer.byteLength(n);s<=r?(t[Se].buf=t[Se].buf.slice(r),vR(t,n,_R.bind(null,t))):t.flush(()=>{if(!t.destroyed){for(Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);s>t[Se].data.length;)r=r/2,n=t[Se].buf.slice(0,r),s=Buffer.byteLength(n);t[Se].buf=t[Se].buf.slice(r),vR(t,n,_R.bind(null,t))}})}else if(r===0){if(e===0&&t[Se].buf.length===0)return;t.flush(()=>{Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0),_R(t)})}else Wu(t,new Error("overwritten"))}function fyt(t){let e=this.stream.deref();if(e===void 0){this.exited=!0,this.terminate();return}switch(t.code){case"READY":this.stream=new lyt(e),e.flush(()=>{e[Se].ready=!0,e.emit("ready")});break;case"ERROR":Wu(e,t.err);break;case"EVENT":Array.isArray(t.args)?e.emit(t.name,...t.args):e.emit(t.name,t.args);break;case"WARNING":process.emitWarning(t.err);break;default:Wu(e,new Error("this should not happen: "+t.code))}}function s0e(t){let e=this.stream.deref();e!==void 0&&(r0e.unregister(e),e.worker.exited=!0,e.worker.off("exit",s0e),Wu(e,t!==0?new Error("the worker thread exited"):null))}var R5=class extends tyt{constructor(e={}){if(super(),e.bufferSize<4)throw new Error("bufferSize must at least fit a 4-byte utf-8 char");this[Se]={},this[Se].stateBuf=new SharedArrayBuffer(128),this[Se].state=new Int32Array(this[Se].stateBuf),this[Se].dataBuf=new SharedArrayBuffer(e.bufferSize||4*1024*1024),this[Se].data=Buffer.from(this[Se].dataBuf),this[Se].sync=e.sync||!1,this[Se].ending=!1,this[Se].ended=!1,this[Se].needDrain=!1,this[Se].destroyed=!1,this[Se].flushing=!1,this[Se].ready=!1,this[Se].finished=!1,this[Se].errored=null,this[Se].closed=!1,this[Se].buf="",this.worker=dyt(this,e),this.on("message",(r,n)=>{this.worker.postMessage(r,n)})}write(e){if(this[Se].destroyed)return N5(this,new Error("the worker has exited")),!1;if(this[Se].ending)return N5(this,new Error("the worker is ending")),!1;if(this[Se].flushing&&this[Se].buf.length+e.length>=cyt)try{w5(this),this[Se].flushing=!0}catch(r){return Wu(this,r),!1}if(this[Se].buf+=e,this[Se].sync)try{return w5(this),!0}catch(r){return Wu(this,r),!1}return this[Se].flushing||(this[Se].flushing=!0,setImmediate(_R,this)),this[Se].needDrain=this[Se].data.length-this[Se].buf.length-Atomics.load(this[Se].state,Oa)<=0,!this[Se].needDrain}end(){this[Se].destroyed||(this[Se].ending=!0,P5(this))}flush(e){if(this[Se].destroyed){typeof e=="function"&&process.nextTick(e,new Error("the worker has exited"));return}let r=Atomics.load(this[Se].state,Oa);iyt(this[Se].state,Mu,r,1/0,(n,s)=>{if(n){Wu(this,n),process.nextTick(e,n);return}if(s==="not-equal"){this.flush(e);return}process.nextTick(e)})}flushSync(){this[Se].destroyed||(w5(this),O5(this))}unref(){this.worker.unref()}ref(){this.worker.ref()}get ready(){return this[Se].ready}get destroyed(){return this[Se].destroyed}get closed(){return this[Se].closed}get writable(){return!this[Se].destroyed&&!this[Se].ending}get writableEnded(){return this[Se].ending}get writableFinished(){return this[Se].finished}get writableNeedDrain(){return this[Se].needDrain}get writableObjectMode(){return!1}get writableErrored(){return this[Se].errored}};function N5(t,e){setImmediate(()=>{t.emit("error",e)})}function Wu(t,e){t[Se].destroyed||(t[Se].destroyed=!0,e&&(t[Se].errored=e,N5(t,e)),t.worker.exited?setImmediate(()=>{t[Se].closed=!0,t.emit("close")}):t.worker.terminate().catch(()=>{}).then(()=>{t[Se].closed=!0,t.emit("close")}))}function vR(t,e,r){let n=Atomics.load(t[Se].state,Oa),s=Buffer.byteLength(e);return t[Se].data.write(e,n),Atomics.store(t[Se].state,Oa,n+s),Atomics.notify(t[Se].state,Oa),r(),!0}function P5(t){if(!(t[Se].ended||!t[Se].ending||t[Se].flushing)){t[Se].ended=!0;try{t.flushSync();let e=Atomics.load(t[Se].state,Mu);Atomics.store(t[Se].state,Oa,-1),Atomics.notify(t[Se].state,Oa);let r=0;for(;e!==-1;){if(Atomics.wait(t[Se].state,Mu,e,1e3),e=Atomics.load(t[Se].state,Mu),e===-2){Wu(t,new Error("end() failed"));return}if(++r===10){Wu(t,new Error("end() took too long (10s)"));return}}process.nextTick(()=>{t[Se].finished=!0,t.emit("finish")})}catch(e){Wu(t,e)}}}function w5(t){let e=()=>{t[Se].ending?P5(t):t[Se].needDrain&&process.nextTick(n0e,t)};for(t[Se].flushing=!1;t[Se].buf.length!==0;){let r=Atomics.load(t[Se].state,Oa),n=t[Se].data.length-r;if(n===0){O5(t),Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);continue}else if(n<0)throw new Error("overwritten");let s=t[Se].buf.slice(0,n),i=Buffer.byteLength(s);if(i<=n)t[Se].buf=t[Se].buf.slice(n),vR(t,s,e);else{for(O5(t),Atomics.store(t[Se].state,Mu,0),Atomics.store(t[Se].state,Oa,0);i>t[Se].buf.length;)n=n/2,s=t[Se].buf.slice(0,n),i=Buffer.byteLength(s);t[Se].buf=t[Se].buf.slice(n),vR(t,s,e)}}}function O5(t){if(t[Se].flushing)throw new Error("unable to flush while flushing");let e=Atomics.load(t[Se].state,Oa),r=0;for(;;){let n=Atomics.load(t[Se].state,Mu);if(n===-2)throw Error("_flushSync failed");if(n!==e)Atomics.wait(t[Se].state,Mu,n,1e3);else break;if(++r===10)throw new Error("_flushSync took too long (10s)")}}i0e.exports=R5});var L5=E((pPr,o0e)=>{"use strict";var{createRequire:pyt}=require("module"),myt=h5(),{join:D5,isAbsolute:hyt,sep:gyt}=require("path"),Ayt=v5(),k5=T5(),yyt=a0e();function xyt(t){k5.register(t,Eyt),k5.registerBeforeExit(t,_yt),t.on("close",function(){k5.unregister(t)})}function byt(t,e,r){let n=new yyt({filename:t,workerData:e,workerOpts:r});n.on("ready",s),n.on("close",function(){process.removeListener("exit",i)}),process.on("exit",i);function s(){process.removeListener("exit",i),n.unref(),r.autoEnd!==!1&&xyt(n)}function i(){n.closed||(n.flushSync(),Ayt(100),n.end())}return n}function Eyt(t){t.ref(),t.flushSync(),t.end(),t.once("close",function(){t.unref()})}function _yt(t){t.flushSync()}function Syt(t){let{pipeline:e,targets:r,levels:n,dedupe:s,options:i={},worker:a={},caller:o=myt()}=t,c=typeof o=="string"?[o]:o,u="__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{},l=t.target;if(l&&r)throw new Error("only one of target or targets can be specified");return r?(l=u["pino-worker"]||D5(__dirname,"worker.js"),i.targets=r.map(f=>({...f,target:d(f.target)}))):e&&(l=u["pino-pipeline-worker"]||D5(__dirname,"worker-pipeline.js"),i.targets=e.map(f=>({...f,target:d(f.target)}))),n&&(i.levels=n),s&&(i.dedupe=s),i.pinoWillSendConfig=!0,byt(d(l),i,a);function d(f){if(f=u[f]||f,hyt(f)||f.indexOf("file://")===0)return f;if(f==="pino/file")return D5(__dirname,"..","file.js");let p;for(let m of c)try{let h=m==="node:repl"?process.cwd()+gyt:m;p=pyt(h).resolve(f);break}catch{continue}if(!p)throw new Error(`unable to determine transport target for "${f}"`);return p}}o0e.exports=Syt});var TR=E((mPr,y0e)=>{"use strict";var c0e=Mpe(),{mapHttpRequest:vyt,mapHttpResponse:Cyt}=m5(),M5=Qpe(),u0e=T5(),{lsCacheSym:Iyt,chindingsSym:f0e,writeSym:l0e,serializersSym:p0e,formatOptsSym:d0e,endSym:Tyt,stringifiersSym:m0e,stringifySym:h0e,stringifySafeSym:W5,wildcardFirstSym:g0e,nestedKeySym:wyt,formattersSym:A0e,messageKeySym:Ryt,errorKeySym:Nyt,nestedKeyStrSym:Oyt,msgPrefixSym:CR}=$A(),{isMainThread:Pyt}=require("worker_threads"),Dyt=L5();function UA(){}function kyt(t,e){if(!e)return r;return function(...s){e.call(this,s,r,t)};function r(n,...s){if(typeof n=="object"){let i=n;n!==null&&(n.method&&n.headers&&n.socket?n=vyt(n):typeof n.setHeader=="function"&&(n=Cyt(n)));let a;i===null&&s.length===0?a=[null]:(i=s.shift(),a=s),typeof this[CR]=="string"&&i!==void 0&&i!==null&&(i=this[CR]+i),this[l0e](n,c0e(i,a,this[d0e]),t)}else{let i=n===void 0?s.shift():n;typeof this[CR]=="string"&&i!==void 0&&i!==null&&(i=this[CR]+i),this[l0e](null,c0e(i,s,this[d0e]),t)}}}function B5(t){let e="",r=0,n=!1,s=255,i=t.length;if(i>100)return JSON.stringify(t);for(var a=0;a<i&&s>=32;a++)s=t.charCodeAt(a),(s===34||s===92)&&(e+=t.slice(r,a)+"\\",r=a,n=!0);return n?e+=t.slice(r):e=t,s<32?JSON.stringify(t):'"'+e+'"'}function Lyt(t,e,r,n){let s=this[h0e],i=this[W5],a=this[m0e],o=this[Tyt],c=this[f0e],u=this[p0e],l=this[A0e],d=this[Ryt],f=this[Nyt],p=this[Iyt][r]+n;p=p+c;let m;l.log&&(t=l.log(t));let h=a[g0e],A="";for(let b in t)if(m=t[b],Object.prototype.hasOwnProperty.call(t,b)&&m!==void 0){u[b]?m=u[b](m):b===f&&u.err&&(m=u.err(m));let y=a[b]||h;switch(typeof m){case"undefined":case"function":continue;case"number":Number.isFinite(m)===!1&&(m=null);case"boolean":y&&(m=y(m));break;case"string":m=(y||B5)(m);break;default:m=(y||s)(m,i)}if(m===void 0)continue;let x=B5(b);A+=","+x+":"+m}let g="";if(e!==void 0){m=u[d]?u[d](e):e;let b=a[d]||h;switch(typeof m){case"function":break;case"number":Number.isFinite(m)===!1&&(m=null);case"boolean":b&&(m=b(m)),g=',"'+d+'":'+m;break;case"string":m=(b||B5)(m),g=',"'+d+'":'+m;break;default:m=(b||s)(m,i),g=',"'+d+'":'+m}}return this[wyt]&&A?p+this[Oyt]+A.slice(1)+"}"+g+o:p+A+g+o}function Byt(t,e){let r,n=t[f0e],s=t[h0e],i=t[W5],a=t[m0e],o=a[g0e],c=t[p0e],u=t[A0e].bindings;e=u(e);for(let l in e)if(r=e[l],(l!=="level"&&l!=="serializers"&&l!=="formatters"&&l!=="customLevels"&&e.hasOwnProperty(l)&&r!==void 0)===!0){if(r=c[l]?c[l](r):r,r=(a[l]||o||s)(r,i),r===void 0)continue;n+=',"'+l+'":'+r}return n}function Myt(t){return t.write!==t.constructor.prototype.write}var Wyt=process.env.NODE_V8_COVERAGE||process.env.V8_COVERAGE;function IR(t){let e=new M5(t);return e.on("error",r),!Wyt&&!t.sync&&Pyt&&(u0e.register(e,$yt),e.on("close",function(){u0e.unregister(e)})),e;function r(n){if(n.code==="EPIPE"){e.write=UA,e.end=UA,e.flushSync=UA,e.destroy=UA;return}e.removeListener("error",r),e.emit("error",n)}}function $yt(t,e){t.destroyed||(e==="beforeExit"?(t.flush(),t.on("drain",function(){t.end()})):t.flushSync())}function Fyt(t){return function(r,n,s={},i){if(typeof s=="string")i=IR({dest:s}),s={};else if(typeof i=="string"){if(s&&s.transport)throw Error("only one of option.transport or stream can be specified");i=IR({dest:i})}else if(s instanceof M5||s.writable||s._writableState)i=s,s={};else if(s.transport){if(s.transport instanceof M5||s.transport.writable||s.transport._writableState)throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");if(s.transport.targets&&s.transport.targets.length&&s.formatters&&typeof s.formatters.level=="function")throw Error("option.transport.targets do not allow custom level formatters");let c;s.customLevels&&(c=s.useOnlyCustomLevels?s.customLevels:Object.assign({},s.levels,s.customLevels)),i=Dyt({caller:n,...s.transport,levels:c})}if(s=Object.assign({},t,s),s.serializers=Object.assign({},t.serializers,s.serializers),s.formatters=Object.assign({},t.formatters,s.formatters),s.prettyPrint)throw new Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");let{enabled:a,onChild:o}=s;return a===!1&&(s.level="silent"),o||(s.onChild=UA),i||(Myt(process.stdout)?i=process.stdout:i=IR({fd:process.stdout.fd||1})),{opts:s,stream:i}}}function Uyt(t,e){try{return JSON.stringify(t)}catch{try{return(e||this[W5])(t)}catch{return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function qyt(t,e,r){return{level:t,bindings:e,log:r}}function jyt(t){let e=Number(t);return typeof t=="string"&&Number.isFinite(e)?e:t===void 0?1:t}y0e.exports={noop:UA,buildSafeSonicBoom:IR,asChindings:Byt,asJson:Lyt,genLog:kyt,createArgsNormalizer:Fyt,stringify:Uyt,buildFormatters:qyt,normalizeDestFileDescriptor:jyt}});var wR=E((hPr,x0e)=>{var Hyt={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},Qyt={ASC:"ASC",DESC:"DESC"};x0e.exports={DEFAULT_LEVELS:Hyt,SORTING_ORDER:Qyt}});var U5=E((gPr,S0e)=>{"use strict";var{lsCacheSym:Gyt,levelValSym:$5,useOnlyCustomLevelsSym:Vyt,streamSym:zyt,formattersSym:Kyt,hooksSym:Yyt,levelCompSym:b0e}=$A(),{noop:Jyt,genLog:xm}=TR(),{DEFAULT_LEVELS:$u,SORTING_ORDER:E0e}=wR(),_0e={fatal:t=>{let e=xm($u.fatal,t);return function(...r){let n=this[zyt];if(e.call(this,...r),typeof n.flushSync=="function")try{n.flushSync()}catch{}}},error:t=>xm($u.error,t),warn:t=>xm($u.warn,t),info:t=>xm($u.info,t),debug:t=>xm($u.debug,t),trace:t=>xm($u.trace,t)},F5=Object.keys($u).reduce((t,e)=>(t[$u[e]]=e,t),{}),Xyt=Object.keys(F5).reduce((t,e)=>(t[e]='{"level":'+Number(e),t),{});function Zyt(t){let e=t[Kyt].level,{labels:r}=t.levels,n={};for(let s in r){let i=e(r[s],Number(s));n[s]=JSON.stringify(i).slice(0,-1)}return t[Gyt]=n,t}function ext(t,e){if(e)return!1;switch(t){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function txt(t){let{labels:e,values:r}=this.levels;if(typeof t=="number"){if(e[t]===void 0)throw Error("unknown level value"+t);t=e[t]}if(r[t]===void 0)throw Error("unknown level "+t);let n=this[$5],s=this[$5]=r[t],i=this[Vyt],a=this[b0e],o=this[Yyt].logMethod;for(let c in r){if(a(r[c],s)===!1){this[c]=Jyt;continue}this[c]=ext(c,i)?_0e[c](o):xm(r[c],o)}this.emit("level-change",t,s,e[n],n,this)}function rxt(t){let{levels:e,levelVal:r}=this;return e&&e.labels?e.labels[r]:""}function nxt(t){let{values:e}=this.levels,r=e[t];return r!==void 0&&this[b0e](r,this[$5])}function sxt(t,e,r){return t===E0e.DESC?e<=r:e>=r}function ixt(t){return typeof t=="string"?sxt.bind(null,t):t}function axt(t=null,e=!1){let r=t?Object.keys(t).reduce((i,a)=>(i[t[a]]=a,i),{}):null,n=Object.assign(Object.create(Object.prototype,{Infinity:{value:"silent"}}),e?null:F5,r),s=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),e?null:$u,t);return{labels:n,values:s}}function oxt(t,e,r){if(typeof t=="number"){if(![].concat(Object.keys(e||{}).map(i=>e[i]),r?[]:Object.keys(F5).map(i=>+i),1/0).includes(t))throw Error(`default level:${t} must be included in custom levels`);return}let n=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),r?null:$u,e);if(!(t in n))throw Error(`default level:${t} must be included in custom levels`)}function cxt(t,e){let{labels:r,values:n}=t;for(let s in e){if(s in n)throw Error("levels cannot be overridden");if(e[s]in r)throw Error("pre-existing level values cannot be used for new levels")}}function uxt(t){if(typeof t!="function"&&!(typeof t=="string"&&Object.values(E0e).includes(t)))throw new Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}S0e.exports={initialLsCache:Xyt,genLsCache:Zyt,levelMethods:_0e,getLevel:rxt,setLevel:txt,isLevelEnabled:nxt,mappings:axt,assertNoLevelCollisions:cxt,assertDefaultLevelFound:oxt,genLevelComparison:ixt,assertLevelComparison:uxt}});var q5=E((APr,v0e)=>{"use strict";v0e.exports={version:"8.21.0"}});var L0e=E((xPr,k0e)=>{"use strict";var{EventEmitter:lxt}=require("events"),{lsCacheSym:dxt,levelValSym:fxt,setLevelSym:H5,getLevelSym:C0e,chindingsSym:Q5,parsedChindingsSym:pxt,mixinSym:mxt,asJsonSym:N0e,writeSym:hxt,mixinMergeStrategySym:gxt,timeSym:Axt,timeSliceIndexSym:yxt,streamSym:O0e,serializersSym:bm,formattersSym:j5,errorKeySym:xxt,messageKeySym:bxt,useOnlyCustomLevelsSym:Ext,needsMetadataGsym:_xt,redactFmtSym:Sxt,stringifySym:vxt,formatOptsSym:Cxt,stringifiersSym:Ixt,msgPrefixSym:I0e}=$A(),{getLevel:Txt,setLevel:wxt,isLevelEnabled:Rxt,mappings:Nxt,initialLsCache:Oxt,genLsCache:Pxt,assertNoLevelCollisions:Dxt}=U5(),{asChindings:P0e,asJson:kxt,buildFormatters:T0e,stringify:w0e}=TR(),{version:Lxt}=q5(),Bxt=_5(),Mxt=class{},D0e={constructor:Mxt,child:Wxt,bindings:$xt,setBindings:Fxt,flush:Hxt,isLevelEnabled:Rxt,version:Lxt,get level(){return this[C0e]()},set level(t){this[H5](t)},get levelVal(){return this[fxt]},set levelVal(t){throw Error("levelVal is read-only")},[dxt]:Oxt,[hxt]:qxt,[N0e]:kxt,[C0e]:Txt,[H5]:wxt};Object.setPrototypeOf(D0e,lxt.prototype);k0e.exports=function(){return Object.create(D0e)};var R0e=t=>t;function Wxt(t,e){if(!t)throw Error("missing bindings for child Pino");e=e||{};let r=this[bm],n=this[j5],s=Object.create(this);if(e.hasOwnProperty("serializers")===!0){s[bm]=Object.create(null);for(let l in r)s[bm][l]=r[l];let c=Object.getOwnPropertySymbols(r);for(var i=0;i<c.length;i++){let l=c[i];s[bm][l]=r[l]}for(let l in e.serializers)s[bm][l]=e.serializers[l];let u=Object.getOwnPropertySymbols(e.serializers);for(var a=0;a<u.length;a++){let l=u[a];s[bm][l]=e.serializers[l]}}else s[bm]=r;if(e.hasOwnProperty("formatters")){let{level:c,bindings:u,log:l}=e.formatters;s[j5]=T0e(c||n.level,u||R0e,l||n.log)}else s[j5]=T0e(n.level,R0e,n.log);if(e.hasOwnProperty("customLevels")===!0&&(Dxt(this.levels,e.customLevels),s.levels=Nxt(e.customLevels,s[Ext]),Pxt(s)),typeof e.redact=="object"&&e.redact!==null||Array.isArray(e.redact)){s.redact=e.redact;let c=Bxt(s.redact,w0e),u={stringify:c[Sxt]};s[vxt]=w0e,s[Ixt]=c,s[Cxt]=u}typeof e.msgPrefix=="string"&&(s[I0e]=(this[I0e]||"")+e.msgPrefix),s[Q5]=P0e(s,t);let o=e.level||this.level;return s[H5](o),this.onChild(s),s}function $xt(){let e=`{${this[Q5].substr(1)}}`,r=JSON.parse(e);return delete r.pid,delete r.hostname,r}function Fxt(t){let e=P0e(this,t);this[Q5]=e,delete this[pxt]}function Uxt(t,e){return Object.assign(e,t)}function qxt(t,e,r){let n=this[Axt](),s=this[mxt],i=this[xxt],a=this[bxt],o=this[gxt]||Uxt,c;t==null?c={}:t instanceof Error?(c={[i]:t},e===void 0&&(e=t.message)):(c=t,e===void 0&&t[a]===void 0&&t[i]&&(e=t[i].message)),s&&(c=o(c,s(c,r,this)));let u=this[N0e](c,e,r,n),l=this[O0e];l[_xt]===!0&&(l.lastLevel=r,l.lastObj=c,l.lastMsg=e,l.lastTime=n.slice(this[yxt]),l.lastLogger=this),l.write(u)}function jxt(){}function Hxt(t){if(t!=null&&typeof t!="function")throw Error("callback must be a function");let e=this[O0e];typeof e.flush=="function"?e.flush(t||jxt):t&&t()}});var $0e=E((K5,W0e)=>{"use strict";var{hasOwnProperty:o1}=Object.prototype,_m=z5();_m.configure=z5;_m.stringify=_m;_m.default=_m;K5.stringify=_m;K5.configure=z5;W0e.exports=_m;var Qxt=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function pp(t){return t.length<5e3&&!Qxt.test(t)?`"${t}"`:JSON.stringify(t)}function G5(t,e){if(t.length>200||e)return t.sort(e);for(let r=1;r<t.length;r++){let n=t[r],s=r;for(;s!==0&&t[s-1]>n;)t[s]=t[s-1],s--;t[s]=n}return t}var Gxt=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function V5(t){return Gxt.call(t)!==void 0&&t.length!==0}function B0e(t,e,r){t.length<r&&(r=t.length);let n=e===","?"":" ",s=`"0":${n}${t[0]}`;for(let i=1;i<r;i++)s+=`${e}"${i}":${n}${t[i]}`;return s}function Vxt(t){if(o1.call(t,"circularValue")){let e=t.circularValue;if(typeof e=="string")return`"${e}"`;if(e==null)return e;if(e===Error||e===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function zxt(t){let e;if(o1.call(t,"deterministic")&&(e=t.deterministic,typeof e!="boolean"&&typeof e!="function"))throw new TypeError('The "deterministic" argument must be of type boolean or comparator function');return e===void 0?!0:e}function Kxt(t,e){let r;if(o1.call(t,e)&&(r=t[e],typeof r!="boolean"))throw new TypeError(`The "${e}" argument must be of type boolean`);return r===void 0?!0:r}function M0e(t,e){let r;if(o1.call(t,e)){if(r=t[e],typeof r!="number")throw new TypeError(`The "${e}" argument must be of type number`);if(!Number.isInteger(r))throw new TypeError(`The "${e}" argument must be an integer`);if(r<1)throw new RangeError(`The "${e}" argument must be >= 1`)}return r===void 0?1/0:r}function Em(t){return t===1?"1 item":`${t} items`}function Yxt(t){let e=new Set;for(let r of t)(typeof r=="string"||typeof r=="number")&&e.add(String(r));return e}function Jxt(t){if(o1.call(t,"strict")){let e=t.strict;if(typeof e!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(e)return r=>{let n=`Object can not safely be stringified. Received type ${typeof r}`;throw typeof r!="function"&&(n+=` (${r.toString()})`),new Error(n)}}}function z5(t){t={...t};let e=Jxt(t);e&&(t.bigint===void 0&&(t.bigint=!1),"circularValue"in t||(t.circularValue=Error));let r=Vxt(t),n=Kxt(t,"bigint"),s=zxt(t),i=typeof s=="function"?s:void 0,a=M0e(t,"maximumDepth"),o=M0e(t,"maximumBreadth");function c(p,m,h,A,g,b){let y=m[p];switch(typeof y=="object"&&y!==null&&typeof y.toJSON=="function"&&(y=y.toJSON(p)),y=A.call(m,p,y),typeof y){case"string":return pp(y);case"object":{if(y===null)return"null";if(h.indexOf(y)!==-1)return r;let x="",v=",",C=b;if(Array.isArray(y)){if(y.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(y),g!==""&&(b+=g,x+=`
|
|
${b}`,v=`,
|
|
${b}`);let M=Math.min(y.length,o),k=0;for(;k<M-1;k++){let Z=c(String(k),y,h,A,g,b);x+=Z!==void 0?Z:"null",x+=v}let B=c(String(k),y,h,A,g,b);if(x+=B!==void 0?B:"null",y.length-1>o){let Z=y.length-o-1;x+=`${v}"... ${Em(Z)} not stringified"`}return g!==""&&(x+=`
|
|
${C}`),h.pop(),`[${x}]`}let R=Object.keys(y),w=R.length;if(w===0)return"{}";if(a<h.length+1)return'"[Object]"';let N="",P="";g!==""&&(b+=g,v=`,
|
|
${b}`,N=" ");let L=Math.min(w,o);s&&!V5(y)&&(R=G5(R,i)),h.push(y);for(let M=0;M<L;M++){let k=R[M],B=c(k,y,h,A,g,b);B!==void 0&&(x+=`${P}${pp(k)}:${N}${B}`,P=v)}if(w>o){let M=w-o;x+=`${P}"...":${N}"${Em(M)} not stringified"`,P=v}return g!==""&&P.length>1&&(x=`
|
|
${b}${x}
|
|
${C}`),h.pop(),`{${x}}`}case"number":return isFinite(y)?String(y):e?e(y):"null";case"boolean":return y===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(y);default:return e?e(y):void 0}}function u(p,m,h,A,g,b){switch(typeof m=="object"&&m!==null&&typeof m.toJSON=="function"&&(m=m.toJSON(p)),typeof m){case"string":return pp(m);case"object":{if(m===null)return"null";if(h.indexOf(m)!==-1)return r;let y=b,x="",v=",";if(Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m),g!==""&&(b+=g,x+=`
|
|
${b}`,v=`,
|
|
${b}`);let w=Math.min(m.length,o),N=0;for(;N<w-1;N++){let L=u(String(N),m[N],h,A,g,b);x+=L!==void 0?L:"null",x+=v}let P=u(String(N),m[N],h,A,g,b);if(x+=P!==void 0?P:"null",m.length-1>o){let L=m.length-o-1;x+=`${v}"... ${Em(L)} not stringified"`}return g!==""&&(x+=`
|
|
${y}`),h.pop(),`[${x}]`}h.push(m);let C="";g!==""&&(b+=g,v=`,
|
|
${b}`,C=" ");let R="";for(let w of A){let N=u(w,m[w],h,A,g,b);N!==void 0&&(x+=`${R}${pp(w)}:${C}${N}`,R=v)}return g!==""&&R.length>1&&(x=`
|
|
${b}${x}
|
|
${y}`),h.pop(),`{${x}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function l(p,m,h,A,g){switch(typeof m){case"string":return pp(m);case"object":{if(m===null)return"null";if(typeof m.toJSON=="function"){if(m=m.toJSON(p),typeof m!="object")return l(p,m,h,A,g);if(m===null)return"null"}if(h.indexOf(m)!==-1)return r;let b=g;if(Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m),g+=A;let N=`
|
|
${g}`,P=`,
|
|
${g}`,L=Math.min(m.length,o),M=0;for(;M<L-1;M++){let B=l(String(M),m[M],h,A,g);N+=B!==void 0?B:"null",N+=P}let k=l(String(M),m[M],h,A,g);if(N+=k!==void 0?k:"null",m.length-1>o){let B=m.length-o-1;N+=`${P}"... ${Em(B)} not stringified"`}return N+=`
|
|
${b}`,h.pop(),`[${N}]`}let y=Object.keys(m),x=y.length;if(x===0)return"{}";if(a<h.length+1)return'"[Object]"';g+=A;let v=`,
|
|
${g}`,C="",R="",w=Math.min(x,o);V5(m)&&(C+=B0e(m,v,o),y=y.slice(m.length),w-=m.length,R=v),s&&(y=G5(y,i)),h.push(m);for(let N=0;N<w;N++){let P=y[N],L=l(P,m[P],h,A,g);L!==void 0&&(C+=`${R}${pp(P)}: ${L}`,R=v)}if(x>o){let N=x-o;C+=`${R}"...": "${Em(N)} not stringified"`,R=v}return R!==""&&(C=`
|
|
${g}${C}
|
|
${b}`),h.pop(),`{${C}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function d(p,m,h){switch(typeof m){case"string":return pp(m);case"object":{if(m===null)return"null";if(typeof m.toJSON=="function"){if(m=m.toJSON(p),typeof m!="object")return d(p,m,h);if(m===null)return"null"}if(h.indexOf(m)!==-1)return r;let A="",g=m.length!==void 0;if(g&&Array.isArray(m)){if(m.length===0)return"[]";if(a<h.length+1)return'"[Array]"';h.push(m);let C=Math.min(m.length,o),R=0;for(;R<C-1;R++){let N=d(String(R),m[R],h);A+=N!==void 0?N:"null",A+=","}let w=d(String(R),m[R],h);if(A+=w!==void 0?w:"null",m.length-1>o){let N=m.length-o-1;A+=`,"... ${Em(N)} not stringified"`}return h.pop(),`[${A}]`}let b=Object.keys(m),y=b.length;if(y===0)return"{}";if(a<h.length+1)return'"[Object]"';let x="",v=Math.min(y,o);g&&V5(m)&&(A+=B0e(m,",",o),b=b.slice(m.length),v-=m.length,x=","),s&&(b=G5(b,i)),h.push(m);for(let C=0;C<v;C++){let R=b[C],w=d(R,m[R],h);w!==void 0&&(A+=`${x}${pp(R)}:${w}`,x=",")}if(y>o){let C=y-o;A+=`${x}"...":"${Em(C)} not stringified"`}return h.pop(),`{${A}}`}case"number":return isFinite(m)?String(m):e?e(m):"null";case"boolean":return m===!0?"true":"false";case"undefined":return;case"bigint":if(n)return String(m);default:return e?e(m):void 0}}function f(p,m,h){if(arguments.length>1){let A="";if(typeof h=="number"?A=" ".repeat(Math.min(h,10)):typeof h=="string"&&(A=h.slice(0,10)),m!=null){if(typeof m=="function")return c("",{"":p},[],m,A,"");if(Array.isArray(m))return u("",p,[],Yxt(m),A,"")}if(A.length!==0)return l("",p,[],A,"")}return d("",p,[])}return f}});var q0e=E((bPr,U0e)=>{"use strict";var Y5=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:F0e}=wR(),Xxt=F0e.info;function Zxt(t,e){let r=0;t=t||[],e=e||{dedupe:!1};let n=Object.create(F0e);n.silent=1/0,e.levels&&typeof e.levels=="object"&&Object.keys(e.levels).forEach(d=>{n[d]=e.levels[d]});let s={write:i,add:c,emit:a,flushSync:o,end:u,minLevel:0,streams:[],clone:l,[Y5]:!0,streamLevels:n};return Array.isArray(t)?t.forEach(c,s):c.call(s,t),t=null,s;function i(d){let f,p=this.lastLevel,{streams:m}=this,h=0,A;for(let g=tbt(m.length,e.dedupe);nbt(g,m.length,e.dedupe);g=rbt(g,e.dedupe))if(f=m[g],f.level<=p){if(h!==0&&h!==f.level)break;if(A=f.stream,A[Y5]){let{lastTime:b,lastMsg:y,lastObj:x,lastLogger:v}=this;A.lastLevel=p,A.lastTime=b,A.lastMsg=y,A.lastObj=x,A.lastLogger=v}A.write(d),e.dedupe&&(h=f.level)}else if(!e.dedupe)break}function a(...d){for(let{stream:f}of this.streams)typeof f.emit=="function"&&f.emit(...d)}function o(){for(let{stream:d}of this.streams)typeof d.flushSync=="function"&&d.flushSync()}function c(d){if(!d)return s;let f=typeof d.write=="function"||d.stream,p=d.write?d:d.stream;if(!f)throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");let{streams:m,streamLevels:h}=this,A;typeof d.levelVal=="number"?A=d.levelVal:typeof d.level=="string"?A=h[d.level]:typeof d.level=="number"?A=d.level:A=Xxt;let g={stream:p,level:A,levelVal:void 0,id:r++};return m.unshift(g),m.sort(ebt),this.minLevel=m[0].level,s}function u(){for(let{stream:d}of this.streams)typeof d.flushSync=="function"&&d.flushSync(),d.end()}function l(d){let f=new Array(this.streams.length);for(let p=0;p<f.length;p++)f[p]={level:d,stream:this.streams[p].stream};return{write:i,add:c,minLevel:d,streams:f,clone:l,emit:a,flushSync:o,[Y5]:!0}}}function ebt(t,e){return t.level-e.level}function tbt(t,e){return e?t-1:0}function rbt(t,e){return e?t-1:t+1}function nbt(t,e,r){return r?t>=0:t<e}U0e.exports=Zxt});var tme=E((EPr,jo)=>{"use strict";var sbt=require("os"),Y0e=m5(),ibt=h5(),abt=_5(),J0e=Lpe(),obt=L0e(),X0e=$A(),{configure:cbt}=$0e(),{assertDefaultLevelFound:ubt,mappings:Z0e,genLsCache:lbt,genLevelComparison:dbt,assertLevelComparison:fbt}=U5(),{DEFAULT_LEVELS:pbt,SORTING_ORDER:mbt}=wR(),{createArgsNormalizer:hbt,asChindings:gbt,buildSafeSonicBoom:j0e,buildFormatters:Abt,stringify:J5,normalizeDestFileDescriptor:H0e,noop:ybt}=TR(),{version:xbt}=q5(),{chindingsSym:Q0e,redactFmtSym:bbt,serializersSym:G0e,timeSym:Ebt,timeSliceIndexSym:_bt,streamSym:Sbt,stringifySym:V0e,stringifySafeSym:X5,stringifiersSym:z0e,setLevelSym:vbt,endSym:Cbt,formatOptsSym:Ibt,messageKeySym:Tbt,errorKeySym:wbt,nestedKeySym:Rbt,mixinSym:Nbt,levelCompSym:Obt,useOnlyCustomLevelsSym:Pbt,formattersSym:K0e,hooksSym:Dbt,nestedKeyStrSym:kbt,mixinMergeStrategySym:Lbt,msgPrefixSym:Bbt}=X0e,{epochTime:eme,nullTime:Mbt}=J0e,{pid:Wbt}=process,$bt=sbt.hostname(),Fbt=Y0e.err,Ubt={level:"info",levelComparison:mbt.ASC,levels:pbt,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:Wbt,hostname:$bt},serializers:Object.assign(Object.create(null),{err:Fbt}),formatters:Object.assign(Object.create(null),{bindings(t){return t},level(t,e){return{level:e}}}),hooks:{logMethod:void 0},timestamp:eme,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},qbt=hbt(Ubt),jbt=Object.assign(Object.create(null),Y0e);function Z5(...t){let e={},{opts:r,stream:n}=qbt(e,ibt(),...t),{redact:s,crlf:i,serializers:a,timestamp:o,messageKey:c,errorKey:u,nestedKey:l,base:d,name:f,level:p,customLevels:m,levelComparison:h,mixin:A,mixinMergeStrategy:g,useOnlyCustomLevels:b,formatters:y,hooks:x,depthLimit:v,edgeLimit:C,onChild:R,msgPrefix:w}=r,N=cbt({maximumDepth:v,maximumBreadth:C}),P=Abt(y.level,y.bindings,y.log),L=J5.bind({[X5]:N}),M=s?abt(s,L):{},k=s?{stringify:M[bbt]}:{stringify:L},B="}"+(i?`\r
|
|
`:`
|
|
`),Z=gbt.bind(null,{[Q0e]:"",[G0e]:a,[z0e]:M,[V0e]:J5,[X5]:N,[K0e]:P}),W="";d!==null&&(f===void 0?W=Z(d):W=Z(Object.assign({},d,{name:f})));let F=o instanceof Function?o:o?eme:Mbt,V=F().indexOf(":")+1;if(b&&!m)throw Error("customLevels is required if useOnlyCustomLevels is set true");if(A&&typeof A!="function")throw Error(`Unknown mixin type "${typeof A}" - expected "function"`);if(w&&typeof w!="string")throw Error(`Unknown msgPrefix type "${typeof w}" - expected "string"`);ubt(p,m,b);let j=Z0e(m,b);typeof n.emit=="function"&&n.emit("message",{code:"PINO_CONFIG",config:{levels:j,messageKey:c,errorKey:u}}),fbt(h);let J=dbt(h);return Object.assign(e,{levels:j,[Obt]:J,[Pbt]:b,[Sbt]:n,[Ebt]:F,[_bt]:V,[V0e]:J5,[X5]:N,[z0e]:M,[Cbt]:B,[Ibt]:k,[Tbt]:c,[wbt]:u,[Rbt]:l,[kbt]:l?`,${JSON.stringify(l)}:{`:"",[G0e]:a,[Nbt]:A,[Lbt]:g,[Q0e]:W,[K0e]:P,[Dbt]:x,silent:ybt,onChild:R,[Bbt]:w}),Object.setPrototypeOf(e,obt()),lbt(e),e[vbt](p),e}jo.exports=Z5;jo.exports.destination=(t=process.stdout.fd)=>typeof t=="object"?(t.dest=H0e(t.dest||process.stdout.fd),j0e(t)):j0e({dest:H0e(t),minLength:0});jo.exports.transport=L5();jo.exports.multistream=q0e();jo.exports.levels=Z0e();jo.exports.stdSerializers=jbt;jo.exports.stdTimeFunctions=Object.assign({},J0e);jo.exports.symbols=X0e;jo.exports.version=xbt;jo.exports.default=Z5;jo.exports.pino=Z5});var c1=E((_Pr,ame)=>{"use strict";var Hbt=Qfe(),RR=tme(),{serializersSym:rme}=RR.symbols,{FST_ERR_LOG_INVALID_DESTINATION:Qbt,FST_ERR_LOG_INVALID_LOGGER:Gbt}=Ci();function nme(t){if(t.stream&&t.file)throw new Qbt;t.file&&(t.stream=RR.destination(t.file),delete t.file);let e=t.logger,r=t.genReqId,n=null;return e?(t.logger=void 0,t.genReqId=void 0,e[rme]&&(t.serializers=Object.assign({},t.serializers,e[rme])),n=e.child({},t),t.logger=e,t.genReqId=r):n=RR(t,t.stream),n}var e8={req:function(e){return{method:e.method,url:e.url,version:e.headers&&e.headers["accept-version"],hostname:e.hostname,remoteAddress:e.ip,remotePort:e.socket?e.socket.remotePort:void 0}},err:RR.stdSerializers.err,res:function(e){return{statusCode:e.statusCode}}};function Vbt(){let t=process.hrtime();return t[0]*1e3+t[1]/1e6}function zbt(t){if(!t.logger){let n=Hbt;return n.child=()=>n,{logger:n,hasLogger:!1}}if(sme(t.logger))return{logger:nme({logger:t.logger,serializers:Object.assign({},e8,t.logger.serializers)}),hasLogger:!0};let e={};return Object.prototype.toString.call(t.logger)==="[object Object]"&&Reflect.ownKeys(t.logger).forEach(n=>{Object.defineProperty(e,n,{value:t.logger[n],writable:!0,enumerable:!0,configurable:!0})}),e.level=e.level||"info",e.serializers=Object.assign({},e8,e.serializers),t.logger=e,{logger:nme(t.logger),hasLogger:!0}}function sme(t,e){let r=["info","error","debug","fatal","warn","trace","child"],n=t?r.filter(s=>!t[s]||typeof t[s]!="function"):r;if(n.length){if(n.length===r.length&&!e)return!1;throw Gbt(n.join(","))}else return!0}function Kbt(t,e,r,n,s){let i={[t.requestIdLogLabel]:n},a=t.childLoggerFactory.call(t.server,e,i,s||{},r);return t.childLoggerFactory!==ime&&sme(a,!0),a}function ime(t,e,r){return t.child(e,r)}ame.exports={createLogger:zbt,createChildLogger:Kbt,defaultChildLoggerFactory:ime,serializers:e8,now:Vbt}});var NR=E((SPr,ome)=>{"use strict";ome.exports=Ybt;function qA(t){return t instanceof Buffer?Buffer.from(t):new t.constructor(t.buffer.slice(),t.byteOffset,t.length)}function Ybt(t){if(t=t||{},t.circles)return Jbt(t);let e=new Map;if(e.set(Date,a=>new Date(a)),e.set(Map,(a,o)=>new Map(n(Array.from(a),o))),e.set(Set,(a,o)=>new Set(n(Array.from(a),o))),t.constructorHandlers)for(let a of t.constructorHandlers)e.set(a[0],a[1]);let r=null;return t.proto?i:s;function n(a,o){let c=Object.keys(a),u=new Array(c.length);for(let l=0;l<c.length;l++){let d=c[l],f=a[d];typeof f!="object"||f===null?u[d]=f:f.constructor!==Object&&(r=e.get(f.constructor))?u[d]=r(f,o):ArrayBuffer.isView(f)?u[d]=qA(f):u[d]=o(f)}return u}function s(a){if(typeof a!="object"||a===null)return a;if(Array.isArray(a))return n(a,s);if(a.constructor!==Object&&(r=e.get(a.constructor)))return r(a,s);let o={};for(let c in a){if(Object.hasOwnProperty.call(a,c)===!1)continue;let u=a[c];typeof u!="object"||u===null?o[c]=u:u.constructor!==Object&&(r=e.get(u.constructor))?o[c]=r(u,s):ArrayBuffer.isView(u)?o[c]=qA(u):o[c]=s(u)}return o}function i(a){if(typeof a!="object"||a===null)return a;if(Array.isArray(a))return n(a,i);if(a.constructor!==Object&&(r=e.get(a.constructor)))return r(a,i);let o={};for(let c in a){let u=a[c];typeof u!="object"||u===null?o[c]=u:u.constructor!==Object&&(r=e.get(u.constructor))?o[c]=r(u,i):ArrayBuffer.isView(u)?o[c]=qA(u):o[c]=i(u)}return o}}function Jbt(t){let e=[],r=[],n=new Map;if(n.set(Date,c=>new Date(c)),n.set(Map,(c,u)=>new Map(i(Array.from(c),u))),n.set(Set,(c,u)=>new Set(i(Array.from(c),u))),t.constructorHandlers)for(let c of t.constructorHandlers)n.set(c[0],c[1]);let s=null;return t.proto?o:a;function i(c,u){let l=Object.keys(c),d=new Array(l.length);for(let f=0;f<l.length;f++){let p=l[f],m=c[p];if(typeof m!="object"||m===null)d[p]=m;else if(m.constructor!==Object&&(s=n.get(m.constructor)))d[p]=s(m,u);else if(ArrayBuffer.isView(m))d[p]=qA(m);else{let h=e.indexOf(m);h!==-1?d[p]=r[h]:d[p]=u(m)}}return d}function a(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return i(c,a);if(c.constructor!==Object&&(s=n.get(c.constructor)))return s(c,a);let u={};e.push(c),r.push(u);for(let l in c){if(Object.hasOwnProperty.call(c,l)===!1)continue;let d=c[l];if(typeof d!="object"||d===null)u[l]=d;else if(d.constructor!==Object&&(s=n.get(d.constructor)))u[l]=s(d,a);else if(ArrayBuffer.isView(d))u[l]=qA(d);else{let f=e.indexOf(d);f!==-1?u[l]=r[f]:u[l]=a(d)}}return e.pop(),r.pop(),u}function o(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return i(c,o);if(c.constructor!==Object&&(s=n.get(c.constructor)))return s(c,o);let u={};e.push(c),r.push(u);for(let l in c){let d=c[l];if(typeof d!="object"||d===null)u[l]=d;else if(d.constructor!==Object&&(s=n.get(d.constructor)))u[l]=s(d,o);else if(ArrayBuffer.isView(d))u[l]=qA(d);else{let f=e.indexOf(d);f!==-1?u[l]=r[f]:u[l]=o(d)}}return e.pop(),r.pop(),u}}});var u1=E((vPr,dme)=>{"use strict";var Xbt=NR()({circles:!1,proto:!0}),{kSchemaVisited:cme,kSchemaResponse:Zbt}=Qs(),r8=Symbol.for("fluent-schema-object"),{FST_ERR_SCH_MISSING_ID:eEt,FST_ERR_SCH_ALREADY_PRESENT:tEt,FST_ERR_SCH_DUPLICATE:rEt,FST_ERR_SCH_CONTENT_MISSING_SCHEMA:nEt}=Ci(),lme=["params","body","querystring","query","headers"];function OR(t){this.store=t||{}}OR.prototype.add=function(t){let e=Xbt(t.isFluentSchema||t.isFluentJSONSchema||t[r8]?t.valueOf():t),r=e.$id;if(!r)throw new eEt;if(this.store[r])throw new tEt(r);this.store[r]=e};OR.prototype.getSchemas=function(){return Object.assign({},this.store)};OR.prototype.getSchema=function(t){return this.store[t]};function ume(t){return typeof t=="object"&&Object.getPrototypeOf(t)!==Object.prototype}function sEt(t,e){if(t[cme])return t;if(t.query){if(t.querystring)throw new rEt("querystring");t.querystring=t.query}iEt(t);for(let r of lme){let n=t[r];n&&!ume(n)&&(t[r]=t8(n,e.jsonShorthand))}if(t.response){let r=Object.keys(t.response);for(let n of r){if(ume(t.response[n]))continue;let s=t.response[n].content,i=!1;if(s){let a=Object.keys(s);for(let o=0;o<a.length;o++){let c=a[o];if(!s[c].schema){if(a.length===1)break;throw new nEt(c)}t.response[n].content[c].schema=t8(s[c].schema,e.jsonShorthand),o===a.length-1&&(i=!0)}}i||(t.response[n]=t8(t.response[n],e.jsonShorthand))}}return t[cme]=!0,t}function iEt(t){for(let e of lme)t[e]&&(t[e].isFluentSchema||t[e][r8])&&(t[e]=t[e].valueOf());if(t.response){let e=Object.keys(t.response);for(let r of e)(t.response[r].isFluentSchema||t.response[r][r8])&&(t.response[r]=t.response[r].valueOf())}}function t8(t,e){return!e||t.$ref||t.oneOf||t.allOf||t.anyOf||t.$merge||t.$patch?t:!t.type&&!t.properties?{type:"object",properties:t}:t}function aEt(t,e,r){let n=t[Zbt];if(!n)return!1;if(n[e]){if(n[e].constructor===Object&&r){let i=r.split(";",1)[0];return n[e][i]?n[e][i]:!1}return n[e]}let s=(e+"")[0]+"xx";if(n[s]){if(n[s].constructor===Object&&r){let i=r.split(";",1)[0];return n[s][i]?n[s][i]:!1}return n[s]}if(n.default){if(n.default.constructor===Object&&r){let i=r.split(";",1)[0];return n.default[i]?n.default[i]:!1}return n.default}return!1}dme.exports={buildSchemas(t){return new OR(t)},getSchemaSerializer:aEt,normalizeSchema:sEt}});var n8=E((CPr,pme)=>{"use strict";var oEt=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;pme.exports=class fme{constructor(e){switch(e&&e.rounding){case"floor":this.parseInteger=Math.floor;break;case"ceil":this.parseInteger=Math.ceil;break;case"round":this.parseInteger=Math.round;break;case"trunc":default:this.parseInteger=Math.trunc;break}this._options=e}asInteger(e){if(Number.isInteger(e))return""+e;if(typeof e=="bigint")return e.toString();let r=this.parseInteger(e);if(r===1/0||r===-1/0||r!==r)throw new Error(`The value "${e}" cannot be converted to an integer.`);return""+r}asNumber(e){let r=Number(e);if(r!==r)throw new Error(`The value "${e}" cannot be converted to a number.`);return r===1/0||r===-1/0?"null":""+r}asBoolean(e){return e&&"true"||"false"}asDateTime(e){if(e===null)return'""';if(e instanceof Date)return'"'+e.toISOString()+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a date-time.`)}asDate(e){if(e===null)return'""';if(e instanceof Date)return'"'+new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(0,10)+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a date.`)}asTime(e){if(e===null)return'""';if(e instanceof Date)return'"'+new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(11,19)+'"';if(typeof e=="string")return'"'+e+'"';throw new Error(`The value "${e}" cannot be converted to a time.`)}asString(e){let r=e.length;if(r<42){let s="",i=-1,a=255;for(var n=0;n<r;n++)if(a=e.charCodeAt(n),a===34||a===92)i===-1&&(i=0),s+=e.slice(i,n)+"\\",i=n;else if(a<32||a>=55296&&a<=57343)return JSON.stringify(e);return i===-1&&'"'+e+'"'||'"'+s+e.slice(i)+'"'}else return r<5e3&&oEt.test(e)===!1?'"'+e+'"':JSON.stringify(e)}asUnsafeString(e){return'"'+e+'"'}getState(){return this._options}static restoreFromState(e){return new fme(e)}}});var f1=E(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.regexpCode=kr.getEsmExportName=kr.getProperty=kr.safeStringify=kr.stringify=kr.strConcat=kr.addCodeArg=kr.str=kr._=kr.nil=kr._Code=kr.Name=kr.IDENTIFIER=kr._CodeOrName=void 0;var l1=class{};kr._CodeOrName=l1;kr.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Sm=class extends l1{constructor(e){if(super(),!kr.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};kr.Name=Sm;var Ho=class extends l1{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Sm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};kr._Code=Ho;kr.nil=new Ho("");function mme(t,...e){let r=[t[0]],n=0;for(;n<e.length;)i8(r,e[n]),r.push(t[++n]);return new Ho(r)}kr._=mme;var s8=new Ho("+");function hme(t,...e){let r=[d1(t[0])],n=0;for(;n<e.length;)r.push(s8),i8(r,e[n]),r.push(s8,d1(t[++n]));return cEt(r),new Ho(r)}kr.str=hme;function i8(t,e){e instanceof Ho?t.push(...e._items):e instanceof Sm?t.push(e):t.push(dEt(e))}kr.addCodeArg=i8;function cEt(t){let e=1;for(;e<t.length-1;){if(t[e]===s8){let r=uEt(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function uEt(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Sm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Sm))return`"${t}${e.slice(1)}`}function lEt(t,e){return e.emptyStr()?t:t.emptyStr()?e:hme`${t}${e}`}kr.strConcat=lEt;function dEt(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:d1(Array.isArray(t)?t.join(","):t)}function fEt(t){return new Ho(d1(t))}kr.stringify=fEt;function d1(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}kr.safeStringify=d1;function pEt(t){return typeof t=="string"&&kr.IDENTIFIER.test(t)?new Ho(`.${t}`):mme`[${t}]`}kr.getProperty=pEt;function mEt(t){if(typeof t=="string"&&kr.IDENTIFIER.test(t))return new Ho(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}kr.getEsmExportName=mEt;function hEt(t){return new Ho(t.toString())}kr.regexpCode=hEt});var c8=E(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ValueScope=Da.ValueScopeName=Da.Scope=Da.varKinds=Da.UsedValueState=void 0;var Pa=f1(),a8=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},PR;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(PR||(Da.UsedValueState=PR={}));Da.varKinds={const:new Pa.Name("const"),let:new Pa.Name("let"),var:new Pa.Name("var")};var DR=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Pa.Name?e:this.name(e)}name(e){return new Pa.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Da.Scope=DR;var kR=class extends Pa.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Pa._)`.${new Pa.Name(r)}[${n}]`}};Da.ValueScopeName=kR;var gEt=(0,Pa._)`\n`,o8=class extends DR{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?gEt:Pa.nil}}get(){return this._scope}name(e){return new kR(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Pa._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=Pa.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,PR.Started);let l=r(u);if(l){let d=this.opts.es5?Da.varKinds.var:Da.varKinds.const;i=(0,Pa._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Pa._)`${i}${l}${this.opts._n}`;else throw new a8(u);c.set(u,PR.Completed)})}return i}};Da.ValueScope=o8});var zt=E(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.or=Xt.and=Xt.not=Xt.CodeGen=Xt.operators=Xt.varKinds=Xt.ValueScopeName=Xt.ValueScope=Xt.Scope=Xt.Name=Xt.regexpCode=Xt.stringify=Xt.getProperty=Xt.nil=Xt.strConcat=Xt.str=Xt._=void 0;var Ar=f1(),$c=c8(),mp=f1();Object.defineProperty(Xt,"_",{enumerable:!0,get:function(){return mp._}});Object.defineProperty(Xt,"str",{enumerable:!0,get:function(){return mp.str}});Object.defineProperty(Xt,"strConcat",{enumerable:!0,get:function(){return mp.strConcat}});Object.defineProperty(Xt,"nil",{enumerable:!0,get:function(){return mp.nil}});Object.defineProperty(Xt,"getProperty",{enumerable:!0,get:function(){return mp.getProperty}});Object.defineProperty(Xt,"stringify",{enumerable:!0,get:function(){return mp.stringify}});Object.defineProperty(Xt,"regexpCode",{enumerable:!0,get:function(){return mp.regexpCode}});Object.defineProperty(Xt,"Name",{enumerable:!0,get:function(){return mp.Name}});var WR=c8();Object.defineProperty(Xt,"Scope",{enumerable:!0,get:function(){return WR.Scope}});Object.defineProperty(Xt,"ValueScope",{enumerable:!0,get:function(){return WR.ValueScope}});Object.defineProperty(Xt,"ValueScopeName",{enumerable:!0,get:function(){return WR.ValueScopeName}});Object.defineProperty(Xt,"varKinds",{enumerable:!0,get:function(){return WR.varKinds}});Xt.operators={GT:new Ar._Code(">"),GTE:new Ar._Code(">="),LT:new Ar._Code("<"),LTE:new Ar._Code("<="),EQ:new Ar._Code("==="),NEQ:new Ar._Code("!=="),NOT:new Ar._Code("!"),OR:new Ar._Code("||"),AND:new Ar._Code("&&"),ADD:new Ar._Code("+")};var ld=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},u8=class extends ld{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?$c.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=HA(this.rhs,e,r)),this}get names(){return this.rhs instanceof Ar._CodeOrName?this.rhs.names:{}}},LR=class extends ld{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof Ar.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=HA(this.rhs,e,r),this}get names(){let e=this.lhs instanceof Ar.Name?{}:{...this.lhs.names};return MR(e,this.rhs)}},l8=class extends LR{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},d8=class extends ld{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},f8=class extends ld{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},p8=class extends ld{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},m8=class extends ld{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=HA(this.code,e,r),this}get names(){return this.code instanceof Ar._CodeOrName?this.code.names:{}}},p1=class extends ld{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(AEt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Im(e,r.names),{})}},dd=class extends p1{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},h8=class extends p1{},jA=class extends dd{};jA.kind="else";var vm=class t extends dd{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new jA(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(gme(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=HA(this.condition,e,r),this}get names(){let e=super.names;return MR(e,this.condition),this.else&&Im(e,this.else.names),e}};vm.kind="if";var Cm=class extends dd{};Cm.kind="for";var g8=class extends Cm{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=HA(this.iteration,e,r),this}get names(){return Im(super.names,this.iteration.names)}},A8=class extends Cm{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?$c.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=MR(super.names,this.from);return MR(e,this.to)}},BR=class extends Cm{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=HA(this.iterable,e,r),this}get names(){return Im(super.names,this.iterable.names)}},m1=class extends dd{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};m1.kind="func";var h1=class extends p1{render(e){return"return "+super.render(e)}};h1.kind="return";var y8=class extends dd{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Im(e,this.catch.names),this.finally&&Im(e,this.finally.names),e}},g1=class extends dd{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};g1.kind="catch";var A1=class extends dd{render(e){return"finally"+super.render(e)}};A1.kind="finally";var x8=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
`:""},this._extScope=e,this._scope=new $c.Scope({parent:e}),this._nodes=[new h8]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new u8(e,i,n)),i}const(e,r,n){return this._def($c.varKinds.const,e,r,n)}let(e,r,n){return this._def($c.varKinds.let,e,r,n)}var(e,r,n){return this._def($c.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new LR(e,r,n))}add(e,r){return this._leafNode(new l8(e,Xt.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==Ar.nil&&this._leafNode(new m8(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,Ar.addCodeArg)(r,s));return r.push("}"),new Ar._Code(r)}if(e,r,n){if(this._blockNode(new vm(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new vm(e))}else(){return this._elseNode(new jA)}endIf(){return this._endBlockNode(vm,jA)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new g8(e),r)}forRange(e,r,n,s,i=this.opts.es5?$c.varKinds.var:$c.varKinds.let){let a=this._scope.toName(e);return this._for(new A8(i,a,r,n),()=>s(a))}forOf(e,r,n,s=$c.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof Ar.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Ar._)`${a}.length`,o=>{this.var(i,(0,Ar._)`${a}[${o}]`),n(i)})}return this._for(new BR("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?$c.varKinds.var:$c.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Ar._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new BR("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Cm)}label(e){return this._leafNode(new d8(e))}break(e){return this._leafNode(new f8(e))}return(e){let r=new h1;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(h1)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new y8;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new g1(i),r(i)}return n&&(this._currNode=s.finally=new A1,this.code(n)),this._endBlockNode(g1,A1)}throw(e){return this._leafNode(new p8(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=Ar.nil,n,s){return this._blockNode(new m1(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(m1)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof vm))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Xt.CodeGen=x8;function Im(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function MR(t,e){return e instanceof Ar._CodeOrName?Im(t,e.names):t}function HA(t,e,r){if(t instanceof Ar.Name)return n(t);if(!s(t))return t;return new Ar._Code(t._items.reduce((i,a)=>(a instanceof Ar.Name&&(a=n(a)),a instanceof Ar._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof Ar._Code&&i._items.some(a=>a instanceof Ar.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function AEt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function gme(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,Ar._)`!${b8(t)}`}Xt.not=gme;var yEt=Ame(Xt.operators.AND);function xEt(...t){return t.reduce(yEt)}Xt.and=xEt;var bEt=Ame(Xt.operators.OR);function EEt(...t){return t.reduce(bEt)}Xt.or=EEt;function Ame(t){return(e,r)=>e===Ar.nil?r:r===Ar.nil?e:(0,Ar._)`${b8(e)} ${t} ${b8(r)}`}function b8(t){return t instanceof Ar.Name?t:(0,Ar._)`(${t})`}});var Lr=E(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.checkStrictMode=tr.getErrorPath=tr.Type=tr.useFunc=tr.setEvaluated=tr.evaluatedPropsToName=tr.mergeEvaluated=tr.eachItem=tr.unescapeJsonPointer=tr.escapeJsonPointer=tr.escapeFragment=tr.unescapeFragment=tr.schemaRefOrVal=tr.schemaHasRulesButRef=tr.schemaHasRules=tr.checkUnknownRules=tr.alwaysValidSchema=tr.toHash=void 0;var ln=zt(),_Et=f1();function SEt(t){let e={};for(let r of t)e[r]=!0;return e}tr.toHash=SEt;function vEt(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(bme(t,e),!Eme(e,t.self.RULES.all))}tr.alwaysValidSchema=vEt;function bme(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||vme(t,`unknown keyword: "${i}"`)}tr.checkUnknownRules=bme;function Eme(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}tr.schemaHasRules=Eme;function CEt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}tr.schemaHasRulesButRef=CEt;function IEt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,ln._)`${r}`}return(0,ln._)`${t}${e}${(0,ln.getProperty)(n)}`}tr.schemaRefOrVal=IEt;function TEt(t){return _me(decodeURIComponent(t))}tr.unescapeFragment=TEt;function wEt(t){return encodeURIComponent(_8(t))}tr.escapeFragment=wEt;function _8(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}tr.escapeJsonPointer=_8;function _me(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}tr.unescapeJsonPointer=_me;function REt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}tr.eachItem=REt;function yme({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof ln.Name?(i instanceof ln.Name?t(s,i,a):e(s,i,a),a):i instanceof ln.Name?(e(s,a,i),i):r(i,a);return o===ln.Name&&!(c instanceof ln.Name)?n(s,c):c}}tr.mergeEvaluated={props:yme({mergeNames:(t,e,r)=>t.if((0,ln._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,ln._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,ln._)`${r} || {}`).code((0,ln._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,ln._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,ln._)`${r} || {}`),S8(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Sme}),items:yme({mergeNames:(t,e,r)=>t.if((0,ln._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,ln._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,ln._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,ln._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Sme(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,ln._)`{}`);return e!==void 0&&S8(t,r,e),r}tr.evaluatedPropsToName=Sme;function S8(t,e,r){Object.keys(r).forEach(n=>t.assign((0,ln._)`${e}${(0,ln.getProperty)(n)}`,!0))}tr.setEvaluated=S8;var xme={};function NEt(t,e){return t.scopeValue("func",{ref:e,code:xme[e.code]||(xme[e.code]=new _Et._Code(e.code))})}tr.useFunc=NEt;var E8;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(E8||(tr.Type=E8={}));function OEt(t,e,r){if(t instanceof ln.Name){let n=e===E8.Num;return r?n?(0,ln._)`"[" + ${t} + "]"`:(0,ln._)`"['" + ${t} + "']"`:n?(0,ln._)`"/" + ${t}`:(0,ln._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,ln.getProperty)(t).toString():"/"+_8(t)}tr.getErrorPath=OEt;function vme(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}tr.checkStrictMode=vme});var fd=E(v8=>{"use strict";Object.defineProperty(v8,"__esModule",{value:!0});var Ti=zt(),PEt={data:new Ti.Name("data"),valCxt:new Ti.Name("valCxt"),instancePath:new Ti.Name("instancePath"),parentData:new Ti.Name("parentData"),parentDataProperty:new Ti.Name("parentDataProperty"),rootData:new Ti.Name("rootData"),dynamicAnchors:new Ti.Name("dynamicAnchors"),vErrors:new Ti.Name("vErrors"),errors:new Ti.Name("errors"),this:new Ti.Name("this"),self:new Ti.Name("self"),scope:new Ti.Name("scope"),json:new Ti.Name("json"),jsonPos:new Ti.Name("jsonPos"),jsonLen:new Ti.Name("jsonLen"),jsonPart:new Ti.Name("jsonPart")};v8.default=PEt});var y1=E(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.extendErrors=wi.resetErrorsCount=wi.reportExtraError=wi.reportError=wi.keyword$DataError=wi.keywordError=void 0;var vr=zt(),$R=Lr(),ea=fd();wi.keywordError={message:({keyword:t})=>(0,vr.str)`must pass "${t}" keyword validation`};wi.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,vr.str)`"${t}" keyword must be ${e} ($data)`:(0,vr.str)`"${t}" keyword is invalid ($data)`};function DEt(t,e=wi.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=Tme(t,e,r);n??(a||o)?Cme(i,c):Ime(s,(0,vr._)`[${c}]`)}wi.reportError=DEt;function kEt(t,e=wi.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=Tme(t,e,r);Cme(s,o),i||a||Ime(n,ea.default.vErrors)}wi.reportExtraError=kEt;function LEt(t,e){t.assign(ea.default.errors,e),t.if((0,vr._)`${ea.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,vr._)`${ea.default.vErrors}.length`,e),()=>t.assign(ea.default.vErrors,null)))}wi.resetErrorsCount=LEt;function BEt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ea.default.errors,o=>{t.const(a,(0,vr._)`${ea.default.vErrors}[${o}]`),t.if((0,vr._)`${a}.instancePath === undefined`,()=>t.assign((0,vr._)`${a}.instancePath`,(0,vr.strConcat)(ea.default.instancePath,i.errorPath))),t.assign((0,vr._)`${a}.schemaPath`,(0,vr.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,vr._)`${a}.schema`,r),t.assign((0,vr._)`${a}.data`,n))})}wi.extendErrors=BEt;function Cme(t,e){let r=t.const("err",e);t.if((0,vr._)`${ea.default.vErrors} === null`,()=>t.assign(ea.default.vErrors,(0,vr._)`[${r}]`),(0,vr._)`${ea.default.vErrors}.push(${r})`),t.code((0,vr._)`${ea.default.errors}++`)}function Ime(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,vr._)`new ${t.ValidationError}(${e})`):(r.assign((0,vr._)`${n}.errors`,e),r.return(!1))}var Tm={keyword:new vr.Name("keyword"),schemaPath:new vr.Name("schemaPath"),params:new vr.Name("params"),propertyName:new vr.Name("propertyName"),message:new vr.Name("message"),schema:new vr.Name("schema"),parentSchema:new vr.Name("parentSchema")};function Tme(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,vr._)`{}`:MEt(t,e,r)}function MEt(t,e,r={}){let{gen:n,it:s}=t,i=[WEt(s,r),$Et(t,r)];return FEt(t,e,i),n.object(...i)}function WEt({errorPath:t},{instancePath:e}){let r=e?(0,vr.str)`${t}${(0,$R.getErrorPath)(e,$R.Type.Str)}`:t;return[ea.default.instancePath,(0,vr.strConcat)(ea.default.instancePath,r)]}function $Et({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,vr.str)`${e}/${t}`;return r&&(s=(0,vr.str)`${s}${(0,$R.getErrorPath)(r,$R.Type.Str)}`),[Tm.schemaPath,s]}function FEt(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([Tm.keyword,s],[Tm.params,typeof e=="function"?e(t):e||(0,vr._)`{}`]),c.messages&&n.push([Tm.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Tm.schema,a],[Tm.parentSchema,(0,vr._)`${l}${d}`],[ea.default.data,i]),u&&n.push([Tm.propertyName,u])}});var Rme=E(QA=>{"use strict";Object.defineProperty(QA,"__esModule",{value:!0});QA.boolOrEmptySchema=QA.topBoolOrEmptySchema=void 0;var UEt=y1(),qEt=zt(),jEt=fd(),HEt={message:"boolean schema is false"};function QEt(t){let{gen:e,schema:r,validateName:n}=t;r===!1?wme(t,!1):typeof r=="object"&&r.$async===!0?e.return(jEt.default.data):(e.assign((0,qEt._)`${n}.errors`,null),e.return(!0))}QA.topBoolOrEmptySchema=QEt;function GEt(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),wme(t)):r.var(e,!0)}QA.boolOrEmptySchema=GEt;function wme(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,UEt.reportError)(s,HEt,void 0,e)}});var C8=E(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.getRules=GA.isJSONType=void 0;var VEt=["string","number","integer","boolean","null","object","array"],zEt=new Set(VEt);function KEt(t){return typeof t=="string"&&zEt.has(t)}GA.isJSONType=KEt;function YEt(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}GA.getRules=YEt});var I8=E(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});hp.shouldUseRule=hp.shouldUseGroup=hp.schemaHasRulesForType=void 0;function JEt({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Nme(t,n)}hp.schemaHasRulesForType=JEt;function Nme(t,e){return e.rules.some(r=>Ome(t,r))}hp.shouldUseGroup=Nme;function Ome(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}hp.shouldUseRule=Ome});var x1=E(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.reportTypeError=Ri.checkDataTypes=Ri.checkDataType=Ri.coerceAndCheckDataType=Ri.getJSONTypes=Ri.getSchemaTypes=Ri.DataType=void 0;var XEt=C8(),ZEt=I8(),e1t=y1(),jt=zt(),Pme=Lr(),VA;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(VA||(Ri.DataType=VA={}));function t1t(t){let e=Dme(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ri.getSchemaTypes=t1t;function Dme(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(XEt.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ri.getJSONTypes=Dme;function r1t(t,e){let{gen:r,data:n,opts:s}=t,i=n1t(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,ZEt.schemaHasRulesForType)(t,e[0]));if(a){let o=w8(e,n,s.strictNumbers,VA.Wrong);r.if(o,()=>{i.length?s1t(t,e,i):R8(t)})}return a}Ri.coerceAndCheckDataType=r1t;var kme=new Set(["string","number","integer","boolean","null"]);function n1t(t,e){return e?t.filter(r=>kme.has(r)||e==="array"&&r==="array"):[]}function s1t(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,jt._)`typeof ${s}`),o=n.let("coerced",(0,jt._)`undefined`);i.coerceTypes==="array"&&n.if((0,jt._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,jt._)`${s}[0]`).assign(a,(0,jt._)`typeof ${s}`).if(w8(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,jt._)`${o} !== undefined`);for(let u of r)(kme.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),R8(t),n.endIf(),n.if((0,jt._)`${o} !== undefined`,()=>{n.assign(s,o),i1t(t,o)});function c(u){switch(u){case"string":n.elseIf((0,jt._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,jt._)`"" + ${s}`).elseIf((0,jt._)`${s} === null`).assign(o,(0,jt._)`""`);return;case"number":n.elseIf((0,jt._)`${a} == "boolean" || ${s} === null
|
|
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,jt._)`+${s}`);return;case"integer":n.elseIf((0,jt._)`${a} === "boolean" || ${s} === null
|
|
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,jt._)`+${s}`);return;case"boolean":n.elseIf((0,jt._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,jt._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,jt._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,jt._)`${a} === "string" || ${a} === "number"
|
|
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,jt._)`[${s}]`)}}}function i1t({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,jt._)`${e} !== undefined`,()=>t.assign((0,jt._)`${e}[${r}]`,n))}function T8(t,e,r,n=VA.Correct){let s=n===VA.Correct?jt.operators.EQ:jt.operators.NEQ,i;switch(t){case"null":return(0,jt._)`${e} ${s} null`;case"array":i=(0,jt._)`Array.isArray(${e})`;break;case"object":i=(0,jt._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,jt._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,jt._)`typeof ${e} ${s} ${t}`}return n===VA.Correct?i:(0,jt.not)(i);function a(o=jt.nil){return(0,jt.and)((0,jt._)`typeof ${e} == "number"`,o,r?(0,jt._)`isFinite(${e})`:jt.nil)}}Ri.checkDataType=T8;function w8(t,e,r,n){if(t.length===1)return T8(t[0],e,r,n);let s,i=(0,Pme.toHash)(t);if(i.array&&i.object){let a=(0,jt._)`typeof ${e} != "object"`;s=i.null?a:(0,jt._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=jt.nil;i.number&&delete i.integer;for(let a in i)s=(0,jt.and)(s,T8(a,e,r,n));return s}Ri.checkDataTypes=w8;var a1t={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,jt._)`{type: ${t}}`:(0,jt._)`{type: ${e}}`};function R8(t){let e=o1t(t);(0,e1t.reportError)(e,a1t)}Ri.reportTypeError=R8;function o1t(t){let{gen:e,data:r,schema:n}=t,s=(0,Pme.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Bme=E(FR=>{"use strict";Object.defineProperty(FR,"__esModule",{value:!0});FR.assignDefaults=void 0;var zA=zt(),c1t=Lr();function u1t(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)Lme(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>Lme(t,i,s.default))}FR.assignDefaults=u1t;function Lme(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,zA._)`${i}${(0,zA.getProperty)(e)}`;if(s){(0,c1t.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,zA._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,zA._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,zA._)`${o} = ${(0,zA.stringify)(r)}`)}});var Qo=E(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.validateUnion=Zr.validateArray=Zr.usePattern=Zr.callValidateCode=Zr.schemaProperties=Zr.allSchemaProperties=Zr.noPropertyInData=Zr.propertyInData=Zr.isOwnProperty=Zr.hasPropFunc=Zr.reportMissingProp=Zr.checkMissingProp=Zr.checkReportMissingProp=void 0;var Rn=zt(),N8=Lr(),gp=fd(),l1t=Lr();function d1t(t,e){let{gen:r,data:n,it:s}=t;r.if(P8(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Rn._)`${e}`},!0),t.error()})}Zr.checkReportMissingProp=d1t;function f1t({gen:t,data:e,it:{opts:r}},n,s){return(0,Rn.or)(...n.map(i=>(0,Rn.and)(P8(t,e,i,r.ownProperties),(0,Rn._)`${s} = ${i}`)))}Zr.checkMissingProp=f1t;function p1t(t,e){t.setParams({missingProperty:e},!0),t.error()}Zr.reportMissingProp=p1t;function Mme(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Rn._)`Object.prototype.hasOwnProperty`})}Zr.hasPropFunc=Mme;function O8(t,e,r){return(0,Rn._)`${Mme(t)}.call(${e}, ${r})`}Zr.isOwnProperty=O8;function m1t(t,e,r,n){let s=(0,Rn._)`${e}${(0,Rn.getProperty)(r)} !== undefined`;return n?(0,Rn._)`${s} && ${O8(t,e,r)}`:s}Zr.propertyInData=m1t;function P8(t,e,r,n){let s=(0,Rn._)`${e}${(0,Rn.getProperty)(r)} === undefined`;return n?(0,Rn.or)(s,(0,Rn.not)(O8(t,e,r))):s}Zr.noPropertyInData=P8;function Wme(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}Zr.allSchemaProperties=Wme;function h1t(t,e){return Wme(e).filter(r=>!(0,N8.alwaysValidSchema)(t,e[r]))}Zr.schemaProperties=h1t;function g1t({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Rn._)`${t}, ${e}, ${n}${s}`:e,d=[[gp.default.instancePath,(0,Rn.strConcat)(gp.default.instancePath,i)],[gp.default.parentData,a.parentData],[gp.default.parentDataProperty,a.parentDataProperty],[gp.default.rootData,gp.default.rootData]];a.opts.dynamicRef&&d.push([gp.default.dynamicAnchors,gp.default.dynamicAnchors]);let f=(0,Rn._)`${l}, ${r.object(...d)}`;return c!==Rn.nil?(0,Rn._)`${o}.call(${c}, ${f})`:(0,Rn._)`${o}(${f})`}Zr.callValidateCode=g1t;var A1t=(0,Rn._)`new RegExp`;function y1t({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Rn._)`${s.code==="new RegExp"?A1t:(0,l1t.useFunc)(t,s)}(${r}, ${n})`})}Zr.usePattern=y1t;function x1t(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Rn._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:N8.Type.Num},i),e.if((0,Rn.not)(i),o)})}}Zr.validateArray=x1t;function b1t(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,N8.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Rn._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Rn.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}Zr.validateUnion=b1t});var Ume=E(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.validateKeywordUsage=Fu.validSchemaType=Fu.funcKeywordCode=Fu.macroKeywordCode=void 0;var ta=zt(),wm=fd(),E1t=Qo(),_1t=y1();function S1t(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=Fme(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:ta.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Fu.macroKeywordCode=S1t;function v1t(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;I1t(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=Fme(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&$me(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&$me(t),A(()=>C1t(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,ta._)`await `),b=>n.assign(d,!1).if((0,ta._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,ta._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,ta._)`${l}.errors`;return n.assign(g,null),h(ta.nil),g}function h(g=e.async?(0,ta._)`await `:ta.nil){let b=c.opts.passContext?wm.default.this:wm.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,ta._)`${g}${(0,E1t.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,ta.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}Fu.funcKeywordCode=v1t;function $me(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ta._)`${n.parentData}[${n.parentDataProperty}]`))}function C1t(t,e){let{gen:r}=t;r.if((0,ta._)`Array.isArray(${e})`,()=>{r.assign(wm.default.vErrors,(0,ta._)`${wm.default.vErrors} === null ? ${e} : ${wm.default.vErrors}.concat(${e})`).assign(wm.default.errors,(0,ta._)`${wm.default.vErrors}.length`),(0,_1t.extendErrors)(t)},()=>t.error())}function I1t({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Fme(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ta.stringify)(r)})}function T1t(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Fu.validSchemaType=T1t;function w1t({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Fu.validateKeywordUsage=w1t});var jme=E(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});Ap.extendSubschemaMode=Ap.extendSubschemaData=Ap.getSubschema=void 0;var Uu=zt(),qme=Lr();function R1t(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,Uu._)`${t.schemaPath}${(0,Uu.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,Uu._)`${t.schemaPath}${(0,Uu.getProperty)(e)}${(0,Uu.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,qme.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Ap.getSubschema=R1t;function N1t(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,Uu._)`${e.data}${(0,Uu.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Uu.str)`${u}${(0,qme.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Uu._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof Uu.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Ap.extendSubschemaData=N1t;function O1t(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}Ap.extendSubschemaMode=O1t});var Go=E((FPr,Hme)=>{"use strict";Hme.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,s,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(s=n;s--!==0;)if(!t(e[s],r[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[s]))return!1;for(s=n;s--!==0;){var a=i[s];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}});var Gme=E((UPr,Qme)=>{"use strict";var yp=Qme.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};UR(e,n,s,t,"",t)};yp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function UR(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in yp.arrayKeywords)for(var f=0;f<d.length;f++)UR(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in yp.propsKeywords){if(d&&typeof d=="object")for(var p in d)UR(t,e,r,d[p],s+"/"+l+"/"+P1t(p),i,s,l,n,p)}else(l in yp.keywords||t.allKeys&&!(l in yp.skipKeywords))&&UR(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function P1t(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var b1=E(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.getSchemaRefs=ka.resolveUrl=ka.normalizeId=ka._getFullPath=ka.getFullPath=ka.inlineRef=void 0;var D1t=Lr(),k1t=Go(),L1t=Gme(),B1t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function M1t(t,e=!0){return typeof t=="boolean"?!0:e===!0?!D8(t):e?Vme(t)<=e:!1}ka.inlineRef=M1t;var W1t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function D8(t){for(let e in t){if(W1t.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(D8)||typeof r=="object"&&D8(r))return!0}return!1}function Vme(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!B1t.has(r)&&(typeof t[r]=="object"&&(0,D1t.eachItem)(t[r],n=>e+=Vme(n)),e===1/0))return 1/0}return e}function zme(t,e="",r){r!==!1&&(e=KA(e));let n=t.parse(e);return Kme(t,n)}ka.getFullPath=zme;function Kme(t,e){return t.serialize(e).split("#")[0]+"#"}ka._getFullPath=Kme;var $1t=/#\/?$/;function KA(t){return t?t.replace($1t,""):""}ka.normalizeId=KA;function F1t(t,e,r){return r=KA(r),t.resolve(e,r)}ka.resolveUrl=F1t;var U1t=/^[a-z_][-a-z0-9._]*$/i;function q1t(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=KA(t[r]||e),i={"":s},a=zme(n,s,!1),o={},c=new Set;return L1t(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=KA(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==KA(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!U1t.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!k1t(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}ka.getSchemaRefs=q1t});var S1=E(xp=>{"use strict";Object.defineProperty(xp,"__esModule",{value:!0});xp.getData=xp.KeywordCxt=xp.validateFunctionCode=void 0;var ehe=Rme(),Yme=x1(),L8=I8(),qR=x1(),j1t=Bme(),_1=Ume(),k8=jme(),it=zt(),Rt=fd(),H1t=b1(),pd=Lr(),E1=y1();function Q1t(t){if(nhe(t)&&(she(t),rhe(t))){z1t(t);return}the(t,()=>(0,ehe.topBoolOrEmptySchema)(t))}xp.validateFunctionCode=Q1t;function the({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,it._)`${Rt.default.data}, ${Rt.default.valCxt}`,n.$async,()=>{t.code((0,it._)`"use strict"; ${Jme(r,s)}`),V1t(t,s),t.code(i)}):t.func(e,(0,it._)`${Rt.default.data}, ${G1t(s)}`,n.$async,()=>t.code(Jme(r,s)).code(i))}function G1t(t){return(0,it._)`{${Rt.default.instancePath}="", ${Rt.default.parentData}, ${Rt.default.parentDataProperty}, ${Rt.default.rootData}=${Rt.default.data}${t.dynamicRef?(0,it._)`, ${Rt.default.dynamicAnchors}={}`:it.nil}}={}`}function V1t(t,e){t.if(Rt.default.valCxt,()=>{t.var(Rt.default.instancePath,(0,it._)`${Rt.default.valCxt}.${Rt.default.instancePath}`),t.var(Rt.default.parentData,(0,it._)`${Rt.default.valCxt}.${Rt.default.parentData}`),t.var(Rt.default.parentDataProperty,(0,it._)`${Rt.default.valCxt}.${Rt.default.parentDataProperty}`),t.var(Rt.default.rootData,(0,it._)`${Rt.default.valCxt}.${Rt.default.rootData}`),e.dynamicRef&&t.var(Rt.default.dynamicAnchors,(0,it._)`${Rt.default.valCxt}.${Rt.default.dynamicAnchors}`)},()=>{t.var(Rt.default.instancePath,(0,it._)`""`),t.var(Rt.default.parentData,(0,it._)`undefined`),t.var(Rt.default.parentDataProperty,(0,it._)`undefined`),t.var(Rt.default.rootData,Rt.default.data),e.dynamicRef&&t.var(Rt.default.dynamicAnchors,(0,it._)`{}`)})}function z1t(t){let{schema:e,opts:r,gen:n}=t;the(t,()=>{r.$comment&&e.$comment&&ahe(t),Z1t(t),n.let(Rt.default.vErrors,null),n.let(Rt.default.errors,0),r.unevaluated&&K1t(t),ihe(t),r_t(t)})}function K1t(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,it._)`${r}.evaluated`),e.if((0,it._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,it._)`${t.evaluated}.props`,(0,it._)`undefined`)),e.if((0,it._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,it._)`${t.evaluated}.items`,(0,it._)`undefined`))}function Jme(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,it._)`/*# sourceURL=${r} */`:it.nil}function Y1t(t,e){if(nhe(t)&&(she(t),rhe(t))){J1t(t,e);return}(0,ehe.boolOrEmptySchema)(t,e)}function rhe({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function nhe(t){return typeof t.schema!="boolean"}function J1t(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&ahe(t),e_t(t),t_t(t);let i=n.const("_errs",Rt.default.errors);ihe(t,i),n.var(e,(0,it._)`${i} === ${Rt.default.errors}`)}function she(t){(0,pd.checkUnknownRules)(t),X1t(t)}function ihe(t,e){if(t.opts.jtd)return Xme(t,[],!1,e);let r=(0,Yme.getSchemaTypes)(t.schema),n=(0,Yme.coerceAndCheckDataType)(t,r);Xme(t,r,!n,e)}function X1t(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,pd.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Z1t(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,pd.checkStrictMode)(t,"default is ignored in the schema root")}function e_t(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,H1t.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function t_t(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ahe({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,it._)`${Rt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,it.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,it._)`${Rt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function r_t(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,it._)`${Rt.default.errors} === 0`,()=>e.return(Rt.default.data),()=>e.throw((0,it._)`new ${s}(${Rt.default.vErrors})`)):(e.assign((0,it._)`${n}.errors`,Rt.default.vErrors),i.unevaluated&&n_t(t),e.return((0,it._)`${Rt.default.errors} === 0`))}function n_t({gen:t,evaluated:e,props:r,items:n}){r instanceof it.Name&&t.assign((0,it._)`${e}.props`,r),n instanceof it.Name&&t.assign((0,it._)`${e}.items`,n)}function Xme(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,pd.schemaHasRulesButRef)(i,l))){s.block(()=>che(t,"$ref",l.all.$ref.definition));return}c.jtd||s_t(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,L8.shouldUseGroup)(i,f)&&(f.type?(s.if((0,qR.checkDataType)(f.type,a,c.strictNumbers)),Zme(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,qR.reportTypeError)(t)),s.endIf()):Zme(t,f),o||s.if((0,it._)`${Rt.default.errors} === ${n||0}`))}}function Zme(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,j1t.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,L8.shouldUseRule)(n,i)&&che(t,i.keyword,i.definition,e.type)})}function s_t(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(i_t(t,e),t.opts.allowUnionTypes||a_t(t,e),o_t(t,t.dataTypes))}function i_t(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ohe(t.dataTypes,r)||B8(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),u_t(t,e)}}function a_t(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&B8(t,"use allowUnionTypes to allow union type keyword")}function o_t(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,L8.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>c_t(e,a))&&B8(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function c_t(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ohe(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function u_t(t,e){let r=[];for(let n of t.dataTypes)ohe(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function B8(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,pd.checkStrictMode)(t,e,t.opts.strictTypes)}var jR=class{constructor(e,r,n){if((0,_1.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,pd.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",uhe(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,_1.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Rt.default.errors))}result(e,r,n){this.failResult((0,it.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,it.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,it._)`${r} !== undefined && (${(0,it.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?E1.reportExtraError:E1.reportError)(this,this.def.error,r)}$dataError(){(0,E1.reportError)(this,this.def.$dataError||E1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,E1.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=it.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=it.nil,r=it.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,it.or)((0,it._)`${s} === undefined`,r)),e!==it.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==it.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,it.or)(a(),o());function a(){if(n.length){if(!(r instanceof it.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,it._)`${(0,qR.checkDataTypes)(c,r,i.opts.strictNumbers,qR.DataType.Wrong)}`}return it.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,it._)`!${c}(${r})`}return it.nil}}subschema(e,r){let n=(0,k8.getSubschema)(this.it,e);(0,k8.extendSubschemaData)(n,this.it,e),(0,k8.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return Y1t(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=pd.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=pd.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,it.Name)),!0}};xp.KeywordCxt=jR;function che(t,e,r,n){let s=new jR(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,_1.funcKeywordCode)(s,r):"macro"in r?(0,_1.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,_1.funcKeywordCode)(s,r)}var l_t=/^\/(?:[^~]|~0|~1)*$/,d_t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function uhe(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return Rt.default.rootData;if(t[0]==="/"){if(!l_t.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=Rt.default.rootData}else{let u=d_t.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,it._)`${i}${(0,it.getProperty)((0,pd.unescapeJsonPointer)(u))}`,a=(0,it._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}xp.getData=uhe});var HR=E(W8=>{"use strict";Object.defineProperty(W8,"__esModule",{value:!0});var M8=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};W8.default=M8});var v1=E(U8=>{"use strict";Object.defineProperty(U8,"__esModule",{value:!0});var $8=b1(),F8=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,$8.resolveUrl)(e,r,n),this.missingSchema=(0,$8.normalizeId)((0,$8.getFullPath)(e,this.missingRef))}};U8.default=F8});var GR=E(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.resolveSchema=Vo.getCompilingSchema=Vo.resolveRef=Vo.compileSchema=Vo.SchemaEnv=void 0;var Fc=zt(),f_t=HR(),Rm=fd(),Uc=b1(),lhe=Lr(),p_t=S1(),YA=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Uc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Vo.SchemaEnv=YA;function j8(t){let e=dhe.call(this,t);if(e)return e;let r=(0,Uc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Fc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:f_t.default,code:(0,Fc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:Rm.default.data,parentData:Rm.default.parentData,parentDataProperty:Rm.default.parentDataProperty,dataNames:[Rm.default.data],dataPathArr:[Fc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Fc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Fc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Fc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,p_t.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(Rm.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${Rm.default.self}`,`${Rm.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Fc.Name?void 0:m,items:h instanceof Fc.Name?void 0:h,dynamicProps:m instanceof Fc.Name,dynamicItems:h instanceof Fc.Name},p.source&&(p.source.evaluated=(0,Fc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}Vo.compileSchema=j8;function m_t(t,e,r){var n;r=(0,Uc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=A_t.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new YA({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=h_t.call(this,i)}Vo.resolveRef=m_t;function h_t(t){return(0,Uc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:j8.call(this,t)}function dhe(t){for(let e of this._compilations)if(g_t(e,t))return e}Vo.getCompilingSchema=dhe;function g_t(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function A_t(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||QR.call(this,t,e)}function QR(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Uc._getFullPath)(this.opts.uriResolver,r),s=(0,Uc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return q8.call(this,r,t);let i=(0,Uc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=QR.call(this,t,a);return typeof o?.schema!="object"?void 0:q8.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||j8.call(this,a),i===(0,Uc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Uc.resolveUrl)(this.opts.uriResolver,s,u)),new YA({schema:o,schemaId:c,root:t,baseId:s})}return q8.call(this,r,a)}}Vo.resolveSchema=QR;var y_t=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function q8(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,lhe.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!y_t.has(o)&&u&&(e=(0,Uc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,lhe.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Uc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=QR.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new YA({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var fhe=E((VPr,x_t)=>{x_t.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Q8=E((zPr,ghe)=>{"use strict";var b_t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),mhe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function H8(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var E_t=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function phe(t){return t.length=0,!0}function __t(t,e,r){if(t.length){let n=H8(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function S_t(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=__t;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=phe}else{s.push(u);continue}}return s.length&&(o===phe?r.zone=s.join(""):a?n.push(s.join("")):n.push(H8(s))),r.address=n.join(""),r}function hhe(t){if(v_t(t,":")<2)return{host:t,isIPV6:!1};let e=S_t(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function v_t(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function C_t(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function I_t(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function T_t(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!mhe(r)){let n=hhe(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}ghe.exports={nonSimpleDomain:E_t,recomposeAuthority:T_t,normalizeComponentEncoding:I_t,removeDotSegments:C_t,isIPv4:mhe,isUUID:b_t,normalizeIPv6:hhe,stringArrayToHexStripped:H8}});var Ehe=E((KPr,bhe)=>{"use strict";var{isUUID:w_t}=Q8(),R_t=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,N_t=["http","https","ws","wss","urn","urn:uuid"];function O_t(t){return N_t.indexOf(t)!==-1}function G8(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Ahe(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function yhe(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function P_t(t){return t.secure=G8(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function D_t(t){if((t.port===(G8(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function k_t(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(R_t);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=V8(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function L_t(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=V8(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function B_t(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!w_t(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function M_t(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var xhe={scheme:"http",domainHost:!0,parse:Ahe,serialize:yhe},W_t={scheme:"https",domainHost:xhe.domainHost,parse:Ahe,serialize:yhe},VR={scheme:"ws",domainHost:!0,parse:P_t,serialize:D_t},$_t={scheme:"wss",domainHost:VR.domainHost,parse:VR.parse,serialize:VR.serialize},F_t={scheme:"urn",parse:k_t,serialize:L_t,skipNormalize:!0},U_t={scheme:"urn:uuid",parse:B_t,serialize:M_t,skipNormalize:!0},zR={http:xhe,https:W_t,ws:VR,wss:$_t,urn:F_t,"urn:uuid":U_t};Object.setPrototypeOf(zR,null);function V8(t){return t&&(zR[t]||zR[t.toLowerCase()])||void 0}bhe.exports={wsIsSecure:G8,SCHEMES:zR,isValidSchemeName:O_t,getSchemeHandler:V8}});var vhe=E((YPr,YR)=>{"use strict";var{normalizeIPv6:q_t,removeDotSegments:C1,recomposeAuthority:j_t,normalizeComponentEncoding:KR,isIPv4:H_t,nonSimpleDomain:Q_t}=Q8(),{SCHEMES:G_t,getSchemeHandler:_he}=Ehe();function V_t(t,e){return typeof t=="string"?t=qu(md(t,e),e):typeof t=="object"&&(t=md(qu(t,e),e)),t}function z_t(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=She(md(t,n),md(e,n),n,!0);return n.skipEscape=!0,qu(s,n)}function She(t,e,r,n){let s={};return n||(t=md(qu(t,r),r),e=md(qu(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=C1(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=C1(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=C1(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=C1(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function K_t(t,e,r){return typeof t=="string"?(t=unescape(t),t=qu(KR(md(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=qu(KR(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=qu(KR(md(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=qu(KR(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function qu(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=_he(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=j_t(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=C1(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var Y_t=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function md(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(Y_t);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(H_t(n.host)===!1){let c=q_t(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=_he(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&Q_t(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var z8={SCHEMES:G_t,normalize:V_t,resolve:z_t,resolveComponent:She,equal:K_t,serialize:qu,parse:md};YR.exports=z8;YR.exports.default=z8;YR.exports.fastUri=z8});var Ihe=E(K8=>{"use strict";Object.defineProperty(K8,"__esModule",{value:!0});var Che=vhe();Che.code='require("ajv/dist/runtime/uri").default';K8.default=Che});var khe=E(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.CodeGen=ui.Name=ui.nil=ui.stringify=ui.str=ui._=ui.KeywordCxt=void 0;var J_t=S1();Object.defineProperty(ui,"KeywordCxt",{enumerable:!0,get:function(){return J_t.KeywordCxt}});var JA=zt();Object.defineProperty(ui,"_",{enumerable:!0,get:function(){return JA._}});Object.defineProperty(ui,"str",{enumerable:!0,get:function(){return JA.str}});Object.defineProperty(ui,"stringify",{enumerable:!0,get:function(){return JA.stringify}});Object.defineProperty(ui,"nil",{enumerable:!0,get:function(){return JA.nil}});Object.defineProperty(ui,"Name",{enumerable:!0,get:function(){return JA.Name}});Object.defineProperty(ui,"CodeGen",{enumerable:!0,get:function(){return JA.CodeGen}});var X_t=HR(),Ohe=v1(),Z_t=C8(),I1=GR(),eSt=zt(),T1=b1(),JR=x1(),J8=Lr(),The=fhe(),tSt=Ihe(),Phe=(t,e)=>new RegExp(t,e);Phe.code="new RegExp";var rSt=["removeAdditional","useDefaults","coerceTypes"],nSt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),sSt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},iSt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},whe=200;function aSt(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,C,R,w,N;let P=t.strict,L=(e=t.code)===null||e===void 0?void 0:e.optimize,M=L===!0||L===void 0?1:L||0,k=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Phe,B=(s=t.uriResolver)!==null&&s!==void 0?s:tSt.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:k}:{optimize:M,regExp:k},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:whe,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:whe,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(C=t.validateSchema)!==null&&C!==void 0?C:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:B}}var w1=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...aSt(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new eSt.ValueScope({scope:{},prefixes:nSt,es5:r,lines:n}),this.logger=fSt(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Z_t.getRules)(),Rhe.call(this,sSt,e,"NOT SUPPORTED"),Rhe.call(this,iSt,e,"DEPRECATED","warn"),this._metaOpts=lSt.call(this),e.formats&&cSt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&uSt.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),oSt.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=The;n==="id"&&(s={...The},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Ohe.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,T1.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=Nhe.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new I1.SchemaEnv({schema:{},schemaId:n});if(r=I1.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Nhe.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,T1.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(mSt.call(this,n,r),!r)return(0,J8.eachItem)(n,i=>Y8.call(this,i)),this;gSt.call(this,r);let s={...r,type:(0,JR.getJSONTypes)(r.type),schemaType:(0,JR.getJSONTypes)(r.schemaType)};return(0,J8.eachItem)(n,s.type.length===0?i=>Y8.call(this,i,s):i=>s.type.forEach(a=>Y8.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=Dhe(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,T1.normalizeId)(a||n);let u=T1.getSchemaRefs.call(this,e,n);return c=new I1.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):I1.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{I1.compileSchema.call(this,e)}finally{this.opts=r}}};w1.ValidationError=X_t.default;w1.MissingRefError=Ohe.default;ui.default=w1;function Rhe(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function Nhe(t){return t=(0,T1.normalizeId)(t),this.schemas[t]||this.refs[t]}function oSt(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function cSt(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function uSt(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function lSt(){let t={...this.opts};for(let e of rSt)delete t[e];return t}var dSt={log(){},warn(){},error(){}};function fSt(t){if(t===!1)return dSt;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var pSt=/^[a-z_$][a-z0-9_$:-]*$/i;function mSt(t,e){let{RULES:r}=this;if((0,J8.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!pSt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Y8(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,JR.getJSONTypes)(e.type),schemaType:(0,JR.getJSONTypes)(e.schemaType)}};e.before?hSt.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function hSt(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function gSt(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Dhe(e)),t.validateSchema=this.compile(e,!0))}var ASt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Dhe(t){return{anyOf:[t,ASt]}}});var Lhe=E(X8=>{"use strict";Object.defineProperty(X8,"__esModule",{value:!0});var ySt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};X8.default=ySt});var $he=E(Nm=>{"use strict";Object.defineProperty(Nm,"__esModule",{value:!0});Nm.callRef=Nm.getValidate=void 0;var xSt=v1(),Bhe=Qo(),La=zt(),XA=fd(),Mhe=GR(),XR=Lr(),bSt={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Mhe.resolveRef.call(c,u,s,r);if(l===void 0)throw new xSt.default(n.opts.uriResolver,s,r);if(l instanceof Mhe.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return ZR(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return ZR(t,(0,La._)`${m}.validate`,u,u.$async)}function f(m){let h=Whe(t,m);ZR(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,La.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:La.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function Whe(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,La._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Nm.getValidate=Whe;function ZR(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?XA.default.this:La.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,La._)`await ${(0,Bhe.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,La._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,Bhe.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,La._)`${m}.errors`;s.assign(XA.default.vErrors,(0,La._)`${XA.default.vErrors} === null ? ${h} : ${XA.default.vErrors}.concat(${h})`),s.assign(XA.default.errors,(0,La._)`${XA.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=XR.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,La._)`${m}.evaluated.props`);i.props=XR.mergeEvaluated.props(s,g,i.props,La.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=XR.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,La._)`${m}.evaluated.items`);i.items=XR.mergeEvaluated.items(s,g,i.items,La.Name)}}}Nm.callRef=ZR;Nm.default=bSt});var Fhe=E(Z8=>{"use strict";Object.defineProperty(Z8,"__esModule",{value:!0});var ESt=Lhe(),_St=$he(),SSt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",ESt.default,_St.default];Z8.default=SSt});var Uhe=E(eW=>{"use strict";Object.defineProperty(eW,"__esModule",{value:!0});var eN=zt(),bp=eN.operators,tN={maximum:{okStr:"<=",ok:bp.LTE,fail:bp.GT},minimum:{okStr:">=",ok:bp.GTE,fail:bp.LT},exclusiveMaximum:{okStr:"<",ok:bp.LT,fail:bp.GTE},exclusiveMinimum:{okStr:">",ok:bp.GT,fail:bp.LTE}},vSt={message:({keyword:t,schemaCode:e})=>(0,eN.str)`must be ${tN[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,eN._)`{comparison: ${tN[t].okStr}, limit: ${e}}`},CSt={keyword:Object.keys(tN),type:"number",schemaType:"number",$data:!0,error:vSt,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,eN._)`${r} ${tN[e].fail} ${n} || isNaN(${r})`)}};eW.default=CSt});var qhe=E(tW=>{"use strict";Object.defineProperty(tW,"__esModule",{value:!0});var R1=zt(),ISt={message:({schemaCode:t})=>(0,R1.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,R1._)`{multipleOf: ${t}}`},TSt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:ISt,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,R1._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,R1._)`${a} !== parseInt(${a})`;t.fail$data((0,R1._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};tW.default=TSt});var Hhe=E(rW=>{"use strict";Object.defineProperty(rW,"__esModule",{value:!0});function jhe(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}rW.default=jhe;jhe.code='require("ajv/dist/runtime/ucs2length").default'});var Qhe=E(nW=>{"use strict";Object.defineProperty(nW,"__esModule",{value:!0});var Om=zt(),wSt=Lr(),RSt=Hhe(),NSt={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Om.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Om._)`{limit: ${t}}`},OSt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:NSt,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?Om.operators.GT:Om.operators.LT,a=s.opts.unicode===!1?(0,Om._)`${r}.length`:(0,Om._)`${(0,wSt.useFunc)(t.gen,RSt.default)}(${r})`;t.fail$data((0,Om._)`${a} ${i} ${n}`)}};nW.default=OSt});var Ghe=E(sW=>{"use strict";Object.defineProperty(sW,"__esModule",{value:!0});var PSt=Qo(),rN=zt(),DSt={message:({schemaCode:t})=>(0,rN.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,rN._)`{pattern: ${t}}`},kSt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:DSt,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,rN._)`(new RegExp(${s}, ${a}))`:(0,PSt.usePattern)(t,n);t.fail$data((0,rN._)`!${o}.test(${e})`)}};sW.default=kSt});var Vhe=E(iW=>{"use strict";Object.defineProperty(iW,"__esModule",{value:!0});var N1=zt(),LSt={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,N1.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,N1._)`{limit: ${t}}`},BSt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:LSt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?N1.operators.GT:N1.operators.LT;t.fail$data((0,N1._)`Object.keys(${r}).length ${s} ${n}`)}};iW.default=BSt});var zhe=E(aW=>{"use strict";Object.defineProperty(aW,"__esModule",{value:!0});var O1=Qo(),P1=zt(),MSt=Lr(),WSt={message:({params:{missingProperty:t}})=>(0,P1.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,P1._)`{missingProperty: ${t}}`},$St={keyword:"required",type:"object",schemaType:"array",$data:!0,error:WSt,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,MSt.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(P1.nil,d);else for(let p of r)(0,O1.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,O1.checkMissingProp)(t,r,p)),(0,O1.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,O1.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,O1.propertyInData)(e,s,p,o.ownProperties)),e.if((0,P1.not)(m),()=>{t.error(),e.break()})},P1.nil)}}};aW.default=$St});var Khe=E(oW=>{"use strict";Object.defineProperty(oW,"__esModule",{value:!0});var D1=zt(),FSt={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,D1.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,D1._)`{limit: ${t}}`},USt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:FSt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?D1.operators.GT:D1.operators.LT;t.fail$data((0,D1._)`${r}.length ${s} ${n}`)}};oW.default=USt});var k1=E(cW=>{"use strict";Object.defineProperty(cW,"__esModule",{value:!0});var Yhe=Go();Yhe.code='require("ajv/dist/runtime/equal").default';cW.default=Yhe});var Jhe=E(lW=>{"use strict";Object.defineProperty(lW,"__esModule",{value:!0});var uW=x1(),li=zt(),qSt=Lr(),jSt=k1(),HSt={message:({params:{i:t,j:e}})=>(0,li.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,li._)`{i: ${t}, j: ${e}}`},QSt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:HSt,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,uW.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,li._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,li._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,li._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,uW.checkDataTypes)(u,A,o.opts.strictNumbers,uW.DataType.Wrong),b=e.const("indices",(0,li._)`{}`);e.for((0,li._)`;${m}--;`,()=>{e.let(A,(0,li._)`${r}[${m}]`),e.if(g,(0,li._)`continue`),u.length>1&&e.if((0,li._)`typeof ${A} == "string"`,(0,li._)`${A} += "_"`),e.if((0,li._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,li._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,li._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,qSt.useFunc)(e,jSt.default),g=e.name("outer");e.label(g).for((0,li._)`;${m}--;`,()=>e.for((0,li._)`${h} = ${m}; ${h}--;`,()=>e.if((0,li._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};lW.default=QSt});var Xhe=E(fW=>{"use strict";Object.defineProperty(fW,"__esModule",{value:!0});var dW=zt(),GSt=Lr(),VSt=k1(),zSt={message:"must be equal to constant",params:({schemaCode:t})=>(0,dW._)`{allowedValue: ${t}}`},KSt={keyword:"const",$data:!0,error:zSt,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,dW._)`!${(0,GSt.useFunc)(e,VSt.default)}(${r}, ${s})`):t.fail((0,dW._)`${i} !== ${r}`)}};fW.default=KSt});var Zhe=E(pW=>{"use strict";Object.defineProperty(pW,"__esModule",{value:!0});var L1=zt(),YSt=Lr(),JSt=k1(),XSt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,L1._)`{allowedValues: ${t}}`},ZSt={keyword:"enum",schemaType:"array",$data:!0,error:XSt,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,YSt.useFunc)(e,JSt.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,L1.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,L1._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,L1._)`${u()}(${r}, ${p}[${m}])`:(0,L1._)`${r} === ${h}`}}};pW.default=ZSt});var ege=E(mW=>{"use strict";Object.defineProperty(mW,"__esModule",{value:!0});var evt=Uhe(),tvt=qhe(),rvt=Qhe(),nvt=Ghe(),svt=Vhe(),ivt=zhe(),avt=Khe(),ovt=Jhe(),cvt=Xhe(),uvt=Zhe(),lvt=[evt.default,tvt.default,rvt.default,nvt.default,svt.default,ivt.default,avt.default,ovt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},cvt.default,uvt.default];mW.default=lvt});var gW=E(B1=>{"use strict";Object.defineProperty(B1,"__esModule",{value:!0});B1.validateAdditionalItems=void 0;var Pm=zt(),hW=Lr(),dvt={message:({params:{len:t}})=>(0,Pm.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Pm._)`{limit: ${t}}`},fvt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:dvt,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,hW.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}tge(t,n)}};function tge(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,Pm._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Pm._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,hW.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,Pm._)`${o} <= ${e.length}`);r.if((0,Pm.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:hW.Type.Num},u),a.allErrors||r.if((0,Pm.not)(u),()=>r.break())})}}B1.validateAdditionalItems=tge;B1.default=fvt});var AW=E(M1=>{"use strict";Object.defineProperty(M1,"__esModule",{value:!0});M1.validateTuple=void 0;var rge=zt(),nN=Lr(),pvt=Qo(),mvt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return nge(t,"additionalItems",e);r.items=!0,!(0,nN.alwaysValidSchema)(r,e)&&t.ok((0,pvt.validateArray)(t))}};function nge(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=nN.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,rge._)`${i}.length`);r.forEach((d,f)=>{(0,nN.alwaysValidSchema)(o,d)||(n.if((0,rge._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,nN.checkStrictMode)(o,A,f.strictTuples)}}}M1.validateTuple=nge;M1.default=mvt});var sge=E(yW=>{"use strict";Object.defineProperty(yW,"__esModule",{value:!0});var hvt=AW(),gvt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,hvt.validateTuple)(t,"items")};yW.default=gvt});var age=E(xW=>{"use strict";Object.defineProperty(xW,"__esModule",{value:!0});var ige=zt(),Avt=Lr(),yvt=Qo(),xvt=gW(),bvt={message:({params:{len:t}})=>(0,ige.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ige._)`{limit: ${t}}`},Evt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bvt,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,Avt.alwaysValidSchema)(n,e)&&(s?(0,xvt.validateAdditionalItems)(t,s):t.ok((0,yvt.validateArray)(t)))}};xW.default=Evt});var oge=E(bW=>{"use strict";Object.defineProperty(bW,"__esModule",{value:!0});var zo=zt(),sN=Lr(),_vt={message:({params:{min:t,max:e}})=>e===void 0?(0,zo.str)`must contain at least ${t} valid item(s)`:(0,zo.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,zo._)`{minContains: ${t}}`:(0,zo._)`{minContains: ${t}, maxContains: ${e}}`},Svt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:_vt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,zo._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,sN.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,sN.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,sN.alwaysValidSchema)(i,r)){let h=(0,zo._)`${l} >= ${a}`;o!==void 0&&(h=(0,zo._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,zo._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:sN.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,zo._)`${h}++`),o===void 0?e.if((0,zo._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,zo._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,zo._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};bW.default=Svt});var lge=E(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.validateSchemaDeps=ju.validatePropertyDeps=ju.error=void 0;var EW=zt(),vvt=Lr(),W1=Qo();ju.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,EW.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,EW._)`{property: ${t},
|
|
missingProperty: ${n},
|
|
depsCount: ${e},
|
|
deps: ${r}}`};var Cvt={keyword:"dependencies",type:"object",schemaType:"object",error:ju.error,code(t){let[e,r]=Ivt(t);cge(t,e),uge(t,r)}};function Ivt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function cge(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,W1.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,W1.checkReportMissingProp)(t,u)}):(r.if((0,EW._)`${c} && (${(0,W1.checkMissingProp)(t,o,i)})`),(0,W1.reportMissingProp)(t,i),r.else())}}ju.validatePropertyDeps=cge;function uge(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,vvt.alwaysValidSchema)(i,e[o])||(r.if((0,W1.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}ju.validateSchemaDeps=uge;ju.default=Cvt});var fge=E(_W=>{"use strict";Object.defineProperty(_W,"__esModule",{value:!0});var dge=zt(),Tvt=Lr(),wvt={message:"property name must be valid",params:({params:t})=>(0,dge._)`{propertyName: ${t.propertyName}}`},Rvt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:wvt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,Tvt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,dge.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};_W.default=Rvt});var vW=E(SW=>{"use strict";Object.defineProperty(SW,"__esModule",{value:!0});var iN=Qo(),qc=zt(),Nvt=fd(),aN=Lr(),Ovt={message:"must NOT have additional properties",params:({params:t})=>(0,qc._)`{additionalProperty: ${t.additionalProperty}}`},Pvt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ovt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,aN.alwaysValidSchema)(a,r))return;let u=(0,iN.allSchemaProperties)(n.properties),l=(0,iN.allSchemaProperties)(n.patternProperties);d(),t.ok((0,qc._)`${i} === ${Nvt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,aN.schemaRefOrVal)(a,n.properties,"properties");g=(0,iN.isOwnProperty)(e,b,A)}else u.length?g=(0,qc.or)(...u.map(b=>(0,qc._)`${A} === ${b}`)):g=qc.nil;return l.length&&(g=(0,qc.or)(g,...l.map(b=>(0,qc._)`${(0,iN.usePattern)(t,b)}.test(${A})`))),(0,qc.not)(g)}function p(A){e.code((0,qc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,aN.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,qc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,qc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:aN.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};SW.default=Pvt});var hge=E(IW=>{"use strict";Object.defineProperty(IW,"__esModule",{value:!0});var Dvt=S1(),pge=Qo(),CW=Lr(),mge=vW(),kvt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&mge.default.code(new Dvt.KeywordCxt(i,mge.default,"additionalProperties"));let a=(0,pge.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=CW.mergeEvaluated.props(e,(0,CW.toHash)(a),i.props));let o=a.filter(d=>!(0,CW.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,pge.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};IW.default=kvt});var xge=E(TW=>{"use strict";Object.defineProperty(TW,"__esModule",{value:!0});var gge=Qo(),oN=zt(),Age=Lr(),yge=Lr(),Lvt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,gge.allSchemaProperties)(r),c=o.filter(h=>(0,Age.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof oN.Name)&&(i.props=(0,yge.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,Age.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,oN._)`${(0,gge.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:yge.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,oN._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,oN.not)(l),()=>e.break())})})}}};TW.default=Lvt});var bge=E(wW=>{"use strict";Object.defineProperty(wW,"__esModule",{value:!0});var Bvt=Lr(),Mvt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Bvt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};wW.default=Mvt});var Ege=E(RW=>{"use strict";Object.defineProperty(RW,"__esModule",{value:!0});var Wvt=Qo(),$vt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Wvt.validateUnion,error:{message:"must match a schema in anyOf"}};RW.default=$vt});var _ge=E(NW=>{"use strict";Object.defineProperty(NW,"__esModule",{value:!0});var cN=zt(),Fvt=Lr(),Uvt={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,cN._)`{passingSchemas: ${t.passing}}`},qvt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Uvt,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,Fvt.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,cN._)`${c} && ${a}`).assign(a,!1).assign(o,(0,cN._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,cN.Name)})})}}};NW.default=qvt});var Sge=E(OW=>{"use strict";Object.defineProperty(OW,"__esModule",{value:!0});var jvt=Lr(),Hvt={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,jvt.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};OW.default=Hvt});var Ige=E(PW=>{"use strict";Object.defineProperty(PW,"__esModule",{value:!0});var uN=zt(),Cge=Lr(),Qvt={message:({params:t})=>(0,uN.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,uN._)`{failingKeyword: ${t.ifClause}}`},Gvt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Qvt,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Cge.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=vge(n,"then"),i=vge(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,uN.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,uN._)`${l}`):t.setParams({ifClause:l})}}}};function vge(t,e){let r=t.schema[e];return r!==void 0&&!(0,Cge.alwaysValidSchema)(t,r)}PW.default=Gvt});var Tge=E(DW=>{"use strict";Object.defineProperty(DW,"__esModule",{value:!0});var Vvt=Lr(),zvt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,Vvt.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};DW.default=zvt});var wge=E(kW=>{"use strict";Object.defineProperty(kW,"__esModule",{value:!0});var Kvt=gW(),Yvt=sge(),Jvt=AW(),Xvt=age(),Zvt=oge(),eCt=lge(),tCt=fge(),rCt=vW(),nCt=hge(),sCt=xge(),iCt=bge(),aCt=Ege(),oCt=_ge(),cCt=Sge(),uCt=Ige(),lCt=Tge();function dCt(t=!1){let e=[iCt.default,aCt.default,oCt.default,cCt.default,uCt.default,lCt.default,tCt.default,rCt.default,eCt.default,nCt.default,sCt.default];return t?e.push(Yvt.default,Xvt.default):e.push(Kvt.default,Jvt.default),e.push(Zvt.default),e}kW.default=dCt});var Rge=E(LW=>{"use strict";Object.defineProperty(LW,"__esModule",{value:!0});var cs=zt(),fCt={message:({schemaCode:t})=>(0,cs.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,cs._)`{format: ${t}}`},pCt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:fCt,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,cs._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,cs._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,cs._)`${h}.type || "string"`).assign(g,(0,cs._)`${h}.validate`),()=>r.assign(A,(0,cs._)`"string"`).assign(g,h)),t.fail$data((0,cs.or)(b(),y()));function b(){return c.strictSchema===!1?cs.nil:(0,cs._)`${a} && !${g}`}function y(){let x=l.$async?(0,cs._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,cs._)`${g}(${n})`,v=(0,cs._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,cs._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let C=v instanceof RegExp?(0,cs.regexpCode)(v):c.code.formats?(0,cs._)`${c.code.formats}${(0,cs.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:C});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,cs._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,cs._)`await ${g}(${n})`}return typeof A=="function"?(0,cs._)`${g}(${n})`:(0,cs._)`${g}.test(${n})`}}}};LW.default=pCt});var Nge=E(BW=>{"use strict";Object.defineProperty(BW,"__esModule",{value:!0});var mCt=Rge(),hCt=[mCt.default];BW.default=hCt});var Oge=E(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.contentVocabulary=ZA.metadataVocabulary=void 0;ZA.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ZA.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Dge=E(MW=>{"use strict";Object.defineProperty(MW,"__esModule",{value:!0});var gCt=Fhe(),ACt=ege(),yCt=wge(),xCt=Nge(),Pge=Oge(),bCt=[gCt.default,ACt.default,(0,yCt.default)(),xCt.default,Pge.metadataVocabulary,Pge.contentVocabulary];MW.default=bCt});var Lge=E(lN=>{"use strict";Object.defineProperty(lN,"__esModule",{value:!0});lN.DiscrError=void 0;var kge;(function(t){t.Tag="tag",t.Mapping="mapping"})(kge||(lN.DiscrError=kge={}))});var Mge=E($W=>{"use strict";Object.defineProperty($W,"__esModule",{value:!0});var ey=zt(),WW=Lge(),Bge=GR(),ECt=v1(),_Ct=Lr(),SCt={message:({params:{discrError:t,tagName:e}})=>t===WW.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,ey._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},vCt={keyword:"discriminator",type:"object",schemaType:"object",error:SCt,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,ey._)`${r}${(0,ey.getProperty)(o)}`);e.if((0,ey._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:WW.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,ey._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:WW.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,ey.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,_Ct.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=Bge.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof Bge.SchemaEnv&&(v=v.schema),v===void 0)throw new ECt.default(i.opts.uriResolver,i.baseId,R)}let C=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(C,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let C of x.enum)y(C,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};$W.default=vCt});var Wge=E((W3r,CCt)=>{CCt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var UW=E((Nn,FW)=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.MissingRefError=Nn.ValidationError=Nn.CodeGen=Nn.Name=Nn.nil=Nn.stringify=Nn.str=Nn._=Nn.KeywordCxt=Nn.Ajv=void 0;var ICt=khe(),TCt=Dge(),wCt=Mge(),$ge=Wge(),RCt=["/properties"],dN="http://json-schema.org/draft-07/schema",ty=class extends ICt.default{_addVocabularies(){super._addVocabularies(),TCt.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(wCt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema($ge,RCt):$ge;this.addMetaSchema(e,dN,!1),this.refs["http://json-schema.org/schema"]=dN}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(dN)?dN:void 0)}};Nn.Ajv=ty;FW.exports=Nn=ty;FW.exports.Ajv=ty;Object.defineProperty(Nn,"__esModule",{value:!0});Nn.default=ty;var NCt=S1();Object.defineProperty(Nn,"KeywordCxt",{enumerable:!0,get:function(){return NCt.KeywordCxt}});var ry=zt();Object.defineProperty(Nn,"_",{enumerable:!0,get:function(){return ry._}});Object.defineProperty(Nn,"str",{enumerable:!0,get:function(){return ry.str}});Object.defineProperty(Nn,"stringify",{enumerable:!0,get:function(){return ry.stringify}});Object.defineProperty(Nn,"nil",{enumerable:!0,get:function(){return ry.nil}});Object.defineProperty(Nn,"Name",{enumerable:!0,get:function(){return ry.Name}});Object.defineProperty(Nn,"CodeGen",{enumerable:!0,get:function(){return ry.CodeGen}});var OCt=HR();Object.defineProperty(Nn,"ValidationError",{enumerable:!0,get:function(){return OCt.default}});var PCt=v1();Object.defineProperty(Nn,"MissingRefError",{enumerable:!0,get:function(){return PCt.default}})});var Uge=E(($3r,Fge)=>{"use strict";var DCt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Fge.exports={HEX:DCt}});var Kge=E((F3r,zge)=>{"use strict";var{HEX:kCt}=Uge();function Qge(t){if(Vge(t,".")<3)return{host:t,isIPV4:!1};let e=t.match(/^(\b[01]?\d{1,2}|\b2[0-4]\d|\b25[0-5])(\.([01]?\d{1,2}|2[0-4]\d|25[0-5])){3}$/u)||[],[r]=e;return r?{host:BCt(r,"."),isIPV4:!0}:{host:t,isIPV4:!1}}function qW(t){let e="",r=!0;for(let n of t){if(n!=="0"&&r===!0&&(r=!1),kCt[n]===void 0)return;r||(e+=n)}return e}function LCt(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=!1;function c(){if(s.length){if(i===!1){let u=qW(s.join(""));if(u!==void 0)n.push(u);else return r.error=!0,!1}s.length=0}return!0}for(let u=0;u<t.length;u++){let l=t[u];if(!(l==="["||l==="]"))if(l===":"){if(a===!0&&(o=!0),!c())break;if(e++,n.push(":"),e>7){r.error=!0;break}u-1>=0&&t[u-1]===":"&&(a=!0);continue}else if(l==="%"){if(!c())break;i=!0}else{s.push(l);continue}}return s.length&&(i?r.zone=s.join(""):o?n.push(s.join("")):n.push(qW(s.join("")))),r.address=n.join(""),r}function Gge(t,e={}){if(Vge(t,":")<2)return{host:t,isIPV6:!1};let r=LCt(t);if(r.error)return{host:t,isIPV6:!1};{let n=r.address,s=r.address;return r.zone&&(n+="%"+r.zone,s+="%25"+r.zone),{host:n,escapedHost:s,isIPV6:!0}}}function BCt(t,e){let r="",n=!0,s=t.length;for(let i=0;i<s;i++){let a=t[i];a==="0"&&n?(i+1<=s&&t[i+1]===e||i+1===s)&&(r+=a,n=!1):(a===e?n=!0:n=!1,r+=a)}return r}function Vge(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}var qge=/^\.\.?\//u,jge=/^\/\.(?:\/|$)/u,Hge=/^\/\.\.(?:\/|$)/u,MCt=/^\/?(?:.|\n)*?(?=\/|$)/u;function WCt(t){let e=[];for(;t.length;)if(t.match(qge))t=t.replace(qge,"");else if(t.match(jge))t=t.replace(jge,"/");else if(t.match(Hge))t=t.replace(Hge,"/"),e.pop();else if(t==="."||t==="..")t="";else{let r=t.match(MCt);if(r){let n=r[0];t=t.slice(n.length),e.push(n)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function $Ct(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function FCt(t,e){let r=[];if(t.userinfo!==void 0&&(r.push(t.userinfo),r.push("@")),t.host!==void 0){let n=unescape(t.host),s=Qge(n);if(s.isIPV4)n=s.host;else{let i=Gge(s.host,{isIPV4:!1});i.isIPV6===!0?n=`[${i.escapedHost}]`:n=t.host}r.push(n)}return(typeof t.port=="number"||typeof t.port=="string")&&(r.push(":"),r.push(String(t.port))),r.length?r.join(""):void 0}zge.exports={recomposeAuthority:FCt,normalizeComponentEncoding:$Ct,removeDotSegments:WCt,normalizeIPv4:Qge,normalizeIPv6:Gge,stringToHexStripped:qW}});var tAe=E((U3r,eAe)=>{"use strict";var UCt=/^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu,qCt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function Yge(t){return typeof t.secure=="boolean"?t.secure:String(t.scheme).toLowerCase()==="wss"}function Jge(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Xge(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function jCt(t){return t.secure=Yge(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function HCt(t){if((t.port===(Yge(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function QCt(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(qCt);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=jW[s];t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function GCt(t,e){let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=jW[s];i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function VCt(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!UCt.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function zCt(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Zge={scheme:"http",domainHost:!0,parse:Jge,serialize:Xge},KCt={scheme:"https",domainHost:Zge.domainHost,parse:Jge,serialize:Xge},fN={scheme:"ws",domainHost:!0,parse:jCt,serialize:HCt},YCt={scheme:"wss",domainHost:fN.domainHost,parse:fN.parse,serialize:fN.serialize},JCt={scheme:"urn",parse:QCt,serialize:GCt,skipNormalize:!0},XCt={scheme:"urn:uuid",parse:VCt,serialize:zCt,skipNormalize:!0},jW={http:Zge,https:KCt,ws:fN,wss:YCt,urn:JCt,"urn:uuid":XCt};eAe.exports=jW});var QW=E((q3r,mN)=>{"use strict";var{normalizeIPv6:ZCt,normalizeIPv4:eIt,removeDotSegments:$1,recomposeAuthority:tIt,normalizeComponentEncoding:pN}=Kge(),rAe=tAe();function rIt(t,e){return typeof t=="string"?t=Hu(hd(t,e),e):typeof t=="object"&&(t=hd(Hu(t,e),e)),t}function nIt(t,e,r){let n=Object.assign({scheme:"null"},r),s=nAe(hd(t,n),hd(e,n),n,!0);return Hu(s,{...n,skipEscape:!0})}function nAe(t,e,r,n){let s={};return n||(t=hd(Hu(t,r),r),e=hd(Hu(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=$1(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=$1(e.path||""),s.query=e.query):(e.path?(e.path.charAt(0)==="/"?s.path=$1(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=$1(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function sIt(t,e,r){return typeof t=="string"?(t=unescape(t),t=Hu(pN(hd(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Hu(pN(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Hu(pN(hd(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Hu(pN(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Hu(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=rAe[(n.scheme||r.scheme||"").toLowerCase()];i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&(s.push(r.scheme),s.push(":"));let a=tIt(r,n);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path.charAt(0)!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=$1(o)),a===void 0&&(o=o.replace(/^\/\//u,"/%2F")),s.push(o)}return r.query!==void 0&&(s.push("?"),s.push(r.query)),r.fragment!==void 0&&(s.push("#"),s.push(r.fragment)),s.join("")}var iIt=Array.from({length:127},(t,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function aIt(t){let e=0;for(let r=0,n=t.length;r<n;++r)if(e=t.charCodeAt(r),e>126||iIt[e])return!0;return!1}var oIt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function hd(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=t.indexOf("%")!==-1;r.reference==="suffix"&&(t=(r.scheme?r.scheme+":":"")+"//"+t);let i=t.match(oIt);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host){let o=eIt(n.host);o.isIPV4===!1?n.host=ZCt(o.host,{isIPV4:!1}).host.toLowerCase():n.host=o.host}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=rAe[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&aIt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(s&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),s&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),s&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURI(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var HW={normalize:rIt,resolve:nIt,resolveComponents:nAe,equal:sIt,serialize:Hu,parse:hd};mN.exports=HW;mN.exports.default=HW;mN.exports.fastUri=HW});var hN=E(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});Gu.formatNames=Gu.fastFormats=Gu.fullFormats=void 0;function Qu(t,e){return{validate:t,compare:e}}Gu.fullFormats={date:Qu(oAe,KW),time:Qu(VW(!0),YW),"date-time":Qu(sAe(!0),uAe),"iso-time":Qu(VW(),cAe),"iso-date-time":Qu(sAe(),lAe),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:pIt,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:bIt,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:mIt,int32:{type:"number",validate:AIt},int64:{type:"number",validate:yIt},float:{type:"number",validate:aAe},double:{type:"number",validate:aAe},password:!0,binary:!0};Gu.fastFormats={...Gu.fullFormats,date:Qu(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,KW),time:Qu(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,YW),"date-time":Qu(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uAe),"iso-time":Qu(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,cAe),"iso-date-time":Qu(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,lAe),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Gu.formatNames=Object.keys(Gu.fullFormats);function cIt(t){return t%4===0&&(t%100!==0||t%400===0)}var uIt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,lIt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function oAe(t){let e=uIt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&s<=(n===2&&cIt(r)?29:lIt[n])}function KW(t,e){if(t&&e)return t>e?1:t<e?-1:0}var GW=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function VW(t){return function(r){let n=GW.exec(r);if(!n)return!1;let s=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!o)return!1;if(s<=23&&i<=59&&a<60)return!0;let d=i-l*c,f=s-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function YW(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function cAe(t,e){if(!(t&&e))return;let r=GW.exec(t),n=GW.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var zW=/t|\s/i;function sAe(t){let e=VW(t);return function(n){let s=n.split(zW);return s.length===2&&oAe(s[0])&&e(s[1])}}function uAe(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function lAe(t,e){if(!(t&&e))return;let[r,n]=t.split(zW),[s,i]=e.split(zW),a=KW(r,s);if(a!==void 0)return a||YW(n,i)}var dIt=/\/|:/,fIt=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function pIt(t){return dIt.test(t)&&fIt.test(t)}var iAe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function mIt(t){return iAe.lastIndex=0,iAe.test(t)}var hIt=-(2**31),gIt=2**31-1;function AIt(t){return Number.isInteger(t)&&t<=gIt&&t>=hIt}function yIt(t){return Number.isInteger(t)}function aAe(){return!0}var xIt=/[^\\]\\Z/;function bIt(t){if(xIt.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var dAe=E(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.formatLimitDefinition=void 0;var EIt=UW(),jc=zt(),Ep=jc.operators,gN={formatMaximum:{okStr:"<=",ok:Ep.LTE,fail:Ep.GT},formatMinimum:{okStr:">=",ok:Ep.GTE,fail:Ep.LT},formatExclusiveMaximum:{okStr:"<",ok:Ep.LT,fail:Ep.GTE},formatExclusiveMinimum:{okStr:">",ok:Ep.GT,fail:Ep.LTE}},_It={message:({keyword:t,schemaCode:e})=>(0,jc.str)`should be ${gN[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,jc._)`{comparison: ${gN[t].okStr}, limit: ${e}}`};ny.formatLimitDefinition={keyword:Object.keys(gN),type:"string",schemaType:"string",$data:!0,error:_It,code(t){let{gen:e,data:r,schemaCode:n,keyword:s,it:i}=t,{opts:a,self:o}=i;if(!a.validateFormats)return;let c=new EIt.KeywordCxt(i,o.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:o.formats,code:a.code.formats}),p=e.const("fmt",(0,jc._)`${f}[${c.schemaCode}]`);t.fail$data((0,jc.or)((0,jc._)`typeof ${p} != "object"`,(0,jc._)`${p} instanceof RegExp`,(0,jc._)`typeof ${p}.compare != "function"`,d(p)))}function l(){let f=c.schema,p=o.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${s}": format "${f}" does not define "compare" function`);let m=e.scopeValue("formats",{key:f,ref:p,code:a.code.formats?(0,jc._)`${a.code.formats}${(0,jc.getProperty)(f)}`:void 0});t.fail$data(d(m))}function d(f){return(0,jc._)`${f}.compare(${r}, ${n}) ${gN[s].fail} 0`}},dependencies:["format"]};var SIt=t=>(t.addKeyword(ny.formatLimitDefinition),t);ny.default=SIt});var hAe=E((F1,mAe)=>{"use strict";Object.defineProperty(F1,"__esModule",{value:!0});var sy=hN(),vIt=dAe(),JW=zt(),fAe=new JW.Name("fullFormats"),CIt=new JW.Name("fastFormats"),XW=(t,e={keywords:!0})=>{if(Array.isArray(e))return pAe(t,e,sy.fullFormats,fAe),t;let[r,n]=e.mode==="fast"?[sy.fastFormats,CIt]:[sy.fullFormats,fAe],s=e.formats||sy.formatNames;return pAe(t,s,r,n),e.keywords&&(0,vIt.default)(t),t};XW.get=(t,e="full")=>{let n=(e==="fast"?sy.fastFormats:sy.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function pAe(t,e,r,n){var s,i;(s=(i=t.opts.code).formats)!==null&&s!==void 0||(i.formats=(0,JW._)`require("ajv-formats/dist/formats").${n}`);for(let a of e)t.addFormat(a,r[a])}mAe.exports=F1=XW;Object.defineProperty(F1,"__esModule",{value:!0});F1.default=XW});var e$=E((Q3r,gAe)=>{"use strict";var IIt=UW(),TIt=QW(),wIt=hAe(),RIt=NR()({proto:!0}),ZW=class t{constructor(e){this.ajv=new IIt({...e,strictSchema:!1,validateSchema:!1,allowUnionTypes:!0,uriResolver:TIt}),wIt(this.ajv),this.ajv.addKeyword({keyword:"fjs_type",type:"object",errors:!1,validate:(r,n)=>n instanceof Date}),this._ajvSchemas={},this._ajvOptions=e||{}}addSchema(e,r){let n=e.$id||r;if(e.$id!==void 0&&e.$id[0]==="#"&&(n=r+e.$id),this.ajv.refs[n]===void 0&&this.ajv.schemas[n]===void 0){let s=RIt(e);this.convertSchemaToAjvFormat(s),this.ajv.addSchema(s,n),this._ajvSchemas[n]=e}}validate(e,r){return this.ajv.validate(e,r)}convertSchemaToAjvFormat(e){if(e!==null){e.type==="string"?(e.fjs_type="string",e.type=["string","object"]):Array.isArray(e.type)&&e.type.includes("string")&&!e.type.includes("object")&&(e.fjs_type="string",e.type.push("object"));for(let r in e)typeof e[r]=="object"&&this.convertSchemaToAjvFormat(e[r])}}getState(){return{ajvOptions:this._ajvOptions,ajvSchemas:this._ajvSchemas}}static restoreFromState(e){let r=new t(e.ajvOptions);for(let[n,s]of Object.entries(e.ajvSchemas))r.ajv.addSchema(s,n);return r}};gAe.exports=ZW});var r$=E((G3r,t$)=>{"use strict";function NIt(t,e,r,n){let s="";e.validatorSchemasIds.size>0?(s+=`const Validator = require('fast-json-stringify/lib/validator')
|
|
`,s+=`const validatorState = ${JSON.stringify(n.getState())}
|
|
`,s+=`const validator = Validator.restoreFromState(validatorState)
|
|
`):s+=`const validator = null
|
|
`;let{schema:i,...a}=r.getState();return`
|
|
'use strict'
|
|
|
|
const Serializer = require('fast-json-stringify/lib/serializer')
|
|
const serializerState = ${JSON.stringify(a)}
|
|
const serializer = Serializer.restoreFromState(serializerState)
|
|
|
|
${s}
|
|
|
|
module.exports = ${t.toString()}(validator, serializer)`}t$.exports=NIt;t$.exports.dependencies={Serializer:n8(),Validator:e$()}});var yAe=E((z3r,AAe)=>{"use strict";var{dependencies:OIt}=r$(),{Serializer:PIt,Validator:V3r}=OIt,DIt={mode:"standalone"},kIt=PIt.restoreFromState(DIt),LIt=null;AAe.exports=function(e,r){function n(i){let a=i&&typeof i.toJSON=="function"?i.toJSON():i;if(a===null)return"{}";let o=!1,c="{";return a.statusCode!==void 0&&(!o&&(o=!0)||(c+=","),c+='"statusCode":',c+=r.asNumber(a.statusCode)),a.code!==void 0&&(!o&&(o=!0)||(c+=","),c+='"code":',c+=r.asString(a.code)),a.error!==void 0&&(!o&&(o=!0)||(c+=","),c+='"error":',c+=r.asString(a.error)),a.message!==void 0&&(!o&&(o=!0)||(c+=","),c+='"message":',c+=r.asString(a.message)),c+"}"}return n}(LIt,kIt)});var U1=E((K3r,_Ae)=>{"use strict";var xAe=require("node:http").STATUS_CODES,BIt=e5(),{kReplyHeaders:Dm,kReplyNextErrorHandler:AN,kReplyIsRunningOnErrorHook:MIt,kReplyHasStatusCode:WIt,kRouteContext:EAe}=Qs(),{FST_ERR_REP_INVALID_PAYLOAD_TYPE:$It,FST_ERR_FAILED_ERROR_SERIALIZATION:FIt}=Ci(),{getSchemaSerializer:UIt}=u1(),n$=yAe(),qIt={func:HIt,toJSON(){return this.func.name.toString()+"()"}};function jIt(t,e,r){t[MIt]=!1;let n=t[EAe];if(t[AN]===!1){bAe(e,t,function(o,c){try{o.raw.writeHead(o.raw.statusCode,o[Dm])}catch(u){o.log.warn({req:o.request,res:o,err:u},u&&u.message),o.raw.writeHead(o.raw.statusCode)}o.raw.end(c)});return}let s=t[AN]||n.errorHandler;t[AN]=Object.getPrototypeOf(s),delete t[Dm]["content-type"],delete t[Dm]["content-length"];let i=s.func;if(!i){t[AN]=!1,bAe(e,t,r);return}let a=i(e,t.request,t);a!==void 0&&(a!==null&&typeof a.then=="function"?BIt(a,t):t.send(a))}function HIt(t,e,r){if(GIt(t,r),!r[WIt]||r.statusCode===200){let n=t.statusCode||t.status;r.code(n>=400?n:500)}r.statusCode<500?r.log.info({res:r,err:t},t&&t.message):r.log.error({req:e,res:r,err:t},t&&t.message),r.send(t)}function bAe(t,e,r){let n=e.raw,s=e.statusCode;e[Dm]["content-type"]=e[Dm]["content-type"]??"application/json; charset=utf-8";let i;try{let a=UIt(e[EAe],s,e[Dm]["content-type"]);i=a===!1?n$({error:xAe[s+""],code:t.code,message:t.message,statusCode:s}):a(Object.create(t,{error:{value:xAe[s+""]},message:{value:t.message},statusCode:{value:s}}))}catch(a){e.log.error({err:a,statusCode:n.statusCode},"The serializer for the given status code failed"),e.code(500),i=n$(new FIt(a.message,t.message))}typeof i!="string"&&!Buffer.isBuffer(i)&&(i=n$(new $It(typeof i))),e[Dm]["content-length"]=""+Buffer.byteLength(i),r(e,i)}function QIt(t=qIt,e){if(!e)return t;let r=Object.create(t);return r.func=e,r}function GIt(t,e){let r=e.raw,n=r.statusCode;n=n>=400?n:500,t!=null&&(t.headers!==void 0&&e.headers(t.headers),t.status>=400?n=t.status:t.statusCode>=400&&(n=t.statusCode)),r.statusCode=n}_Ae.exports={buildErrorHandler:QIt,handleError:jIt}});var SN=E((Y3r,_N)=>{"use strict";var o$=require("node:stream").finished,VIt=require("node:stream").Readable,{kFourOhFourContext:SAe,kPublicRouteContext:vAe,kReplyErrorHandlerCalled:PAe,kReplyHijacked:q1,kReplyStartTime:j1,kReplyEndTime:u$,kReplySerializer:gd,kReplySerializerDefault:xN,kReplyIsError:bN,kReplyHeaders:bn,kReplyTrailers:Gs,kReplyHasStatusCode:l$,kReplyIsRunningOnErrorHook:d$,kReplyNextErrorHandler:zIt,kDisableRequestLogging:DAe,kSchemaResponse:EN,kReplyCacheSerializeFns:_p,kSchemaController:s$,kOptions:KIt,kRouteContext:rr}=Qs(),{onSendHookRunner:kAe,onResponseHookRunner:YIt,preHandlerHookRunner:JIt,preSerializationHookRunner:XIt}=up(),CAe=s5()[Symbol.for("internals")],ZIt=c1(),c$=ZIt.now,{handleError:IAe}=U1(),{getSchemaSerializer:eTt}=u1(),i$={JSON:"application/json; charset=utf-8",PLAIN:"text/plain; charset=utf-8",OCTET:"application/octet-stream"},{FST_ERR_REP_INVALID_PAYLOAD_TYPE:tTt,FST_ERR_REP_RESPONSE_BODY_CONSUMED:rTt,FST_ERR_REP_ALREADY_SENT:LAe,FST_ERR_REP_SENT_VALUE:nTt,FST_ERR_SEND_INSIDE_ONERR:sTt,FST_ERR_BAD_STATUS_CODE:iTt,FST_ERR_BAD_TRAILER_NAME:aTt,FST_ERR_BAD_TRAILER_VALUE:oTt,FST_ERR_MISSING_SERIALIZATION_FN:cTt,FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN:uTt}=Ci(),{FSTDEP010:lTt,FSTDEP013:dTt,FSTDEP019:fTt,FSTDEP020:pTt}=cd(),BAe=Object.prototype.toString;function dn(t,e,r){this.raw=t,this[gd]=null,this[PAe]=!1,this[bN]=!1,this[d$]=!1,this.request=e,this[bn]={},this[Gs]=null,this[l$]=!1,this[j1]=void 0,this.log=r}dn.props=[];Object.defineProperties(dn.prototype,{[rr]:{get(){return this.request[rr]}},context:{get(){return fTt(),this.request[rr]}},elapsedTime:{get(){return this[j1]===void 0?0:(this[u$]||c$())-this[j1]}},server:{get(){return this.request[rr].server}},sent:{enumerable:!0,get(){return(this[q1]||this.raw.writableEnded)===!0},set(t){if(lTt(),t!==!0)throw new nTt;if(this.sent&&this[q1])throw new LAe(this.request.url,this.request.method);this[q1]=!0}},statusCode:{get(){return this.raw.statusCode},set(t){this.code(t)}},[vAe]:{get(){return this.request[vAe]}}});dn.prototype.hijack=function(){return this[q1]=!0,this};dn.prototype.send=function(t){if(this[d$]===!0)throw new sTt;if(this.sent)return this.log.warn({err:new LAe(this.request.url,this.request.method)}),this;if(t instanceof Error||this[bN]===!0)return this[bN]=!1,H1(this,t,km),this;if(t===void 0)return km(this,t),this;let e=this.getHeader("content-type"),r=e!==void 0;if(t!==null){if(typeof t.pipe=="function"||typeof t.getReader=="function"||BAe.call(t)==="[object Response]")return km(this,t),this;if(t?.buffer instanceof ArrayBuffer){r===!1&&(this[bn]["content-type"]=i$.OCTET);let n=Buffer.isBuffer(t)?t:Buffer.from(t.buffer,t.byteOffset,t.byteLength);return km(this,n),this}if(r===!1&&typeof t=="string")return this[bn]["content-type"]=i$.PLAIN,km(this,t),this}if(this[gd]!==null){if(typeof t!="string")return TAe(this,t),this;t=this[gd](t)}else if(r===!1||e.indexOf("json")>-1){if(r===!1)this[bn]["content-type"]=i$.JSON;else if(e.indexOf("charset")===-1){let n=e.trim();n.endsWith(";")?this[bn]["content-type"]=`${n} charset=utf-8`:this[bn]["content-type"]=`${n}; charset=utf-8`}if(typeof t!="string")return TAe(this,t),this}return km(this,t),this};dn.prototype.getHeader=function(t){t=t.toLowerCase();let e=this.raw,r=this[bn][t];return r===void 0&&e.hasHeader(t)&&(r=e.getHeader(t)),r};dn.prototype.getHeaders=function(){return{...this.raw.getHeaders(),...this[bn]}};dn.prototype.hasHeader=function(t){return t=t.toLowerCase(),this[bn][t]!==void 0||this.raw.hasHeader(t)};dn.prototype.removeHeader=function(t){return delete this[bn][t.toLowerCase()],this};dn.prototype.header=function(t,e=""){return t=t.toLowerCase(),this[bn][t]&&t==="set-cookie"?(typeof this[bn][t]=="string"&&(this[bn][t]=[this[bn][t]]),Array.isArray(e)?Array.prototype.push.apply(this[bn][t],e):this[bn][t].push(e)):this[bn][t]=e,this};dn.prototype.headers=function(t){let e=Object.keys(t);for(var r=0;r!==e.length;++r){let n=e[r];this.header(n,t[n])}return this};var mTt=new Set(["transfer-encoding","content-length","host","cache-control","max-forwards","te","authorization","set-cookie","content-encoding","content-type","content-range","trailer"]);dn.prototype.trailer=function(t,e){if(t=t.toLowerCase(),mTt.has(t))throw new aTt(t);if(typeof e!="function")throw new oTt(t,typeof e);return this[Gs]===null&&(this[Gs]={}),this[Gs][t]=e,this};dn.prototype.hasTrailer=function(t){return this[Gs]?.[t.toLowerCase()]!==void 0};dn.prototype.removeTrailer=function(t){return this[Gs]===null?this:(this[Gs][t.toLowerCase()]=void 0,this)};dn.prototype.code=function(t){let e=Number(t);if(isNaN(e)||e<100||e>599)throw new iTt(t||String(t));return this.raw.statusCode=e,this[l$]=!0,this};dn.prototype.status=dn.prototype.code;dn.prototype.getSerializationFunction=function(t,e){let r;return typeof t=="string"||typeof t=="number"?typeof e=="string"?r=this[rr][EN]?.[t]?.[e]:r=this[rr][EN]?.[t]:typeof t=="object"&&(r=this[rr][_p]?.get(t)),r};dn.prototype.compileSerializationSchema=function(t,e=null,r=null){let{request:n}=this,{method:s,url:i}=n;if(this[rr][_p]?.has(t))return this[rr][_p].get(t);let o=(this[rr].serializerCompiler||this.server[s$].serializerCompiler||this.server[s$].setupSerializer(this.server[KIt])||this.server[s$].serializerCompiler)({schema:t,method:s,url:i,httpStatus:e,contentType:r});return this[rr][_p]==null&&(this[rr][_p]=new WeakMap),this[rr][_p].set(t,o),o};dn.prototype.serializeInput=function(t,e,r,n){let s=r,i;if(r=typeof e=="string"||typeof e=="number"?e:r,n=r&&s!==r?s:n,r!=null){if(n!=null?i=this[rr][EN]?.[r]?.[n]:i=this[rr][EN]?.[r],i==null)throw n?new uTt(r,n):new cTt(r)}else this[rr][_p]?.has(e)?i=this[rr][_p].get(e):i=this.compileSerializationSchema(e,r,n);return i(t)};dn.prototype.serialize=function(t){return this[gd]!==null?this[gd](t):this[rr]&&this[rr][xN]?this[rr][xN](t,this.raw.statusCode):$Ae(this[rr],t,this.raw.statusCode)};dn.prototype.serializer=function(t){return this[gd]=t,this};dn.prototype.type=function(t){return this[bn]["content-type"]=t,this};dn.prototype.redirect=function(t,e){return typeof t=="string"&&(e=t,t=this[l$]?this.raw.statusCode:302),this.header("location",e).code(t).send()};dn.prototype.callNotFound=function(){return bTt(this),this};dn.prototype.getResponseTime=function(){return pTt(),this.elapsedTime};dn.prototype.then=function(t,e){if(this.sent){t();return}o$(this.raw,r=>{r&&r.code!=="ERR_STREAM_PREMATURE_CLOSE"?e?e(r):this.log&&this.log.warn("unhandled rejection on reply.then"):t()})};function TAe(t,e){t[rr].preSerialization!==null?XIt(t[rr].preSerialization,t.request,t,e,wAe):wAe(null,t.request,t,e)}function wAe(t,e,r,n){if(t!=null){H1(r,t);return}try{r[gd]!==null?n=r[gd](n):r[rr]&&r[rr][xN]?n=r[rr][xN](n,r.raw.statusCode):n=$Ae(r[rr],n,r.raw.statusCode,r[bn]["content-type"])}catch(s){hTt(s,r),H1(r,s);return}km(r,n)}function hTt(t,e){t.serialization=e[rr].config}function km(t,e){t[rr].onSend!==null?kAe(t[rr].onSend,t.request,t,e,gTt):MAe(t,e)}function gTt(t,e,r,n){t!=null?H1(r,t):MAe(r,n)}function a$(t,e){let r=t.raw;try{r.writeHead(e,t[bn])}catch(n){throw n.code==="ERR_HTTP_HEADERS_SENT"&&t.log.warn(`Reply was already sent, did you forget to "return reply" in the "${t.request.raw.url}" (${t.request.raw.method}) route?`),n}}function MAe(t,e){let r=t.raw,n=t.request;if(t[Gs]!==null){let a=Object.keys(t[Gs]),o="";for(let c of a)typeof t[Gs][c]=="function"&&(o+=" ",o+=c);t.header("Transfer-Encoding","chunked"),t.header("Trailer",o.trim())}let s=BAe.call(e)==="[object Response]";s&&typeof e.status=="number"&&t.code(e.status);let i=r.statusCode;if(e==null){i>=200&&i!==204&&i!==304&&n.method!=="HEAD"&&t[Gs]===null&&(t[bn]["content-length"]="0"),a$(t,i),yN(e,r,t);return}if(i>=100&&i<200||i===204){t.removeHeader("content-type"),t.removeHeader("content-length"),a$(t,i),yN(void 0,r,t),typeof e.resume=="function"&&(e.on("error",FAe),e.resume());return}if(typeof e.pipe=="function"){WAe(e,r,t);return}if(typeof e.getReader=="function"){NAe(e,r,t);return}if(s){if(typeof e.headers=="object"&&typeof e.headers.forEach=="function")for(let[a,o]of e.headers)t.header(a,o);if(e.body!=null){if(e.bodyUsed)throw new rTt;NAe(e.body,r,t)}return}if(typeof e!="string"&&!Buffer.isBuffer(e))throw new tTt(typeof e);if(t[Gs]===null){let a=t[bn]["content-length"];(!a||n.raw.method!=="HEAD"&&Number(a)!==Buffer.byteLength(e))&&(t[bn]["content-length"]=""+Buffer.byteLength(e))}a$(t,i),r.write(e),yN(e,r,t)}function RAe(t,e,r){e.code==="ERR_STREAM_PREMATURE_CLOSE"?t[DAe]||t.info({res:r},"stream closed prematurely"):t.warn({err:e},"response terminated with an error with headers already sent")}function NAe(t,e,r){let n=VIt.fromWeb(t);WAe(n,e,r)}function WAe(t,e,r){let n=!0,s=!1;if(ATt(t,e,r),o$(t,{readable:!0,writable:!1},function(i){n=!1,i!=null&&(e.headersSent||r.request.raw.aborted===!0?(s||(s=!0,RAe(r.log,i,e)),e.destroy()):H1(r,i))}),o$(e,function(i){n&&(i!=null&&e.headersSent&&!s&&(s=!0,RAe(r.log,i,e)),typeof t.destroy=="function"?t.destroy():typeof t.close=="function"?t.close(FAe):typeof t.abort=="function"?t.abort():r.log.warn("stream payload does not end properly"))}),e.headersSent)r.log.warn("response will send, but you shouldn't use res.writeHead in stream mode");else for(let i in r[bn])e.setHeader(i,r[bn][i]);t.pipe(e)}function yN(t,e,r){if(r[Gs]===null){e.end(null,null,null);return}let n=Object.keys(r[Gs]),s={},i=0,a=!0;function o(){i===0&&(e.addTrailers(s),e.end(null,null,null))}for(let c of n){let u=function(d,f){i++,d?r.log.debug(d):s[c]=f,process.nextTick(o)};if(typeof r[Gs][c]!="function")continue;a=!1,i--;let l=r[Gs][c](r,t,u);typeof l=="object"&&typeof l.then=="function"?l.then(d=>u(null,d),u):l!=null&&(dTt(),u(null,l))}a&&e.end(null,null,null)}function ATt(t,e,r){r[Gs]!==null&&t.on("end",()=>yN(null,e,r))}function H1(t,e,r){t[rr].onError!==null&&!t[zIt]?(t[d$]=!0,kAe(t[rr].onError,t.request,t,e,()=>IAe(t,e,r))):IAe(t,e,r)}function yTt(t){t[j1]=c$();let e=r=>{t[u$]=c$(),t.raw.removeListener("finish",e),t.raw.removeListener("error",e);let n=t[rr];n&&n.onResponse!==null?YIt(n.onResponse,t.request,t,OAe):OAe(r,t.request,t)};t.raw.on("finish",e),t.raw.on("error",e)}function OAe(t,e,r){if(r.log[DAe])return;let n=r.elapsedTime;if(t!=null){r.log.error({res:r,err:t,responseTime:n},"request errored");return}r.log.info({res:r,responseTime:n},"request completed")}function xTt(t){let e=t.props.slice();function r(n,s,i){this.raw=n,this[bN]=!1,this[PAe]=!1,this[q1]=!1,this[gd]=null,this.request=s,this[bn]={},this[Gs]=null,this[j1]=void 0,this[u$]=void 0,this.log=i;for(var a,o=0;o<e.length;o++)a=e[o],this[a.key]=a.value}return Object.setPrototypeOf(r.prototype,t.prototype),Object.setPrototypeOf(r,t),r.parent=t,r.props=e,r}function bTt(t){if(t[rr][SAe]===null){t.log.warn("Trying to send a NotFound error inside a 404 handler. Sending basic 404 response."),t.code(404).send("404 Not Found");return}t.request[rr]=t[rr][SAe],t[rr].preHandler!==null?JIt(t[rr].preHandler,t.request,t,CAe.preHandlerCallback):CAe.preHandlerCallback(null,t.request,t)}function $Ae(t,e,r,n){let s=eTt(t,r,n);return s?s(e):JSON.stringify(e)}function FAe(){}_N.exports=dn;_N.exports.buildReply=xTt;_N.exports.setupResponseListeners=yTt});var qAe=E((J3r,UAe)=>{"use strict";UAe.exports=ETt;function ETt(t){if(!t)throw new TypeError("argument req is required");var e=STt(t.headers["x-forwarded-for"]||""),r=_Tt(t),n=[r].concat(e);return n}function _Tt(t){return t.socket?t.socket.remoteAddress:t.connection.remoteAddress}function STt(t){for(var e=t.length,r=[],n=t.length,s=t.length-1;s>=0;s--)switch(t.charCodeAt(s)){case 32:n===e&&(n=e=s);break;case 44:n!==e&&r.push(t.substring(n,e)),n=e=s;break;default:n=s;break}return n!==e&&r.push(t.substring(n,e)),r}});var HAe=E((jAe,Q1)=>{(function(){var t,e,r,n,s,i,a,o,c;e={},o=this,typeof Q1<"u"&&Q1!==null&&Q1.exports?Q1.exports=e:o.ipaddr=e,a=function(u,l,d,f){var p,m;if(u.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(p=0;f>0;){if(m=d-f,m<0&&(m=0),u[p]>>m!==l[p]>>m)return!1;f-=d,p+=1}return!0},e.subnetMatch=function(u,l,d){var f,p,m,h,A;d==null&&(d="unicast");for(m in l)for(h=l[m],h[0]&&!(h[0]instanceof Array)&&(h=[h]),f=0,p=h.length;f<p;f++)if(A=h[f],u.kind()===A[0].kind()&&u.match.apply(u,A))return m;return d},e.IPv4=function(){function u(l){var d,f,p;if(l.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");for(d=0,f=l.length;d<f;d++)if(p=l[d],!(0<=p&&p<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=l}return u.prototype.kind=function(){return"ipv4"},u.prototype.toString=function(){return this.octets.join(".")},u.prototype.toNormalizedString=function(){return this.toString()},u.prototype.toByteArray=function(){return this.octets.slice(0)},u.prototype.match=function(l,d){var f;if(d===void 0&&(f=l,l=f[0],d=f[1]),l.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return a(this.octets,l.octets,8,d)},u.prototype.SpecialRanges={unspecified:[[new u([0,0,0,0]),8]],broadcast:[[new u([255,255,255,255]),32]],multicast:[[new u([224,0,0,0]),4]],linkLocal:[[new u([169,254,0,0]),16]],loopback:[[new u([127,0,0,0]),8]],carrierGradeNat:[[new u([100,64,0,0]),10]],private:[[new u([10,0,0,0]),8],[new u([172,16,0,0]),12],[new u([192,168,0,0]),16]],reserved:[[new u([192,0,0,0]),24],[new u([192,0,2,0]),24],[new u([192,88,99,0]),24],[new u([198,51,100,0]),24],[new u([203,0,113,0]),24],[new u([240,0,0,0]),4]]},u.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)},u.prototype.toIPv4MappedAddress=function(){return e.IPv6.parse("::ffff:"+this.toString())},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,f,p,m,h,A;for(A={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},l=0,m=!1,d=f=3;f>=0;d=f+=-1)if(p=this.octets[d],p in A){if(h=A[p],m&&h!==0)return null;h!==8&&(m=!0),l+=h}else return null;return 32-l},u}(),r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^"+r+"\\."+r+"\\."+r+"\\."+r+"$","i"),longValue:new RegExp("^"+r+"$","i")},e.IPv4.parser=function(u){var l,d,f,p,m;if(d=function(h){return h[0]==="0"&&h[1]!=="x"?parseInt(h,8):parseInt(h)},l=u.match(n.fourOctet))return function(){var h,A,g,b;for(g=l.slice(1,6),b=[],h=0,A=g.length;h<A;h++)f=g[h],b.push(d(f));return b}();if(l=u.match(n.longValue)){if(m=d(l[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){var h,A;for(A=[],p=h=0;h<=24;p=h+=8)A.push(m>>p&255);return A}().reverse()}else return null},e.IPv6=function(){function u(l,d){var f,p,m,h,A,g;if(l.length===16)for(this.parts=[],f=p=0;p<=14;f=p+=2)this.parts.push(l[f]<<8|l[f+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=this.parts,m=0,h=g.length;m<h;m++)if(A=g[m],!(0<=A&&A<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");d&&(this.zoneId=d)}return u.prototype.kind=function(){return"ipv6"},u.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},u.prototype.toRFC5952String=function(){var l,d,f,p,m;for(p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),l=0,d=-1;f=p.exec(m);)f[0].length>d&&(l=f.index,d=f[0].length);return d<0?m:m.substring(0,l)+"::"+m.substring(l+d)},u.prototype.toByteArray=function(){var l,d,f,p,m;for(l=[],m=this.parts,d=0,f=m.length;d<f;d++)p=m[d],l.push(p>>8),l.push(p&255);return l},u.prototype.toNormalizedString=function(){var l,d,f;return l=function(){var p,m,h,A;for(h=this.parts,A=[],p=0,m=h.length;p<m;p++)d=h[p],A.push(d.toString(16));return A}.call(this).join(":"),f="",this.zoneId&&(f="%"+this.zoneId),l+f},u.prototype.toFixedLengthString=function(){var l,d,f;return l=function(){var p,m,h,A;for(h=this.parts,A=[],p=0,m=h.length;p<m;p++)d=h[p],A.push(d.toString(16).padStart(4,"0"));return A}.call(this).join(":"),f="",this.zoneId&&(f="%"+this.zoneId),l+f},u.prototype.match=function(l,d){var f;if(d===void 0&&(f=l,l=f[0],d=f[1]),l.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return a(this.parts,l.parts,16,d)},u.prototype.SpecialRanges={unspecified:[new u([0,0,0,0,0,0,0,0]),128],linkLocal:[new u([65152,0,0,0,0,0,0,0]),10],multicast:[new u([65280,0,0,0,0,0,0,0]),8],loopback:[new u([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new u([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new u([0,0,0,0,0,65535,0,0]),96],rfc6145:[new u([0,0,0,0,65535,0,0,0]),96],rfc6052:[new u([100,65435,0,0,0,0,0,0]),96],"6to4":[new u([8194,0,0,0,0,0,0,0]),16],teredo:[new u([8193,0,0,0,0,0,0,0]),32],reserved:[[new u([8193,3512,0,0,0,0,0,0]),32]]},u.prototype.range=function(){return e.subnetMatch(this,this.SpecialRanges)},u.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},u.prototype.toIPv4Address=function(){var l,d,f;if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");return f=this.parts.slice(-2),l=f[0],d=f[1],new e.IPv4([l>>8,l&255,d>>8,d&255])},u.prototype.prefixLengthFromSubnetMask=function(){var l,d,f,p,m,h,A;for(A={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},l=0,m=!1,d=f=7;f>=0;d=f+=-1)if(p=this.parts[d],p in A){if(h=A[p],m&&h!==0)return null;h!==16&&(m=!0),l+=h}else return null;return 128-l},u}(),s="(?:[0-9a-f]+::?)+",c="%[0-9a-z]{1,}",i={zoneIndex:new RegExp(c,"i"),native:new RegExp("^(::)?("+s+")?([0-9a-f]+)?(::)?("+c+")?$","i"),transitional:new RegExp("^((?:"+s+")|(?:::)(?:"+s+")?)"+(r+"\\."+r+"\\."+r+"\\."+r)+("("+c+")?$"),"i")},t=function(u,l){var d,f,p,m,h,A;if(u.indexOf("::")!==u.lastIndexOf("::"))return null;for(A=(u.match(i.zoneIndex)||[])[0],A&&(A=A.substring(1),u=u.replace(/%.+$/,"")),d=0,f=-1;(f=u.indexOf(":",f+1))>=0;)d++;if(u.substr(0,2)==="::"&&d--,u.substr(-2,2)==="::"&&d--,d>l)return null;for(h=l-d,m=":";h--;)m+="0:";return u=u.replace("::",m),u[0]===":"&&(u=u.slice(1)),u[u.length-1]===":"&&(u=u.slice(0,-1)),l=function(){var g,b,y,x;for(y=u.split(":"),x=[],g=0,b=y.length;g<b;g++)p=y[g],x.push(parseInt(p,16));return x}(),{parts:l,zoneId:A}},e.IPv6.parser=function(u){var l,d,f,p,m,h,A;if(i.native.test(u))return t(u,8);if((p=u.match(i.transitional))&&(A=p[6]||"",l=t(p[1].slice(0,-1)+A,6),l.parts)){for(h=[parseInt(p[2]),parseInt(p[3]),parseInt(p[4]),parseInt(p[5])],d=0,f=h.length;d<f;d++)if(m=h[d],!(0<=m&&m<=255))return null;return l.parts.push(h[0]<<8|h[1]),l.parts.push(h[2]<<8|h[3]),{parts:l.parts,zoneId:l.zoneId}}return null},e.IPv4.isIPv4=e.IPv6.isIPv6=function(u){return this.parser(u)!==null},e.IPv4.isValid=function(u){var l;try{return new this(this.parser(u)),!0}catch(d){return l=d,!1}},e.IPv4.isValidFourPartDecimal=function(u){return!!(e.IPv4.isValid(u)&&u.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},e.IPv6.isValid=function(u){var l,d;if(typeof u=="string"&&u.indexOf(":")===-1)return!1;try{return l=this.parser(u),new this(l.parts,l.zoneId),!0}catch(f){return d=f,!1}},e.IPv4.parse=function(u){var l;if(l=this.parser(u),l===null)throw new Error("ipaddr: string is not formatted like ip address");return new this(l)},e.IPv6.parse=function(u){var l;if(l=this.parser(u),l.parts===null)throw new Error("ipaddr: string is not formatted like ip address");return new this(l.parts,l.zoneId)},e.IPv4.parseCIDR=function(u){var l,d,f;if((d=u.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=32))return f=[this.parse(d[1]),l],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},e.IPv4.subnetMaskFromPrefixLength=function(u){var l,d,f;if(u=parseInt(u),u<0||u>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(f=[0,0,0,0],d=0,l=Math.floor(u/8);d<l;)f[d]=255,d++;return l<4&&(f[l]=Math.pow(2,u%8)-1<<8-u%8),new this(f)},e.IPv4.broadcastAddressFromCIDR=function(u){var l,d,f,p,m,h;try{for(l=this.parseCIDR(u),p=l[0].toByteArray(),h=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),m=[],f=0;f<4;)m.push(parseInt(p[f],10)|parseInt(h[f],10)^255),f++;return new this(m)}catch(A){throw d=A,new Error("ipaddr: the address does not have IPv4 CIDR format")}},e.IPv4.networkAddressFromCIDR=function(u){var l,d,f,p,m,h;try{for(l=this.parseCIDR(u),p=l[0].toByteArray(),h=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),m=[],f=0;f<4;)m.push(parseInt(p[f],10)&parseInt(h[f],10)),f++;return new this(m)}catch(A){throw d=A,new Error("ipaddr: the address does not have IPv4 CIDR format")}},e.IPv6.parseCIDR=function(u){var l,d,f;if((d=u.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=128))return f=[this.parse(d[1]),l],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},e.isValid=function(u){return e.IPv6.isValid(u)||e.IPv4.isValid(u)},e.parse=function(u){if(e.IPv6.isValid(u))return e.IPv6.parse(u);if(e.IPv4.isValid(u))return e.IPv4.parse(u);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},e.parseCIDR=function(u){var l;try{return e.IPv6.parseCIDR(u)}catch(d){l=d;try{return e.IPv4.parseCIDR(u)}catch(f){throw l=f,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},e.fromByteArray=function(u){var l;if(l=u.length,l===4)return new e.IPv4(u);if(l===16)return new e.IPv6(u);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},e.process=function(u){var l;return l=this.parse(u),l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l}}).call(jAe)});var KAe=E((X3r,IN)=>{"use strict";IN.exports=NTt;IN.exports.all=VAe;IN.exports.compile=zAe;var vTt=qAe(),GAe=HAe(),CTt=/^[0-9]+$/,vN=GAe.isValid,CN=GAe.parse,QAe={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function VAe(t,e){var r=vTt(t);if(!e)return r;typeof e!="function"&&(e=zAe(e));for(var n=0;n<r.length-1;n++)e(r[n],n)||(r.length=n+1);return r}function zAe(t){if(!t)throw new TypeError("argument is required");var e;if(typeof t=="string")e=[t];else if(Array.isArray(t))e=t.slice();else throw new TypeError("unsupported trust argument");for(var r=0;r<e.length;r++)t=e[r],Object.prototype.hasOwnProperty.call(QAe,t)&&(t=QAe[t],e.splice.apply(e,[r,1].concat(t)),r+=t.length-1);return TTt(ITt(e))}function ITt(t){for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=wTt(t[r]);return e}function TTt(t){var e=t.length;return e===0?OTt:e===1?DTt(t[0]):PTt(t)}function wTt(t){var e=t.lastIndexOf("/"),r=e!==-1?t.substring(0,e):t;if(!vN(r))throw new TypeError("invalid IP address: "+r);var n=CN(r);e===-1&&n.kind()==="ipv6"&&n.isIPv4MappedAddress()&&(n=n.toIPv4Address());var s=n.kind()==="ipv6"?128:32,i=e!==-1?t.substring(e+1,t.length):null;if(i===null?i=s:CTt.test(i)?i=parseInt(i,10):n.kind()==="ipv4"&&vN(i)?i=RTt(i):i=null,i<=0||i>s)throw new TypeError("invalid range on address: "+t);return[n,i]}function RTt(t){var e=CN(t),r=e.kind();return r==="ipv4"?e.prefixLengthFromSubnetMask():null}function NTt(t,e){if(!t)throw new TypeError("req argument is required");if(!e)throw new TypeError("trust argument is required");var r=VAe(t,e),n=r[r.length-1];return n}function OTt(){return!1}function PTt(t){return function(r){if(!vN(r))return!1;for(var n=CN(r),s,i=n.kind(),a=0;a<t.length;a++){var o=t[a],c=o[0],u=c.kind(),l=o[1],d=n;if(i!==u){if(u==="ipv4"&&!n.isIPv4MappedAddress())continue;s||(s=u==="ipv4"?n.toIPv4Address():n.toIPv4MappedAddress()),d=s}if(d.match(c,l))return!0}return!1}}function DTt(t){var e=t[0],r=e.kind(),n=r==="ipv4",s=t[1];return function(a){if(!vN(a))return!1;var o=CN(a),c=o.kind();if(c!==r){if(n&&!o.isIPv4MappedAddress())return!1;o=n?o.toIPv4Address():o.toIPv4MappedAddress()}return o.match(e,s)}}});var G1=E((Z3r,YAe)=>{"use strict";var kTt="2.0.0",LTt=Number.MAX_SAFE_INTEGER||9007199254740991,BTt=16,MTt=250,WTt=["major","premajor","minor","preminor","patch","prepatch","prerelease"];YAe.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:BTt,MAX_SAFE_BUILD_LENGTH:MTt,MAX_SAFE_INTEGER:LTt,RELEASE_TYPES:WTt,SEMVER_SPEC_VERSION:kTt,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var V1=E((eDr,JAe)=>{"use strict";var $Tt=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};JAe.exports=$Tt});var iy=E((Vu,XAe)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:f$,MAX_SAFE_BUILD_LENGTH:FTt,MAX_LENGTH:UTt}=G1(),qTt=V1();Vu=XAe.exports={};var jTt=Vu.re=[],HTt=Vu.safeRe=[],Ge=Vu.src=[],QTt=Vu.safeSrc=[],Ve=Vu.t={},GTt=0,p$="[a-zA-Z0-9-]",VTt=[["\\s",1],["\\d",UTt],[p$,FTt]],zTt=t=>{for(let[e,r]of VTt)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},Mt=(t,e,r)=>{let n=zTt(e),s=GTt++;qTt(t,s,e),Ve[t]=s,Ge[s]=e,QTt[s]=n,jTt[s]=new RegExp(e,r?"g":void 0),HTt[s]=new RegExp(n,r?"g":void 0)};Mt("NUMERICIDENTIFIER","0|[1-9]\\d*");Mt("NUMERICIDENTIFIERLOOSE","\\d+");Mt("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p$}*`);Mt("MAINVERSION",`(${Ge[Ve.NUMERICIDENTIFIER]})\\.(${Ge[Ve.NUMERICIDENTIFIER]})\\.(${Ge[Ve.NUMERICIDENTIFIER]})`);Mt("MAINVERSIONLOOSE",`(${Ge[Ve.NUMERICIDENTIFIERLOOSE]})\\.(${Ge[Ve.NUMERICIDENTIFIERLOOSE]})\\.(${Ge[Ve.NUMERICIDENTIFIERLOOSE]})`);Mt("PRERELEASEIDENTIFIER",`(?:${Ge[Ve.NONNUMERICIDENTIFIER]}|${Ge[Ve.NUMERICIDENTIFIER]})`);Mt("PRERELEASEIDENTIFIERLOOSE",`(?:${Ge[Ve.NONNUMERICIDENTIFIER]}|${Ge[Ve.NUMERICIDENTIFIERLOOSE]})`);Mt("PRERELEASE",`(?:-(${Ge[Ve.PRERELEASEIDENTIFIER]}(?:\\.${Ge[Ve.PRERELEASEIDENTIFIER]})*))`);Mt("PRERELEASELOOSE",`(?:-?(${Ge[Ve.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ge[Ve.PRERELEASEIDENTIFIERLOOSE]})*))`);Mt("BUILDIDENTIFIER",`${p$}+`);Mt("BUILD",`(?:\\+(${Ge[Ve.BUILDIDENTIFIER]}(?:\\.${Ge[Ve.BUILDIDENTIFIER]})*))`);Mt("FULLPLAIN",`v?${Ge[Ve.MAINVERSION]}${Ge[Ve.PRERELEASE]}?${Ge[Ve.BUILD]}?`);Mt("FULL",`^${Ge[Ve.FULLPLAIN]}$`);Mt("LOOSEPLAIN",`[v=\\s]*${Ge[Ve.MAINVERSIONLOOSE]}${Ge[Ve.PRERELEASELOOSE]}?${Ge[Ve.BUILD]}?`);Mt("LOOSE",`^${Ge[Ve.LOOSEPLAIN]}$`);Mt("GTLT","((?:<|>)?=?)");Mt("XRANGEIDENTIFIERLOOSE",`${Ge[Ve.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Mt("XRANGEIDENTIFIER",`${Ge[Ve.NUMERICIDENTIFIER]}|x|X|\\*`);Mt("XRANGEPLAIN",`[v=\\s]*(${Ge[Ve.XRANGEIDENTIFIER]})(?:\\.(${Ge[Ve.XRANGEIDENTIFIER]})(?:\\.(${Ge[Ve.XRANGEIDENTIFIER]})(?:${Ge[Ve.PRERELEASE]})?${Ge[Ve.BUILD]}?)?)?`);Mt("XRANGEPLAINLOOSE",`[v=\\s]*(${Ge[Ve.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ge[Ve.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ge[Ve.XRANGEIDENTIFIERLOOSE]})(?:${Ge[Ve.PRERELEASELOOSE]})?${Ge[Ve.BUILD]}?)?)?`);Mt("XRANGE",`^${Ge[Ve.GTLT]}\\s*${Ge[Ve.XRANGEPLAIN]}$`);Mt("XRANGELOOSE",`^${Ge[Ve.GTLT]}\\s*${Ge[Ve.XRANGEPLAINLOOSE]}$`);Mt("COERCEPLAIN",`(^|[^\\d])(\\d{1,${f$}})(?:\\.(\\d{1,${f$}}))?(?:\\.(\\d{1,${f$}}))?`);Mt("COERCE",`${Ge[Ve.COERCEPLAIN]}(?:$|[^\\d])`);Mt("COERCEFULL",Ge[Ve.COERCEPLAIN]+`(?:${Ge[Ve.PRERELEASE]})?(?:${Ge[Ve.BUILD]})?(?:$|[^\\d])`);Mt("COERCERTL",Ge[Ve.COERCE],!0);Mt("COERCERTLFULL",Ge[Ve.COERCEFULL],!0);Mt("LONETILDE","(?:~>?)");Mt("TILDETRIM",`(\\s*)${Ge[Ve.LONETILDE]}\\s+`,!0);Vu.tildeTrimReplace="$1~";Mt("TILDE",`^${Ge[Ve.LONETILDE]}${Ge[Ve.XRANGEPLAIN]}$`);Mt("TILDELOOSE",`^${Ge[Ve.LONETILDE]}${Ge[Ve.XRANGEPLAINLOOSE]}$`);Mt("LONECARET","(?:\\^)");Mt("CARETTRIM",`(\\s*)${Ge[Ve.LONECARET]}\\s+`,!0);Vu.caretTrimReplace="$1^";Mt("CARET",`^${Ge[Ve.LONECARET]}${Ge[Ve.XRANGEPLAIN]}$`);Mt("CARETLOOSE",`^${Ge[Ve.LONECARET]}${Ge[Ve.XRANGEPLAINLOOSE]}$`);Mt("COMPARATORLOOSE",`^${Ge[Ve.GTLT]}\\s*(${Ge[Ve.LOOSEPLAIN]})$|^$`);Mt("COMPARATOR",`^${Ge[Ve.GTLT]}\\s*(${Ge[Ve.FULLPLAIN]})$|^$`);Mt("COMPARATORTRIM",`(\\s*)${Ge[Ve.GTLT]}\\s*(${Ge[Ve.LOOSEPLAIN]}|${Ge[Ve.XRANGEPLAIN]})`,!0);Vu.comparatorTrimReplace="$1$2$3";Mt("HYPHENRANGE",`^\\s*(${Ge[Ve.XRANGEPLAIN]})\\s+-\\s+(${Ge[Ve.XRANGEPLAIN]})\\s*$`);Mt("HYPHENRANGELOOSE",`^\\s*(${Ge[Ve.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ge[Ve.XRANGEPLAINLOOSE]})\\s*$`);Mt("STAR","(<|>)?=?\\s*\\*");Mt("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Mt("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var TN=E((tDr,ZAe)=>{"use strict";var KTt=Object.freeze({loose:!0}),YTt=Object.freeze({}),JTt=t=>t?typeof t!="object"?KTt:t:YTt;ZAe.exports=JTt});var m$=E((rDr,rye)=>{"use strict";var eye=/^[0-9]+$/,tye=(t,e)=>{if(typeof t=="number"&&typeof e=="number")return t===e?0:t<e?-1:1;let r=eye.test(t),n=eye.test(e);return r&&n&&(t=+t,e=+e),t===e?0:r&&!n?-1:n&&!r?1:t<e?-1:1},XTt=(t,e)=>tye(e,t);rye.exports={compareIdentifiers:tye,rcompareIdentifiers:XTt}});var Ni=E((nDr,sye)=>{"use strict";var wN=V1(),{MAX_LENGTH:nye,MAX_SAFE_INTEGER:RN}=G1(),{safeRe:NN,t:ON}=iy(),ZTt=TN(),{compareIdentifiers:h$}=m$(),g$=class t{constructor(e,r){if(r=ZTt(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>nye)throw new TypeError(`version is longer than ${nye} characters`);wN("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=e.trim().match(r.loose?NN[ON.LOOSE]:NN[ON.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>RN||this.major<0)throw new TypeError("Invalid major version");if(this.minor>RN||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>RN||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&i<RN)return i}return s}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(wN("SemVer.compare",this.version,this.options,e),!(e instanceof t)){if(typeof e=="string"&&e===this.version)return 0;e=new t(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof t||(e=new t(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],s=e.prerelease[r];if(wN("prerelease compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return h$(n,s)}while(++r)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let r=0;do{let n=this.build[r],s=e.build[r];if(wN("build compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return h$(n,s)}while(++r)}inc(e,r,n){if(e.startsWith("pre")){if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let s=`-${r}`.match(this.options.loose?NN[ON.PRERELEASELOOSE]:NN[ON.PRERELEASE]);if(!s||s[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(r){let i=[r,s];n===!1&&(i=[r]),h$(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};sye.exports=g$});var Lm=E((sDr,aye)=>{"use strict";var iye=Ni(),ewt=(t,e,r=!1)=>{if(t instanceof iye)return t;try{return new iye(t,e)}catch(n){if(!r)return null;throw n}};aye.exports=ewt});var cye=E((iDr,oye)=>{"use strict";var twt=Lm(),rwt=(t,e)=>{let r=twt(t,e);return r?r.version:null};oye.exports=rwt});var lye=E((aDr,uye)=>{"use strict";var nwt=Lm(),swt=(t,e)=>{let r=nwt(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};uye.exports=swt});var pye=E((oDr,fye)=>{"use strict";var dye=Ni(),iwt=(t,e,r,n,s)=>{typeof r=="string"&&(s=n,n=r,r=void 0);try{return new dye(t instanceof dye?t.version:t,r).inc(e,n,s).version}catch{return null}};fye.exports=iwt});var gye=E((cDr,hye)=>{"use strict";var mye=Lm(),awt=(t,e)=>{let r=mye(t,null,!0),n=mye(e,null,!0),s=r.compare(n);if(s===0)return null;let i=s>0,a=i?r:n,o=i?n:r,c=!!a.prerelease.length;if(!!o.prerelease.length&&!c){if(!o.patch&&!o.minor)return"major";if(o.compareMain(a)===0)return o.minor&&!o.patch?"minor":"patch"}let l=c?"pre":"";return r.major!==n.major?l+"major":r.minor!==n.minor?l+"minor":r.patch!==n.patch?l+"patch":"prerelease"};hye.exports=awt});var yye=E((uDr,Aye)=>{"use strict";var owt=Ni(),cwt=(t,e)=>new owt(t,e).major;Aye.exports=cwt});var bye=E((lDr,xye)=>{"use strict";var uwt=Ni(),lwt=(t,e)=>new uwt(t,e).minor;xye.exports=lwt});var _ye=E((dDr,Eye)=>{"use strict";var dwt=Ni(),fwt=(t,e)=>new dwt(t,e).patch;Eye.exports=fwt});var vye=E((fDr,Sye)=>{"use strict";var pwt=Lm(),mwt=(t,e)=>{let r=pwt(t,e);return r&&r.prerelease.length?r.prerelease:null};Sye.exports=mwt});var Ko=E((pDr,Iye)=>{"use strict";var Cye=Ni(),hwt=(t,e,r)=>new Cye(t,r).compare(new Cye(e,r));Iye.exports=hwt});var wye=E((mDr,Tye)=>{"use strict";var gwt=Ko(),Awt=(t,e,r)=>gwt(e,t,r);Tye.exports=Awt});var Nye=E((hDr,Rye)=>{"use strict";var ywt=Ko(),xwt=(t,e)=>ywt(t,e,!0);Rye.exports=xwt});var PN=E((gDr,Pye)=>{"use strict";var Oye=Ni(),bwt=(t,e,r)=>{let n=new Oye(t,r),s=new Oye(e,r);return n.compare(s)||n.compareBuild(s)};Pye.exports=bwt});var kye=E((ADr,Dye)=>{"use strict";var Ewt=PN(),_wt=(t,e)=>t.sort((r,n)=>Ewt(r,n,e));Dye.exports=_wt});var Bye=E((yDr,Lye)=>{"use strict";var Swt=PN(),vwt=(t,e)=>t.sort((r,n)=>Swt(n,r,e));Lye.exports=vwt});var z1=E((xDr,Mye)=>{"use strict";var Cwt=Ko(),Iwt=(t,e,r)=>Cwt(t,e,r)>0;Mye.exports=Iwt});var DN=E((bDr,Wye)=>{"use strict";var Twt=Ko(),wwt=(t,e,r)=>Twt(t,e,r)<0;Wye.exports=wwt});var A$=E((EDr,$ye)=>{"use strict";var Rwt=Ko(),Nwt=(t,e,r)=>Rwt(t,e,r)===0;$ye.exports=Nwt});var y$=E((_Dr,Fye)=>{"use strict";var Owt=Ko(),Pwt=(t,e,r)=>Owt(t,e,r)!==0;Fye.exports=Pwt});var kN=E((SDr,Uye)=>{"use strict";var Dwt=Ko(),kwt=(t,e,r)=>Dwt(t,e,r)>=0;Uye.exports=kwt});var LN=E((vDr,qye)=>{"use strict";var Lwt=Ko(),Bwt=(t,e,r)=>Lwt(t,e,r)<=0;qye.exports=Bwt});var x$=E((CDr,jye)=>{"use strict";var Mwt=A$(),Wwt=y$(),$wt=z1(),Fwt=kN(),Uwt=DN(),qwt=LN(),jwt=(t,e,r,n)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Mwt(t,r,n);case"!=":return Wwt(t,r,n);case">":return $wt(t,r,n);case">=":return Fwt(t,r,n);case"<":return Uwt(t,r,n);case"<=":return qwt(t,r,n);default:throw new TypeError(`Invalid operator: ${e}`)}};jye.exports=jwt});var Qye=E((IDr,Hye)=>{"use strict";var Hwt=Ni(),Qwt=Lm(),{safeRe:BN,t:MN}=iy(),Gwt=(t,e)=>{if(t instanceof Hwt)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?BN[MN.COERCEFULL]:BN[MN.COERCE]);else{let c=e.includePrerelease?BN[MN.COERCERTLFULL]:BN[MN.COERCERTL],u;for(;(u=c.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||u.index+u[0].length!==r.index+r[0].length)&&(r=u),c.lastIndex=u.index+u[1].length+u[2].length;c.lastIndex=-1}if(r===null)return null;let n=r[2],s=r[3]||"0",i=r[4]||"0",a=e.includePrerelease&&r[5]?`-${r[5]}`:"",o=e.includePrerelease&&r[6]?`+${r[6]}`:"";return Qwt(`${n}.${s}.${i}${a}${o}`,e)};Hye.exports=Gwt});var Vye=E((TDr,Gye)=>{"use strict";var b$=class{constructor(){this.max=1e3,this.map=new Map}get(e){let r=this.map.get(e);if(r!==void 0)return this.map.delete(e),this.map.set(e,r),r}delete(e){return this.map.delete(e)}set(e,r){if(!this.delete(e)&&r!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,r)}return this}};Gye.exports=b$});var Yo=E((wDr,Jye)=>{"use strict";var Vwt=/\s+/g,E$=class t{constructor(e,r){if(r=Kwt(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof _$)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().replace(Vwt," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(s=>!Kye(s[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&r2t(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let r=this.set[e];for(let n=0;n<r.length;n++)n>0&&(this.formatted+=" "),this.formatted+=r[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let n=((this.options.includePrerelease&&e2t)|(this.options.loose&&t2t))+":"+e,s=zye.get(n);if(s)return s;let i=this.options.loose,a=i?ra[Oi.HYPHENRANGELOOSE]:ra[Oi.HYPHENRANGE];e=e.replace(a,f2t(this.options.includePrerelease)),On("hyphen replace",e),e=e.replace(ra[Oi.COMPARATORTRIM],Jwt),On("comparator trim",e),e=e.replace(ra[Oi.TILDETRIM],Xwt),On("tilde trim",e),e=e.replace(ra[Oi.CARETTRIM],Zwt),On("caret trim",e);let o=e.split(" ").map(d=>n2t(d,this.options)).join(" ").split(/\s+/).map(d=>d2t(d,this.options));i&&(o=o.filter(d=>(On("loose invalid filter",d,this.options),!!d.match(ra[Oi.COMPARATORLOOSE])))),On("range list",o);let c=new Map,u=o.map(d=>new _$(d,this.options));for(let d of u){if(Kye(d))return[d];c.set(d.value,d)}c.size>1&&c.has("")&&c.delete("");let l=[...c.values()];return zye.set(n,l),l}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(n=>Yye(n,r)&&e.set.some(s=>Yye(s,r)&&n.every(i=>s.every(a=>i.intersects(a,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Ywt(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(p2t(this.set[r],e,this.options))return!0;return!1}};Jye.exports=E$;var zwt=Vye(),zye=new zwt,Kwt=TN(),_$=K1(),On=V1(),Ywt=Ni(),{safeRe:ra,t:Oi,comparatorTrimReplace:Jwt,tildeTrimReplace:Xwt,caretTrimReplace:Zwt}=iy(),{FLAG_INCLUDE_PRERELEASE:e2t,FLAG_LOOSE:t2t}=G1(),Kye=t=>t.value==="<0.0.0-0",r2t=t=>t.value==="",Yye=(t,e)=>{let r=!0,n=t.slice(),s=n.pop();for(;r&&n.length;)r=n.every(i=>s.intersects(i,e)),s=n.pop();return r},n2t=(t,e)=>(t=t.replace(ra[Oi.BUILD],""),On("comp",t,e),t=a2t(t,e),On("caret",t),t=s2t(t,e),On("tildes",t),t=c2t(t,e),On("xrange",t),t=l2t(t,e),On("stars",t),t),na=t=>!t||t.toLowerCase()==="x"||t==="*",s2t=(t,e)=>t.trim().split(/\s+/).map(r=>i2t(r,e)).join(" "),i2t=(t,e)=>{let r=e.loose?ra[Oi.TILDELOOSE]:ra[Oi.TILDE];return t.replace(r,(n,s,i,a,o)=>{On("tilde",t,n,s,i,a,o);let c;return na(s)?c="":na(i)?c=`>=${s}.0.0 <${+s+1}.0.0-0`:na(a)?c=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:o?(On("replaceTilde pr",o),c=`>=${s}.${i}.${a}-${o} <${s}.${+i+1}.0-0`):c=`>=${s}.${i}.${a} <${s}.${+i+1}.0-0`,On("tilde return",c),c})},a2t=(t,e)=>t.trim().split(/\s+/).map(r=>o2t(r,e)).join(" "),o2t=(t,e)=>{On("caret",t,e);let r=e.loose?ra[Oi.CARETLOOSE]:ra[Oi.CARET],n=e.includePrerelease?"-0":"";return t.replace(r,(s,i,a,o,c)=>{On("caret",t,s,i,a,o,c);let u;return na(i)?u="":na(a)?u=`>=${i}.0.0${n} <${+i+1}.0.0-0`:na(o)?i==="0"?u=`>=${i}.${a}.0${n} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.0${n} <${+i+1}.0.0-0`:c?(On("replaceCaret pr",c),i==="0"?a==="0"?u=`>=${i}.${a}.${o}-${c} <${i}.${a}.${+o+1}-0`:u=`>=${i}.${a}.${o}-${c} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.${o}-${c} <${+i+1}.0.0-0`):(On("no pr"),i==="0"?a==="0"?u=`>=${i}.${a}.${o}${n} <${i}.${a}.${+o+1}-0`:u=`>=${i}.${a}.${o}${n} <${i}.${+a+1}.0-0`:u=`>=${i}.${a}.${o} <${+i+1}.0.0-0`),On("caret return",u),u})},c2t=(t,e)=>(On("replaceXRanges",t,e),t.split(/\s+/).map(r=>u2t(r,e)).join(" ")),u2t=(t,e)=>{t=t.trim();let r=e.loose?ra[Oi.XRANGELOOSE]:ra[Oi.XRANGE];return t.replace(r,(n,s,i,a,o,c)=>{On("xRange",t,n,s,i,a,o,c);let u=na(i),l=u||na(a),d=l||na(o),f=d;return s==="="&&f&&(s=""),c=e.includePrerelease?"-0":"",u?s===">"||s==="<"?n="<0.0.0-0":n="*":s&&f?(l&&(a=0),o=0,s===">"?(s=">=",l?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):s==="<="&&(s="<",l?i=+i+1:a=+a+1),s==="<"&&(c="-0"),n=`${s+i}.${a}.${o}${c}`):l?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${c} <${i}.${+a+1}.0-0`),On("xRange return",n),n})},l2t=(t,e)=>(On("replaceStars",t,e),t.trim().replace(ra[Oi.STAR],"")),d2t=(t,e)=>(On("replaceGTE0",t,e),t.trim().replace(ra[e.includePrerelease?Oi.GTE0PRE:Oi.GTE0],"")),f2t=t=>(e,r,n,s,i,a,o,c,u,l,d,f)=>(na(n)?r="":na(s)?r=`>=${n}.0.0${t?"-0":""}`:na(i)?r=`>=${n}.${s}.0${t?"-0":""}`:a?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,na(u)?c="":na(l)?c=`<${+u+1}.0.0-0`:na(d)?c=`<${u}.${+l+1}.0-0`:f?c=`<=${u}.${l}.${d}-${f}`:t?c=`<${u}.${l}.${+d+1}-0`:c=`<=${c}`,`${r} ${c}`.trim()),p2t=(t,e,r)=>{for(let n=0;n<t.length;n++)if(!t[n].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let n=0;n<t.length;n++)if(On(t[n].semver),t[n].semver!==_$.ANY&&t[n].semver.prerelease.length>0){let s=t[n].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var K1=E((RDr,nxe)=>{"use strict";var Y1=Symbol("SemVer ANY"),C$=class t{static get ANY(){return Y1}constructor(e,r){if(r=Xye(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),v$("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Y1?this.value="":this.value=this.operator+this.semver.version,v$("comp",this)}parse(e){let r=this.options.loose?Zye[exe.COMPARATORLOOSE]:Zye[exe.COMPARATOR],n=e.match(r);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new txe(n[2],this.options.loose):this.semver=Y1}toString(){return this.value}test(e){if(v$("Comparator.test",e,this.options.loose),this.semver===Y1||e===Y1)return!0;if(typeof e=="string")try{e=new txe(e,this.options)}catch{return!1}return S$(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new rxe(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new rxe(this.value,r).test(e.semver):(r=Xye(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||S$(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||S$(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};nxe.exports=C$;var Xye=TN(),{safeRe:Zye,t:exe}=iy(),S$=x$(),v$=V1(),txe=Ni(),rxe=Yo()});var J1=E((NDr,sxe)=>{"use strict";var m2t=Yo(),h2t=(t,e,r)=>{try{e=new m2t(e,r)}catch{return!1}return e.test(t)};sxe.exports=h2t});var axe=E((ODr,ixe)=>{"use strict";var g2t=Yo(),A2t=(t,e)=>new g2t(t,e).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));ixe.exports=A2t});var cxe=E((PDr,oxe)=>{"use strict";var y2t=Ni(),x2t=Yo(),b2t=(t,e,r)=>{let n=null,s=null,i=null;try{i=new x2t(e,r)}catch{return null}return t.forEach(a=>{i.test(a)&&(!n||s.compare(a)===-1)&&(n=a,s=new y2t(n,r))}),n};oxe.exports=b2t});var lxe=E((DDr,uxe)=>{"use strict";var E2t=Ni(),_2t=Yo(),S2t=(t,e,r)=>{let n=null,s=null,i=null;try{i=new _2t(e,r)}catch{return null}return t.forEach(a=>{i.test(a)&&(!n||s.compare(a)===1)&&(n=a,s=new E2t(n,r))}),n};uxe.exports=S2t});var pxe=E((kDr,fxe)=>{"use strict";var I$=Ni(),v2t=Yo(),dxe=z1(),C2t=(t,e)=>{t=new v2t(t,e);let r=new I$("0.0.0");if(t.test(r)||(r=new I$("0.0.0-0"),t.test(r)))return r;r=null;for(let n=0;n<t.set.length;++n){let s=t.set[n],i=null;s.forEach(a=>{let o=new I$(a.semver.version);switch(a.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!i||dxe(o,i))&&(i=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),i&&(!r||dxe(r,i))&&(r=i)}return r&&t.test(r)?r:null};fxe.exports=C2t});var hxe=E((LDr,mxe)=>{"use strict";var I2t=Yo(),T2t=(t,e)=>{try{return new I2t(t,e).range||"*"}catch{return null}};mxe.exports=T2t});var WN=E((BDr,xxe)=>{"use strict";var w2t=Ni(),yxe=K1(),{ANY:R2t}=yxe,N2t=Yo(),O2t=J1(),gxe=z1(),Axe=DN(),P2t=LN(),D2t=kN(),k2t=(t,e,r,n)=>{t=new w2t(t,n),e=new N2t(e,n);let s,i,a,o,c;switch(r){case">":s=gxe,i=P2t,a=Axe,o=">",c=">=";break;case"<":s=Axe,i=D2t,a=gxe,o="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(O2t(t,e,n))return!1;for(let u=0;u<e.set.length;++u){let l=e.set[u],d=null,f=null;if(l.forEach(p=>{p.semver===R2t&&(p=new yxe(">=0.0.0")),d=d||p,f=f||p,s(p.semver,d.semver,n)?d=p:a(p.semver,f.semver,n)&&(f=p)}),d.operator===o||d.operator===c||(!f.operator||f.operator===o)&&i(t,f.semver))return!1;if(f.operator===c&&a(t,f.semver))return!1}return!0};xxe.exports=k2t});var Exe=E((MDr,bxe)=>{"use strict";var L2t=WN(),B2t=(t,e,r)=>L2t(t,e,">",r);bxe.exports=B2t});var Sxe=E((WDr,_xe)=>{"use strict";var M2t=WN(),W2t=(t,e,r)=>M2t(t,e,"<",r);_xe.exports=W2t});var Ixe=E(($Dr,Cxe)=>{"use strict";var vxe=Yo(),$2t=(t,e,r)=>(t=new vxe(t,r),e=new vxe(e,r),t.intersects(e,r));Cxe.exports=$2t});var wxe=E((FDr,Txe)=>{"use strict";var F2t=J1(),U2t=Ko();Txe.exports=(t,e,r)=>{let n=[],s=null,i=null,a=t.sort((l,d)=>U2t(l,d,r));for(let l of a)F2t(l,e,r)?(i=l,s||(s=l)):(i&&n.push([s,i]),i=null,s=null);s&&n.push([s,null]);let o=[];for(let[l,d]of n)l===d?o.push(l):!d&&l===a[0]?o.push("*"):d?l===a[0]?o.push(`<=${d}`):o.push(`${l} - ${d}`):o.push(`>=${l}`);let c=o.join(" || "),u=typeof e.raw=="string"?e.raw:String(e);return c.length<u.length?c:e}});var kxe=E((UDr,Dxe)=>{"use strict";var Rxe=Yo(),w$=K1(),{ANY:T$}=w$,X1=J1(),R$=Ko(),q2t=(t,e,r={})=>{if(t===e)return!0;t=new Rxe(t,r),e=new Rxe(e,r);let n=!1;e:for(let s of t.set){for(let i of e.set){let a=H2t(s,i,r);if(n=n||a!==null,a)continue e}if(n)return!1}return!0},j2t=[new w$(">=0.0.0-0")],Nxe=[new w$(">=0.0.0")],H2t=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===T$){if(e.length===1&&e[0].semver===T$)return!0;r.includePrerelease?t=j2t:t=Nxe}if(e.length===1&&e[0].semver===T$){if(r.includePrerelease)return!0;e=Nxe}let n=new Set,s,i;for(let p of t)p.operator===">"||p.operator===">="?s=Oxe(s,p,r):p.operator==="<"||p.operator==="<="?i=Pxe(i,p,r):n.add(p.semver);if(n.size>1)return null;let a;if(s&&i){if(a=R$(s.semver,i.semver,r),a>0)return null;if(a===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let p of n){if(s&&!X1(p,String(s),r)||i&&!X1(p,String(i),r))return null;for(let m of e)if(!X1(p,String(m),r))return!1;return!0}let o,c,u,l,d=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1,f=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1;d&&d.prerelease.length===1&&i.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let p of e){if(l=l||p.operator===">"||p.operator===">=",u=u||p.operator==="<"||p.operator==="<=",s){if(f&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===f.major&&p.semver.minor===f.minor&&p.semver.patch===f.patch&&(f=!1),p.operator===">"||p.operator===">="){if(o=Oxe(s,p,r),o===p&&o!==s)return!1}else if(s.operator===">="&&!X1(s.semver,String(p),r))return!1}if(i){if(d&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===d.major&&p.semver.minor===d.minor&&p.semver.patch===d.patch&&(d=!1),p.operator==="<"||p.operator==="<="){if(c=Pxe(i,p,r),c===p&&c!==i)return!1}else if(i.operator==="<="&&!X1(i.semver,String(p),r))return!1}if(!p.operator&&(i||s)&&a!==0)return!1}return!(s&&u&&!i&&a!==0||i&&l&&!s&&a!==0||f||d)},Oxe=(t,e,r)=>{if(!t)return e;let n=R$(t.semver,e.semver,r);return n>0?t:n<0||e.operator===">"&&t.operator===">="?e:t},Pxe=(t,e,r)=>{if(!t)return e;let n=R$(t.semver,e.semver,r);return n<0?t:n>0||e.operator==="<"&&t.operator==="<="?e:t};Dxe.exports=q2t});var O$=E((qDr,Mxe)=>{"use strict";var N$=iy(),Lxe=G1(),Q2t=Ni(),Bxe=m$(),G2t=Lm(),V2t=cye(),z2t=lye(),K2t=pye(),Y2t=gye(),J2t=yye(),X2t=bye(),Z2t=_ye(),eRt=vye(),tRt=Ko(),rRt=wye(),nRt=Nye(),sRt=PN(),iRt=kye(),aRt=Bye(),oRt=z1(),cRt=DN(),uRt=A$(),lRt=y$(),dRt=kN(),fRt=LN(),pRt=x$(),mRt=Qye(),hRt=K1(),gRt=Yo(),ARt=J1(),yRt=axe(),xRt=cxe(),bRt=lxe(),ERt=pxe(),_Rt=hxe(),SRt=WN(),vRt=Exe(),CRt=Sxe(),IRt=Ixe(),TRt=wxe(),wRt=kxe();Mxe.exports={parse:G2t,valid:V2t,clean:z2t,inc:K2t,diff:Y2t,major:J2t,minor:X2t,patch:Z2t,prerelease:eRt,compare:tRt,rcompare:rRt,compareLoose:nRt,compareBuild:sRt,sort:iRt,rsort:aRt,gt:oRt,lt:cRt,eq:uRt,neq:lRt,gte:dRt,lte:fRt,cmp:pRt,coerce:mRt,Comparator:hRt,Range:gRt,satisfies:ARt,toComparators:yRt,maxSatisfying:xRt,minSatisfying:bRt,minVersion:ERt,validRange:_Rt,outside:SRt,gtr:vRt,ltr:CRt,intersects:IRt,simplifyRange:TRt,subset:wRt,SemVer:Q2t,re:N$.re,src:N$.src,tokens:N$.t,SEMVER_SPEC_VERSION:Lxe.SEMVER_SPEC_VERSION,RELEASE_TYPES:Lxe.RELEASE_TYPES,compareIdentifiers:Bxe.compareIdentifiers,rcompareIdentifiers:Bxe.rcompareIdentifiers}});var FN=E((jDr,L$)=>{"use strict";var $N=KAe(),RRt=O$(),{FSTDEP005:NRt,FSTDEP012:ORt,FSTDEP015:PRt,FSTDEP016:DRt,FSTDEP017:kRt,FSTDEP018:LRt}=cd(),{kHasBeenDecorated:BRt,kSchemaBody:MRt,kSchemaHeaders:WRt,kSchemaParams:$Rt,kSchemaQuerystring:Wxe,kSchemaController:P$,kOptions:FRt,kRequestCacheValidateFns:Sp,kRouteContext:us,kPublicRouteContext:$xe,kRequestOriginalUrl:D$}=Qs(),{FST_ERR_REQ_INVALID_VALIDATION_INVOCATION:URt}=Ci(),Fxe={body:MRt,headers:WRt,params:$Rt,querystring:Wxe,query:Wxe};function k$(t,e,r,n,s,i){this.id=t,this[us]=i,this.params=e,this.raw=r,this.query=n,this.log=s,this.body=void 0}k$.props=[];function qRt(t){if(typeof t=="function")return t;if(t===!0)return function(){return!0};if(typeof t=="number")return function(e,r){return r<t};if(typeof t=="string"){let e=t.split(",").map(r=>r.trim());return $N.compile(e)}return $N.compile(t)}function jRt(t,e){return e?HRt(t,e):qxe(t)}function qxe(t){let e=t.props.slice();function r(n,s,i,a,o,c){this.id=n,this[us]=c,this.params=s,this.raw=i,this.query=a,this.log=o,this.body=void 0;for(var u,l=0;l<e.length;l++)u=e[l],this[u.key]=u.value}return Object.setPrototypeOf(r.prototype,t.prototype),Object.setPrototypeOf(r,t),r.props=e,r.parent=t,r}function Uxe(t){let e=t.lastIndexOf(",");return e===-1?t.trim():t.slice(e+1).trim()}function HRt(t,e){let r=qxe(t),n=qRt(e);return r[BRt]=!0,Object.defineProperties(r.prototype,{ip:{get(){return $N(this.raw,n)}},ips:{get(){return $N.all(this.raw,n)}},hostname:{get(){return this.ip!==void 0&&this.headers["x-forwarded-host"]?Uxe(this.headers["x-forwarded-host"]):this.headers.host||this.headers[":authority"]}},protocol:{get(){if(this.headers["x-forwarded-proto"])return Uxe(this.headers["x-forwarded-proto"]);if(this.socket)return this.socket.encrypted?"https":"http"}}}),r}Object.defineProperties(k$.prototype,{server:{get(){return this[us].server}},url:{get(){return this.raw.url}},originalUrl:{get(){return this[D$]||(this[D$]=this.raw.originalUrl||this.raw.url),this[D$]}},method:{get(){return this.raw.method}},context:{get(){return ORt(),this[us]}},routerPath:{get(){return kRt(),this[us].config?.url}},routeOptions:{get(){let t=this[us],e=t._parserOptions.limit,r=t.server.initialConfig.bodyLimit,n=t.server.hasConstraintStrategy("version")?this.raw.headers["accept-version"]:void 0,s={method:t.config?.method,url:t.config?.url,bodyLimit:e||r,attachValidation:t.attachValidation,logLevel:t.logLevel,exposeHeadRoute:t.exposeHeadRoute,prefixTrailingSlash:t.prefixTrailingSlash,handler:t.handler,version:n};return Object.defineProperties(s,{config:{get:()=>t.config},schema:{get:()=>t.schema}}),Object.freeze(s)}},routerMethod:{get(){return LRt(),this[us].config?.method}},routeConfig:{get(){return DRt(),this[us][$xe]?.config}},routeSchema:{get(){return PRt(),this[us][$xe].schema}},is404:{get(){return this[us].config?.url===void 0}},connection:{get(){return RRt.gte(process.versions.node,"13.0.0")&&NRt(),this.raw.connection}},socket:{get(){return this.raw.socket}},ip:{get(){if(this.socket)return this.socket.remoteAddress}},hostname:{get(){return this.raw.headers.host||this.raw.headers[":authority"]}},protocol:{get(){if(this.socket)return this.socket.encrypted?"https":"http"}},headers:{get(){return this.additionalHeaders?Object.assign({},this.raw.headers,this.additionalHeaders):this.raw.headers},set(t){this.additionalHeaders=t}},getValidationFunction:{value:function(t){if(typeof t=="string"){let e=Fxe[t];return this[us][e]}else if(typeof t=="object")return this[us][Sp]?.get(t)}},compileValidationSchema:{value:function(t,e=null){let{method:r,url:n}=this;if(this[us][Sp]?.has(t))return this[us][Sp].get(t);let i=(this[us].validatorCompiler||this.server[P$].validatorCompiler||this.server[P$].setupValidator(this.server[FRt])||this.server[P$].validatorCompiler)({schema:t,method:r,url:n,httpPart:e});return this[us][Sp]==null&&(this[us][Sp]=new WeakMap),this[us][Sp].set(t,i),i}},validateInput:{value:function(t,e,r){r=typeof e=="string"?e:r;let n=r!=null&&typeof r=="string"&&Fxe[r],s;if(n&&(s=this[us][n]),s==null&&(e==null||typeof e!="object"||Array.isArray(e)))throw new URt(r);return s==null&&(this[us][Sp]?.has(e)?s=this[us][Sp].get(e):s=this.compileValidationSchema(e,r)),s(t)}}});L$.exports=k$;L$.exports.buildRequest=jRt});var UN=E((HDr,jxe)=>{"use strict";var{kFourOhFourContext:QRt,kReplySerializerDefault:GRt,kSchemaErrorFormatter:VRt,kErrorHandler:zRt,kChildLoggerFactory:KRt,kOptions:YRt,kReply:JRt,kRequest:XRt,kBodyLimit:ZRt,kLogLevel:eNt,kContentTypeParser:tNt,kRouteByFastify:rNt,kRequestCacheValidateFns:nNt,kReplyCacheSerializeFns:sNt,kPublicRouteContext:iNt}=Qs();function aNt({schema:t,handler:e,config:r,requestIdLogLabel:n,childLoggerFactory:s,errorHandler:i,bodyLimit:a,logLevel:o,logSerializers:c,attachValidation:u,validatorCompiler:l,serializerCompiler:d,replySerializer:f,schemaErrorFormatter:p,exposeHeadRoute:m,prefixTrailingSlash:h,server:A,isFastify:g}){this.schema=t,this.handler=e,this.Reply=A[JRt],this.Request=A[XRt],this.contentTypeParser=A[tNt],this.onRequest=null,this.onSend=null,this.onError=null,this.onTimeout=null,this.preHandler=null,this.onResponse=null,this.preSerialization=null,this.onRequestAbort=null,this.config=r,this.errorHandler=i||A[zRt],this.requestIdLogLabel=n||A[YRt].requestIdLogLabel,this.childLoggerFactory=s||A[KRt],this._middie=null,this._parserOptions={limit:a||A[ZRt]},this.exposeHeadRoute=m,this.prefixTrailingSlash=h,this.logLevel=o||A[eNt],this.logSerializers=c,this[QRt]=null,this.attachValidation=u,this[GRt]=f,this.schemaErrorFormatter=p||A[VRt]||cNt,this[rNt]=g,this[nNt]=null,this[sNt]=null,this.validatorCompiler=l||null,this.serializerCompiler=d||null,this[iNt]=oNt(this),this.server=A}function oNt(t){return Object.create(null,{schema:{enumerable:!0,get(){return t.schema}},config:{enumerable:!0,get(){return t.config}}})}function cNt(t,e){let r="",n=", ";for(var s=0;s!==t.length;++s){let i=t[s];r+=e+(i.instancePath||"")+" "+i.message+n}return new Error(r.slice(0,-n.length))}jxe.exports=aNt});var B$=E((QDr,Hxe)=>{"use strict";Hxe.exports={supportedMethods:["DELETE","GET","HEAD","PATCH","POST","PUT","OPTIONS","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","TRACE","SEARCH"]}});var U$=E((GDr,zxe)=>{"use strict";var{kReply:M$,kRequest:W$,kState:uNt,kHasBeenDecorated:lNt}=Qs(),{FST_ERR_DEC_ALREADY_PRESENT:Qxe,FST_ERR_DEC_MISSING_DEPENDENCY:dNt,FST_ERR_DEC_AFTER_START:fNt,FST_ERR_DEC_DEPENDENCY_INVALID_TYPE:pNt}=Ci(),{FSTDEP006:mNt}=cd();function hNt(t,e,r,n){if(Object.prototype.hasOwnProperty.call(t,e))throw new Qxe(e);$$(t,e,n),r&&(typeof r.getter=="function"||typeof r.setter=="function")?Object.defineProperty(t,e,{get:r.getter,set:r.setter}):t[e]=r}function Gxe(t,e,r,n){let s=t.prototype;if(Object.prototype.hasOwnProperty.call(s,e)||jN(t,e))throw new Qxe(e);t[lNt]=!0,$$(t,e,n),r&&(typeof r.getter=="function"||typeof r.setter=="function")?Object.defineProperty(s,e,{get:r.getter,set:r.setter}):typeof r=="function"?s[e]=r:t.props.push({key:e,value:r})}function Vxe(t,e){typeof e=="object"&&e&&!(typeof e.getter=="function"||typeof e.setter=="function")&&mNt(t)}function gNt(t,e,r){return F$(this,t),hNt(this,t,e,r),this}function qN(t,e){return e?e in t||t.prototype&&e in t.prototype||jN(t,e):t in this}function jN(t,e){return t.props?t.props.find(({key:r})=>r===e):!1}function ANt(t){return t&&jN(this[W$],t)?!0:qN(this[W$].prototype,t)}function yNt(t){return t&&jN(this[M$],t)?!0:qN(this[M$].prototype,t)}function $$(t,e,r){if(r!=null){if(!Array.isArray(r))throw new pNt(e);for(var n=0;n!==r.length;++n)if(!qN(t,r[n]))throw new dNt(r[n])}}function xNt(t,e,r){return F$(this,t),Vxe(t,e),Gxe(this[M$],t,e,r),this}function bNt(t,e,r){return F$(this,t),Vxe(t,e),Gxe(this[W$],t,e,r),this}function F$(t,e){if(t[uNt].started)throw new fNt(e)}zxe.exports={add:gNt,exist:qN,existRequest:ANt,existReply:yNt,dependencies:$$,decorateReply:xNt,decorateRequest:bNt}});var Yxe=E(zu=>{"use strict";var q$=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=r}get size(){return this.items.size}clear(){this.items=new Map,this.first=null,this.last=null}delete(e){if(this.items.has(e)){let r=this.items.get(e);this.items.delete(e),r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(this.items.has(e))return this.items.get(e).expiry}get(e){if(this.items.has(e)){let r=this.items.get(e);if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return this.items.keys()}set(e,r){if(this.items.has(e)){let s=this.items.get(e);s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items.set(e,n),this.size===1?this.first=n:this.last.next=n,this.last=n}},j$=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=r}get size(){return this.items.size}bumpLru(e){if(this.last===e)return;let r=this.last,n=e.next,s=e.prev;this.first===e&&(this.first=n),e.next=null,e.prev=r,r.next=e,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=e}clear(){this.items=new Map,this.first=null,this.last=null}delete(e){if(this.items.has(e)){let r=this.items.get(e);this.items.delete(e),r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(this.items.has(e))return this.items.get(e).expiry}get(e){if(this.items.has(e)){let r=this.items.get(e);if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(r),r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return this.items.keys()}set(e,r){if(this.items.has(e)){let s=this.items.get(e);s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.last!==s&&this.bumpLru(s);return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items.set(e,n),this.size===1?this.first=n:this.last.next=n,this.last=n}},Z1=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=r}bumpLru(e){if(this.last===e)return;let r=this.last,n=e.next,s=e.prev;this.first===e&&(this.first=n),e.next=null,e.prev=r,r.next=e,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=e}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];delete this.items[e],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(Object.prototype.hasOwnProperty.call(this.items,e))return this.items[e].expiry}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(r),r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return Object.keys(this.items)}set(e,r){if(Object.prototype.hasOwnProperty.call(this.items,e)){let s=this.items[e];s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.last!==s&&this.bumpLru(s);return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items[e]=n,++this.size===1?this.first=n:this.last.next=n,this.last=n}},HN=class{constructor(){this.records={}}initForCache(e,r){this.records[e]={[r]:{cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}}resetForCache(e){for(let r of Object.keys(this.records[e]))this.records[e][r]={cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}getStatistics(){return this.records}};function Kxe(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}var H$=class{constructor(e,r,n){this.cacheId=e,this.statisticTtlInHours=r,this.collectionStart=new Date,this.currentTimeStamp=Kxe(this.collectionStart),this.records=n||new HN,this.records.initForCache(this.cacheId,this.currentTimeStamp)}get currentRecord(){return this.records.records[this.cacheId][this.currentTimeStamp]||(this.records.records[this.cacheId][this.currentTimeStamp]={cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,sets:0,invalidateOne:0,invalidateAll:0}),this.records.records[this.cacheId][this.currentTimeStamp]}hoursPassed(){return(Date.now()-this.collectionStart)/1e3/60/60}addHit(){this.archiveIfNeeded(),this.currentRecord.hits++}addFalsyHit(){this.archiveIfNeeded(),this.currentRecord.falsyHits++}addEmptyHit(){this.archiveIfNeeded(),this.currentRecord.emptyHits++}addMiss(){this.archiveIfNeeded(),this.currentRecord.misses++}addEviction(){this.archiveIfNeeded(),this.currentRecord.evictions++}setCacheSize(e){this.archiveIfNeeded(),this.currentRecord.cacheSize=e}addExpiration(){this.archiveIfNeeded(),this.currentRecord.expirations++}addSet(){this.archiveIfNeeded(),this.currentRecord.sets++}addInvalidateOne(){this.archiveIfNeeded(),this.currentRecord.invalidateOne++}addInvalidateAll(){this.archiveIfNeeded(),this.currentRecord.invalidateAll++}getStatistics(){return this.records.getStatistics()}archiveIfNeeded(){this.hoursPassed()>=this.statisticTtlInHours&&(this.collectionStart=new Date,this.currentTimeStamp=Kxe(this.collectionStart),this.records.initForCache(this.cacheId,this.currentTimeStamp))}},QN=class extends Z1{constructor(e,r,n,s,i){if(super(e||1e3,r||0),!n)throw new Error("Cache id is mandatory");this.hitStatistics=new H$(n,i!==void 0?i:24,s)}getStatistics(){return this.hitStatistics.getStatistics()}set(e,r){super.set(e,r),this.hitStatistics.addSet(),this.hitStatistics.setCacheSize(this.size)}evict(){super.evict(),this.hitStatistics.addEviction(),this.hitStatistics.setCacheSize(this.size)}delete(e,r=!1){super.delete(e),r||this.hitStatistics.addInvalidateOne(),this.hitStatistics.setCacheSize(this.size)}clear(){super.clear(),this.hitStatistics.addInvalidateAll(),this.hitStatistics.setCacheSize(this.size)}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e,!0),this.hitStatistics.addExpiration();return}return this.bumpLru(r),r.value||this.hitStatistics.addFalsyHit(),(r.value===void 0||r.value===null||r.value==="")&&this.hitStatistics.addEmptyHit(),this.hitStatistics.addHit(),r.value}this.hitStatistics.addMiss()}},GN=class{constructor(e=1e3,r=0){if(isNaN(e)||e<0)throw new Error("Invalid max value");if(isNaN(r)||r<0)throw new Error("Invalid ttl value");this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=r}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];delete this.items[e],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}}deleteMany(e){for(var r=0;r<e.length;r++)this.delete(e[r])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){if(Object.prototype.hasOwnProperty.call(this.items,e))return this.items[e].expiry}get(e){if(Object.prototype.hasOwnProperty.call(this.items,e)){let r=this.items[e];if(this.ttl>0&&r.expiry<=Date.now()){this.delete(e);return}return r.value}}getMany(e){let r=[];for(var n=0;n<e.length;n++)r.push(this.get(e[n]));return r}keys(){return Object.keys(this.items)}set(e,r){if(Object.prototype.hasOwnProperty.call(this.items,e)){let s=this.items[e];s.value=r,s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size===this.max&&this.evict();let n={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:r};this.items[e]=n,++this.size===1?this.first=n:this.last.next=n,this.last=n}};zu.Fifo=GN;zu.FifoMap=q$;zu.FifoObject=GN;zu.HitStatisticsRecord=HN;zu.Lru=Z1;zu.LruHitStatistics=QN;zu.LruMap=j$;zu.LruObject=Z1;zu.LruObjectHitStatistics=QN});var ebe=E((zDr,e_)=>{"use strict";var KN=function(){};KN.prototype=Object.create(null);var VN=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu,zN=/\\([\v\u0020-\u00ff])/gu,Jxe=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u,Bm={type:"",parameters:new KN};Object.freeze(Bm.parameters);Object.freeze(Bm);function Xxe(t){if(typeof t!="string")throw new TypeError("argument header is required and must be a string");let e=t.indexOf(";"),r=e!==-1?t.slice(0,e).trim():t.trim();if(Jxe.test(r)===!1)throw new TypeError("invalid media type");let n={type:r.toLowerCase(),parameters:new KN};if(e===-1)return n;let s,i,a;for(VN.lastIndex=e;i=VN.exec(t);){if(i.index!==e)throw new TypeError("invalid parameter format");e+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.slice(1,a.length-1),zN.test(a)&&(a=a.replace(zN,"$1"))),n.parameters[s]=a}if(e!==t.length)throw new TypeError("invalid parameter format");return n}function Zxe(t){if(typeof t!="string")return Bm;let e=t.indexOf(";"),r=e!==-1?t.slice(0,e).trim():t.trim();if(Jxe.test(r)===!1)return Bm;let n={type:r.toLowerCase(),parameters:new KN};if(e===-1)return n;let s,i,a;for(VN.lastIndex=e;i=VN.exec(t);){if(i.index!==e)return Bm;e+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.slice(1,a.length-1),zN.test(a)&&(a=a.replace(zN,"$1"))),n.parameters[s]=a}return e!==t.length?Bm:n}e_.exports.default={parse:Xxe,safeParse:Zxe};e_.exports.parse=Xxe;e_.exports.safeParse=Zxe;e_.exports.defaultContentType=Bm});var ibe=E((KDr,ay)=>{"use strict";var ENt=typeof Buffer<"u",tbe=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,rbe=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function nbe(t,e,r){r==null&&e!==null&&typeof e=="object"&&(r=e,e=void 0),ENt&&Buffer.isBuffer(t)&&(t=t.toString()),t&&t.charCodeAt(0)===65279&&(t=t.slice(1));let n=JSON.parse(t,e);if(n===null||typeof n!="object")return n;let s=r&&r.protoAction||"error",i=r&&r.constructorAction||"error";if(s==="ignore"&&i==="ignore")return n;if(s!=="ignore"&&i!=="ignore"){if(tbe.test(t)===!1&&rbe.test(t)===!1)return n}else if(s!=="ignore"&&i==="ignore"){if(tbe.test(t)===!1)return n}else if(rbe.test(t)===!1)return n;return sbe(n,{protoAction:s,constructorAction:i,safe:r&&r.safe})}function sbe(t,{protoAction:e="error",constructorAction:r="error",safe:n}={}){let s=[t];for(;s.length;){let i=s;s=[];for(let a of i){if(e!=="ignore"&&Object.prototype.hasOwnProperty.call(a,"__proto__")){if(n===!0)return null;if(e==="error")throw new SyntaxError("Object contains forbidden prototype property");delete a.__proto__}if(r!=="ignore"&&Object.prototype.hasOwnProperty.call(a,"constructor")&&Object.prototype.hasOwnProperty.call(a.constructor,"prototype")){if(n===!0)return null;if(r==="error")throw new SyntaxError("Object contains forbidden prototype property");delete a.constructor}for(let o in a){let c=a[o];c&&typeof c=="object"&&s.push(c)}}}return t}function Q$(t,e,r){let n=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return nbe(t,e,r)}finally{Error.stackTraceLimit=n}}function _Nt(t,e){let r=Error.stackTraceLimit;Error.stackTraceLimit=0;try{return nbe(t,e,{safe:!0})}catch{return null}finally{Error.stackTraceLimit=r}}ay.exports=Q$;ay.exports.default=Q$;ay.exports.parse=Q$;ay.exports.safeParse=_Nt;ay.exports.scan=sbe});var Y$=E((YDr,r_)=>{"use strict";var{AsyncResource:SNt}=require("node:async_hooks"),{Fifo:obe}=Yxe(),{safeParse:cbe,defaultContentType:vNt}=ebe(),CNt=ibe(),{kDefaultJsonParse:t_,kContentTypeParser:oy,kBodyLimit:INt,kRequestPayloadStream:ube,kState:V$,kTestInternals:TNt,kReplyIsError:lbe,kRouteContext:wNt}=Qs(),{FST_ERR_CTP_INVALID_TYPE:dbe,FST_ERR_CTP_EMPTY_TYPE:RNt,FST_ERR_CTP_ALREADY_PRESENT:NNt,FST_ERR_CTP_INVALID_HANDLER:ONt,FST_ERR_CTP_INVALID_PARSE_TYPE:PNt,FST_ERR_CTP_BODY_TOO_LARGE:abe,FST_ERR_CTP_INVALID_MEDIA_TYPE:DNt,FST_ERR_CTP_INVALID_CONTENT_LENGTH:kNt,FST_ERR_CTP_EMPTY_JSON_BODY:LNt,FST_ERR_CTP_INSTANCE_ALREADY_STARTED:z$}=Ci();function Ad(t,e,r){this[t_]=pbe(e,r),this.customParsers=new Map,this.customParsers.set("application/json",new G$(!0,!1,t,this[t_])),this.customParsers.set("text/plain",new G$(!0,!1,t,K$)),this.parserList=[new YN("application/json"),new YN("text/plain")],this.parserRegExpList=[],this.cache=new obe(100)}Ad.prototype.add=function(t,e,r){let n=typeof t=="string";if(!n&&!(t instanceof RegExp))throw new dbe;if(n&&t.length===0)throw new RNt;if(typeof r!="function")throw new ONt;if(this.existingParser(t))throw new NNt(t);if(e.parseAs!==void 0&&e.parseAs!=="string"&&e.parseAs!=="buffer")throw new PNt(e.parseAs);let s=new G$(e.parseAs==="string",e.parseAs==="buffer",e.bodyLimit,r);n&&t==="*"?this.customParsers.set("",s):(n?this.parserList.unshift(new YN(t)):(t.isEssence=t.source.indexOf(";")===-1,this.parserRegExpList.unshift(t)),this.customParsers.set(t.toString(),s))};Ad.prototype.hasParser=function(t){return this.customParsers.has(typeof t=="string"?t:t.toString())};Ad.prototype.existingParser=function(t){return t==="application/json"&&this.customParsers.has(t)?this.customParsers.get(t).fn!==this[t_]:t==="text/plain"&&this.customParsers.has(t)?this.customParsers.get(t).fn!==K$:this.hasParser(t)};Ad.prototype.getParser=function(t){if(this.hasParser(t))return this.customParsers.get(t);let e=this.cache.get(t);if(e!==void 0)return e;let r=cbe(t);if(r===vNt)return this.customParsers.get("");for(var n=0;n!==this.parserList.length;++n){let i=this.parserList[n];if(UNt(r,i)){let a=this.customParsers.get(i.name);return this.cache.set(t,a),a}}for(var s=0;s!==this.parserRegExpList.length;++s){let i=this.parserRegExpList[s];if(qNt(t,r.type,i)){let a=this.customParsers.get(i.toString());return this.cache.set(t,a),a}}return this.customParsers.get("")};Ad.prototype.removeAll=function(){this.customParsers=new Map,this.parserRegExpList=[],this.parserList=[],this.cache=new obe(100)};Ad.prototype.remove=function(t){if(!(typeof t=="string"||t instanceof RegExp))throw new dbe;let e=this.customParsers.delete(t.toString()),r=typeof t=="string"?this.parserList:this.parserRegExpList,n=r.findIndex(s=>s.toString()===t.toString());return n>-1&&r.splice(n,1),e||n>-1};Ad.prototype.run=function(t,e,r,n){let s=this.getParser(t);if(s===void 0){r.is404?e(r,n):n.send(new DNt(t||void 0));return}let i=new SNt("content-type-parser:run",r);if(s.asString===!0||s.asBuffer===!0)fbe(r,n,n[wNt]._parserOptions,s,a);else{let o=s.fn(r,r[ube],a);o&&typeof o.then=="function"&&o.then(c=>a(null,c),a)}function a(o,c){i.runInAsyncScope(()=>{i.emitDestroy(),o?(n[lbe]=!0,n.send(o)):(r.body=c,e(r,n))})}};function fbe(t,e,r,n,s){let i=n.asString,a=r.limit===null?n.bodyLimit:r.limit,o=t.headers["content-length"]===void 0?NaN:Number(t.headers["content-length"]);if(o>a){e.header("connection","close"),e.send(new abe);return}let c=0,u=i===!0?"":[],l=t[ube]||t.raw;i===!0&&l.setEncoding("utf8"),l.on("data",d),l.on("end",f),l.on("error",f),l.resume();function d(p){c+=p.length;let{receivedEncodedLength:m=0}=l;if(c>a||m>a){l.removeListener("data",d),l.removeListener("end",f),l.removeListener("error",f),e.send(new abe);return}i===!0?u+=p:u.push(p)}function f(p){if(l.removeListener("data",d),l.removeListener("end",f),l.removeListener("error",f),p!==void 0){typeof p.statusCode=="number"&&p.statusCode>=400||(p.statusCode=400),e[lbe]=!0,e.code(p.statusCode).send(p);return}if(i===!0&&(c=Buffer.byteLength(u)),!Number.isNaN(o)&&(l.receivedEncodedLength||c)!==o){e.header("connection","close"),e.send(new kNt);return}i===!1&&(u=Buffer.concat(u));let m=n.fn(t,u,s);m&&typeof m.then=="function"&&m.then(h=>s(null,h),s)}}function pbe(t,e){return r;function r(n,s,i){if(s===""||s==null||Buffer.isBuffer(s)&&s.length===0)return i(new LNt,void 0);let a;try{a=CNt.parse(s,{protoAction:t,constructorAction:e})}catch(o){return o.statusCode=400,i(o,void 0)}i(null,a)}}function K$(t,e,r){r(null,e)}function G$(t,e,r,n){this.asString=t,this.asBuffer=e,this.bodyLimit=r,this.fn=n}function BNt(t){let e=new Ad;return e[t_]=t[t_],e.customParsers=new Map(t.customParsers.entries()),e.parserList=t.parserList.slice(),e.parserRegExpList=t.parserRegExpList.slice(),e}function MNt(t,e,r){if(this[V$].started)throw new z$("addContentTypeParser");return typeof e=="function"&&(r=e,e={}),e||(e={}),e.bodyLimit||(e.bodyLimit=this[INt]),Array.isArray(t)?t.forEach(n=>this[oy].add(n,e,r)):this[oy].add(t,e,r),this}function WNt(t){return this[oy].hasParser(t)}function $Nt(t){if(this[V$].started)throw new z$("removeContentTypeParser");if(Array.isArray(t))for(let e of t)this[oy].remove(e);else this[oy].remove(t)}function FNt(){if(this[V$].started)throw new z$("removeAllContentTypeParsers");this[oy].removeAll()}function UNt(t,e){if(e.isEssence)return t.type.indexOf(e)!==-1;if(t.type.indexOf(e.type)===-1)return!1;for(let r of e.parameterKeys)if(!(r in t.parameters)||t.parameters[r]!==e.parameters[r])return!1;return!0}function qNt(t,e,r){return r.isEssence?r.test(e):r.test(t)}function YN(t){this.name=t;let e=cbe(t);if(this.isEssence=t.indexOf(";")===-1,this.isEssence===!1&&e.type===""){let r=t.split(";",1)[0];this.type=r===""?t:r}else this.type=e.type;this.parameters=e.parameters,this.parameterKeys=Object.keys(e.parameters)}YN.prototype.toString=function(){return this.name};r_.exports=Ad;r_.exports.helpers={buildContentTypeParser:BNt,addContentTypeParser:MNt,hasContentTypeParser:WNt,removeContentTypeParser:$Nt,removeAllContentTypeParsers:FNt};r_.exports.defaultParsers={getDefaultJsonParser:pbe,defaultTextParser:K$};r_.exports[TNt]={rawBody:fbe}});var Abe=E((JDr,gbe)=>{"use strict";var mbe=Go(),jNt=Symbol.for("json-schema-ref"),J$=class{#e;#t;#r;#n;#a;constructor(e={}){this.#e={},this.#t={},this.#r=e.insertRefSymbol??!1,this.#n=e.allowEqualDuplicates??!0,this.#a=e.cloneSchemaWithoutRefs??!1}addSchema(e,r){e.$id!==void 0&&e.$id.charAt(0)!=="#"?r=e.$id:this.#l(e,r),this.#s(e,r)}getSchema(e,r="#"){let n=this.#e[e];if(n===void 0)throw new Error(`Cannot resolve ref "${e}${r}". Schema with id "${e}" is not found.`);return n.anchors[r]!==void 0?n.anchors[r]:hbe(n.schema,r)}hasSchema(e){return this.#e[e]!==void 0}getSchemaRefs(e){let r=this.#e[e];if(r===void 0)throw new Error(`Schema with id "${e}" is not found.`);return r.refs}getSchemaDependencies(e,r={}){let n=this.#e[e];for(let s of n.refs){let i=s.schemaId;r[i]===void 0&&(r[i]=this.getSchema(i),this.getSchemaDependencies(i,r))}return r}derefSchema(e){if(this.#t[e]!==void 0)return;let r=this.#e[e];if(r===void 0)throw new Error(`Schema with id "${e}" is not found.`);!this.#a&&r.refs.length===0&&(this.#t[e]={schema:r.schema,anchors:r.anchors});let n=[];this.#i(r.schema,e,n);let s=this.getSchemaDependencies(e);for(let i in s){let a=s[i];this.#i(a,i,n)}for(let i of n){let{refSchemaId:a,refJsonPointer:o}=this.#o(i.ref,i.sourceSchemaId),c=this.getDerefSchema(a,o);if(c===null)throw new Error(`Cannot resolve ref "${i.ref}". Ref "${o}" is not found in schema "${a}".`);i.targetSchema=c,i.targetSchemaId=a}for(let i of n)this.#c(i,n)}getDerefSchema(e,r="#"){let n=this.#t[e];return n===void 0&&(this.derefSchema(e),n=this.#t[e]),n.anchors[r]!==void 0?n.anchors[r]:hbe(n.schema,r)}#o(e,r){let n=e.indexOf("#");return n===-1?{refSchemaId:e,refJsonPointer:"#"}:n===0?{refSchemaId:r,refJsonPointer:e}:{refSchemaId:e.slice(0,n),refJsonPointer:e.slice(n)}}#s(e,r){let n=e.$id;n!==void 0&&typeof n=="string"&&(n.charAt(0)==="#"?this.#h(e,r,n):(this.#l(e,n),r=n));let s=e.$ref;if(s!==void 0&&typeof s=="string"){let{refSchemaId:i,refJsonPointer:a}=this.#o(s,r);this.#e[r].refs.push({schemaId:i,jsonPointer:a})}for(let i in e)typeof e[i]=="object"&&e[i]!==null&&this.#s(e[i],r)}#i(e,r,n=[]){let s=Array.isArray(e)?[...e]:{...e},i=s.$id;i!==void 0&&typeof i=="string"&&(i.charAt(0)==="#"?this.#d(s,r,i):(this.#p(s,i),r=i)),s.$ref!==void 0&&n.push({ref:s.$ref,sourceSchemaId:r,sourceSchema:s});for(let a in s){let o=s[a];typeof o=="object"&&o!==null&&(s[a]=this.#i(o,r,n))}return s}#c(e,r){let{sourceSchema:n,targetSchema:s}=e;if(n.$ref){if(this.#r&&(n[jNt]=n.$ref),delete n.$ref,s.$ref){let i=r.find(a=>a.sourceSchema===s);this.#c(i,r)}for(let i in s)if(i!=="$id"){if(n[i]!==void 0){if(mbe(n[i],s[i]))continue;throw new Error(`Cannot resolve ref "${e.ref}". Property "${i}" is already exist in schema "${e.sourceSchemaId}".`)}n[i]=s[i]}e.isResolved=!0}}#l(e,r){let n=this.#e[r];if(n!==void 0){if(this.#n&&mbe(e,n.schema))return;throw new Error(`There is already another schema with id "${r}".`)}this.#e[r]={schema:e,anchors:{},refs:[]}}#h(e,r,n){let{anchors:s}=this.#e[r];if(s[n]!==void 0)throw new Error(`There is already another anchor "${n}" in a schema "${r}".`);s[n]=e}#p(e,r){this.#t[r]===void 0&&(this.#t[r]={schema:e,anchors:{}})}#d(e,r,n){let{anchors:s}=this.#t[r];s[n]=e}};function hbe(t,e){let r=e.split("/"),n=t;for(let s of r)if(!(s===""||s==="#")){if(typeof n!="object"||n===null)return null;n=n[s]}return n??null}gbe.exports={RefResolver:J$}});var xbe=E((XDr,ybe)=>{"use strict";var X$=class t{constructor(e,r,n="#"){this.schema=e,this.schemaId=r,this.jsonPointer=n}getPropertyLocation(e){return new t(this.schema[e],this.schemaId,this.jsonPointer+"/"+e)}getSchemaRef(){return this.schemaId+this.jsonPointer}};ybe.exports=X$});var vbe=E((ZDr,eF)=>{"use strict";eF.exports=ke;eF.exports.default=ke;var HNt={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0},bbe={enum:["array","boolean","integer","null","number","object","string"]},Ebe=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,QNt=hN().fullFormats.uri,_be=hN().fullFormats.regex;function Jo(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0,o=a;return typeof t=="number"&&!(t%1)&&!isNaN(t)&&isFinite(t)?a===o&&typeof t=="number"&&isFinite(t)&&(t<0||isNaN(t))?(Jo.errors=[{instancePath:e,schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1):(Jo.errors=i,a===0):(Jo.errors=[{instancePath:e,schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1)}var Z$={validate:ke};function sa(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(a===0)if(Array.isArray(t)){if(t.length<1)return sa.errors=[{instancePath:e,schemaPath:"#/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"}],!1;{var o=!0;let c=t.length;for(let u=0;u<c;u++){let l=a;Z$.validate(t[u],{instancePath:e+"/"+u,parentData:t,parentDataProperty:u,rootData:s})||(i=i===null?Z$.validate.errors:i.concat(Z$.validate.errors),a=i.length);var o=l===a;if(!o)break}}}else return sa.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;return sa.errors=i,a===0}var Sbe=k1().default;function ke(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(!(t&&typeof t=="object"&&!Array.isArray(t))&&typeof t!="boolean")return ke.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:HNt.type},message:"must be object,boolean"}],!1;if(a===0&&t&&typeof t=="object"&&!Array.isArray(t)){if(t.$id!==void 0){let y=t.$id,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!Ebe.test(y))return ke.errors=[{instancePath:e+"/$id",schemaPath:"#/properties/%24id/format",keyword:"format",params:{format:"uri-reference"},message:'must match format "uri-reference"'}],!1}else return ke.errors=[{instancePath:e+"/$id",schemaPath:"#/properties/%24id/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$schema!==void 0){let y=t.$schema,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!QNt(y))return ke.errors=[{instancePath:e+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'}],!1}else return ke.errors=[{instancePath:e+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$ref!==void 0){let y=t.$ref,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!Ebe.test(y))return ke.errors=[{instancePath:e+"/$ref",schemaPath:"#/properties/%24ref/format",keyword:"format",params:{format:"uri-reference"},message:'must match format "uri-reference"'}],!1}else return ke.errors=[{instancePath:e+"/$ref",schemaPath:"#/properties/%24ref/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.$comment!==void 0){let y=a;if(typeof t.$comment!="string")return ke.errors=[{instancePath:e+"/$comment",schemaPath:"#/properties/%24comment/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.title!==void 0){let y=a;if(typeof t.title!="string")return ke.errors=[{instancePath:e+"/title",schemaPath:"#/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.description!==void 0){let y=a;if(typeof t.description!="string")return ke.errors=[{instancePath:e+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.readOnly!==void 0){let y=a;if(typeof t.readOnly!="boolean")return ke.errors=[{instancePath:e+"/readOnly",schemaPath:"#/properties/readOnly/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var o=y===a}else var o=!0;if(o){if(t.examples!==void 0){let y=a;if(a===y&&!Array.isArray(t.examples))return ke.errors=[{instancePath:e+"/examples",schemaPath:"#/properties/examples/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=y===a}else var o=!0;if(o){if(t.multipleOf!==void 0){let y=t.multipleOf,x=a;if(a===x)if(typeof y=="number"&&isFinite(y)){if(y<=0||isNaN(y))return ke.errors=[{instancePath:e+"/multipleOf",schemaPath:"#/properties/multipleOf/exclusiveMinimum",keyword:"exclusiveMinimum",params:{comparison:">",limit:0},message:"must be > 0"}],!1}else return ke.errors=[{instancePath:e+"/multipleOf",schemaPath:"#/properties/multipleOf/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.maximum!==void 0){let y=t.maximum,x=a;if(!(typeof y=="number"&&isFinite(y)))return ke.errors=[{instancePath:e+"/maximum",schemaPath:"#/properties/maximum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.exclusiveMaximum!==void 0){let y=t.exclusiveMaximum,x=a;if(!(typeof y=="number"&&isFinite(y)))return ke.errors=[{instancePath:e+"/exclusiveMaximum",schemaPath:"#/properties/exclusiveMaximum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.minimum!==void 0){let y=t.minimum,x=a;if(!(typeof y=="number"&&isFinite(y)))return ke.errors=[{instancePath:e+"/minimum",schemaPath:"#/properties/minimum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.exclusiveMinimum!==void 0){let y=t.exclusiveMinimum,x=a;if(!(typeof y=="number"&&isFinite(y)))return ke.errors=[{instancePath:e+"/exclusiveMinimum",schemaPath:"#/properties/exclusiveMinimum/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var o=x===a}else var o=!0;if(o){if(t.maxLength!==void 0){let y=t.maxLength,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return ke.errors=[{instancePath:e+"/maxLength",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return ke.errors=[{instancePath:e+"/maxLength",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minLength!==void 0){let y=a;Jo(t.minLength,{instancePath:e+"/minLength",parentData:t,parentDataProperty:"minLength",rootData:s})||(i=i===null?Jo.errors:i.concat(Jo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.pattern!==void 0){let y=t.pattern,x=a;if(a===x&&a===x)if(typeof y=="string"){if(!_be(y))return ke.errors=[{instancePath:e+"/pattern",schemaPath:"#/properties/pattern/format",keyword:"format",params:{format:"regex"},message:'must match format "regex"'}],!1}else return ke.errors=[{instancePath:e+"/pattern",schemaPath:"#/properties/pattern/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=x===a}else var o=!0;if(o){if(t.additionalItems!==void 0){let y=a;ke(t.additionalItems,{instancePath:e+"/additionalItems",parentData:t,parentDataProperty:"additionalItems",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.items!==void 0){let y=t.items,x=a,v=a,C=!1,R=a;ke(y,{instancePath:e+"/items",parentData:t,parentDataProperty:"items",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var c=R===a;if(C=C||c,!C){let N=a;sa(y,{instancePath:e+"/items",parentData:t,parentDataProperty:"items",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var c=N===a;C=C||c}if(C)a=v,i!==null&&(v?i.length=v:i=null);else{let N={instancePath:e+"/items",schemaPath:"#/properties/items/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[N]:i.push(N),a++,ke.errors=i,!1}var o=x===a}else var o=!0;if(o){if(t.maxItems!==void 0){let y=t.maxItems,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return ke.errors=[{instancePath:e+"/maxItems",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return ke.errors=[{instancePath:e+"/maxItems",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minItems!==void 0){let y=a;Jo(t.minItems,{instancePath:e+"/minItems",parentData:t,parentDataProperty:"minItems",rootData:s})||(i=i===null?Jo.errors:i.concat(Jo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.uniqueItems!==void 0){let y=a;if(typeof t.uniqueItems!="boolean")return ke.errors=[{instancePath:e+"/uniqueItems",schemaPath:"#/properties/uniqueItems/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var o=y===a}else var o=!0;if(o){if(t.contains!==void 0){let y=a;ke(t.contains,{instancePath:e+"/contains",parentData:t,parentDataProperty:"contains",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.maxProperties!==void 0){let y=t.maxProperties,x=a,v=a;if(!(typeof y=="number"&&!(y%1)&&!isNaN(y)&&isFinite(y)))return ke.errors=[{instancePath:e+"/maxProperties",schemaPath:"#/definitions/nonNegativeInteger/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;if(a===v&&typeof y=="number"&&isFinite(y)&&(y<0||isNaN(y)))return ke.errors=[{instancePath:e+"/maxProperties",schemaPath:"#/definitions/nonNegativeInteger/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"}],!1;var o=x===a}else var o=!0;if(o){if(t.minProperties!==void 0){let y=a;Jo(t.minProperties,{instancePath:e+"/minProperties",parentData:t,parentDataProperty:"minProperties",rootData:s})||(i=i===null?Jo.errors:i.concat(Jo.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.required!==void 0){let y=t.required,x=a;if(a===a)if(Array.isArray(y)){var u=!0;let R=y.length;for(let w=0;w<R;w++){let N=a;if(typeof y[w]!="string")return ke.errors=[{instancePath:e+"/required/"+w,schemaPath:"#/definitions/stringArray/items/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var u=N===a;if(!u)break}if(u){let w=y.length,N;if(w>1){let P={};for(;w--;){let L=y[w];if(typeof L=="string"){if(typeof P[L]=="number"){return N=P[L],ke.errors=[{instancePath:e+"/required",schemaPath:"#/definitions/stringArray/uniqueItems",keyword:"uniqueItems",params:{i:w,j:N},message:"must NOT have duplicate items (items ## "+N+" and "+w+" are identical)"}],!1;break}P[L]=w}}}}}else return ke.errors=[{instancePath:e+"/required",schemaPath:"#/definitions/stringArray/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=x===a}else var o=!0;if(o){if(t.additionalProperties!==void 0){let y=a;ke(t.additionalProperties,{instancePath:e+"/additionalProperties",parentData:t,parentDataProperty:"additionalProperties",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.definitions!==void 0){let y=t.definitions,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let C in y){let R=a;ke(y[C],{instancePath:e+"/definitions/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:C,rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var l=R===a;if(!l)break}else return ke.errors=[{instancePath:e+"/definitions",schemaPath:"#/properties/definitions/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.properties!==void 0){let y=t.properties,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let C in y){let R=a;ke(y[C],{instancePath:e+"/properties/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:C,rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var d=R===a;if(!d)break}else return ke.errors=[{instancePath:e+"/properties",schemaPath:"#/properties/properties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.patternProperties!==void 0){let y=t.patternProperties,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y)){for(let C in y){let R=a;if(a===R&&typeof C=="string"&&!_be(C)){let w={instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/propertyNames/format",keyword:"format",params:{format:"regex"},message:'must match format "regex"',propertyName:C};i===null?i=[w]:i.push(w),a++}var f=R===a;if(!f){let w={instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/propertyNames",keyword:"propertyNames",params:{propertyName:C},message:"property name must be valid"};return i===null?i=[w]:i.push(w),a++,ke.errors=i,!1;break}}if(f)for(let C in y){let R=a;ke(y[C],{instancePath:e+"/patternProperties/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:C,rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var p=R===a;if(!p)break}}else return ke.errors=[{instancePath:e+"/patternProperties",schemaPath:"#/properties/patternProperties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.dependencies!==void 0){let y=t.dependencies,x=a;if(a===x)if(y&&typeof y=="object"&&!Array.isArray(y))for(let C in y){let R=y[C],w=a,N=a,P=!1,L=a;ke(R,{instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:y,parentDataProperty:C,rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var m=L===a;if(P=P||m,!P){let M=a;if(a===a)if(Array.isArray(R)){var h=!0;let Z=R.length;for(let W=0;W<Z;W++){let F=a;if(typeof R[W]!="string"){let j={instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1")+"/"+W,schemaPath:"#/definitions/stringArray/items/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[j]:i.push(j),a++}var h=F===a;if(!h)break}if(h){let W=R.length,F;if(W>1){let V={};for(;W--;){let j=R[W];if(typeof j=="string"){if(typeof V[j]=="number"){F=V[j];let J={instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/stringArray/uniqueItems",keyword:"uniqueItems",params:{i:W,j:F},message:"must NOT have duplicate items (items ## "+F+" and "+W+" are identical)"};i===null?i=[J]:i.push(J),a++;break}V[j]=W}}}}}else{let Z={instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/stringArray/type",keyword:"type",params:{type:"array"},message:"must be array"};i===null?i=[Z]:i.push(Z),a++}var m=M===a;P=P||m}if(P)a=N,i!==null&&(N?i.length=N:i=null);else{let M={instancePath:e+"/dependencies/"+C.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/dependencies/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[M]:i.push(M),a++,ke.errors=i,!1}var A=w===a;if(!A)break}else return ke.errors=[{instancePath:e+"/dependencies",schemaPath:"#/properties/dependencies/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=x===a}else var o=!0;if(o){if(t.propertyNames!==void 0){let y=a;ke(t.propertyNames,{instancePath:e+"/propertyNames",parentData:t,parentDataProperty:"propertyNames",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.enum!==void 0){let y=t.enum,x=a;if(a===x)if(Array.isArray(y)){if(y.length<1)return ke.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"}],!1;{let C=y.length,R;if(C>1){e:for(;C--;)for(R=C;R--;)if(Sbe(y[C],y[R])){return ke.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/uniqueItems",keyword:"uniqueItems",params:{i:C,j:R},message:"must NOT have duplicate items (items ## "+R+" and "+C+" are identical)"}],!1;break e}}}}else return ke.errors=[{instancePath:e+"/enum",schemaPath:"#/properties/enum/type",keyword:"type",params:{type:"array"},message:"must be array"}],!1;var o=x===a}else var o=!0;if(o){if(t.type!==void 0){let y=t.type,x=a,v=a,C=!1,R=a;if(!(y==="array"||y==="boolean"||y==="integer"||y==="null"||y==="number"||y==="object"||y==="string")){let N={instancePath:e+"/type",schemaPath:"#/definitions/simpleTypes/enum",keyword:"enum",params:{allowedValues:bbe.enum},message:"must be equal to one of the allowed values"};i===null?i=[N]:i.push(N),a++}var g=R===a;if(C=C||g,!C){let N=a;if(a===N)if(Array.isArray(y))if(y.length<1){let L={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};i===null?i=[L]:i.push(L),a++}else{var b=!0;let L=y.length;for(let M=0;M<L;M++){let k=y[M],B=a;if(!(k==="array"||k==="boolean"||k==="integer"||k==="null"||k==="number"||k==="object"||k==="string")){let W={instancePath:e+"/type/"+M,schemaPath:"#/definitions/simpleTypes/enum",keyword:"enum",params:{allowedValues:bbe.enum},message:"must be equal to one of the allowed values"};i===null?i=[W]:i.push(W),a++}var b=B===a;if(!b)break}if(b){let M=y.length,k;if(M>1){e:for(;M--;)for(k=M;k--;)if(Sbe(y[M],y[k])){let B={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/uniqueItems",keyword:"uniqueItems",params:{i:M,j:k},message:"must NOT have duplicate items (items ## "+k+" and "+M+" are identical)"};i===null?i=[B]:i.push(B),a++;break e}}}}else{let L={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf/1/type",keyword:"type",params:{type:"array"},message:"must be array"};i===null?i=[L]:i.push(L),a++}var g=N===a;C=C||g}if(C)a=v,i!==null&&(v?i.length=v:i=null);else{let N={instancePath:e+"/type",schemaPath:"#/properties/type/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[N]:i.push(N),a++,ke.errors=i,!1}var o=x===a}else var o=!0;if(o){if(t.format!==void 0){let y=a;if(typeof t.format!="string")return ke.errors=[{instancePath:e+"/format",schemaPath:"#/properties/format/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.contentMediaType!==void 0){let y=a;if(typeof t.contentMediaType!="string")return ke.errors=[{instancePath:e+"/contentMediaType",schemaPath:"#/properties/contentMediaType/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.contentEncoding!==void 0){let y=a;if(typeof t.contentEncoding!="string")return ke.errors=[{instancePath:e+"/contentEncoding",schemaPath:"#/properties/contentEncoding/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;var o=y===a}else var o=!0;if(o){if(t.if!==void 0){let y=a;ke(t.if,{instancePath:e+"/if",parentData:t,parentDataProperty:"if",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.then!==void 0){let y=a;ke(t.then,{instancePath:e+"/then",parentData:t,parentDataProperty:"then",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.else!==void 0){let y=a;ke(t.else,{instancePath:e+"/else",parentData:t,parentDataProperty:"else",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.allOf!==void 0){let y=a;sa(t.allOf,{instancePath:e+"/allOf",parentData:t,parentDataProperty:"allOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.anyOf!==void 0){let y=a;sa(t.anyOf,{instancePath:e+"/anyOf",parentData:t,parentDataProperty:"anyOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o){if(t.oneOf!==void 0){let y=a;sa(t.oneOf,{instancePath:e+"/oneOf",parentData:t,parentDataProperty:"oneOf",rootData:s})||(i=i===null?sa.errors:i.concat(sa.errors),a=i.length);var o=y===a}else var o=!0;if(o)if(t.not!==void 0){let y=a;ke(t.not,{instancePath:e+"/not",parentData:t,parentDataProperty:"not",rootData:s})||(i=i===null?ke.errors:i.concat(ke.errors),a=i.length);var o=y===a}else var o=!0}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return ke.errors=i,a===0}});var sF=E((ekr,Cbe)=>{"use strict";var tF=class extends Error{constructor(e,r){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Failed to merge "${e}" keyword schemas.`,this.schemas=r}},rF=class extends Error{constructor(e,r){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Resolver for "${e}" keyword not found.`,this.schemas=r}},nF=class extends Error{constructor(e){super(),this.name="JsonSchemaMergeError",this.code="JSON_SCHEMA_MERGE_ERROR",this.message=`Invalid "onConflict" option: "${e}".`}};Cbe.exports={MergeError:tF,ResolverNotFoundError:rF,InvalidOnConflictOptionError:nF}});var wbe=E((tkr,Tbe)=>{"use strict";var GNt=Go(),{MergeError:iF}=sF();function Ibe(t){let e=t[0];for(let r=1;r<t.length;r++)e=e.filter(n=>t[r].includes(n));return e}function VNt(t,e,r){let n=Ibe(e);if(n.length===0)throw new iF(t,e);r[t]=n}function zNt(t,e,r){for(let s=0;s<e.length;s++)Array.isArray(e[s])||(e[s]=[e[s]]);let n=Ibe(e);if(n.length===0)throw new iF(t,e);n.length===1?r[t]=n[0]:r[t]=n}function KNt(t,e,r){let n=[];for(let s of e)for(let i of s)n.includes(i)||n.push(i);r[t]=n}function YNt(t,e,r){r[t]=Math.min(...e)}function JNt(t,e,r){r[t]=Math.max(...e)}function XNt(t,e,r){let n=(o,c)=>c?n(c,o%c):o,s=(o,c)=>o*c/n(o,c),i=1;for(let o of e)for(;o*i%1!==0;)i*=10;let a=e[0]*i;for(let o of e)a=s(a,o*i);r[t]=a/i}function ZNt(t,e,r){let n=e[0];for(let s=1;s<e.length;s++)if(!GNt(e[s],n))throw new iF(t,e);r[t]=n}function eOt(){}function tOt(t,e,r){for(let n of e)if(n===!1){r[t]=!1;return}r[t]=!0}function rOt(t,e,r){for(let n of e)if(n===!0){r[t]=!0;return}r[t]=!1}Tbe.exports={arraysIntersection:VNt,hybridArraysIntersection:zNt,arraysUnion:KNt,minNumber:YNt,maxNumber:JNt,commonMultiple:XNt,allEqual:ZNt,booleanAnd:tOt,booleanOr:rOt,skip:eOt}});var kbe=E((rkr,Dbe)=>{"use strict";var nOt=Go(),jn=wbe(),ZN=sF(),Obe={$id:jn.skip,type:jn.hybridArraysIntersection,enum:jn.arraysIntersection,minLength:jn.maxNumber,maxLength:jn.minNumber,minimum:jn.maxNumber,maximum:jn.minNumber,multipleOf:jn.commonMultiple,exclusiveMinimum:jn.maxNumber,exclusiveMaximum:jn.minNumber,minItems:jn.maxNumber,maxItems:jn.minNumber,maxProperties:jn.minNumber,minProperties:jn.maxNumber,const:jn.allEqual,default:jn.allEqual,format:jn.allEqual,required:jn.arraysUnion,properties:uOt,patternProperties:XN,additionalProperties:JN,items:aOt,additionalItems:oOt,definitions:XN,$defs:XN,nullable:jn.booleanAnd,oneOf:Rbe,anyOf:Rbe,allOf:jn.arraysUnion,not:JN,if:lOt,then:jn.skip,else:jn.skip,dependencies:Nbe,dependentRequired:Nbe,dependentSchemas:XN,propertyNames:JN,uniqueItems:jn.booleanOr,contains:JN};function JN(t,e,r,n,s){r[t]=Hc(e,s)}function sOt(t){let e=[[]];for(let r of t){let n=[];for(let s of e)for(let i of r)n.push([...s,i]);e=n}return e}function Rbe(t,e,r,n,s){if(e.length===1){r[t]=e[0];return}let i=sOt(e),a=[];for(let o of i)try{let c=Hc(o,s);c!==void 0&&a.push(c)}catch(c){if(c instanceof ZN.MergeError)continue;throw c}r[t]=a}function iOt(t,e){let{items:r,additionalItems:n}=t;return Array.isArray(r)?e<r.length?r[e]:n:r!==void 0?r:n}function aOt(t,e,r,n,s){let i=0;for(let o of e)Array.isArray(o)&&(i=Math.max(i,o.length));if(i===0){r[t]=Hc(e,s);return}let a=[];for(let o=0;o<i;o++){let c=[];for(let u of n){let l=iOt(u,o);l!==void 0&&c.push(l)}a[o]=Hc(c,s)}r[t]=a}function oOt(t,e,r,n,s){let i=!1;for(let o of n)if(Array.isArray(o.items)){i=!0;break}if(!i){r[t]=Hc(e,s);return}let a=[];for(let o of n){let c=o.additionalItems;c===void 0&&!Array.isArray(o.items)&&(c=o.items),c!==void 0&&a.push(c)}r[t]=Hc(a,s)}function cOt(t,e){let{properties:r,patternProperties:n,additionalProperties:s}=t;if(r?.[e]!==void 0)return r[e];for(let i of Object.keys(n??{}))if(new RegExp(i).test(e))return n[i];return s}function uOt(t,e,r,n,s){let i={};for(let o of n){let c=o.properties??{};for(let u of Object.keys(c)){if(i[u]!==void 0)continue;let l=c[u];i[u]=[l];for(let d of n){if(o===d)continue;let f=cOt(d,u);f!==void 0&&i[u].push(f)}}}let a={};for(let o of Object.keys(i)){let c=i[o];a[o]=Hc(c,s)}r[t]=a}function XN(t,e,r,n,s){let i={};for(let o of e)for(let c of Object.keys(o))i[c]===void 0&&(i[c]=[]),i[c].push(o[c]);let a={};for(let o of Object.keys(i)){let c=i[o],u=Hc(c,s);a[o]=u}r[t]=a}function lOt(t,e,r,n,s){for(let i=0;i<n.length;i++){let a={if:n[i].if,then:n[i].then,else:n[i].else};if(a.if!==void 0){if(r.if===void 0){r.if=a.if,a.then!==void 0&&(r.then=a.then),a.else!==void 0&&(r.else=a.else);continue}r.then!==void 0&&(r.then=Hc([r.then,a],s)),r.else!==void 0&&(r.else=Hc([r.else,a],s))}}}function Nbe(t,e,r){let n={};for(let s of e)for(let i of Object.keys(s)){n[i]===void 0&&(n[i]=[]);let a=n[i];for(let o of s[i])a.includes(o)||a.push(o)}r[t]=n}function Hc(t,e){if(t.length===0)return{};if(t.length===1)return t[0];let r={},n={},s=!0;for(let i of t){if(i===!1)return!1;if(i!==!0){s=!1;for(let a of Object.keys(i))n[a]===void 0&&(n[a]=[]),n[a].push(i[a])}}if(s)return!0;for(let i of Object.keys(n)){let a=n[i];(e.resolvers[i]??e.defaultResolver)(i,a,r,t,e)}return r}function Pbe(t,e,r,n,s){let i=s.onConflict??"throw";if(e.length===1||i==="first"){r[t]=e[0];return}let a=!0;for(let o=1;o<e.length;o++)if(!nOt(e[o],e[0])){a=!1;break}if(a){r[t]=e[0];return}if(i==="throw")throw new ZN.ResolverNotFoundError(t,e);if(i!=="skip")throw new ZN.InvalidOnConflictOptionError(i)}function dOt(t,e={}){return e.defaultResolver===void 0&&(e.defaultResolver=Pbe),e.resolvers={...Obe,...e.resolvers},Hc(t,e)}Dbe.exports={mergeSchemas:dOt,keywordsResolvers:Obe,defaultResolver:Pbe,...ZN}});var Bbe=E((nkr,Lbe)=>{"use strict";var{mergeSchemas:fOt}=kbe();function pOt(t){return fOt(t,{onConflict:"skip"})}Lbe.exports=pOt});var Qbe=E((skr,cy)=>{"use strict";var{RefResolver:mOt}=Abe(),hOt=n8(),gOt=e$(),Mm=xbe(),Mbe=vbe(),AOt=Bbe(),yOt=/'/g,eO=2e4,$be="default",xOt=["floor","ceil","round","trunc"],Fbe=["default","json-stringify"],n_=0;function aF(t,e){if(!Mbe(t)){e?e=`"${e}" `:e="";let r=Mbe.errors[0],n=new Error(`${e}schema is invalid: data${r.instancePath} ${r.message}`);throw n.errors=aF.errors,n}}function s_(t,e){let r=e.schema.$ref,n=r.indexOf("#");n===-1&&(n=r.length);let s=r.slice(0,n)||e.schemaId,i=r.slice(n)||"#",a=t.refResolver.getSchema(s,i);if(a===null)throw new Error(`Cannot find reference "${r}"`);let o=new Mm(a,s,i);return a.$ref!==void 0?s_(t,o):o}function tO(t,e){let r=t.refResolver.getSchema(e,"#");return new Mm(r,e,"#")}function Wbe(t,e){return t.$id&&t.$id.charAt(0)!=="#"?t.$id:e}function oF(t,e){aF(t),e=e||{};let r={functions:[],functionsCounter:0,functionsNamesBySchema:new Map,options:e,refResolver:new mOt,rootSchemaId:t.$id||`__fjs_root_${n_++}`,validatorSchemasIds:new Set,mergedSchemasIds:new Map},n=Wbe(t,r.rootSchemaId);if(r.refResolver.hasSchema(n)||r.refResolver.addSchema(t,r.rootSchemaId),e.schema)for(let l in e.schema){let d=e.schema[l],f=Wbe(d,l);r.refResolver.hasSchema(f)||(aF(d,l),r.refResolver.addSchema(d,l))}if(e.rounding&&!xOt.includes(e.rounding))throw new Error(`Unsupported integer rounding method ${e.rounding}`);if(e.largeArrayMechanism)if(Fbe.includes(e.largeArrayMechanism))$be=e.largeArrayMechanism;else throw new Error(`Unsupported large array mechanism ${e.largeArrayMechanism}`);if(e.largeArraySize)if(typeof e.largeArraySize=="string"&&Number.isFinite(Number.parseInt(e.largeArraySize,10)))eO=Number.parseInt(e.largeArraySize,10);else if(typeof e.largeArraySize=="number"&&Number.isInteger(e.largeArraySize))eO=e.largeArraySize;else if(typeof e.largeArraySize=="bigint")eO=Number(e.largeArraySize);else throw new Error(`Unsupported large array size. Expected integer-like, got ${typeof e.largeArraySize} with value ${e.largeArraySize}`);let s=new Mm(t,r.rootSchemaId),i=xo(r,s,"input"),a=`
|
|
const JSON_STR_BEGIN_OBJECT = '{'
|
|
const JSON_STR_END_OBJECT = '}'
|
|
const JSON_STR_BEGIN_ARRAY = '['
|
|
const JSON_STR_END_ARRAY = ']'
|
|
const JSON_STR_COMMA = ','
|
|
const JSON_STR_COLONS = ':'
|
|
const JSON_STR_QUOTE = '"'
|
|
const JSON_STR_EMPTY_OBJECT = JSON_STR_BEGIN_OBJECT + JSON_STR_END_OBJECT
|
|
const JSON_STR_EMPTY_ARRAY = JSON_STR_BEGIN_ARRAY + JSON_STR_END_ARRAY
|
|
const JSON_STR_EMPTY_STRING = JSON_STR_QUOTE + JSON_STR_QUOTE
|
|
const JSON_STR_NULL = 'null'
|
|
`;i==="json += anonymous0(input)"?a+=`
|
|
${r.functions.join(`
|
|
`)}
|
|
const main = anonymous0
|
|
return main
|
|
`:a+=`
|
|
function main (input) {
|
|
let json = ''
|
|
${i}
|
|
return json
|
|
}
|
|
${r.functions.join(`
|
|
`)}
|
|
return main
|
|
`;let o=new hOt(e),c=new gOt(e.ajv);for(let l of r.validatorSchemasIds){let d=r.refResolver.getSchema(l);c.addSchema(d,l);let f=r.refResolver.getSchemaDependencies(l);for(let[p,m]of Object.entries(f))c.addSchema(m,p)}if(e.debugMode&&(e.mode="debug"),e.mode==="debug")return{validator:c,serializer:o,code:`validator
|
|
serializer
|
|
${a}`,ajv:c.ajv};let u=new Function("validator","serializer",a);return e.mode==="standalone"?r$()(u,r,o,c):u(c,o)}var bOt=["properties","required","additionalProperties","patternProperties","maxProperties","minProperties","dependencies"],EOt=["items","additionalItems","maxItems","minItems","uniqueItems","contains"],_Ot=["maxLength","minLength","pattern"],SOt=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum"];function vOt(t){for(var e of bOt)if(e in t)return"object";for(var e of EOt)if(e in t)return"array";for(var e of _Ot)if(e in t)return"string";for(var e of SOt)if(e in t)return"number";return t.type}function COt(t,e,r){let n=e.schema,s=Object.keys(n.properties||{}),i=`
|
|
const propertiesKeys = ${JSON.stringify(s)}
|
|
for (const [key, value] of Object.entries(obj)) {
|
|
if (
|
|
propertiesKeys.includes(key) ||
|
|
value === undefined ||
|
|
typeof value === 'function' ||
|
|
typeof value === 'symbol'
|
|
) continue
|
|
`,a=e.getPropertyLocation("patternProperties"),o=a.schema;if(o!==void 0)for(let l in o){let d=a.getPropertyLocation(l);i+=`
|
|
if (/${l.replace(/\\*\//g,"\\/")}/.test(key)) {
|
|
${r}
|
|
json += serializer.asString(key) + JSON_STR_COLONS
|
|
${xo(t,d,"value")}
|
|
continue
|
|
}
|
|
`}let u=e.getPropertyLocation("additionalProperties").schema;if(u!==void 0)if(u===!0)i+=`
|
|
${r}
|
|
json += serializer.asString(key) + JSON_STR_COLONS + JSON.stringify(value)
|
|
`;else{let l=e.getPropertyLocation("additionalProperties");i+=`
|
|
${r}
|
|
json += serializer.asString(key) + JSON_STR_COLONS
|
|
${xo(t,l,"value")}
|
|
`}return i+=`
|
|
}
|
|
`,i}function IOt(t,e){let r=e.schema,n=e.getPropertyLocation("properties"),s=r.required||[],i=Object.keys(r.properties||{}).sort((u,l)=>{let d=s.includes(u),f=s.includes(l);return d===f?0:d?-1:1}),a=s.includes(i[0]),o=`let value
|
|
`;for(let u of s)if(!i.includes(u)){let l=JSON.stringify(u);o+=`if (obj[${l}] === undefined) throw new Error('${l.replace(/'/g,"\\'")} is required!')
|
|
`}o+=`let json = JSON_STR_BEGIN_OBJECT
|
|
`;let c="";a||(o+=`let addComma = false
|
|
`,c="!addComma && (addComma = true) || (json += JSON_STR_COMMA)");for(let u of i){let l=n.getPropertyLocation(u);l.schema.$ref&&(l=s_(t,l));let d=JSON.stringify(u),f=l.schema.default,p=s.includes(u);o+=`
|
|
value = obj[${d}]
|
|
if (value !== undefined) {
|
|
${c}
|
|
json += ${JSON.stringify(d+":")}
|
|
${xo(t,l,"value")}
|
|
}`,f!==void 0?o+=` else {
|
|
${c}
|
|
json += ${JSON.stringify(d+":"+JSON.stringify(f))}
|
|
}
|
|
`:p?o+=` else {
|
|
throw new Error('${d.replace(/'/g,"\\'")} is required!')
|
|
}
|
|
`:o+=`
|
|
`,a&&(c="json += ','")}return(r.patternProperties||r.additionalProperties)&&(o+=COt(t,e,c)),o+=`
|
|
return json + JSON_STR_END_OBJECT
|
|
`,o}function rO(t,e,r){for(let a=0;a<r.length;a++){let o=r[a];o.schema.$ref&&(r[a]=s_(t,o))}let n=[];for(let a of r){let o=Ube(t,a.schema,a.schemaId);delete o.$id,n.push(o)}let s=AOt(n),i=new Mm(s,e);return t.refResolver.addSchema(s,e),i}function Ube(t,e,r){let n=Array.isArray(e)?[]:{};e.$id!==void 0&&e.$id.charAt(0)!=="#"&&(r=e.$id);let s=t.mergedSchemasIds.get(e);s&&t.mergedSchemasIds.set(n,s);for(let i in e){let a=e[i];i==="$ref"&&typeof a=="string"&&a.charAt(0)==="#"&&(a=r+a),typeof a=="object"&&a!==null&&(a=Ube(t,a,r)),n[i]=a}return n}function TOt(t){return`(${t} && typeof ${t}.toJSON === 'function')
|
|
? ${t}.toJSON()
|
|
: ${t}
|
|
`}function wOt(t,e){let r=e.schema;if(t.functionsNamesBySchema.has(r))return t.functionsNamesBySchema.get(r);let n=jbe(t);t.functionsNamesBySchema.set(r,n);let s=e.getSchemaRef();s.startsWith(t.rootSchemaId)&&(s=s.replace(t.rootSchemaId,""));let i=`
|
|
`,a=r.nullable===!0;return i+=`
|
|
// ${s}
|
|
function ${n} (input) {
|
|
const obj = ${TOt("input")}
|
|
${a?"":"if (obj === null) return JSON_STR_EMPTY_OBJECT"}
|
|
|
|
${IOt(t,e)}
|
|
}
|
|
`,t.functions.push(i),n}function ROt(t,e){let r=e.schema,n=e.getPropertyLocation("items");n.schema=n.schema||{},n.schema.$ref&&(n=s_(t,n));let s=n.schema;if(t.functionsNamesBySchema.has(r))return t.functionsNamesBySchema.get(r);let i=jbe(t);t.functionsNamesBySchema.set(r,i);let a=e.getSchemaRef();a.startsWith(t.rootSchemaId)&&(a=a.replace(t.rootSchemaId,""));let o=`
|
|
function ${i} (obj) {
|
|
// ${a}
|
|
`,c=r.nullable===!0;if(o+=`
|
|
${c?"":"if (obj === null) return JSON_STR_EMPTY_ARRAY"}
|
|
if (!Array.isArray(obj)) {
|
|
throw new TypeError(\`The value of '${a}' does not match schema definition.\`)
|
|
}
|
|
const arrayLength = obj.length
|
|
`,!r.additionalItems&&Array.isArray(s)&&(o+=`
|
|
if (arrayLength > ${s.length}) {
|
|
throw new Error(\`Item at ${s.length} does not match schema definition.\`)
|
|
}
|
|
`),$be==="json-stringify"&&(o+=`if (arrayLength >= ${eO}) return JSON.stringify(obj)
|
|
`),o+=`
|
|
const arrayEnd = arrayLength - 1
|
|
let value
|
|
let json = ''
|
|
`,Array.isArray(s)){for(let u=0;u<s.length;u++){let l=s[u];o+=`value = obj[${u}]`;let d=xo(t,n.getPropertyLocation(u),"value");o+=`
|
|
if (${u} < arrayLength) {
|
|
if (${qbe(l.type,`[${u}]`)}) {
|
|
${d}
|
|
if (${u} < arrayEnd) {
|
|
json += JSON_STR_COMMA
|
|
}
|
|
} else {
|
|
throw new Error(\`Item at ${u} does not match schema definition.\`)
|
|
}
|
|
}
|
|
`}r.additionalItems&&(o+=`
|
|
for (let i = ${s.length}; i < arrayLength; i++) {
|
|
json += JSON.stringify(obj[i])
|
|
if (i < arrayEnd) {
|
|
json += JSON_STR_COMMA
|
|
}
|
|
}`)}else{let u=xo(t,n,"obj[i]");o+=`
|
|
for (let i = 0; i < arrayLength; i++) {
|
|
${u}
|
|
if (i < arrayEnd) {
|
|
json += JSON_STR_COMMA
|
|
}
|
|
}`}return o+=`
|
|
return JSON_STR_BEGIN_ARRAY + json + JSON_STR_END_ARRAY
|
|
}`,t.functions.push(o),i}function qbe(t,e){let r;switch(t){case"null":r="value === null";break;case"string":r=`typeof value === 'string' ||
|
|
value === null ||
|
|
value instanceof Date ||
|
|
value instanceof RegExp ||
|
|
(
|
|
typeof value === "object" &&
|
|
typeof value.toString === "function" &&
|
|
value.toString !== Object.prototype.toString
|
|
)`;break;case"integer":r="Number.isInteger(value)";break;case"number":r="Number.isFinite(value)";break;case"boolean":r="typeof value === 'boolean'";break;case"object":r="value && typeof value === 'object' && value.constructor === Object";break;case"array":r="Array.isArray(value)";break;default:Array.isArray(t)&&(r=`(${t.map(s=>qbe(s,e)).join(" || ")})`)}return r}function jbe(t){return"anonymous"+t.functionsCounter++}function NOt(t,e,r){let s=e.schema.type.sort(o=>o==="null"?-1:1),i="";s.forEach((o,c)=>{e.schema={...e.schema,type:o};let u=Hbe(t,e,r),l=c===0?"if":"else if";switch(o){case"null":i+=`
|
|
${l} (${r} === null)
|
|
${u}
|
|
`;break;case"string":{i+=`
|
|
${l}(
|
|
typeof ${r} === "string" ||
|
|
${r} === null ||
|
|
${r} instanceof Date ||
|
|
${r} instanceof RegExp ||
|
|
(
|
|
typeof ${r} === "object" &&
|
|
typeof ${r}.toString === "function" &&
|
|
${r}.toString !== Object.prototype.toString
|
|
)
|
|
)
|
|
${u}
|
|
`;break}case"array":{i+=`
|
|
${l}(Array.isArray(${r}))
|
|
${u}
|
|
`;break}case"integer":{i+=`
|
|
${l}(Number.isInteger(${r}) || ${r} === null)
|
|
${u}
|
|
`;break}default:{i+=`
|
|
${l}(typeof ${r} === "${o}" || ${r} === null)
|
|
${u}
|
|
`;break}}});let a=e.getSchemaRef();return a.startsWith(t.rootSchemaId)&&(a=a.replace(t.rootSchemaId,"")),i+=`
|
|
else throw new TypeError(\`The value of '${a}' does not match schema definition.\`)
|
|
`,i}function Hbe(t,e,r){let n=e.schema;switch(n.type){case"null":return"json += JSON_STR_NULL";case"string":return n.format==="date-time"?`json += serializer.asDateTime(${r})`:n.format==="date"?`json += serializer.asDate(${r})`:n.format==="time"?`json += serializer.asTime(${r})`:n.format==="unsafe"?`json += serializer.asUnsafeString(${r})`:`
|
|
if (typeof ${r} !== 'string') {
|
|
if (${r} === null) {
|
|
json += JSON_STR_EMPTY_STRING
|
|
} else if (${r} instanceof Date) {
|
|
json += JSON_STR_QUOTE + ${r}.toISOString() + JSON_STR_QUOTE
|
|
} else if (${r} instanceof RegExp) {
|
|
json += serializer.asString(${r}.source)
|
|
} else {
|
|
json += serializer.asString(${r}.toString())
|
|
}
|
|
} else {
|
|
json += serializer.asString(${r})
|
|
}
|
|
`;case"integer":return`json += serializer.asInteger(${r})`;case"number":return`json += serializer.asNumber(${r})`;case"boolean":return`json += serializer.asBoolean(${r})`;case"object":return`json += ${wOt(t,e)}(${r})`;case"array":return`json += ${ROt(t,e)}(${r})`;case void 0:return`json += JSON.stringify(${r})`;default:throw new Error(`${n.type} unsupported`)}}function OOt(t,e){let r=t.schema,n=r.type,s=Array.isArray(n)&&n.includes("null"),i="";return s&&(i+=`
|
|
if (${e} === null) {
|
|
json += JSON_STR_NULL
|
|
} else {
|
|
`),i+=`json += '${JSON.stringify(r.const).replace(yOt,"\\'")}'`,s&&(i+=`
|
|
}
|
|
`),i}function POt(t,e,r){let n=e.schema,s=t.mergedSchemasIds.get(n);if(s){let l=tO(t,s);return xo(t,l,r)}s=`__fjs_merged_${n_++}`,t.mergedSchemasIds.set(n,s);let{allOf:i,...a}=e.schema,o=[new Mm(a,e.schemaId,e.jsonPointer)],c=e.getPropertyLocation("allOf");for(let l=0;l<i.length;l++)o.push(c.getPropertyLocation(l));let u=rO(t,s,o);return xo(t,u,r)}function DOt(t,e,r){t.validatorSchemasIds.add(e.schemaId);let s=e.schema.anyOf?"anyOf":"oneOf",{[s]:i,...a}=e.schema,o=new Mm(a,e.schemaId,e.jsonPointer),c=e.getPropertyLocation(s),u="";for(let d=0;d<i.length;d++){let f=c.getPropertyLocation(d),p=f.schema,m=t.mergedSchemasIds.get(p),h=null;m?h=tO(t,m):(m=`__fjs_merged_${n_++}`,t.mergedSchemasIds.set(p,m),h=rO(t,m,[o,f]));let A=xo(t,h,r),g=f.getSchemaRef();u+=`
|
|
${d===0?"if":"else if"}(validator.validate("${g}", ${r}))
|
|
${A}
|
|
`}let l=e.getSchemaRef();return l.startsWith(t.rootSchemaId)&&(l=l.replace(t.rootSchemaId,"")),u+=`
|
|
else throw new TypeError(\`The value of '${l}' does not match schema definition.\`)
|
|
`,u}function kOt(t,e,r){t.validatorSchemasIds.add(e.schemaId);let{if:n,then:s,else:i,...a}=e.schema,o=new Mm(a,e.schemaId,e.jsonPointer),u=e.getPropertyLocation("if").getSchemaRef(),l=e.getPropertyLocation("then"),d=t.mergedSchemasIds.get(s),f=null;if(d?f=tO(t,d):(d=`__fjs_merged_${n_++}`,t.mergedSchemasIds.set(s,d),f=rO(t,d,[o,l])),!i)return`
|
|
if (validator.validate("${u}", ${r})) {
|
|
${xo(t,f,r)}
|
|
} else {
|
|
${xo(t,o,r)}
|
|
}
|
|
`;let p=e.getPropertyLocation("else"),m=t.mergedSchemasIds.get(i),h=null;return m?h=tO(t,m):(m=`__fjs_merged_${n_++}`,t.mergedSchemasIds.set(i,m),h=rO(t,m,[o,p])),`
|
|
if (validator.validate("${u}", ${r})) {
|
|
${xo(t,f,r)}
|
|
} else {
|
|
${xo(t,h,r)}
|
|
}
|
|
`}function xo(t,e,r){let n=e.schema;if(typeof n=="boolean")return`json += JSON.stringify(${r})`;if(n.$ref&&(e=s_(t,e),n=e.schema),n.allOf)return POt(t,e,r);if(n.anyOf||n.oneOf)return DOt(t,e,r);if(n.if&&n.then)return kOt(t,e,r);if(n.type===void 0){let o=vOt(n);o&&(n.type=o)}let s="",i=n.type,a=n.nullable===!0;return a&&(s+=`
|
|
if (${r} === null) {
|
|
json += JSON_STR_NULL
|
|
} else {
|
|
`),n.const!==void 0?s+=OOt(e,r):Array.isArray(i)?s+=NOt(t,e,r):s+=Hbe(t,e,r),a&&(s+=`
|
|
}
|
|
`),s}cy.exports=oF;cy.exports.default=oF;cy.exports.build=oF;cy.exports.validLargeArrayMechanisms=Fbe;cy.exports.restore=function({code:t,validator:e,serializer:r}){return Function.apply(null,["validator","serializer",t]).apply(null,[e,r])}});var Vbe=E((ikr,cF)=>{"use strict";var LOt=uF();function Gbe(t={readMode:!0}){if(t.readMode===!0&&typeof t.restoreFunction!="function")throw new Error("You must provide a function for the restoreFunction-option when readMode ON");if(t.readMode!==!0&&typeof t.storeFunction!="function")throw new Error("You must provide a function for the storeFunction-option when readMode OFF");if(t.readMode===!0)return function(){return function(n){return t.restoreFunction(n)}};let e=LOt();return function(n,s={}){s.mode="standalone";let i=e(n,s);return function(a){let o=i(a);return t.storeFunction(a,o),new Function(o)}}}cF.exports=Gbe;cF.exports.default=Gbe});var uF=E((akr,i_)=>{"use strict";var BOt=Qbe();function lF(){return function(e,r){let n=Object.assign({},r,{schema:e});return MOt.bind(null,n)}}function MOt(t,{schema:e}){return t.schema&&e.$id&&t.schema[e.$id]&&(t.schema={...t.schema},delete t.schema[e.$id]),BOt(e,t)}i_.exports=lF;i_.exports.default=lF;i_.exports.SerializerSelector=lF;i_.exports.StandaloneSerializer=Vbe()});var uy=E(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.regexpCode=Br.getEsmExportName=Br.getProperty=Br.safeStringify=Br.stringify=Br.strConcat=Br.addCodeArg=Br.str=Br._=Br.nil=Br._Code=Br.Name=Br.IDENTIFIER=Br._CodeOrName=void 0;var a_=class{};Br._CodeOrName=a_;Br.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Wm=class extends a_{constructor(e){if(super(),!Br.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Br.Name=Wm;var Xo=class extends a_{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Wm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Br._Code=Xo;Br.nil=new Xo("");function zbe(t,...e){let r=[t[0]],n=0;for(;n<e.length;)fF(r,e[n]),r.push(t[++n]);return new Xo(r)}Br._=zbe;var dF=new Xo("+");function Kbe(t,...e){let r=[o_(t[0])],n=0;for(;n<e.length;)r.push(dF),fF(r,e[n]),r.push(dF,o_(t[++n]));return WOt(r),new Xo(r)}Br.str=Kbe;function fF(t,e){e instanceof Xo?t.push(...e._items):e instanceof Wm?t.push(e):t.push(UOt(e))}Br.addCodeArg=fF;function WOt(t){let e=1;for(;e<t.length-1;){if(t[e]===dF){let r=$Ot(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function $Ot(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Wm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Wm))return`"${t}${e.slice(1)}`}function FOt(t,e){return e.emptyStr()?t:t.emptyStr()?e:Kbe`${t}${e}`}Br.strConcat=FOt;function UOt(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:o_(Array.isArray(t)?t.join(","):t)}function qOt(t){return new Xo(o_(t))}Br.stringify=qOt;function o_(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Br.safeStringify=o_;function jOt(t){return typeof t=="string"&&Br.IDENTIFIER.test(t)?new Xo(`.${t}`):zbe`[${t}]`}Br.getProperty=jOt;function HOt(t){if(typeof t=="string"&&Br.IDENTIFIER.test(t))return new Xo(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}Br.getEsmExportName=HOt;function QOt(t){return new Xo(t.toString())}Br.regexpCode=QOt});var aO=E(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.ValueScope=Ma.ValueScopeName=Ma.Scope=Ma.varKinds=Ma.UsedValueState=void 0;var Ba=uy(),pF=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},nO;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(nO||(Ma.UsedValueState=nO={}));Ma.varKinds={const:new Ba.Name("const"),let:new Ba.Name("let"),var:new Ba.Name("var")};var sO=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Ba.Name?e:this.name(e)}name(e){return new Ba.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ma.Scope=sO;var iO=class extends Ba.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Ba._)`.${new Ba.Name(r)}[${n}]`}};Ma.ValueScopeName=iO;var GOt=(0,Ba._)`\n`,mF=class extends sO{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?GOt:Ba.nil}}get(){return this._scope}name(e){return new iO(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Ba._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=Ba.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,nO.Started);let l=r(u);if(l){let d=this.opts.es5?Ma.varKinds.var:Ma.varKinds.const;i=(0,Ba._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Ba._)`${i}${l}${this.opts._n}`;else throw new pF(u);c.set(u,nO.Completed)})}return i}};Ma.ValueScope=mF});var Et=E(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.or=Zt.and=Zt.not=Zt.CodeGen=Zt.operators=Zt.varKinds=Zt.ValueScopeName=Zt.ValueScope=Zt.Scope=Zt.Name=Zt.regexpCode=Zt.stringify=Zt.getProperty=Zt.nil=Zt.strConcat=Zt.str=Zt._=void 0;var yr=uy(),Qc=aO(),vp=uy();Object.defineProperty(Zt,"_",{enumerable:!0,get:function(){return vp._}});Object.defineProperty(Zt,"str",{enumerable:!0,get:function(){return vp.str}});Object.defineProperty(Zt,"strConcat",{enumerable:!0,get:function(){return vp.strConcat}});Object.defineProperty(Zt,"nil",{enumerable:!0,get:function(){return vp.nil}});Object.defineProperty(Zt,"getProperty",{enumerable:!0,get:function(){return vp.getProperty}});Object.defineProperty(Zt,"stringify",{enumerable:!0,get:function(){return vp.stringify}});Object.defineProperty(Zt,"regexpCode",{enumerable:!0,get:function(){return vp.regexpCode}});Object.defineProperty(Zt,"Name",{enumerable:!0,get:function(){return vp.Name}});var lO=aO();Object.defineProperty(Zt,"Scope",{enumerable:!0,get:function(){return lO.Scope}});Object.defineProperty(Zt,"ValueScope",{enumerable:!0,get:function(){return lO.ValueScope}});Object.defineProperty(Zt,"ValueScopeName",{enumerable:!0,get:function(){return lO.ValueScopeName}});Object.defineProperty(Zt,"varKinds",{enumerable:!0,get:function(){return lO.varKinds}});Zt.operators={GT:new yr._Code(">"),GTE:new yr._Code(">="),LT:new yr._Code("<"),LTE:new yr._Code("<="),EQ:new yr._Code("==="),NEQ:new yr._Code("!=="),NOT:new yr._Code("!"),OR:new yr._Code("||"),AND:new yr._Code("&&"),ADD:new yr._Code("+")};var yd=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},hF=class extends yd{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Qc.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=dy(this.rhs,e,r)),this}get names(){return this.rhs instanceof yr._CodeOrName?this.rhs.names:{}}},oO=class extends yd{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof yr.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=dy(this.rhs,e,r),this}get names(){let e=this.lhs instanceof yr.Name?{}:{...this.lhs.names};return uO(e,this.rhs)}},gF=class extends oO{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},AF=class extends yd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},yF=class extends yd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},xF=class extends yd{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},bF=class extends yd{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=dy(this.code,e,r),this}get names(){return this.code instanceof yr._CodeOrName?this.code.names:{}}},c_=class extends yd{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(VOt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Um(e,r.names),{})}},xd=class extends c_{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},EF=class extends c_{},ly=class extends xd{};ly.kind="else";var $m=class t extends xd{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ly(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Ybe(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=dy(this.condition,e,r),this}get names(){let e=super.names;return uO(e,this.condition),this.else&&Um(e,this.else.names),e}};$m.kind="if";var Fm=class extends xd{};Fm.kind="for";var _F=class extends Fm{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=dy(this.iteration,e,r),this}get names(){return Um(super.names,this.iteration.names)}},SF=class extends Fm{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?Qc.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=uO(super.names,this.from);return uO(e,this.to)}},cO=class extends Fm{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=dy(this.iterable,e,r),this}get names(){return Um(super.names,this.iterable.names)}},u_=class extends xd{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};u_.kind="func";var l_=class extends c_{render(e){return"return "+super.render(e)}};l_.kind="return";var vF=class extends xd{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Um(e,this.catch.names),this.finally&&Um(e,this.finally.names),e}},d_=class extends xd{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};d_.kind="catch";var f_=class extends xd{render(e){return"finally"+super.render(e)}};f_.kind="finally";var CF=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
`:""},this._extScope=e,this._scope=new Qc.Scope({parent:e}),this._nodes=[new EF]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new hF(e,i,n)),i}const(e,r,n){return this._def(Qc.varKinds.const,e,r,n)}let(e,r,n){return this._def(Qc.varKinds.let,e,r,n)}var(e,r,n){return this._def(Qc.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new oO(e,r,n))}add(e,r){return this._leafNode(new gF(e,Zt.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==yr.nil&&this._leafNode(new bF(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,yr.addCodeArg)(r,s));return r.push("}"),new yr._Code(r)}if(e,r,n){if(this._blockNode(new $m(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new $m(e))}else(){return this._elseNode(new ly)}endIf(){return this._endBlockNode($m,ly)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new _F(e),r)}forRange(e,r,n,s,i=this.opts.es5?Qc.varKinds.var:Qc.varKinds.let){let a=this._scope.toName(e);return this._for(new SF(i,a,r,n),()=>s(a))}forOf(e,r,n,s=Qc.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof yr.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,yr._)`${a}.length`,o=>{this.var(i,(0,yr._)`${a}[${o}]`),n(i)})}return this._for(new cO("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?Qc.varKinds.var:Qc.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,yr._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new cO("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Fm)}label(e){return this._leafNode(new AF(e))}break(e){return this._leafNode(new yF(e))}return(e){let r=new l_;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(l_)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new vF;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new d_(i),r(i)}return n&&(this._currNode=s.finally=new f_,this.code(n)),this._endBlockNode(d_,f_)}throw(e){return this._leafNode(new xF(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=yr.nil,n,s){return this._blockNode(new u_(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(u_)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof $m))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};Zt.CodeGen=CF;function Um(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function uO(t,e){return e instanceof yr._CodeOrName?Um(t,e.names):t}function dy(t,e,r){if(t instanceof yr.Name)return n(t);if(!s(t))return t;return new yr._Code(t._items.reduce((i,a)=>(a instanceof yr.Name&&(a=n(a)),a instanceof yr._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof yr._Code&&i._items.some(a=>a instanceof yr.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function VOt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Ybe(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,yr._)`!${IF(t)}`}Zt.not=Ybe;var zOt=Jbe(Zt.operators.AND);function KOt(...t){return t.reduce(zOt)}Zt.and=KOt;var YOt=Jbe(Zt.operators.OR);function JOt(...t){return t.reduce(YOt)}Zt.or=JOt;function Jbe(t){return(e,r)=>e===yr.nil?r:r===yr.nil?e:(0,yr._)`${IF(e)} ${t} ${IF(r)}`}function IF(t){return t instanceof yr.Name?t:(0,yr._)`(${t})`}});var Kt=E(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.checkStrictMode=nr.getErrorPath=nr.Type=nr.useFunc=nr.setEvaluated=nr.evaluatedPropsToName=nr.mergeEvaluated=nr.eachItem=nr.unescapeJsonPointer=nr.escapeJsonPointer=nr.escapeFragment=nr.unescapeFragment=nr.schemaRefOrVal=nr.schemaHasRulesButRef=nr.schemaHasRules=nr.checkUnknownRules=nr.alwaysValidSchema=nr.toHash=void 0;var fn=Et(),XOt=uy();function ZOt(t){let e={};for(let r of t)e[r]=!0;return e}nr.toHash=ZOt;function ePt(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(eEe(t,e),!tEe(e,t.self.RULES.all))}nr.alwaysValidSchema=ePt;function eEe(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||sEe(t,`unknown keyword: "${i}"`)}nr.checkUnknownRules=eEe;function tEe(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}nr.schemaHasRules=tEe;function tPt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}nr.schemaHasRulesButRef=tPt;function rPt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,fn._)`${r}`}return(0,fn._)`${t}${e}${(0,fn.getProperty)(n)}`}nr.schemaRefOrVal=rPt;function nPt(t){return rEe(decodeURIComponent(t))}nr.unescapeFragment=nPt;function sPt(t){return encodeURIComponent(wF(t))}nr.escapeFragment=sPt;function wF(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}nr.escapeJsonPointer=wF;function rEe(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}nr.unescapeJsonPointer=rEe;function iPt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}nr.eachItem=iPt;function Xbe({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof fn.Name?(i instanceof fn.Name?t(s,i,a):e(s,i,a),a):i instanceof fn.Name?(e(s,a,i),i):r(i,a);return o===fn.Name&&!(c instanceof fn.Name)?n(s,c):c}}nr.mergeEvaluated={props:Xbe({mergeNames:(t,e,r)=>t.if((0,fn._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,fn._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,fn._)`${r} || {}`).code((0,fn._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,fn._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,fn._)`${r} || {}`),RF(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:nEe}),items:Xbe({mergeNames:(t,e,r)=>t.if((0,fn._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,fn._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,fn._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,fn._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function nEe(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,fn._)`{}`);return e!==void 0&&RF(t,r,e),r}nr.evaluatedPropsToName=nEe;function RF(t,e,r){Object.keys(r).forEach(n=>t.assign((0,fn._)`${e}${(0,fn.getProperty)(n)}`,!0))}nr.setEvaluated=RF;var Zbe={};function aPt(t,e){return t.scopeValue("func",{ref:e,code:Zbe[e.code]||(Zbe[e.code]=new XOt._Code(e.code))})}nr.useFunc=aPt;var TF;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(TF||(nr.Type=TF={}));function oPt(t,e,r){if(t instanceof fn.Name){let n=e===TF.Num;return r?n?(0,fn._)`"[" + ${t} + "]"`:(0,fn._)`"['" + ${t} + "']"`:n?(0,fn._)`"/" + ${t}`:(0,fn._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,fn.getProperty)(t).toString():"/"+wF(t)}nr.getErrorPath=oPt;function sEe(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}nr.checkStrictMode=sEe});var Zo=E(NF=>{"use strict";Object.defineProperty(NF,"__esModule",{value:!0});var Pi=Et(),cPt={data:new Pi.Name("data"),valCxt:new Pi.Name("valCxt"),instancePath:new Pi.Name("instancePath"),parentData:new Pi.Name("parentData"),parentDataProperty:new Pi.Name("parentDataProperty"),rootData:new Pi.Name("rootData"),dynamicAnchors:new Pi.Name("dynamicAnchors"),vErrors:new Pi.Name("vErrors"),errors:new Pi.Name("errors"),this:new Pi.Name("this"),self:new Pi.Name("self"),scope:new Pi.Name("scope"),json:new Pi.Name("json"),jsonPos:new Pi.Name("jsonPos"),jsonLen:new Pi.Name("jsonLen"),jsonPart:new Pi.Name("jsonPart")};NF.default=cPt});var p_=E(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.extendErrors=Di.resetErrorsCount=Di.reportExtraError=Di.reportError=Di.keyword$DataError=Di.keywordError=void 0;var Cr=Et(),dO=Kt(),ia=Zo();Di.keywordError={message:({keyword:t})=>(0,Cr.str)`must pass "${t}" keyword validation`};Di.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Cr.str)`"${t}" keyword must be ${e} ($data)`:(0,Cr.str)`"${t}" keyword is invalid ($data)`};function uPt(t,e=Di.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=oEe(t,e,r);n??(a||o)?iEe(i,c):aEe(s,(0,Cr._)`[${c}]`)}Di.reportError=uPt;function lPt(t,e=Di.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=oEe(t,e,r);iEe(s,o),i||a||aEe(n,ia.default.vErrors)}Di.reportExtraError=lPt;function dPt(t,e){t.assign(ia.default.errors,e),t.if((0,Cr._)`${ia.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Cr._)`${ia.default.vErrors}.length`,e),()=>t.assign(ia.default.vErrors,null)))}Di.resetErrorsCount=dPt;function fPt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ia.default.errors,o=>{t.const(a,(0,Cr._)`${ia.default.vErrors}[${o}]`),t.if((0,Cr._)`${a}.instancePath === undefined`,()=>t.assign((0,Cr._)`${a}.instancePath`,(0,Cr.strConcat)(ia.default.instancePath,i.errorPath))),t.assign((0,Cr._)`${a}.schemaPath`,(0,Cr.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,Cr._)`${a}.schema`,r),t.assign((0,Cr._)`${a}.data`,n))})}Di.extendErrors=fPt;function iEe(t,e){let r=t.const("err",e);t.if((0,Cr._)`${ia.default.vErrors} === null`,()=>t.assign(ia.default.vErrors,(0,Cr._)`[${r}]`),(0,Cr._)`${ia.default.vErrors}.push(${r})`),t.code((0,Cr._)`${ia.default.errors}++`)}function aEe(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,Cr._)`new ${t.ValidationError}(${e})`):(r.assign((0,Cr._)`${n}.errors`,e),r.return(!1))}var qm={keyword:new Cr.Name("keyword"),schemaPath:new Cr.Name("schemaPath"),params:new Cr.Name("params"),propertyName:new Cr.Name("propertyName"),message:new Cr.Name("message"),schema:new Cr.Name("schema"),parentSchema:new Cr.Name("parentSchema")};function oEe(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Cr._)`{}`:pPt(t,e,r)}function pPt(t,e,r={}){let{gen:n,it:s}=t,i=[mPt(s,r),hPt(t,r)];return gPt(t,e,i),n.object(...i)}function mPt({errorPath:t},{instancePath:e}){let r=e?(0,Cr.str)`${t}${(0,dO.getErrorPath)(e,dO.Type.Str)}`:t;return[ia.default.instancePath,(0,Cr.strConcat)(ia.default.instancePath,r)]}function hPt({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,Cr.str)`${e}/${t}`;return r&&(s=(0,Cr.str)`${s}${(0,dO.getErrorPath)(r,dO.Type.Str)}`),[qm.schemaPath,s]}function gPt(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([qm.keyword,s],[qm.params,typeof e=="function"?e(t):e||(0,Cr._)`{}`]),c.messages&&n.push([qm.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([qm.schema,a],[qm.parentSchema,(0,Cr._)`${l}${d}`],[ia.default.data,i]),u&&n.push([qm.propertyName,u])}});var uEe=E(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.boolOrEmptySchema=fy.topBoolOrEmptySchema=void 0;var APt=p_(),yPt=Et(),xPt=Zo(),bPt={message:"boolean schema is false"};function EPt(t){let{gen:e,schema:r,validateName:n}=t;r===!1?cEe(t,!1):typeof r=="object"&&r.$async===!0?e.return(xPt.default.data):(e.assign((0,yPt._)`${n}.errors`,null),e.return(!0))}fy.topBoolOrEmptySchema=EPt;function _Pt(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),cEe(t)):r.var(e,!0)}fy.boolOrEmptySchema=_Pt;function cEe(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,APt.reportError)(s,bPt,void 0,e)}});var OF=E(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.getRules=py.isJSONType=void 0;var SPt=["string","number","integer","boolean","null","object","array"],vPt=new Set(SPt);function CPt(t){return typeof t=="string"&&vPt.has(t)}py.isJSONType=CPt;function IPt(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}py.getRules=IPt});var PF=E(Cp=>{"use strict";Object.defineProperty(Cp,"__esModule",{value:!0});Cp.shouldUseRule=Cp.shouldUseGroup=Cp.schemaHasRulesForType=void 0;function TPt({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&lEe(t,n)}Cp.schemaHasRulesForType=TPt;function lEe(t,e){return e.rules.some(r=>dEe(t,r))}Cp.shouldUseGroup=lEe;function dEe(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Cp.shouldUseRule=dEe});var m_=E(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.reportTypeError=ki.checkDataTypes=ki.checkDataType=ki.coerceAndCheckDataType=ki.getJSONTypes=ki.getSchemaTypes=ki.DataType=void 0;var wPt=OF(),RPt=PF(),NPt=p_(),Ht=Et(),fEe=Kt(),my;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(my||(ki.DataType=my={}));function OPt(t){let e=pEe(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}ki.getSchemaTypes=OPt;function pEe(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(wPt.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}ki.getJSONTypes=pEe;function PPt(t,e){let{gen:r,data:n,opts:s}=t,i=DPt(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,RPt.schemaHasRulesForType)(t,e[0]));if(a){let o=kF(e,n,s.strictNumbers,my.Wrong);r.if(o,()=>{i.length?kPt(t,e,i):LF(t)})}return a}ki.coerceAndCheckDataType=PPt;var mEe=new Set(["string","number","integer","boolean","null"]);function DPt(t,e){return e?t.filter(r=>mEe.has(r)||e==="array"&&r==="array"):[]}function kPt(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,Ht._)`typeof ${s}`),o=n.let("coerced",(0,Ht._)`undefined`);i.coerceTypes==="array"&&n.if((0,Ht._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,Ht._)`${s}[0]`).assign(a,(0,Ht._)`typeof ${s}`).if(kF(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,Ht._)`${o} !== undefined`);for(let u of r)(mEe.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),LF(t),n.endIf(),n.if((0,Ht._)`${o} !== undefined`,()=>{n.assign(s,o),LPt(t,o)});function c(u){switch(u){case"string":n.elseIf((0,Ht._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,Ht._)`"" + ${s}`).elseIf((0,Ht._)`${s} === null`).assign(o,(0,Ht._)`""`);return;case"number":n.elseIf((0,Ht._)`${a} == "boolean" || ${s} === null
|
|
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,Ht._)`+${s}`);return;case"integer":n.elseIf((0,Ht._)`${a} === "boolean" || ${s} === null
|
|
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,Ht._)`+${s}`);return;case"boolean":n.elseIf((0,Ht._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,Ht._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,Ht._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,Ht._)`${a} === "string" || ${a} === "number"
|
|
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,Ht._)`[${s}]`)}}}function LPt({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,Ht._)`${e} !== undefined`,()=>t.assign((0,Ht._)`${e}[${r}]`,n))}function DF(t,e,r,n=my.Correct){let s=n===my.Correct?Ht.operators.EQ:Ht.operators.NEQ,i;switch(t){case"null":return(0,Ht._)`${e} ${s} null`;case"array":i=(0,Ht._)`Array.isArray(${e})`;break;case"object":i=(0,Ht._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,Ht._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,Ht._)`typeof ${e} ${s} ${t}`}return n===my.Correct?i:(0,Ht.not)(i);function a(o=Ht.nil){return(0,Ht.and)((0,Ht._)`typeof ${e} == "number"`,o,r?(0,Ht._)`isFinite(${e})`:Ht.nil)}}ki.checkDataType=DF;function kF(t,e,r,n){if(t.length===1)return DF(t[0],e,r,n);let s,i=(0,fEe.toHash)(t);if(i.array&&i.object){let a=(0,Ht._)`typeof ${e} != "object"`;s=i.null?a:(0,Ht._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=Ht.nil;i.number&&delete i.integer;for(let a in i)s=(0,Ht.and)(s,DF(a,e,r,n));return s}ki.checkDataTypes=kF;var BPt={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,Ht._)`{type: ${t}}`:(0,Ht._)`{type: ${e}}`};function LF(t){let e=MPt(t);(0,NPt.reportError)(e,BPt)}ki.reportTypeError=LF;function MPt(t){let{gen:e,data:r,schema:n}=t,s=(0,fEe.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var gEe=E(fO=>{"use strict";Object.defineProperty(fO,"__esModule",{value:!0});fO.assignDefaults=void 0;var hy=Et(),WPt=Kt();function $Pt(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)hEe(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>hEe(t,i,s.default))}fO.assignDefaults=$Pt;function hEe(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,hy._)`${i}${(0,hy.getProperty)(e)}`;if(s){(0,WPt.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,hy._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,hy._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,hy._)`${o} = ${(0,hy.stringify)(r)}`)}});var di=E(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.validateUnion=en.validateArray=en.usePattern=en.callValidateCode=en.schemaProperties=en.allSchemaProperties=en.noPropertyInData=en.propertyInData=en.isOwnProperty=en.hasPropFunc=en.reportMissingProp=en.checkMissingProp=en.checkReportMissingProp=void 0;var Pn=Et(),BF=Kt(),Ip=Zo(),FPt=Kt();function UPt(t,e){let{gen:r,data:n,it:s}=t;r.if(WF(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Pn._)`${e}`},!0),t.error()})}en.checkReportMissingProp=UPt;function qPt({gen:t,data:e,it:{opts:r}},n,s){return(0,Pn.or)(...n.map(i=>(0,Pn.and)(WF(t,e,i,r.ownProperties),(0,Pn._)`${s} = ${i}`)))}en.checkMissingProp=qPt;function jPt(t,e){t.setParams({missingProperty:e},!0),t.error()}en.reportMissingProp=jPt;function AEe(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Pn._)`Object.prototype.hasOwnProperty`})}en.hasPropFunc=AEe;function MF(t,e,r){return(0,Pn._)`${AEe(t)}.call(${e}, ${r})`}en.isOwnProperty=MF;function HPt(t,e,r,n){let s=(0,Pn._)`${e}${(0,Pn.getProperty)(r)} !== undefined`;return n?(0,Pn._)`${s} && ${MF(t,e,r)}`:s}en.propertyInData=HPt;function WF(t,e,r,n){let s=(0,Pn._)`${e}${(0,Pn.getProperty)(r)} === undefined`;return n?(0,Pn.or)(s,(0,Pn.not)(MF(t,e,r))):s}en.noPropertyInData=WF;function yEe(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}en.allSchemaProperties=yEe;function QPt(t,e){return yEe(e).filter(r=>!(0,BF.alwaysValidSchema)(t,e[r]))}en.schemaProperties=QPt;function GPt({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Pn._)`${t}, ${e}, ${n}${s}`:e,d=[[Ip.default.instancePath,(0,Pn.strConcat)(Ip.default.instancePath,i)],[Ip.default.parentData,a.parentData],[Ip.default.parentDataProperty,a.parentDataProperty],[Ip.default.rootData,Ip.default.rootData]];a.opts.dynamicRef&&d.push([Ip.default.dynamicAnchors,Ip.default.dynamicAnchors]);let f=(0,Pn._)`${l}, ${r.object(...d)}`;return c!==Pn.nil?(0,Pn._)`${o}.call(${c}, ${f})`:(0,Pn._)`${o}(${f})`}en.callValidateCode=GPt;var VPt=(0,Pn._)`new RegExp`;function zPt({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Pn._)`${s.code==="new RegExp"?VPt:(0,FPt.useFunc)(t,s)}(${r}, ${n})`})}en.usePattern=zPt;function KPt(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Pn._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:BF.Type.Num},i),e.if((0,Pn.not)(i),o)})}}en.validateArray=KPt;function YPt(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,BF.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Pn._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Pn.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}en.validateUnion=YPt});var EEe=E(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.validateKeywordUsage=Ku.validSchemaType=Ku.funcKeywordCode=Ku.macroKeywordCode=void 0;var aa=Et(),jm=Zo(),JPt=di(),XPt=p_();function ZPt(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=bEe(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:aa.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Ku.macroKeywordCode=ZPt;function e3t(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;r3t(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=bEe(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&xEe(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&xEe(t),A(()=>t3t(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,aa._)`await `),b=>n.assign(d,!1).if((0,aa._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,aa._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,aa._)`${l}.errors`;return n.assign(g,null),h(aa.nil),g}function h(g=e.async?(0,aa._)`await `:aa.nil){let b=c.opts.passContext?jm.default.this:jm.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,aa._)`${g}${(0,JPt.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,aa.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}Ku.funcKeywordCode=e3t;function xEe(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,aa._)`${n.parentData}[${n.parentDataProperty}]`))}function t3t(t,e){let{gen:r}=t;r.if((0,aa._)`Array.isArray(${e})`,()=>{r.assign(jm.default.vErrors,(0,aa._)`${jm.default.vErrors} === null ? ${e} : ${jm.default.vErrors}.concat(${e})`).assign(jm.default.errors,(0,aa._)`${jm.default.vErrors}.length`),(0,XPt.extendErrors)(t)},()=>t.error())}function r3t({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function bEe(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,aa.stringify)(r)})}function n3t(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Ku.validSchemaType=n3t;function s3t({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Ku.validateKeywordUsage=s3t});var SEe=E(Tp=>{"use strict";Object.defineProperty(Tp,"__esModule",{value:!0});Tp.extendSubschemaMode=Tp.extendSubschemaData=Tp.getSubschema=void 0;var Yu=Et(),_Ee=Kt();function i3t(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,Yu._)`${t.schemaPath}${(0,Yu.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,Yu._)`${t.schemaPath}${(0,Yu.getProperty)(e)}${(0,Yu.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,_Ee.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Tp.getSubschema=i3t;function a3t(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,Yu._)`${e.data}${(0,Yu.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Yu.str)`${u}${(0,_Ee.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Yu._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof Yu.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Tp.extendSubschemaData=a3t;function o3t(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}Tp.extendSubschemaMode=o3t});var CEe=E((Ekr,vEe)=>{"use strict";var wp=vEe.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};pO(e,n,s,t,"",t)};wp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};wp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};wp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};wp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function pO(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in wp.arrayKeywords)for(var f=0;f<d.length;f++)pO(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in wp.propsKeywords){if(d&&typeof d=="object")for(var p in d)pO(t,e,r,d[p],s+"/"+l+"/"+c3t(p),i,s,l,n,p)}else(l in wp.keywords||t.allKeys&&!(l in wp.skipKeywords))&&pO(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function c3t(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var h_=E(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.getSchemaRefs=Wa.resolveUrl=Wa.normalizeId=Wa._getFullPath=Wa.getFullPath=Wa.inlineRef=void 0;var u3t=Kt(),l3t=Go(),d3t=CEe(),f3t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function p3t(t,e=!0){return typeof t=="boolean"?!0:e===!0?!$F(t):e?IEe(t)<=e:!1}Wa.inlineRef=p3t;var m3t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function $F(t){for(let e in t){if(m3t.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some($F)||typeof r=="object"&&$F(r))return!0}return!1}function IEe(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!f3t.has(r)&&(typeof t[r]=="object"&&(0,u3t.eachItem)(t[r],n=>e+=IEe(n)),e===1/0))return 1/0}return e}function TEe(t,e="",r){r!==!1&&(e=gy(e));let n=t.parse(e);return wEe(t,n)}Wa.getFullPath=TEe;function wEe(t,e){return t.serialize(e).split("#")[0]+"#"}Wa._getFullPath=wEe;var h3t=/#\/?$/;function gy(t){return t?t.replace(h3t,""):""}Wa.normalizeId=gy;function g3t(t,e,r){return r=gy(r),t.resolve(e,r)}Wa.resolveUrl=g3t;var A3t=/^[a-z_][-a-z0-9._]*$/i;function y3t(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=gy(t[r]||e),i={"":s},a=TEe(n,s,!1),o={},c=new Set;return d3t(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=gy(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==gy(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!A3t.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!l3t(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Wa.getSchemaRefs=y3t});var Ay=E(Rp=>{"use strict";Object.defineProperty(Rp,"__esModule",{value:!0});Rp.getData=Rp.KeywordCxt=Rp.validateFunctionCode=void 0;var DEe=uEe(),REe=m_(),UF=PF(),mO=m_(),x3t=gEe(),A_=EEe(),FF=SEe(),at=Et(),Nt=Zo(),b3t=h_(),bd=Kt(),g_=p_();function E3t(t){if(BEe(t)&&(MEe(t),LEe(t))){v3t(t);return}kEe(t,()=>(0,DEe.topBoolOrEmptySchema)(t))}Rp.validateFunctionCode=E3t;function kEe({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,at._)`${Nt.default.data}, ${Nt.default.valCxt}`,n.$async,()=>{t.code((0,at._)`"use strict"; ${NEe(r,s)}`),S3t(t,s),t.code(i)}):t.func(e,(0,at._)`${Nt.default.data}, ${_3t(s)}`,n.$async,()=>t.code(NEe(r,s)).code(i))}function _3t(t){return(0,at._)`{${Nt.default.instancePath}="", ${Nt.default.parentData}, ${Nt.default.parentDataProperty}, ${Nt.default.rootData}=${Nt.default.data}${t.dynamicRef?(0,at._)`, ${Nt.default.dynamicAnchors}={}`:at.nil}}={}`}function S3t(t,e){t.if(Nt.default.valCxt,()=>{t.var(Nt.default.instancePath,(0,at._)`${Nt.default.valCxt}.${Nt.default.instancePath}`),t.var(Nt.default.parentData,(0,at._)`${Nt.default.valCxt}.${Nt.default.parentData}`),t.var(Nt.default.parentDataProperty,(0,at._)`${Nt.default.valCxt}.${Nt.default.parentDataProperty}`),t.var(Nt.default.rootData,(0,at._)`${Nt.default.valCxt}.${Nt.default.rootData}`),e.dynamicRef&&t.var(Nt.default.dynamicAnchors,(0,at._)`${Nt.default.valCxt}.${Nt.default.dynamicAnchors}`)},()=>{t.var(Nt.default.instancePath,(0,at._)`""`),t.var(Nt.default.parentData,(0,at._)`undefined`),t.var(Nt.default.parentDataProperty,(0,at._)`undefined`),t.var(Nt.default.rootData,Nt.default.data),e.dynamicRef&&t.var(Nt.default.dynamicAnchors,(0,at._)`{}`)})}function v3t(t){let{schema:e,opts:r,gen:n}=t;kEe(t,()=>{r.$comment&&e.$comment&&$Ee(t),R3t(t),n.let(Nt.default.vErrors,null),n.let(Nt.default.errors,0),r.unevaluated&&C3t(t),WEe(t),P3t(t)})}function C3t(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,at._)`${r}.evaluated`),e.if((0,at._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,at._)`${t.evaluated}.props`,(0,at._)`undefined`)),e.if((0,at._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,at._)`${t.evaluated}.items`,(0,at._)`undefined`))}function NEe(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,at._)`/*# sourceURL=${r} */`:at.nil}function I3t(t,e){if(BEe(t)&&(MEe(t),LEe(t))){T3t(t,e);return}(0,DEe.boolOrEmptySchema)(t,e)}function LEe({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function BEe(t){return typeof t.schema!="boolean"}function T3t(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&$Ee(t),N3t(t),O3t(t);let i=n.const("_errs",Nt.default.errors);WEe(t,i),n.var(e,(0,at._)`${i} === ${Nt.default.errors}`)}function MEe(t){(0,bd.checkUnknownRules)(t),w3t(t)}function WEe(t,e){if(t.opts.jtd)return OEe(t,[],!1,e);let r=(0,REe.getSchemaTypes)(t.schema),n=(0,REe.coerceAndCheckDataType)(t,r);OEe(t,r,!n,e)}function w3t(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,bd.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function R3t(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,bd.checkStrictMode)(t,"default is ignored in the schema root")}function N3t(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,b3t.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function O3t(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function $Ee({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,at._)`${Nt.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,at.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,at._)`${Nt.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function P3t(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,at._)`${Nt.default.errors} === 0`,()=>e.return(Nt.default.data),()=>e.throw((0,at._)`new ${s}(${Nt.default.vErrors})`)):(e.assign((0,at._)`${n}.errors`,Nt.default.vErrors),i.unevaluated&&D3t(t),e.return((0,at._)`${Nt.default.errors} === 0`))}function D3t({gen:t,evaluated:e,props:r,items:n}){r instanceof at.Name&&t.assign((0,at._)`${e}.props`,r),n instanceof at.Name&&t.assign((0,at._)`${e}.items`,n)}function OEe(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,bd.schemaHasRulesButRef)(i,l))){s.block(()=>UEe(t,"$ref",l.all.$ref.definition));return}c.jtd||k3t(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,UF.shouldUseGroup)(i,f)&&(f.type?(s.if((0,mO.checkDataType)(f.type,a,c.strictNumbers)),PEe(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,mO.reportTypeError)(t)),s.endIf()):PEe(t,f),o||s.if((0,at._)`${Nt.default.errors} === ${n||0}`))}}function PEe(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,x3t.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,UF.shouldUseRule)(n,i)&&UEe(t,i.keyword,i.definition,e.type)})}function k3t(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(L3t(t,e),t.opts.allowUnionTypes||B3t(t,e),M3t(t,t.dataTypes))}function L3t(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{FEe(t.dataTypes,r)||qF(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),$3t(t,e)}}function B3t(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&qF(t,"use allowUnionTypes to allow union type keyword")}function M3t(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,UF.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>W3t(e,a))&&qF(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function W3t(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function FEe(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function $3t(t,e){let r=[];for(let n of t.dataTypes)FEe(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function qF(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,bd.checkStrictMode)(t,e,t.opts.strictTypes)}var hO=class{constructor(e,r,n){if((0,A_.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,bd.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",qEe(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,A_.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Nt.default.errors))}result(e,r,n){this.failResult((0,at.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,at.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,at._)`${r} !== undefined && (${(0,at.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?g_.reportExtraError:g_.reportError)(this,this.def.error,r)}$dataError(){(0,g_.reportError)(this,this.def.$dataError||g_.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,g_.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=at.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=at.nil,r=at.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,at.or)((0,at._)`${s} === undefined`,r)),e!==at.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==at.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,at.or)(a(),o());function a(){if(n.length){if(!(r instanceof at.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,at._)`${(0,mO.checkDataTypes)(c,r,i.opts.strictNumbers,mO.DataType.Wrong)}`}return at.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,at._)`!${c}(${r})`}return at.nil}}subschema(e,r){let n=(0,FF.getSubschema)(this.it,e);(0,FF.extendSubschemaData)(n,this.it,e),(0,FF.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return I3t(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=bd.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=bd.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,at.Name)),!0}};Rp.KeywordCxt=hO;function UEe(t,e,r,n){let s=new hO(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,A_.funcKeywordCode)(s,r):"macro"in r?(0,A_.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,A_.funcKeywordCode)(s,r)}var F3t=/^\/(?:[^~]|~0|~1)*$/,U3t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function qEe(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return Nt.default.rootData;if(t[0]==="/"){if(!F3t.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=Nt.default.rootData}else{let u=U3t.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,at._)`${i}${(0,at.getProperty)((0,bd.unescapeJsonPointer)(u))}`,a=(0,at._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Rp.getData=qEe});var y_=E(HF=>{"use strict";Object.defineProperty(HF,"__esModule",{value:!0});var jF=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};HF.default=jF});var Ed=E(VF=>{"use strict";Object.defineProperty(VF,"__esModule",{value:!0});var QF=h_(),GF=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,QF.resolveUrl)(e,r,n),this.missingSchema=(0,QF.normalizeId)((0,QF.getFullPath)(e,this.missingRef))}};VF.default=GF});var Qm=E(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.resolveSchema=ec.getCompilingSchema=ec.resolveRef=ec.compileSchema=ec.SchemaEnv=void 0;var Gc=Et(),q3t=y_(),Hm=Zo(),Vc=h_(),jEe=Kt(),j3t=Ay(),yy=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Vc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ec.SchemaEnv=yy;function KF(t){let e=HEe.call(this,t);if(e)return e;let r=(0,Vc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Gc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:q3t.default,code:(0,Gc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:Hm.default.data,parentData:Hm.default.parentData,parentDataProperty:Hm.default.parentDataProperty,dataNames:[Hm.default.data],dataPathArr:[Gc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Gc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Gc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Gc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,j3t.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(Hm.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${Hm.default.self}`,`${Hm.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Gc.Name?void 0:m,items:h instanceof Gc.Name?void 0:h,dynamicProps:m instanceof Gc.Name,dynamicItems:h instanceof Gc.Name},p.source&&(p.source.evaluated=(0,Gc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}ec.compileSchema=KF;function H3t(t,e,r){var n;r=(0,Vc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=V3t.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new yy({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=Q3t.call(this,i)}ec.resolveRef=H3t;function Q3t(t){return(0,Vc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:KF.call(this,t)}function HEe(t){for(let e of this._compilations)if(G3t(e,t))return e}ec.getCompilingSchema=HEe;function G3t(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function V3t(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||gO.call(this,t,e)}function gO(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Vc._getFullPath)(this.opts.uriResolver,r),s=(0,Vc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return zF.call(this,r,t);let i=(0,Vc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=gO.call(this,t,a);return typeof o?.schema!="object"?void 0:zF.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||KF.call(this,a),i===(0,Vc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Vc.resolveUrl)(this.opts.uriResolver,s,u)),new yy({schema:o,schemaId:c,root:t,baseId:s})}return zF.call(this,r,a)}}ec.resolveSchema=gO;var z3t=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function zF(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,jEe.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!z3t.has(o)&&u&&(e=(0,Vc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,jEe.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Vc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=gO.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new yy({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var QEe=E((Tkr,K3t)=>{K3t.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var JF=E((wkr,KEe)=>{"use strict";var Y3t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),VEe=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function YF(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var J3t=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function GEe(t){return t.length=0,!0}function X3t(t,e,r){if(t.length){let n=YF(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function Z3t(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=X3t;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=GEe}else{s.push(u);continue}}return s.length&&(o===GEe?r.zone=s.join(""):a?n.push(s.join("")):n.push(YF(s))),r.address=n.join(""),r}function zEe(t){if(eDt(t,":")<2)return{host:t,isIPV6:!1};let e=Z3t(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function eDt(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function tDt(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function rDt(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function nDt(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!VEe(r)){let n=zEe(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}KEe.exports={nonSimpleDomain:J3t,recomposeAuthority:nDt,normalizeComponentEncoding:rDt,removeDotSegments:tDt,isIPv4:VEe,isUUID:Y3t,normalizeIPv6:zEe,stringArrayToHexStripped:YF}});var e1e=E((Rkr,ZEe)=>{"use strict";var{isUUID:sDt}=JF(),iDt=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,aDt=["http","https","ws","wss","urn","urn:uuid"];function oDt(t){return aDt.indexOf(t)!==-1}function XF(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function YEe(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function JEe(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function cDt(t){return t.secure=XF(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function uDt(t){if((t.port===(XF(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function lDt(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(iDt);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=ZF(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function dDt(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=ZF(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function fDt(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!sDt(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function pDt(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var XEe={scheme:"http",domainHost:!0,parse:YEe,serialize:JEe},mDt={scheme:"https",domainHost:XEe.domainHost,parse:YEe,serialize:JEe},AO={scheme:"ws",domainHost:!0,parse:cDt,serialize:uDt},hDt={scheme:"wss",domainHost:AO.domainHost,parse:AO.parse,serialize:AO.serialize},gDt={scheme:"urn",parse:lDt,serialize:dDt,skipNormalize:!0},ADt={scheme:"urn:uuid",parse:fDt,serialize:pDt,skipNormalize:!0},yO={http:XEe,https:mDt,ws:AO,wss:hDt,urn:gDt,"urn:uuid":ADt};Object.setPrototypeOf(yO,null);function ZF(t){return t&&(yO[t]||yO[t.toLowerCase()])||void 0}ZEe.exports={wsIsSecure:XF,SCHEMES:yO,isValidSchemeName:oDt,getSchemeHandler:ZF}});var n1e=E((Nkr,bO)=>{"use strict";var{normalizeIPv6:yDt,removeDotSegments:x_,recomposeAuthority:xDt,normalizeComponentEncoding:xO,isIPv4:bDt,nonSimpleDomain:EDt}=JF(),{SCHEMES:_Dt,getSchemeHandler:t1e}=e1e();function SDt(t,e){return typeof t=="string"?t=Ju(_d(t,e),e):typeof t=="object"&&(t=_d(Ju(t,e),e)),t}function vDt(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=r1e(_d(t,n),_d(e,n),n,!0);return n.skipEscape=!0,Ju(s,n)}function r1e(t,e,r,n){let s={};return n||(t=_d(Ju(t,r),r),e=_d(Ju(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=x_(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=x_(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=x_(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=x_(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function CDt(t,e,r){return typeof t=="string"?(t=unescape(t),t=Ju(xO(_d(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Ju(xO(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Ju(xO(_d(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Ju(xO(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Ju(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=t1e(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=xDt(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=x_(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var IDt=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function _d(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(IDt);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(bDt(n.host)===!1){let c=yDt(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=t1e(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&EDt(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var eU={SCHEMES:_Dt,normalize:SDt,resolve:vDt,resolveComponent:r1e,equal:CDt,serialize:Ju,parse:_d};bO.exports=eU;bO.exports.default=eU;bO.exports.fastUri=eU});var i1e=E(tU=>{"use strict";Object.defineProperty(tU,"__esModule",{value:!0});var s1e=n1e();s1e.code='require("ajv/dist/runtime/uri").default';tU.default=s1e});var sU=E(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.CodeGen=fi.Name=fi.nil=fi.stringify=fi.str=fi._=fi.KeywordCxt=void 0;var TDt=Ay();Object.defineProperty(fi,"KeywordCxt",{enumerable:!0,get:function(){return TDt.KeywordCxt}});var xy=Et();Object.defineProperty(fi,"_",{enumerable:!0,get:function(){return xy._}});Object.defineProperty(fi,"str",{enumerable:!0,get:function(){return xy.str}});Object.defineProperty(fi,"stringify",{enumerable:!0,get:function(){return xy.stringify}});Object.defineProperty(fi,"nil",{enumerable:!0,get:function(){return xy.nil}});Object.defineProperty(fi,"Name",{enumerable:!0,get:function(){return xy.Name}});Object.defineProperty(fi,"CodeGen",{enumerable:!0,get:function(){return xy.CodeGen}});var wDt=y_(),l1e=Ed(),RDt=OF(),b_=Qm(),NDt=Et(),E_=h_(),EO=m_(),nU=Kt(),a1e=QEe(),ODt=i1e(),d1e=(t,e)=>new RegExp(t,e);d1e.code="new RegExp";var PDt=["removeAdditional","useDefaults","coerceTypes"],DDt=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),kDt={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},LDt={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},o1e=200;function BDt(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,C,R,w,N;let P=t.strict,L=(e=t.code)===null||e===void 0?void 0:e.optimize,M=L===!0||L===void 0?1:L||0,k=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:d1e,B=(s=t.uriResolver)!==null&&s!==void 0?s:ODt.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:k}:{optimize:M,regExp:k},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:o1e,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:o1e,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(C=t.validateSchema)!==null&&C!==void 0?C:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:B}}var __=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...BDt(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new NDt.ValueScope({scope:{},prefixes:DDt,es5:r,lines:n}),this.logger=qDt(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,RDt.getRules)(),c1e.call(this,kDt,e,"NOT SUPPORTED"),c1e.call(this,LDt,e,"DEPRECATED","warn"),this._metaOpts=FDt.call(this),e.formats&&WDt.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&$Dt.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),MDt.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=a1e;n==="id"&&(s={...a1e},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof l1e.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,E_.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=u1e.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new b_.SchemaEnv({schema:{},schemaId:n});if(r=b_.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=u1e.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,E_.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(HDt.call(this,n,r),!r)return(0,nU.eachItem)(n,i=>rU.call(this,i)),this;GDt.call(this,r);let s={...r,type:(0,EO.getJSONTypes)(r.type),schemaType:(0,EO.getJSONTypes)(r.schemaType)};return(0,nU.eachItem)(n,s.type.length===0?i=>rU.call(this,i,s):i=>s.type.forEach(a=>rU.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=f1e(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,E_.normalizeId)(a||n);let u=E_.getSchemaRefs.call(this,e,n);return c=new b_.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):b_.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{b_.compileSchema.call(this,e)}finally{this.opts=r}}};__.ValidationError=wDt.default;__.MissingRefError=l1e.default;fi.default=__;function c1e(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function u1e(t){return t=(0,E_.normalizeId)(t),this.schemas[t]||this.refs[t]}function MDt(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function WDt(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function $Dt(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function FDt(){let t={...this.opts};for(let e of PDt)delete t[e];return t}var UDt={log(){},warn(){},error(){}};function qDt(t){if(t===!1)return UDt;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var jDt=/^[a-z_$][a-z0-9_$:-]*$/i;function HDt(t,e){let{RULES:r}=this;if((0,nU.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!jDt.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function rU(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,EO.getJSONTypes)(e.type),schemaType:(0,EO.getJSONTypes)(e.schemaType)}};e.before?QDt.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function QDt(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function GDt(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=f1e(e)),t.validateSchema=this.compile(e,!0))}var VDt={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function f1e(t){return{anyOf:[t,VDt]}}});var p1e=E(iU=>{"use strict";Object.defineProperty(iU,"__esModule",{value:!0});var zDt={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};iU.default=zDt});var aU=E(Gm=>{"use strict";Object.defineProperty(Gm,"__esModule",{value:!0});Gm.callRef=Gm.getValidate=void 0;var KDt=Ed(),m1e=di(),$a=Et(),by=Zo(),h1e=Qm(),_O=Kt(),YDt={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=h1e.resolveRef.call(c,u,s,r);if(l===void 0)throw new KDt.default(n.opts.uriResolver,s,r);if(l instanceof h1e.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return SO(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return SO(t,(0,$a._)`${m}.validate`,u,u.$async)}function f(m){let h=g1e(t,m);SO(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,$a.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:$a.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function g1e(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,$a._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Gm.getValidate=g1e;function SO(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?by.default.this:$a.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,$a._)`await ${(0,m1e.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,$a._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,m1e.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,$a._)`${m}.errors`;s.assign(by.default.vErrors,(0,$a._)`${by.default.vErrors} === null ? ${h} : ${by.default.vErrors}.concat(${h})`),s.assign(by.default.errors,(0,$a._)`${by.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=_O.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,$a._)`${m}.evaluated.props`);i.props=_O.mergeEvaluated.props(s,g,i.props,$a.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=_O.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,$a._)`${m}.evaluated.items`);i.items=_O.mergeEvaluated.items(s,g,i.items,$a.Name)}}}Gm.callRef=SO;Gm.default=YDt});var A1e=E(oU=>{"use strict";Object.defineProperty(oU,"__esModule",{value:!0});var JDt=p1e(),XDt=aU(),ZDt=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",JDt.default,XDt.default];oU.default=ZDt});var y1e=E(cU=>{"use strict";Object.defineProperty(cU,"__esModule",{value:!0});var vO=Et(),Np=vO.operators,CO={maximum:{okStr:"<=",ok:Np.LTE,fail:Np.GT},minimum:{okStr:">=",ok:Np.GTE,fail:Np.LT},exclusiveMaximum:{okStr:"<",ok:Np.LT,fail:Np.GTE},exclusiveMinimum:{okStr:">",ok:Np.GT,fail:Np.LTE}},ekt={message:({keyword:t,schemaCode:e})=>(0,vO.str)`must be ${CO[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,vO._)`{comparison: ${CO[t].okStr}, limit: ${e}}`},tkt={keyword:Object.keys(CO),type:"number",schemaType:"number",$data:!0,error:ekt,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,vO._)`${r} ${CO[e].fail} ${n} || isNaN(${r})`)}};cU.default=tkt});var x1e=E(uU=>{"use strict";Object.defineProperty(uU,"__esModule",{value:!0});var S_=Et(),rkt={message:({schemaCode:t})=>(0,S_.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,S_._)`{multipleOf: ${t}}`},nkt={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:rkt,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,S_._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,S_._)`${a} !== parseInt(${a})`;t.fail$data((0,S_._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};uU.default=nkt});var E1e=E(lU=>{"use strict";Object.defineProperty(lU,"__esModule",{value:!0});function b1e(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}lU.default=b1e;b1e.code='require("ajv/dist/runtime/ucs2length").default'});var _1e=E(dU=>{"use strict";Object.defineProperty(dU,"__esModule",{value:!0});var Vm=Et(),skt=Kt(),ikt=E1e(),akt={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Vm.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Vm._)`{limit: ${t}}`},okt={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:akt,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?Vm.operators.GT:Vm.operators.LT,a=s.opts.unicode===!1?(0,Vm._)`${r}.length`:(0,Vm._)`${(0,skt.useFunc)(t.gen,ikt.default)}(${r})`;t.fail$data((0,Vm._)`${a} ${i} ${n}`)}};dU.default=okt});var S1e=E(fU=>{"use strict";Object.defineProperty(fU,"__esModule",{value:!0});var ckt=di(),IO=Et(),ukt={message:({schemaCode:t})=>(0,IO.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,IO._)`{pattern: ${t}}`},lkt={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:ukt,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,IO._)`(new RegExp(${s}, ${a}))`:(0,ckt.usePattern)(t,n);t.fail$data((0,IO._)`!${o}.test(${e})`)}};fU.default=lkt});var v1e=E(pU=>{"use strict";Object.defineProperty(pU,"__esModule",{value:!0});var v_=Et(),dkt={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,v_.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,v_._)`{limit: ${t}}`},fkt={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:dkt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?v_.operators.GT:v_.operators.LT;t.fail$data((0,v_._)`Object.keys(${r}).length ${s} ${n}`)}};pU.default=fkt});var C1e=E(mU=>{"use strict";Object.defineProperty(mU,"__esModule",{value:!0});var C_=di(),I_=Et(),pkt=Kt(),mkt={message:({params:{missingProperty:t}})=>(0,I_.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,I_._)`{missingProperty: ${t}}`},hkt={keyword:"required",type:"object",schemaType:"array",$data:!0,error:mkt,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,pkt.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(I_.nil,d);else for(let p of r)(0,C_.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,C_.checkMissingProp)(t,r,p)),(0,C_.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,C_.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,C_.propertyInData)(e,s,p,o.ownProperties)),e.if((0,I_.not)(m),()=>{t.error(),e.break()})},I_.nil)}}};mU.default=hkt});var I1e=E(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var T_=Et(),gkt={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,T_.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,T_._)`{limit: ${t}}`},Akt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:gkt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?T_.operators.GT:T_.operators.LT;t.fail$data((0,T_._)`${r}.length ${s} ${n}`)}};hU.default=Akt});var TO=E(gU=>{"use strict";Object.defineProperty(gU,"__esModule",{value:!0});var T1e=Go();T1e.code='require("ajv/dist/runtime/equal").default';gU.default=T1e});var w1e=E(yU=>{"use strict";Object.defineProperty(yU,"__esModule",{value:!0});var AU=m_(),pi=Et(),ykt=Kt(),xkt=TO(),bkt={message:({params:{i:t,j:e}})=>(0,pi.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,pi._)`{i: ${t}, j: ${e}}`},Ekt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:bkt,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,AU.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,pi._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,pi._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,pi._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,AU.checkDataTypes)(u,A,o.opts.strictNumbers,AU.DataType.Wrong),b=e.const("indices",(0,pi._)`{}`);e.for((0,pi._)`;${m}--;`,()=>{e.let(A,(0,pi._)`${r}[${m}]`),e.if(g,(0,pi._)`continue`),u.length>1&&e.if((0,pi._)`typeof ${A} == "string"`,(0,pi._)`${A} += "_"`),e.if((0,pi._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,pi._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,pi._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,ykt.useFunc)(e,xkt.default),g=e.name("outer");e.label(g).for((0,pi._)`;${m}--;`,()=>e.for((0,pi._)`${h} = ${m}; ${h}--;`,()=>e.if((0,pi._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};yU.default=Ekt});var R1e=E(bU=>{"use strict";Object.defineProperty(bU,"__esModule",{value:!0});var xU=Et(),_kt=Kt(),Skt=TO(),vkt={message:"must be equal to constant",params:({schemaCode:t})=>(0,xU._)`{allowedValue: ${t}}`},Ckt={keyword:"const",$data:!0,error:vkt,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,xU._)`!${(0,_kt.useFunc)(e,Skt.default)}(${r}, ${s})`):t.fail((0,xU._)`${i} !== ${r}`)}};bU.default=Ckt});var N1e=E(EU=>{"use strict";Object.defineProperty(EU,"__esModule",{value:!0});var w_=Et(),Ikt=Kt(),Tkt=TO(),wkt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,w_._)`{allowedValues: ${t}}`},Rkt={keyword:"enum",schemaType:"array",$data:!0,error:wkt,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,Ikt.useFunc)(e,Tkt.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,w_.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,w_._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,w_._)`${u()}(${r}, ${p}[${m}])`:(0,w_._)`${r} === ${h}`}}};EU.default=Rkt});var O1e=E(_U=>{"use strict";Object.defineProperty(_U,"__esModule",{value:!0});var Nkt=y1e(),Okt=x1e(),Pkt=_1e(),Dkt=S1e(),kkt=v1e(),Lkt=C1e(),Bkt=I1e(),Mkt=w1e(),Wkt=R1e(),$kt=N1e(),Fkt=[Nkt.default,Okt.default,Pkt.default,Dkt.default,kkt.default,Lkt.default,Bkt.default,Mkt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Wkt.default,$kt.default];_U.default=Fkt});var vU=E(R_=>{"use strict";Object.defineProperty(R_,"__esModule",{value:!0});R_.validateAdditionalItems=void 0;var zm=Et(),SU=Kt(),Ukt={message:({params:{len:t}})=>(0,zm.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,zm._)`{limit: ${t}}`},qkt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Ukt,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,SU.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}P1e(t,n)}};function P1e(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,zm._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,zm._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,SU.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,zm._)`${o} <= ${e.length}`);r.if((0,zm.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:SU.Type.Num},u),a.allErrors||r.if((0,zm.not)(u),()=>r.break())})}}R_.validateAdditionalItems=P1e;R_.default=qkt});var CU=E(N_=>{"use strict";Object.defineProperty(N_,"__esModule",{value:!0});N_.validateTuple=void 0;var D1e=Et(),wO=Kt(),jkt=di(),Hkt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return k1e(t,"additionalItems",e);r.items=!0,!(0,wO.alwaysValidSchema)(r,e)&&t.ok((0,jkt.validateArray)(t))}};function k1e(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=wO.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,D1e._)`${i}.length`);r.forEach((d,f)=>{(0,wO.alwaysValidSchema)(o,d)||(n.if((0,D1e._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,wO.checkStrictMode)(o,A,f.strictTuples)}}}N_.validateTuple=k1e;N_.default=Hkt});var L1e=E(IU=>{"use strict";Object.defineProperty(IU,"__esModule",{value:!0});var Qkt=CU(),Gkt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,Qkt.validateTuple)(t,"items")};IU.default=Gkt});var M1e=E(TU=>{"use strict";Object.defineProperty(TU,"__esModule",{value:!0});var B1e=Et(),Vkt=Kt(),zkt=di(),Kkt=vU(),Ykt={message:({params:{len:t}})=>(0,B1e.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,B1e._)`{limit: ${t}}`},Jkt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Ykt,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,Vkt.alwaysValidSchema)(n,e)&&(s?(0,Kkt.validateAdditionalItems)(t,s):t.ok((0,zkt.validateArray)(t)))}};TU.default=Jkt});var W1e=E(wU=>{"use strict";Object.defineProperty(wU,"__esModule",{value:!0});var tc=Et(),RO=Kt(),Xkt={message:({params:{min:t,max:e}})=>e===void 0?(0,tc.str)`must contain at least ${t} valid item(s)`:(0,tc.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,tc._)`{minContains: ${t}}`:(0,tc._)`{minContains: ${t}, maxContains: ${e}}`},Zkt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Xkt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,tc._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,RO.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,RO.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,RO.alwaysValidSchema)(i,r)){let h=(0,tc._)`${l} >= ${a}`;o!==void 0&&(h=(0,tc._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,tc._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:RO.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,tc._)`${h}++`),o===void 0?e.if((0,tc._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,tc._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,tc._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};wU.default=Zkt});var U1e=E(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.validateSchemaDeps=Xu.validatePropertyDeps=Xu.error=void 0;var RU=Et(),eLt=Kt(),O_=di();Xu.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,RU.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,RU._)`{property: ${t},
|
|
missingProperty: ${n},
|
|
depsCount: ${e},
|
|
deps: ${r}}`};var tLt={keyword:"dependencies",type:"object",schemaType:"object",error:Xu.error,code(t){let[e,r]=rLt(t);$1e(t,e),F1e(t,r)}};function rLt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function $1e(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,O_.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,O_.checkReportMissingProp)(t,u)}):(r.if((0,RU._)`${c} && (${(0,O_.checkMissingProp)(t,o,i)})`),(0,O_.reportMissingProp)(t,i),r.else())}}Xu.validatePropertyDeps=$1e;function F1e(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,eLt.alwaysValidSchema)(i,e[o])||(r.if((0,O_.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}Xu.validateSchemaDeps=F1e;Xu.default=tLt});var j1e=E(NU=>{"use strict";Object.defineProperty(NU,"__esModule",{value:!0});var q1e=Et(),nLt=Kt(),sLt={message:"property name must be valid",params:({params:t})=>(0,q1e._)`{propertyName: ${t.propertyName}}`},iLt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:sLt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,nLt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,q1e.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};NU.default=iLt});var PU=E(OU=>{"use strict";Object.defineProperty(OU,"__esModule",{value:!0});var NO=di(),zc=Et(),aLt=Zo(),OO=Kt(),oLt={message:"must NOT have additional properties",params:({params:t})=>(0,zc._)`{additionalProperty: ${t.additionalProperty}}`},cLt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:oLt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,OO.alwaysValidSchema)(a,r))return;let u=(0,NO.allSchemaProperties)(n.properties),l=(0,NO.allSchemaProperties)(n.patternProperties);d(),t.ok((0,zc._)`${i} === ${aLt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,OO.schemaRefOrVal)(a,n.properties,"properties");g=(0,NO.isOwnProperty)(e,b,A)}else u.length?g=(0,zc.or)(...u.map(b=>(0,zc._)`${A} === ${b}`)):g=zc.nil;return l.length&&(g=(0,zc.or)(g,...l.map(b=>(0,zc._)`${(0,NO.usePattern)(t,b)}.test(${A})`))),(0,zc.not)(g)}function p(A){e.code((0,zc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,OO.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,zc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,zc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:OO.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};OU.default=cLt});var G1e=E(kU=>{"use strict";Object.defineProperty(kU,"__esModule",{value:!0});var uLt=Ay(),H1e=di(),DU=Kt(),Q1e=PU(),lLt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Q1e.default.code(new uLt.KeywordCxt(i,Q1e.default,"additionalProperties"));let a=(0,H1e.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=DU.mergeEvaluated.props(e,(0,DU.toHash)(a),i.props));let o=a.filter(d=>!(0,DU.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,H1e.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};kU.default=lLt});var Y1e=E(LU=>{"use strict";Object.defineProperty(LU,"__esModule",{value:!0});var V1e=di(),PO=Et(),z1e=Kt(),K1e=Kt(),dLt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,V1e.allSchemaProperties)(r),c=o.filter(h=>(0,z1e.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof PO.Name)&&(i.props=(0,K1e.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,z1e.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,PO._)`${(0,V1e.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:K1e.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,PO._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,PO.not)(l),()=>e.break())})})}}};LU.default=dLt});var J1e=E(BU=>{"use strict";Object.defineProperty(BU,"__esModule",{value:!0});var fLt=Kt(),pLt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,fLt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};BU.default=pLt});var X1e=E(MU=>{"use strict";Object.defineProperty(MU,"__esModule",{value:!0});var mLt=di(),hLt={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:mLt.validateUnion,error:{message:"must match a schema in anyOf"}};MU.default=hLt});var Z1e=E(WU=>{"use strict";Object.defineProperty(WU,"__esModule",{value:!0});var DO=Et(),gLt=Kt(),ALt={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,DO._)`{passingSchemas: ${t.passing}}`},yLt={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:ALt,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,gLt.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,DO._)`${c} && ${a}`).assign(a,!1).assign(o,(0,DO._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,DO.Name)})})}}};WU.default=yLt});var e_e=E($U=>{"use strict";Object.defineProperty($U,"__esModule",{value:!0});var xLt=Kt(),bLt={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,xLt.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};$U.default=bLt});var n_e=E(FU=>{"use strict";Object.defineProperty(FU,"__esModule",{value:!0});var kO=Et(),r_e=Kt(),ELt={message:({params:t})=>(0,kO.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,kO._)`{failingKeyword: ${t.ifClause}}`},_Lt={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ELt,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,r_e.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=t_e(n,"then"),i=t_e(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,kO.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,kO._)`${l}`):t.setParams({ifClause:l})}}}};function t_e(t,e){let r=t.schema[e];return r!==void 0&&!(0,r_e.alwaysValidSchema)(t,r)}FU.default=_Lt});var s_e=E(UU=>{"use strict";Object.defineProperty(UU,"__esModule",{value:!0});var SLt=Kt(),vLt={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,SLt.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};UU.default=vLt});var i_e=E(qU=>{"use strict";Object.defineProperty(qU,"__esModule",{value:!0});var CLt=vU(),ILt=L1e(),TLt=CU(),wLt=M1e(),RLt=W1e(),NLt=U1e(),OLt=j1e(),PLt=PU(),DLt=G1e(),kLt=Y1e(),LLt=J1e(),BLt=X1e(),MLt=Z1e(),WLt=e_e(),$Lt=n_e(),FLt=s_e();function ULt(t=!1){let e=[LLt.default,BLt.default,MLt.default,WLt.default,$Lt.default,FLt.default,OLt.default,PLt.default,NLt.default,DLt.default,kLt.default];return t?e.push(ILt.default,wLt.default):e.push(CLt.default,TLt.default),e.push(RLt.default),e}qU.default=ULt});var a_e=E(jU=>{"use strict";Object.defineProperty(jU,"__esModule",{value:!0});var ls=Et(),qLt={message:({schemaCode:t})=>(0,ls.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ls._)`{format: ${t}}`},jLt={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:qLt,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ls._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,ls._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,ls._)`${h}.type || "string"`).assign(g,(0,ls._)`${h}.validate`),()=>r.assign(A,(0,ls._)`"string"`).assign(g,h)),t.fail$data((0,ls.or)(b(),y()));function b(){return c.strictSchema===!1?ls.nil:(0,ls._)`${a} && !${g}`}function y(){let x=l.$async?(0,ls._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,ls._)`${g}(${n})`,v=(0,ls._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,ls._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let C=v instanceof RegExp?(0,ls.regexpCode)(v):c.code.formats?(0,ls._)`${c.code.formats}${(0,ls.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:C});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,ls._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ls._)`await ${g}(${n})`}return typeof A=="function"?(0,ls._)`${g}(${n})`:(0,ls._)`${g}.test(${n})`}}}};jU.default=jLt});var o_e=E(HU=>{"use strict";Object.defineProperty(HU,"__esModule",{value:!0});var HLt=a_e(),QLt=[HLt.default];HU.default=QLt});var c_e=E(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.contentVocabulary=Ey.metadataVocabulary=void 0;Ey.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ey.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var l_e=E(QU=>{"use strict";Object.defineProperty(QU,"__esModule",{value:!0});var GLt=A1e(),VLt=O1e(),zLt=i_e(),KLt=o_e(),u_e=c_e(),YLt=[GLt.default,VLt.default,(0,zLt.default)(),KLt.default,u_e.metadataVocabulary,u_e.contentVocabulary];QU.default=YLt});var GU=E(LO=>{"use strict";Object.defineProperty(LO,"__esModule",{value:!0});LO.DiscrError=void 0;var d_e;(function(t){t.Tag="tag",t.Mapping="mapping"})(d_e||(LO.DiscrError=d_e={}))});var p_e=E(zU=>{"use strict";Object.defineProperty(zU,"__esModule",{value:!0});var _y=Et(),VU=GU(),f_e=Qm(),JLt=Ed(),XLt=Kt(),ZLt={message:({params:{discrError:t,tagName:e}})=>t===VU.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,_y._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},eBt={keyword:"discriminator",type:"object",schemaType:"object",error:ZLt,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,_y._)`${r}${(0,_y.getProperty)(o)}`);e.if((0,_y._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:VU.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,_y._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:VU.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,_y.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,XLt.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=f_e.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof f_e.SchemaEnv&&(v=v.schema),v===void 0)throw new JLt.default(i.opts.uriResolver,i.baseId,R)}let C=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(C,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let C of x.enum)y(C,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};zU.default=eBt});var m_e=E((yLr,tBt)=>{tBt.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var g_e=E((Dn,KU)=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.MissingRefError=Dn.ValidationError=Dn.CodeGen=Dn.Name=Dn.nil=Dn.stringify=Dn.str=Dn._=Dn.KeywordCxt=Dn.Ajv=void 0;var rBt=sU(),nBt=l_e(),sBt=p_e(),h_e=m_e(),iBt=["/properties"],BO="http://json-schema.org/draft-07/schema",Sy=class extends rBt.default{_addVocabularies(){super._addVocabularies(),nBt.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(sBt.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(h_e,iBt):h_e;this.addMetaSchema(e,BO,!1),this.refs["http://json-schema.org/schema"]=BO}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(BO)?BO:void 0)}};Dn.Ajv=Sy;KU.exports=Dn=Sy;KU.exports.Ajv=Sy;Object.defineProperty(Dn,"__esModule",{value:!0});Dn.default=Sy;var aBt=Ay();Object.defineProperty(Dn,"KeywordCxt",{enumerable:!0,get:function(){return aBt.KeywordCxt}});var vy=Et();Object.defineProperty(Dn,"_",{enumerable:!0,get:function(){return vy._}});Object.defineProperty(Dn,"str",{enumerable:!0,get:function(){return vy.str}});Object.defineProperty(Dn,"stringify",{enumerable:!0,get:function(){return vy.stringify}});Object.defineProperty(Dn,"nil",{enumerable:!0,get:function(){return vy.nil}});Object.defineProperty(Dn,"Name",{enumerable:!0,get:function(){return vy.Name}});Object.defineProperty(Dn,"CodeGen",{enumerable:!0,get:function(){return vy.CodeGen}});var oBt=y_();Object.defineProperty(Dn,"ValidationError",{enumerable:!0,get:function(){return oBt.default}});var cBt=Ed();Object.defineProperty(Dn,"MissingRefError",{enumerable:!0,get:function(){return cBt.default}})});var Sd=E(P_=>{"use strict";Object.defineProperty(P_,"__esModule",{value:!0});P_.checkMetadata=void 0;var uBt=Kt(),lBt={keyword:"metadata",schemaType:"object",code(t){A_e(t);let{gen:e,schema:r,it:n}=t;if((0,uBt.alwaysValidSchema)(n,r))return;let s=e.name("valid");t.subschema({keyword:"metadata",jtdMetadata:!0},s),t.ok(s)}};function A_e({it:t,keyword:e},r){if(t.jtdMetadata!==r)throw new Error(`JTD: "${e}" cannot be used in this schema location`)}P_.checkMetadata=A_e;P_.default=lBt});var MO=E(k_=>{"use strict";Object.defineProperty(k_,"__esModule",{value:!0});k_.hasRef=void 0;var y_e=Qm(),D_=Et(),dBt=Ed(),x_e=Zo(),b_e=aU(),fBt=Sd(),pBt={keyword:"ref",schemaType:"string",code(t){(0,fBt.checkMetadata)(t);let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{schemaEnv:{root:a}}=i,o=e.name("valid");s.nullable?(e.var(o,(0,D_._)`${r} === null`),e.if((0,D_.not)(o),c)):(e.var(o,!1),c()),t.ok(o);function c(){var d;let f=(d=a.schema.definitions)===null||d===void 0?void 0:d[n];if(!f)throw new dBt.default(i.opts.uriResolver,"",n,`No definition ${n}`);YU(f)||!i.opts.inlineRefs?u(f):l(f)}function u(d){let f=y_e.compileSchema.call(i.self,new y_e.SchemaEnv({schema:d,root:a,schemaPath:`/definitions/${n}`})),p=(0,b_e.getValidate)(t,f),m=e.const("_errs",x_e.default.errors);(0,b_e.callRef)(t,p,f,f.$async),e.assign(o,(0,D_._)`${m} === ${x_e.default.errors}`)}function l(d){let f=e.scopeValue("schema",i.opts.code.source===!0?{ref:d,code:(0,D_.stringify)(d)}:{ref:d});t.subschema({schema:d,dataTypes:[],schemaPath:D_.nil,topSchemaRef:f,errSchemaPath:`/definitions/${n}`},o)}}};function YU(t){for(let e in t){let r;if(e==="ref"||typeof(r=t[e])=="object"&&YU(r))return!0}return!1}k_.hasRef=YU;k_.default=pBt});var XU=E(JU=>{"use strict";Object.defineProperty(JU,"__esModule",{value:!0});var mBt=/t|\s/i,hBt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,gBt=/^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:z|([+-]\d\d)(?::?(\d\d))?)$/i,ABt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function __e(t,e){let r=t.split(mBt);return r.length===2&&E_e(r[0])&&yBt(r[1])||e&&r.length===1&&E_e(r[0])}JU.default=__e;function E_e(t){let e=hBt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&(s<=ABt[n]||n===2&&s===29&&(r%100===0?r%400===0:r%4===0))}function yBt(t){let e=gBt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3],i=+(e[4]||0),a=+(e[5]||0);return r<=23&&n<=59&&s<=59||r-i===23&&n-a===59&&s===60}__e.code='require("ajv/dist/runtime/timestamp").default'});var Cy=E(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.typeErrorParams=Op.typeErrorMessage=Op.typeError=void 0;var xBt=Et();function bBt(t){return{message:e=>S_e(e,t),params:e=>v_e(e,t)}}Op.typeError=bBt;function S_e({parentSchema:t},e){return t?.nullable?`must be ${e} or null`:`must be ${e}`}Op.typeErrorMessage=S_e;function v_e({parentSchema:t},e){return(0,xBt._)`{type: ${e}, nullable: ${!!t?.nullable}}`}Op.typeErrorParams=v_e});var ZU=E(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.intRange=void 0;var bo=Et(),EBt=XU(),_Bt=Kt(),SBt=Sd(),C_e=Cy();Iy.intRange={int8:[-128,127,3],uint8:[0,255,3],int16:[-32768,32767,5],uint16:[0,65535,5],int32:[-2147483648,2147483647,10],uint32:[0,4294967295,10]};var vBt={message:t=>(0,C_e.typeErrorMessage)(t,t.schema),params:t=>(0,C_e.typeErrorParams)(t,t.schema)};function CBt(t){let{gen:e,data:r,it:n}=t,{timestamp:s,allowDate:i}=n.opts;if(s==="date")return(0,bo._)`${r} instanceof Date `;let a=(0,_Bt.useFunc)(e,EBt.default),o=i?(0,bo._)`, true`:bo.nil,c=(0,bo._)`typeof ${r} == "string" && ${a}(${r}${o})`;return s==="string"?c:(0,bo.or)((0,bo._)`${r} instanceof Date`,c)}var IBt={keyword:"type",schemaType:"string",error:vBt,code(t){(0,SBt.checkMetadata)(t);let{data:e,schema:r,parentSchema:n,it:s}=t,i;switch(r){case"boolean":case"string":i=(0,bo._)`typeof ${e} == ${r}`;break;case"timestamp":{i=CBt(t);break}case"float32":case"float64":i=(0,bo._)`typeof ${e} == "number"`;break;default:{let a=r;if(i=(0,bo._)`typeof ${e} == "number" && isFinite(${e}) && !(${e} % 1)`,!s.opts.int32range&&(a==="int32"||a==="uint32"))a==="uint32"&&(i=(0,bo._)`${i} && ${e} >= 0`);else{let[o,c]=Iy.intRange[a];i=(0,bo._)`${i} && ${e} >= ${o} && ${e} <= ${c}`}}}t.pass(n.nullable?(0,bo.or)((0,bo._)`${e} === null`,i):i)}};Iy.default=IBt});var wy=E(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.checkNullableObject=Ty.checkNullable=void 0;var WO=Et();function I_e({gen:t,data:e,parentSchema:r},n=WO.nil){let s=t.name("valid");return r.nullable?(t.let(s,(0,WO._)`${e} === null`),n=(0,WO.not)(s)):t.let(s,!1),[s,n]}Ty.checkNullable=I_e;function TBt(t,e){let[r,n]=I_e(t,e);return[r,(0,WO._)`${n} && typeof ${t.data} == "object" && !Array.isArray(${t.data})`]}Ty.checkNullableObject=TBt});var T_e=E(e7=>{"use strict";Object.defineProperty(e7,"__esModule",{value:!0});var Pp=Et(),wBt=Sd(),RBt=wy(),NBt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Pp._)`{allowedValues: ${t}}`},OBt={keyword:"enum",schemaType:"array",error:NBt,code(t){(0,wBt.checkMetadata)(t);let{gen:e,data:r,schema:n,schemaValue:s,parentSchema:i,it:a}=t;if(n.length===0)throw new Error("enum must have non-empty array");if(n.length!==new Set(n).size)throw new Error("enum items must be unique");let o,c=(0,Pp._)`typeof ${r} == "string"`;if(n.length>=a.opts.loopEnum){let l;[o,l]=(0,RBt.checkNullable)(t,c),e.if(l,u)}else{if(!Array.isArray(n))throw new Error("ajv implementation error");o=(0,Pp.and)(c,(0,Pp.or)(...n.map(l=>(0,Pp._)`${r} === ${l}`))),i.nullable&&(o=(0,Pp.or)((0,Pp._)`${r} === null`,o))}t.pass(o);function u(){e.forOf("v",s,l=>e.if((0,Pp._)`${o} = ${r} === ${l}`,()=>e.break()))}}};e7.default=OBt});var R_e=E(t7=>{"use strict";Object.defineProperty(t7,"__esModule",{value:!0});var PBt=Kt(),DBt=di(),w_e=Et(),kBt=Sd(),LBt=wy(),BBt=Cy(),MBt={keyword:"elements",schemaType:"object",error:(0,BBt.typeError)("array"),code(t){(0,kBt.checkMetadata)(t);let{gen:e,data:r,schema:n,it:s}=t;if((0,PBt.alwaysValidSchema)(s,n))return;let[i]=(0,LBt.checkNullable)(t);e.if((0,w_e.not)(i),()=>e.if((0,w_e._)`Array.isArray(${r})`,()=>e.assign(i,(0,DBt.validateArray)(t)),()=>t.error())),t.ok(i)}};t7.default=MBt});var n7=E(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});Dp.validateProperties=Dp.error=void 0;var r7=di(),N_e=Kt(),vd=Et(),WBt=Sd(),$Bt=wy(),O_e=Cy(),Ry;(function(t){t.Additional="additional",t.Missing="missing"})(Ry||(Ry={}));Dp.error={message:t=>{let{params:e}=t;return e.propError?e.propError===Ry.Additional?"must NOT have additional properties":`must have property '${e.missingProperty}'`:(0,O_e.typeErrorMessage)(t,"object")},params:t=>{let{params:e}=t;return e.propError?e.propError===Ry.Additional?(0,vd._)`{error: ${e.propError}, additionalProperty: ${e.additionalProperty}}`:(0,vd._)`{error: ${e.propError}, missingProperty: ${e.missingProperty}}`:(0,O_e.typeErrorParams)(t,"object")}};var FBt={keyword:"properties",schemaType:"object",error:Dp.error,code:P_e};function P_e(t){(0,WBt.checkMetadata)(t);let{gen:e,data:r,parentSchema:n,it:s}=t,{additionalProperties:i,nullable:a}=n;if(s.jtdDiscriminator&&a)throw new Error("JTD: nullable inside discriminator mapping");if(p())throw new Error("JTD: properties and optionalProperties have common members");let[o,c]=m("properties"),[u,l]=m("optionalProperties");if(c.length===0&&l.length===0&&i)return;let[d,f]=s.jtdDiscriminator===void 0?(0,$Bt.checkNullableObject)(t,r):[e.let("valid",!1),!0];e.if(f,()=>e.assign(d,!0).block(()=>{h(c,"properties",!0),h(l,"optionalProperties"),i||g()})),t.pass(d);function p(){let y=n.properties,x=n.optionalProperties;if(!(y&&x))return!1;for(let v in y)if(Object.prototype.hasOwnProperty.call(x,v))return!0;return!1}function m(y){let x=n[y],v=x?(0,r7.allSchemaProperties)(x):[];if(s.jtdDiscriminator&&v.some(R=>R===s.jtdDiscriminator))throw new Error(`JTD: discriminator tag used in ${y}`);let C=v.filter(R=>!(0,N_e.alwaysValidSchema)(s,x[R]));return[v,C]}function h(y,x,v){let C=e.var("valid");for(let w of y)e.if((0,r7.propertyInData)(e,r,w,s.opts.ownProperties),()=>A(w,x,C),()=>R(w)),t.ok(C);function R(w){v?(e.assign(C,!1),t.error(!1,{propError:Ry.Missing,missingProperty:w},{schemaPath:w})):e.assign(C,!0)}}function A(y,x,v){t.subschema({keyword:x,schemaProp:y,dataProp:y},v)}function g(){e.forIn("key",r,y=>{let x=b(y,o,"properties",s.jtdDiscriminator),v=b(y,u,"optionalProperties"),C=x===!0?v:v===!0?x:(0,vd.and)(x,v);e.if(C,()=>{s.opts.removeAdditional?e.code((0,vd._)`delete ${r}[${y}]`):(t.error(!1,{propError:Ry.Additional,additionalProperty:y},{instancePath:y,parentSchema:!0}),s.opts.allErrors||e.break())})})}function b(y,x,v,C){let R;if(x.length>8){let w=(0,N_e.schemaRefOrVal)(s,n[v],v);R=(0,vd.not)((0,r7.isOwnProperty)(e,w,y)),C!==void 0&&(R=(0,vd.and)(R,(0,vd._)`${y} !== ${C}`))}else if(x.length||C!==void 0){let w=C===void 0?x:[C].concat(x);R=(0,vd.and)(...w.map(N=>(0,vd._)`${y} !== ${N}`))}else R=!0;return R}}Dp.validateProperties=P_e;Dp.default=FBt});var k_e=E(s7=>{"use strict";Object.defineProperty(s7,"__esModule",{value:!0});var D_e=n7(),UBt={keyword:"optionalProperties",schemaType:"object",error:D_e.error,code(t){t.parentSchema.properties||(0,D_e.validateProperties)(t)}};s7.default=UBt});var B_e=E(i7=>{"use strict";Object.defineProperty(i7,"__esModule",{value:!0});var Km=Et(),qBt=Sd(),jBt=wy(),L_e=Cy(),$O=GU(),HBt={message:t=>{let{schema:e,params:r}=t;return r.discrError?r.discrError===$O.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in mapping`:(0,L_e.typeErrorMessage)(t,"object")},params:t=>{let{schema:e,params:r}=t;return r.discrError?(0,Km._)`{error: ${r.discrError}, tag: ${e}, tagValue: ${r.tag}}`:(0,L_e.typeErrorParams)(t,"object")}},QBt={keyword:"discriminator",schemaType:"string",implements:["mapping"],error:HBt,code(t){(0,qBt.checkMetadata)(t);let{gen:e,data:r,schema:n,parentSchema:s}=t,[i,a]=(0,jBt.checkNullableObject)(t,r);e.if(a),o(),e.elseIf((0,Km.not)(i)),t.error(),e.endIf(),t.ok(i);function o(){let l=e.const("tag",(0,Km._)`${r}${(0,Km.getProperty)(n)}`);e.if((0,Km._)`${l} === undefined`),t.error(!1,{discrError:$O.DiscrError.Tag,tag:l}),e.elseIf((0,Km._)`typeof ${l} == "string"`),c(l),e.else(),t.error(!1,{discrError:$O.DiscrError.Tag,tag:l},{instancePath:n}),e.endIf()}function c(l){e.if(!1);for(let d in s.mapping)e.elseIf((0,Km._)`${l} === ${d}`),e.assign(i,u(d));e.else(),t.error(!1,{discrError:$O.DiscrError.Mapping,tag:l},{instancePath:n,schemaPath:"mapping",parentSchema:!0}),e.endIf()}function u(l){let d=e.name("valid");return t.subschema({keyword:"mapping",schemaProp:l,jtdDiscriminator:n},d),d}}};i7.default=QBt});var W_e=E(a7=>{"use strict";Object.defineProperty(a7,"__esModule",{value:!0});var M_e=Kt(),FO=Et(),GBt=Sd(),VBt=wy(),zBt=Cy(),KBt={keyword:"values",schemaType:"object",error:(0,zBt.typeError)("object"),code(t){(0,GBt.checkMetadata)(t);let{gen:e,data:r,schema:n,it:s}=t,[i,a]=(0,VBt.checkNullableObject)(t,r);(0,M_e.alwaysValidSchema)(s,n)?e.if((0,FO.not)((0,FO.or)(a,i)),()=>t.error()):(e.if(a),e.assign(i,o()),e.elseIf((0,FO.not)(i)),t.error(),e.endIf()),t.ok(i);function o(){let c=e.name("valid");if(s.allErrors){let l=e.let("valid",!0);return u(()=>e.assign(l,!1)),l}return e.var(c,!0),u(()=>e.break()),c;function u(l){e.forIn("key",r,d=>{t.subschema({keyword:"values",dataProp:d,dataPropType:M_e.Type.Str},c),e.if((0,FO.not)(c),l)})}}}};a7.default=KBt});var $_e=E(o7=>{"use strict";Object.defineProperty(o7,"__esModule",{value:!0});var YBt=di(),JBt={keyword:"union",schemaType:"array",trackErrors:!0,code:YBt.validateUnion,error:{message:"must match a schema in union"}};o7.default=JBt});var F_e=E(c7=>{"use strict";Object.defineProperty(c7,"__esModule",{value:!0});var XBt=MO(),ZBt=ZU(),e4t=T_e(),t4t=R_e(),r4t=n7(),n4t=k_e(),s4t=B_e(),i4t=W_e(),a4t=$_e(),o4t=Sd(),c4t=["definitions",XBt.default,ZBt.default,e4t.default,t4t.default,r4t.default,n4t.default,s4t.default,i4t.default,a4t.default,o4t.default,{keyword:"additionalProperties",schemaType:"boolean"},{keyword:"nullable",schemaType:"boolean"}];c7.default=c4t});var H_e=E(u7=>{"use strict";Object.defineProperty(u7,"__esModule",{value:!0});var Cd=t=>{let e={nullable:{type:"boolean"},metadata:{optionalProperties:{union:{elements:{ref:"schema"}}},additionalProperties:!0}};return t&&(e.definitions={values:{ref:"schema"}}),e},u4t=t=>({optionalProperties:Cd(t)}),l4t=t=>({properties:{ref:{type:"string"}},optionalProperties:Cd(t)}),d4t=t=>({properties:{type:{enum:["boolean","timestamp","string","float32","float64","int8","uint8","int16","uint16","int32","uint32"]}},optionalProperties:Cd(t)}),f4t=t=>({properties:{enum:{elements:{type:"string"}}},optionalProperties:Cd(t)}),p4t=t=>({properties:{elements:{ref:"schema"}},optionalProperties:Cd(t)}),q_e=t=>({properties:{properties:{values:{ref:"schema"}}},optionalProperties:{optionalProperties:{values:{ref:"schema"}},additionalProperties:{type:"boolean"},...Cd(t)}}),j_e=t=>({properties:{optionalProperties:{values:{ref:"schema"}}},optionalProperties:{additionalProperties:{type:"boolean"},...Cd(t)}}),m4t=t=>({properties:{discriminator:{type:"string"},mapping:{values:{metadata:{union:[q_e(!1),j_e(!1)]}}}},optionalProperties:Cd(t)}),h4t=t=>({properties:{values:{ref:"schema"}},optionalProperties:Cd(t)}),U_e=t=>({metadata:{union:[u4t,l4t,d4t,f4t,p4t,q_e,j_e,m4t,h4t].map(e=>e(t))}}),g4t={definitions:{schema:U_e(!1)},...U_e(!0)};u7.default=g4t});var l7=E(UO=>{"use strict";Object.defineProperty(UO,"__esModule",{value:!0});UO.jtdForms=void 0;UO.jtdForms=["elements","values","discriminator","properties","optionalProperties","enum","type","ref"]});var G_e=E(f7=>{"use strict";Object.defineProperty(f7,"__esModule",{value:!0});var d7=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,A4t={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function Q_e(t){return d7.lastIndex=0,'"'+(d7.test(t)?t.replace(d7,e=>{let r=A4t[e];return typeof r=="string"?r:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}):t)+'"'}f7.default=Q_e;Q_e.code='require("ajv/dist/runtime/quote").default'});var X_e=E(m7=>{"use strict";Object.defineProperty(m7,"__esModule",{value:!0});var y4t=l7(),z_e=Qm(),fr=Et(),x4t=Ed(),En=Zo(),b4t=di(),E4t=MO(),_4t=Kt(),S4t=G_e(),v4t={elements:I4t,values:T4t,discriminator:w4t,properties:V_e,optionalProperties:V_e,enum:L_,type:R4t,ref:O4t};function K_e(t,e){let r=z_e.getCompilingSchema.call(this,t);if(r)return r;let{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new fr.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o=a.scopeName("serialize"),c={self:this,gen:a,schema:t.schema,schemaEnv:t,definitions:e,data:En.default.data},u;try{this._compilations.add(t),t.serializeName=o,a.func(o,En.default.data,!1,()=>{a.let(En.default.json,(0,fr.str)``),B_(c),a.return(En.default.json)}),a.optimize(this.opts.code.optimize);let l=a.toString();u=`${a.scopeRefs(En.default.scope)}return ${l}`;let f=new Function(`${En.default.scope}`,u)(this.scope.get());this.scope.value(o,{ref:f}),t.serialize=f}catch(l){throw u&&this.logger.error("Error compiling serializer, function code:",u),delete t.serialize,delete t.serializeName,l}finally{this._compilations.delete(t)}return t}m7.default=K_e;function B_(t){let e;for(let r of y4t.jtdForms)if(r in t.schema){e=r;break}C4t(t,e?v4t[e]:D4t)}function C4t(t,e){let{gen:r,schema:n,data:s}=t;if(!n.nullable)return e(t);r.if((0,fr._)`${s} === undefined || ${s} === null`,()=>r.add(En.default.json,(0,fr._)`"null"`),()=>e(t))}function I4t(t){let{gen:e,schema:r,data:n}=t;e.add(En.default.json,(0,fr.str)`[`);let s=e.let("first",!0);e.forOf("el",n,i=>{p7(t,s),B_({...t,schema:r.elements,data:i})}),e.add(En.default.json,(0,fr.str)`]`)}function T4t(t){let{gen:e,schema:r,data:n}=t;e.add(En.default.json,(0,fr.str)`{`);let s=e.let("first",!0);e.forIn("key",n,i=>Y_e(t,i,r.values,s)),e.add(En.default.json,(0,fr.str)`}`)}function Y_e(t,e,r,n){let{gen:s,data:i}=t;p7(t,n),L_({...t,data:e}),s.add(En.default.json,(0,fr.str)`:`);let a=s.const("value",(0,fr._)`${i}${(0,fr.getProperty)(e)}`);B_({...t,schema:r,data:a})}function w4t(t){let{gen:e,schema:r,data:n}=t,{discriminator:s}=r;e.add(En.default.json,(0,fr.str)`{${JSON.stringify(s)}:`);let i=e.const("tag",(0,fr._)`${n}${(0,fr.getProperty)(s)}`);L_({...t,data:i}),e.if(!1);for(let a in r.mapping){e.elseIf((0,fr._)`${i} === ${a}`);let o=r.mapping[a];J_e({...t,schema:o},s)}e.endIf(),e.add(En.default.json,(0,fr.str)`}`)}function V_e(t){let{gen:e}=t;e.add(En.default.json,(0,fr.str)`{`),J_e(t),e.add(En.default.json,(0,fr.str)`}`)}function J_e(t,e){let{gen:r,schema:n,data:s}=t,{properties:i,optionalProperties:a}=n,o=f(i),c=f(a),u=p(o.concat(c)),l=!e,d;for(let g of o)l?l=!1:r.add(En.default.json,(0,fr.str)`,`),h(g,i[g],m(g));l&&(d=r.let("first",!0));for(let g of c){let b=m(g);r.if((0,fr.and)((0,fr._)`${b} !== undefined`,(0,b4t.isOwnProperty)(r,s,g)),()=>{p7(t,d),h(g,a[g],b)})}n.additionalProperties&&r.forIn("key",s,g=>r.if(A(g,u),()=>Y_e(t,g,{},d)));function f(g){return g?Object.keys(g):[]}function p(g){if(e&&g.push(e),new Set(g).size!==g.length)throw new Error("JTD: properties/optionalProperties/disciminator overlap");return g}function m(g){return r.const("value",(0,fr._)`${s}${(0,fr.getProperty)(g)}`)}function h(g,b,y){r.add(En.default.json,(0,fr.str)`${JSON.stringify(g)}:`),B_({...t,schema:b,data:y})}function A(g,b){return b.length?(0,fr.and)(...b.map(y=>(0,fr._)`${g} !== ${y}`)):!0}}function R4t(t){let{gen:e,schema:r,data:n}=t;switch(r.type){case"boolean":e.add(En.default.json,(0,fr._)`${n} ? "true" : "false"`);break;case"string":L_(t);break;case"timestamp":e.if((0,fr._)`${n} instanceof Date`,()=>e.add(En.default.json,(0,fr._)`'"' + ${n}.toISOString() + '"'`),()=>L_(t));break;default:N4t(t)}}function L_({gen:t,data:e}){t.add(En.default.json,(0,fr._)`${(0,_4t.useFunc)(t,S4t.default)}(${e})`)}function N4t({gen:t,data:e}){t.add(En.default.json,(0,fr._)`"" + ${e}`)}function O4t(t){let{gen:e,self:r,data:n,definitions:s,schema:i,schemaEnv:a}=t,{ref:o}=i,c=s[o];if(!c)throw new x4t.default(r.opts.uriResolver,"",o,`No definition ${o}`);if(!(0,E4t.hasRef)(c))return B_({...t,schema:c});let{root:u}=a,l=K_e.call(r,new z_e.SchemaEnv({schema:c,root:u}),s);e.add(En.default.json,(0,fr._)`${P4t(e,l)}(${n})`)}function P4t(t,e){return e.serialize?t.scopeValue("serialize",{ref:e.serialize}):(0,fr._)`${t.scopeValue("wrapper",{ref:e})}.serialize`}function D4t({gen:t,data:e}){t.add(En.default.json,(0,fr._)`JSON.stringify(${e})`)}function p7({gen:t},e){e?t.if(e,()=>t.assign(e,!1),()=>t.add(En.default.json,(0,fr.str)`,`)):t.add(En.default.json,(0,fr.str)`,`)}});var eSe=E(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.parseJsonString=Lp.parseJsonNumber=Lp.parseJson=void 0;var k4t=/position\s(\d+)(?: \(line \d+ column \d+\))?$/;function Id(t,e){let r;Id.message=void 0;let n;e&&(t=t.slice(e));try{return Id.position=e+t.length,JSON.parse(t)}catch(s){if(n=k4t.exec(s.message),!n){Id.message="unexpected end";return}r=+n[1];let i=t[r];t=t.slice(0,r),Id.position=e+r;try{return JSON.parse(t)}catch{Id.message=`unexpected token ${i}`;return}}}Lp.parseJson=Id;Id.message=void 0;Id.position=0;Id.code='require("ajv/dist/runtime/parseJson").parseJson';function Td(t,e,r){let n="",s;if(Td.message=void 0,t[e]==="-"&&(n+="-",e++),t[e]==="0")n+="0",e++;else if(!i(r)){a();return}if(r)return Td.position=e,+n;if(t[e]==="."&&(n+=".",e++,!i())){a();return}if(s=t[e],(s==="e"||s==="E")&&(n+="e",e++,s=t[e],(s==="+"||s==="-")&&(n+=s,e++),!i())){a();return}return Td.position=e,+n;function i(o){let c=!1;for(;s=t[e],s>="0"&&s<="9"&&(o===void 0||o-- >0);)c=!0,n+=s,e++;return c}function a(){Td.position=e,Td.message=e<t.length?`unexpected token ${t[e]}`:"unexpected end"}}Lp.parseJsonNumber=Td;Td.message=void 0;Td.position=0;Td.code='require("ajv/dist/runtime/parseJson").parseJsonNumber';var Z_e={b:"\b",f:"\f",n:`
|
|
`,r:"\r",t:" ",'"':'"',"/":"/","\\":"\\"},L4t=97,B4t=48;function kp(t,e){let r="",n;for(kp.message=void 0;n=t[e++],n!=='"';)if(n==="\\")if(n=t[e],n in Z_e)r+=Z_e[n],e++;else if(n==="u"){e++;let i=4,a=0;for(;i--;){if(a<<=4,n=t[e],n===void 0){s("unexpected end");return}if(n=n.toLowerCase(),n>="a"&&n<="f")a+=n.charCodeAt(0)-L4t+10;else if(n>="0"&&n<="9")a+=n.charCodeAt(0)-B4t;else{s(`unexpected token ${n}`);return}e++}r+=String.fromCharCode(a)}else{s(`unexpected token ${n}`);return}else if(n===void 0){s("unexpected end");return}else if(n.charCodeAt(0)>=32)r+=n;else{s(`unexpected token ${n}`);return}return kp.position=e,r;function s(i){kp.position=e,kp.message=i}}Lp.parseJsonString=kp;kp.message=void 0;kp.position=0;kp.code='require("ajv/dist/runtime/parseJson").parseJsonString'});var dSe=E(_7=>{"use strict";Object.defineProperty(_7,"__esModule",{value:!0});var M4t=l7(),sSe=Qm(),ut=Et(),W4t=Ed(),cr=Zo(),$4t=di(),F4t=MO(),U4t=ZU(),A7=eSe(),iSe=Kt(),q4t=XU(),j4t={elements:V4t,values:z4t,discriminator:Y4t,properties:tSe,optionalProperties:tSe,enum:X4t,type:J4t,ref:Z4t};function aSe(t,e){let r=sSe.getCompilingSchema.call(this,t);if(r)return r;let{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new ut.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o=a.scopeName("parse"),c={self:this,gen:a,schema:t.schema,schemaEnv:t,definitions:e,data:cr.default.data,parseName:o,char:a.name("c")},u;try{this._compilations.add(t),t.parseName=o,H4t(c),a.optimize(this.opts.code.optimize);let l=a.toString();u=`${a.scopeRefs(cr.default.scope)}return ${l}`;let f=new Function(`${cr.default.scope}`,u)(this.scope.get());this.scope.value(o,{ref:f}),t.parse=f}catch(l){throw u&&this.logger.error("Error compiling parser, function code:",u),delete t.parse,delete t.parseName,l}finally{this._compilations.delete(t)}return t}_7.default=aSe;var g7=(0,ut._)`undefined`;function H4t(t){let{gen:e,parseName:r,char:n}=t;e.func(r,(0,ut._)`${cr.default.json}, ${cr.default.jsonPos}, ${cr.default.jsonPart}`,!1,()=>{e.let(cr.default.data),e.let(n),e.assign((0,ut._)`${r}.message`,g7),e.assign((0,ut._)`${r}.position`,g7),e.assign(cr.default.jsonPos,(0,ut._)`${cr.default.jsonPos} || 0`),e.const(cr.default.jsonLen,(0,ut._)`${cr.default.json}.length`),qO(t),E7(t),e.if(cr.default.jsonPart,()=>{e.assign((0,ut._)`${r}.position`,cr.default.jsonPos),e.return(cr.default.data)}),e.if((0,ut._)`${cr.default.jsonPos} === ${cr.default.jsonLen}`,()=>e.return(cr.default.data)),Ny(t)})}function qO(t){let e;for(let r of M4t.jtdForms)if(r in t.schema){e=r;break}e?G4t(t,j4t[e]):x7(t)}var Q4t=nSe(!0,nSe(!1,Ny));function G4t(t,e){let{gen:r,schema:n,data:s}=t;if(!n.nullable)return e(t);M_(t,"null",e,()=>r.assign(s,null))}function V4t(t){let{gen:e,schema:r,data:n}=t;Zu(t,"[");let s=e.let("i",0);e.assign(n,(0,ut._)`[]`),y7(t,"]",()=>{let i=e.let("el");qO({...t,schema:r.elements,data:i}),e.assign((0,ut._)`${n}[${s}++]`,i)})}function z4t(t){let{gen:e,schema:r,data:n}=t;Zu(t,"{"),e.assign(n,(0,ut._)`{}`),y7(t,"}",()=>K4t(t,r.values))}function y7(t,e,r){oSe(t,e,r),Zu(t,e)}function oSe(t,e,r){let{gen:n}=t;n.for((0,ut._)`;${cr.default.jsonPos}<${cr.default.jsonLen} && ${jO(1)}!==${e};`,()=>{r(),M_(t,",",()=>n.break(),s)});function s(){M_(t,e,()=>{},Ny)}}function K4t(t,e){let{gen:r}=t,n=r.let("key");Ym({...t,data:n}),Zu(t,":"),uSe(t,n,e)}function Y4t(t){let{gen:e,data:r,schema:n}=t,{discriminator:s,mapping:i}=n;Zu(t,"{"),e.assign(r,(0,ut._)`{}`);let a=e.const("pos",cr.default.jsonPos),o=e.let("value"),c=e.let("tag");oSe(t,"}",()=>{let u=e.let("key");Ym({...t,data:u}),Zu(t,":"),e.if((0,ut._)`${u} === ${s}`,()=>{Ym({...t,data:c}),e.assign((0,ut._)`${r}[${u}]`,c),e.break()},()=>x7({...t,data:o}))}),e.assign(cr.default.jsonPos,a),e.if((0,ut._)`${c} === undefined`),wd(t,(0,ut.str)`discriminator tag not found`);for(let u in i)e.elseIf((0,ut._)`${c} === ${u}`),cSe({...t,schema:i[u]},s);e.else(),wd(t,(0,ut.str)`discriminator value not in schema`),e.endIf()}function tSe(t){let{gen:e,data:r}=t;Zu(t,"{"),e.assign(r,(0,ut._)`{}`),cSe(t)}function cSe(t,e){let{gen:r,schema:n,data:s}=t,{properties:i,optionalProperties:a,additionalProperties:o}=n;if(y7(t,"}",()=>{let c=r.let("key");if(Ym({...t,data:c}),Zu(t,":"),r.if(!1),rSe(t,c,i),rSe(t,c,a),e){r.elseIf((0,ut._)`${c} === ${e}`);let u=r.let("tag");Ym({...t,data:u})}r.else(),o?x7({...t,data:(0,ut._)`${s}[${c}]`}):wd(t,(0,ut.str)`property ${c} not allowed`),r.endIf()}),i){let c=(0,$4t.hasPropFunc)(r),u=(0,ut.and)(...Object.keys(i).map(l=>(0,ut._)`${c}.call(${s}, ${l})`));r.if((0,ut.not)(u),()=>wd(t,(0,ut.str)`missing required properties`))}}function rSe(t,e,r={}){let{gen:n}=t;for(let s in r)n.elseIf((0,ut._)`${e} === ${s}`),uSe(t,e,r[s])}function uSe(t,e,r){qO({...t,schema:r,data:(0,ut._)`${t.data}[${e}]`})}function J4t(t){let{gen:e,schema:r,data:n,self:s}=t;switch(r.type){case"boolean":Q4t(t);break;case"string":Ym(t);break;case"timestamp":{Ym(t);let i=(0,iSe.useFunc)(e,q4t.default),{allowDate:a,parseDate:o}=s.opts,c=a?(0,ut._)`!${i}(${n}, true)`:(0,ut._)`!${i}(${n})`,u=o?(0,ut.or)(c,(0,ut._)`(${n} = new Date(${n}), false)`,(0,ut._)`isNaN(${n}.valueOf())`):c;e.if(u,()=>wd(t,(0,ut.str)`invalid timestamp`));break}case"float32":case"float64":h7(t);break;default:{let i=r.type;if(!s.opts.int32range&&(i==="int32"||i==="uint32"))h7(t,16),i==="uint32"&&e.if((0,ut._)`${n} < 0`,()=>wd(t,(0,ut.str)`integer out of range`));else{let[a,o,c]=U4t.intRange[i];h7(t,c),e.if((0,ut._)`${n} < ${a} || ${n} > ${o}`,()=>wd(t,(0,ut.str)`integer out of range`))}}}}function Ym(t){Zu(t,'"'),b7(t,A7.parseJsonString)}function X4t(t){let{gen:e,data:r,schema:n}=t,s=n.enum;Zu(t,'"'),e.if(!1);for(let i of s){let a=JSON.stringify(i).slice(1);e.elseIf((0,ut._)`${jO(a.length)} === ${a}`),e.assign(r,(0,ut.str)`${i}`),e.add(cr.default.jsonPos,a.length)}e.else(),Ny(t),e.endIf()}function h7(t,e){let{gen:r}=t;E7(t),r.if((0,ut._)`"-0123456789".indexOf(${jO(1)}) < 0`,()=>Ny(t),()=>b7(t,A7.parseJsonNumber,e))}function nSe(t,e){return r=>{let{gen:n,data:s}=r;M_(r,`${t}`,()=>e(r),()=>n.assign(s,t))}}function Z4t(t){let{gen:e,self:r,definitions:n,schema:s,schemaEnv:i}=t,{ref:a}=s,o=n[a];if(!o)throw new W4t.default(r.opts.uriResolver,"",a,`No definition ${a}`);if(!(0,F4t.hasRef)(o))return qO({...t,schema:o});let{root:c}=i,u=aSe.call(r,new sSe.SchemaEnv({schema:o,root:c}),n);lSe(t,eMt(e,u),!0)}function eMt(t,e){return e.parse?t.scopeValue("parse",{ref:e.parse}):(0,ut._)`${t.scopeValue("wrapper",{ref:e})}.parse`}function x7(t){b7(t,A7.parseJson)}function b7(t,e,r){lSe(t,(0,iSe.useFunc)(t.gen,e),r)}function lSe(t,e,r){let{gen:n,data:s}=t;n.assign(s,(0,ut._)`${e}(${cr.default.json}, ${cr.default.jsonPos}${r?(0,ut._)`, ${r}`:ut.nil})`),n.assign(cr.default.jsonPos,(0,ut._)`${e}.position`),n.if((0,ut._)`${s} === undefined`,()=>wd(t,(0,ut._)`${e}.message`))}function Zu(t,e){M_(t,e,Ny)}function M_(t,e,r,n){let{gen:s}=t,i=e.length;E7(t),s.if((0,ut._)`${jO(i)} === ${e}`,()=>{s.add(cr.default.jsonPos,i),n?.(t)},()=>r(t))}function E7({gen:t,char:e}){t.code((0,ut._)`while((${e}=${cr.default.json}[${cr.default.jsonPos}],${e}===" "||${e}==="\\n"||${e}==="\\r"||${e}==="\\t"))${cr.default.jsonPos}++;`)}function jO(t){return t===1?(0,ut._)`${cr.default.json}[${cr.default.jsonPos}]`:(0,ut._)`${cr.default.json}.slice(${cr.default.jsonPos}, ${cr.default.jsonPos}+${t})`}function Ny(t){wd(t,(0,ut._)`"unexpected token " + ${cr.default.json}[${cr.default.jsonPos}]`)}function wd({gen:t,parseName:e},r){t.assign((0,ut._)`${e}.message`,r),t.assign((0,ut._)`${e}.position`,cr.default.jsonPos),t.return(g7)}});var C7=E((kn,v7)=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.MissingRefError=kn.ValidationError=kn.CodeGen=kn.Name=kn.nil=kn.stringify=kn.str=kn._=kn.KeywordCxt=kn.Ajv=void 0;var tMt=sU(),rMt=F_e(),nMt=H_e(),sMt=X_e(),iMt=dSe(),S7="JTD-meta-schema",Oy=class extends tMt.default{constructor(e={}){super({...e,jtd:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(rMt.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema(),this.opts.meta&&this.addMetaSchema(nMt.default,S7,!1)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(S7)?S7:void 0)}compileSerializer(e){let r=this._addSchema(e);return r.serialize||this._compileSerializer(r)}compileParser(e){let r=this._addSchema(e);return r.parse||this._compileParser(r)}_compileSerializer(e){if(sMt.default.call(this,e,e.schema.definitions||{}),!e.serialize)throw new Error("ajv implementation error");return e.serialize}_compileParser(e){if(iMt.default.call(this,e,e.schema.definitions||{}),!e.parse)throw new Error("ajv implementation error");return e.parse}};kn.Ajv=Oy;v7.exports=kn=Oy;v7.exports.Ajv=Oy;Object.defineProperty(kn,"__esModule",{value:!0});kn.default=Oy;var aMt=Ay();Object.defineProperty(kn,"KeywordCxt",{enumerable:!0,get:function(){return aMt.KeywordCxt}});var Py=Et();Object.defineProperty(kn,"_",{enumerable:!0,get:function(){return Py._}});Object.defineProperty(kn,"str",{enumerable:!0,get:function(){return Py.str}});Object.defineProperty(kn,"stringify",{enumerable:!0,get:function(){return Py.stringify}});Object.defineProperty(kn,"nil",{enumerable:!0,get:function(){return Py.nil}});Object.defineProperty(kn,"Name",{enumerable:!0,get:function(){return Py.Name}});Object.defineProperty(kn,"CodeGen",{enumerable:!0,get:function(){return Py.CodeGen}});var oMt=y_();Object.defineProperty(kn,"ValidationError",{enumerable:!0,get:function(){return oMt.default}});var cMt=Ed();Object.defineProperty(kn,"MissingRefError",{enumerable:!0,get:function(){return cMt.default}})});var I7=E(($Lr,fSe)=>{"use strict";var uMt=QW();fSe.exports=Object.freeze({coerceTypes:"array",useDefaults:!0,removeAdditional:!0,uriResolver:uMt,addUsedSchema:!1,allErrors:!1})});var ySe=E(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.formatNames=el.fastFormats=el.fullFormats=void 0;function Dy(t,e){return{validate:t,compare:e}}el.fullFormats={date:Dy(hSe,R7),time:Dy(gSe,N7),"date-time":Dy(pMt,ASe),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:gMt,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:SMt,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:AMt,int32:{type:"number",validate:bMt},int64:{type:"number",validate:EMt},float:{type:"number",validate:mSe},double:{type:"number",validate:mSe},password:!0,binary:!0};el.fastFormats={...el.fullFormats,date:Dy(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,R7),time:Dy(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,N7),"date-time":Dy(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ASe),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};el.formatNames=Object.keys(el.fullFormats);function lMt(t){return t%4===0&&(t%100!==0||t%400===0)}var dMt=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,fMt=[0,31,28,31,30,31,30,31,31,30,31,30,31];function hSe(t){let e=dMt.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],s=+e[3];return n>=1&&n<=12&&s>=1&&s<=(n===2&&lMt(r)?29:fMt[n])}function R7(t,e){if(t&&e)return t>e?1:t<e?-1:0}var T7=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function gSe(t,e){let r=T7.exec(t);if(!r)return!1;let n=+r[1],s=+r[2],i=+r[3],a=r[5];return(n<=23&&s<=59&&i<=59||n===23&&s===59&&i===60)&&(!e||a!=="")}function N7(t,e){if(!(t&&e))return;let r=T7.exec(t),n=T7.exec(e);if(r&&n)return t=r[1]+r[2]+r[3]+(r[4]||""),e=n[1]+n[2]+n[3]+(n[4]||""),t>e?1:t<e?-1:0}var w7=/t|\s/i;function pMt(t){let e=t.split(w7);return e.length===2&&hSe(e[0])&&gSe(e[1],!0)}function ASe(t,e){if(!(t&&e))return;let[r,n]=t.split(w7),[s,i]=e.split(w7),a=R7(r,s);if(a!==void 0)return a||N7(n,i)}var mMt=/\/|:/,hMt=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function gMt(t){return mMt.test(t)&&hMt.test(t)}var pSe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function AMt(t){return pSe.lastIndex=0,pSe.test(t)}var yMt=-(2**31),xMt=2**31-1;function bMt(t){return Number.isInteger(t)&&t<=xMt&&t>=yMt}function EMt(t){return Number.isInteger(t)}function mSe(){return!0}var _Mt=/[^\\]\\Z/;function SMt(t){if(_Mt.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var F_=E(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.regexpCode=Mr.getEsmExportName=Mr.getProperty=Mr.safeStringify=Mr.stringify=Mr.strConcat=Mr.addCodeArg=Mr.str=Mr._=Mr.nil=Mr._Code=Mr.Name=Mr.IDENTIFIER=Mr._CodeOrName=void 0;var W_=class{};Mr._CodeOrName=W_;Mr.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Jm=class extends W_{constructor(e){if(super(),!Mr.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Mr.Name=Jm;var rc=class extends W_{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Jm&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Mr._Code=rc;Mr.nil=new rc("");function xSe(t,...e){let r=[t[0]],n=0;for(;n<e.length;)P7(r,e[n]),r.push(t[++n]);return new rc(r)}Mr._=xSe;var O7=new rc("+");function bSe(t,...e){let r=[$_(t[0])],n=0;for(;n<e.length;)r.push(O7),P7(r,e[n]),r.push(O7,$_(t[++n]));return vMt(r),new rc(r)}Mr.str=bSe;function P7(t,e){e instanceof rc?t.push(...e._items):e instanceof Jm?t.push(e):t.push(TMt(e))}Mr.addCodeArg=P7;function vMt(t){let e=1;for(;e<t.length-1;){if(t[e]===O7){let r=CMt(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function CMt(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Jm||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Jm))return`"${t}${e.slice(1)}`}function IMt(t,e){return e.emptyStr()?t:t.emptyStr()?e:bSe`${t}${e}`}Mr.strConcat=IMt;function TMt(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:$_(Array.isArray(t)?t.join(","):t)}function wMt(t){return new rc($_(t))}Mr.stringify=wMt;function $_(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Mr.safeStringify=$_;function RMt(t){return typeof t=="string"&&Mr.IDENTIFIER.test(t)?new rc(`.${t}`):xSe`[${t}]`}Mr.getProperty=RMt;function NMt(t){if(typeof t=="string"&&Mr.IDENTIFIER.test(t))return new rc(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}Mr.getEsmExportName=NMt;function OMt(t){return new rc(t.toString())}Mr.regexpCode=OMt});var L7=E(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.ValueScope=Ua.ValueScopeName=Ua.Scope=Ua.varKinds=Ua.UsedValueState=void 0;var Fa=F_(),D7=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},HO;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(HO||(Ua.UsedValueState=HO={}));Ua.varKinds={const:new Fa.Name("const"),let:new Fa.Name("let"),var:new Fa.Name("var")};var QO=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Fa.Name?e:this.name(e)}name(e){return new Fa.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ua.Scope=QO;var GO=class extends Fa.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Fa._)`.${new Fa.Name(r)}[${n}]`}};Ua.ValueScopeName=GO;var PMt=(0,Fa._)`\n`,k7=class extends QO{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?PMt:Fa.nil}}get(){return this._scope}name(e){return new GO(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:i}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,o=this._values[i];if(o){let l=o.get(a);if(l)return l}else o=this._values[i]=new Map;o.set(a,s);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:i,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Fa._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let i=Fa.nil;for(let a in e){let o=e[a];if(!o)continue;let c=n[a]=n[a]||new Map;o.forEach(u=>{if(c.has(u))return;c.set(u,HO.Started);let l=r(u);if(l){let d=this.opts.es5?Ua.varKinds.var:Ua.varKinds.const;i=(0,Fa._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))i=(0,Fa._)`${i}${l}${this.opts._n}`;else throw new D7(u);c.set(u,HO.Completed)})}return i}};Ua.ValueScope=k7});var Yt=E(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.or=er.and=er.not=er.CodeGen=er.operators=er.varKinds=er.ValueScopeName=er.ValueScope=er.Scope=er.Name=er.regexpCode=er.stringify=er.getProperty=er.nil=er.strConcat=er.str=er._=void 0;var xr=F_(),Kc=L7(),Bp=F_();Object.defineProperty(er,"_",{enumerable:!0,get:function(){return Bp._}});Object.defineProperty(er,"str",{enumerable:!0,get:function(){return Bp.str}});Object.defineProperty(er,"strConcat",{enumerable:!0,get:function(){return Bp.strConcat}});Object.defineProperty(er,"nil",{enumerable:!0,get:function(){return Bp.nil}});Object.defineProperty(er,"getProperty",{enumerable:!0,get:function(){return Bp.getProperty}});Object.defineProperty(er,"stringify",{enumerable:!0,get:function(){return Bp.stringify}});Object.defineProperty(er,"regexpCode",{enumerable:!0,get:function(){return Bp.regexpCode}});Object.defineProperty(er,"Name",{enumerable:!0,get:function(){return Bp.Name}});var YO=L7();Object.defineProperty(er,"Scope",{enumerable:!0,get:function(){return YO.Scope}});Object.defineProperty(er,"ValueScope",{enumerable:!0,get:function(){return YO.ValueScope}});Object.defineProperty(er,"ValueScopeName",{enumerable:!0,get:function(){return YO.ValueScopeName}});Object.defineProperty(er,"varKinds",{enumerable:!0,get:function(){return YO.varKinds}});er.operators={GT:new xr._Code(">"),GTE:new xr._Code(">="),LT:new xr._Code("<"),LTE:new xr._Code("<="),EQ:new xr._Code("==="),NEQ:new xr._Code("!=="),NOT:new xr._Code("!"),OR:new xr._Code("||"),AND:new xr._Code("&&"),ADD:new xr._Code("+")};var Rd=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},B7=class extends Rd{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Kc.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Ly(this.rhs,e,r)),this}get names(){return this.rhs instanceof xr._CodeOrName?this.rhs.names:{}}},VO=class extends Rd{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof xr.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Ly(this.rhs,e,r),this}get names(){let e=this.lhs instanceof xr.Name?{}:{...this.lhs.names};return KO(e,this.rhs)}},M7=class extends VO{constructor(e,r,n,s){super(e,n,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},W7=class extends Rd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},$7=class extends Rd{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},F7=class extends Rd{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},U7=class extends Rd{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Ly(this.code,e,r),this}get names(){return this.code instanceof xr._CodeOrName?this.code.names:{}}},U_=class extends Rd{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let i=n[s];i.optimizeNames(e,r)||(DMt(e,i.names),n.splice(s,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>eh(e,r.names),{})}},Nd=class extends U_{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},q7=class extends U_{},ky=class extends Nd{};ky.kind="else";var Xm=class t extends Nd{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new ky(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(ESe(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Ly(this.condition,e,r),this}get names(){let e=super.names;return KO(e,this.condition),this.else&&eh(e,this.else.names),e}};Xm.kind="if";var Zm=class extends Nd{};Zm.kind="for";var j7=class extends Zm{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Ly(this.iteration,e,r),this}get names(){return eh(super.names,this.iteration.names)}},H7=class extends Zm{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s}render(e){let r=e.es5?Kc.varKinds.var:this.varKind,{name:n,from:s,to:i}=this;return`for(${r} ${n}=${s}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=KO(super.names,this.from);return KO(e,this.to)}},zO=class extends Zm{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Ly(this.iterable,e,r),this}get names(){return eh(super.names,this.iterable.names)}},q_=class extends Nd{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};q_.kind="func";var j_=class extends U_{render(e){return"return "+super.render(e)}};j_.kind="return";var Q7=class extends Nd{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&eh(e,this.catch.names),this.finally&&eh(e,this.finally.names),e}},H_=class extends Nd{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};H_.kind="catch";var Q_=class extends Nd{render(e){return"finally"+super.render(e)}};Q_.kind="finally";var G7=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
`:""},this._extScope=e,this._scope=new Kc.Scope({parent:e}),this._nodes=[new q7]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let i=this._scope.toName(r);return n!==void 0&&s&&(this._constants[i.str]=n),this._leafNode(new B7(e,i,n)),i}const(e,r,n){return this._def(Kc.varKinds.const,e,r,n)}let(e,r,n){return this._def(Kc.varKinds.let,e,r,n)}var(e,r,n){return this._def(Kc.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new VO(e,r,n))}add(e,r){return this._leafNode(new M7(e,er.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==xr.nil&&this._leafNode(new U7(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0,xr.addCodeArg)(r,s));return r.push("}"),new xr._Code(r)}if(e,r,n){if(this._blockNode(new Xm(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Xm(e))}else(){return this._elseNode(new ky)}endIf(){return this._endBlockNode(Xm,ky)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new j7(e),r)}forRange(e,r,n,s,i=this.opts.es5?Kc.varKinds.var:Kc.varKinds.let){let a=this._scope.toName(e);return this._for(new H7(i,a,r,n),()=>s(a))}forOf(e,r,n,s=Kc.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let a=r instanceof xr.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,xr._)`${a}.length`,o=>{this.var(i,(0,xr._)`${a}[${o}]`),n(i)})}return this._for(new zO("of",s,i,r),()=>n(i))}forIn(e,r,n,s=this.opts.es5?Kc.varKinds.var:Kc.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,xr._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new zO("in",s,i,r),()=>n(i))}endFor(){return this._endBlockNode(Zm)}label(e){return this._leafNode(new W7(e))}break(e){return this._leafNode(new $7(e))}return(e){let r=new j_;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(j_)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new Q7;if(this._blockNode(s),this.code(e),r){let i=this.name("e");this._currNode=s.catch=new H_(i),r(i)}return n&&(this._currNode=s.finally=new Q_,this.code(n)),this._endBlockNode(H_,Q_)}throw(e){return this._leafNode(new F7(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=xr.nil,n,s){return this._blockNode(new q_(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(q_)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Xm))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};er.CodeGen=G7;function eh(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function KO(t,e){return e instanceof xr._CodeOrName?eh(t,e.names):t}function Ly(t,e,r){if(t instanceof xr.Name)return n(t);if(!s(t))return t;return new xr._Code(t._items.reduce((i,a)=>(a instanceof xr.Name&&(a=n(a)),a instanceof xr._Code?i.push(...a._items):i.push(a),i),[]));function n(i){let a=r[i.str];return a===void 0||e[i.str]!==1?i:(delete e[i.str],a)}function s(i){return i instanceof xr._Code&&i._items.some(a=>a instanceof xr.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function DMt(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function ESe(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,xr._)`!${V7(t)}`}er.not=ESe;var kMt=_Se(er.operators.AND);function LMt(...t){return t.reduce(kMt)}er.and=LMt;var BMt=_Se(er.operators.OR);function MMt(...t){return t.reduce(BMt)}er.or=MMt;function _Se(t){return(e,r)=>e===xr.nil?r:r===xr.nil?e:(0,xr._)`${V7(e)} ${t} ${V7(r)}`}function V7(t){return t instanceof xr.Name?t:(0,xr._)`(${t})`}});var Wr=E(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.checkStrictMode=sr.getErrorPath=sr.Type=sr.useFunc=sr.setEvaluated=sr.evaluatedPropsToName=sr.mergeEvaluated=sr.eachItem=sr.unescapeJsonPointer=sr.escapeJsonPointer=sr.escapeFragment=sr.unescapeFragment=sr.schemaRefOrVal=sr.schemaHasRulesButRef=sr.schemaHasRules=sr.checkUnknownRules=sr.alwaysValidSchema=sr.toHash=void 0;var pn=Yt(),WMt=F_();function $Mt(t){let e={};for(let r of t)e[r]=!0;return e}sr.toHash=$Mt;function FMt(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(CSe(t,e),!ISe(e,t.self.RULES.all))}sr.alwaysValidSchema=FMt;function CSe(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let i in e)s[i]||RSe(t,`unknown keyword: "${i}"`)}sr.checkUnknownRules=CSe;function ISe(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}sr.schemaHasRules=ISe;function UMt(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}sr.schemaHasRulesButRef=UMt;function qMt({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,pn._)`${r}`}return(0,pn._)`${t}${e}${(0,pn.getProperty)(n)}`}sr.schemaRefOrVal=qMt;function jMt(t){return TSe(decodeURIComponent(t))}sr.unescapeFragment=jMt;function HMt(t){return encodeURIComponent(K7(t))}sr.escapeFragment=HMt;function K7(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}sr.escapeJsonPointer=K7;function TSe(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}sr.unescapeJsonPointer=TSe;function QMt(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}sr.eachItem=QMt;function SSe({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(s,i,a,o)=>{let c=a===void 0?i:a instanceof pn.Name?(i instanceof pn.Name?t(s,i,a):e(s,i,a),a):i instanceof pn.Name?(e(s,a,i),i):r(i,a);return o===pn.Name&&!(c instanceof pn.Name)?n(s,c):c}}sr.mergeEvaluated={props:SSe({mergeNames:(t,e,r)=>t.if((0,pn._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,pn._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,pn._)`${r} || {}`).code((0,pn._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,pn._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,pn._)`${r} || {}`),Y7(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:wSe}),items:SSe({mergeNames:(t,e,r)=>t.if((0,pn._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,pn._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,pn._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,pn._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function wSe(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,pn._)`{}`);return e!==void 0&&Y7(t,r,e),r}sr.evaluatedPropsToName=wSe;function Y7(t,e,r){Object.keys(r).forEach(n=>t.assign((0,pn._)`${e}${(0,pn.getProperty)(n)}`,!0))}sr.setEvaluated=Y7;var vSe={};function GMt(t,e){return t.scopeValue("func",{ref:e,code:vSe[e.code]||(vSe[e.code]=new WMt._Code(e.code))})}sr.useFunc=GMt;var z7;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(z7||(sr.Type=z7={}));function VMt(t,e,r){if(t instanceof pn.Name){let n=e===z7.Num;return r?n?(0,pn._)`"[" + ${t} + "]"`:(0,pn._)`"['" + ${t} + "']"`:n?(0,pn._)`"/" + ${t}`:(0,pn._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,pn.getProperty)(t).toString():"/"+K7(t)}sr.getErrorPath=VMt;function RSe(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}sr.checkStrictMode=RSe});var Od=E(J7=>{"use strict";Object.defineProperty(J7,"__esModule",{value:!0});var Li=Yt(),zMt={data:new Li.Name("data"),valCxt:new Li.Name("valCxt"),instancePath:new Li.Name("instancePath"),parentData:new Li.Name("parentData"),parentDataProperty:new Li.Name("parentDataProperty"),rootData:new Li.Name("rootData"),dynamicAnchors:new Li.Name("dynamicAnchors"),vErrors:new Li.Name("vErrors"),errors:new Li.Name("errors"),this:new Li.Name("this"),self:new Li.Name("self"),scope:new Li.Name("scope"),json:new Li.Name("json"),jsonPos:new Li.Name("jsonPos"),jsonLen:new Li.Name("jsonLen"),jsonPart:new Li.Name("jsonPart")};J7.default=zMt});var G_=E(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.extendErrors=Bi.resetErrorsCount=Bi.reportExtraError=Bi.reportError=Bi.keyword$DataError=Bi.keywordError=void 0;var Ir=Yt(),JO=Wr(),oa=Od();Bi.keywordError={message:({keyword:t})=>(0,Ir.str)`must pass "${t}" keyword validation`};Bi.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Ir.str)`"${t}" keyword must be ${e} ($data)`:(0,Ir.str)`"${t}" keyword is invalid ($data)`};function KMt(t,e=Bi.keywordError,r,n){let{it:s}=t,{gen:i,compositeRule:a,allErrors:o}=s,c=PSe(t,e,r);n??(a||o)?NSe(i,c):OSe(s,(0,Ir._)`[${c}]`)}Bi.reportError=KMt;function YMt(t,e=Bi.keywordError,r){let{it:n}=t,{gen:s,compositeRule:i,allErrors:a}=n,o=PSe(t,e,r);NSe(s,o),i||a||OSe(n,oa.default.vErrors)}Bi.reportExtraError=YMt;function JMt(t,e){t.assign(oa.default.errors,e),t.if((0,Ir._)`${oa.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Ir._)`${oa.default.vErrors}.length`,e),()=>t.assign(oa.default.vErrors,null)))}Bi.resetErrorsCount=JMt;function XMt({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:i}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,oa.default.errors,o=>{t.const(a,(0,Ir._)`${oa.default.vErrors}[${o}]`),t.if((0,Ir._)`${a}.instancePath === undefined`,()=>t.assign((0,Ir._)`${a}.instancePath`,(0,Ir.strConcat)(oa.default.instancePath,i.errorPath))),t.assign((0,Ir._)`${a}.schemaPath`,(0,Ir.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,Ir._)`${a}.schema`,r),t.assign((0,Ir._)`${a}.data`,n))})}Bi.extendErrors=XMt;function NSe(t,e){let r=t.const("err",e);t.if((0,Ir._)`${oa.default.vErrors} === null`,()=>t.assign(oa.default.vErrors,(0,Ir._)`[${r}]`),(0,Ir._)`${oa.default.vErrors}.push(${r})`),t.code((0,Ir._)`${oa.default.errors}++`)}function OSe(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0,Ir._)`new ${t.ValidationError}(${e})`):(r.assign((0,Ir._)`${n}.errors`,e),r.return(!1))}var th={keyword:new Ir.Name("keyword"),schemaPath:new Ir.Name("schemaPath"),params:new Ir.Name("params"),propertyName:new Ir.Name("propertyName"),message:new Ir.Name("message"),schema:new Ir.Name("schema"),parentSchema:new Ir.Name("parentSchema")};function PSe(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Ir._)`{}`:ZMt(t,e,r)}function ZMt(t,e,r={}){let{gen:n,it:s}=t,i=[e6t(s,r),t6t(t,r)];return r6t(t,e,i),n.object(...i)}function e6t({errorPath:t},{instancePath:e}){let r=e?(0,Ir.str)`${t}${(0,JO.getErrorPath)(e,JO.Type.Str)}`:t;return[oa.default.instancePath,(0,Ir.strConcat)(oa.default.instancePath,r)]}function t6t({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0,Ir.str)`${e}/${t}`;return r&&(s=(0,Ir.str)`${s}${(0,JO.getErrorPath)(r,JO.Type.Str)}`),[th.schemaPath,s]}function r6t(t,{params:e,message:r},n){let{keyword:s,data:i,schemaValue:a,it:o}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=o;n.push([th.keyword,s],[th.params,typeof e=="function"?e(t):e||(0,Ir._)`{}`]),c.messages&&n.push([th.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([th.schema,a],[th.parentSchema,(0,Ir._)`${l}${d}`],[oa.default.data,i]),u&&n.push([th.propertyName,u])}});var kSe=E(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});By.boolOrEmptySchema=By.topBoolOrEmptySchema=void 0;var n6t=G_(),s6t=Yt(),i6t=Od(),a6t={message:"boolean schema is false"};function o6t(t){let{gen:e,schema:r,validateName:n}=t;r===!1?DSe(t,!1):typeof r=="object"&&r.$async===!0?e.return(i6t.default.data):(e.assign((0,s6t._)`${n}.errors`,null),e.return(!0))}By.topBoolOrEmptySchema=o6t;function c6t(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),DSe(t)):r.var(e,!0)}By.boolOrEmptySchema=c6t;function DSe(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,n6t.reportError)(s,a6t,void 0,e)}});var X7=E(My=>{"use strict";Object.defineProperty(My,"__esModule",{value:!0});My.getRules=My.isJSONType=void 0;var u6t=["string","number","integer","boolean","null","object","array"],l6t=new Set(u6t);function d6t(t){return typeof t=="string"&&l6t.has(t)}My.isJSONType=d6t;function f6t(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}My.getRules=f6t});var Z7=E(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.shouldUseRule=Mp.shouldUseGroup=Mp.schemaHasRulesForType=void 0;function p6t({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&LSe(t,n)}Mp.schemaHasRulesForType=p6t;function LSe(t,e){return e.rules.some(r=>BSe(t,r))}Mp.shouldUseGroup=LSe;function BSe(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Mp.shouldUseRule=BSe});var V_=E(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.reportTypeError=Mi.checkDataTypes=Mi.checkDataType=Mi.coerceAndCheckDataType=Mi.getJSONTypes=Mi.getSchemaTypes=Mi.DataType=void 0;var m6t=X7(),h6t=Z7(),g6t=G_(),Qt=Yt(),MSe=Wr(),Wy;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Wy||(Mi.DataType=Wy={}));function A6t(t){let e=WSe(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Mi.getSchemaTypes=A6t;function WSe(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(m6t.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Mi.getJSONTypes=WSe;function y6t(t,e){let{gen:r,data:n,opts:s}=t,i=x6t(e,s.coerceTypes),a=e.length>0&&!(i.length===0&&e.length===1&&(0,h6t.schemaHasRulesForType)(t,e[0]));if(a){let o=t9(e,n,s.strictNumbers,Wy.Wrong);r.if(o,()=>{i.length?b6t(t,e,i):r9(t)})}return a}Mi.coerceAndCheckDataType=y6t;var $Se=new Set(["string","number","integer","boolean","null"]);function x6t(t,e){return e?t.filter(r=>$Se.has(r)||e==="array"&&r==="array"):[]}function b6t(t,e,r){let{gen:n,data:s,opts:i}=t,a=n.let("dataType",(0,Qt._)`typeof ${s}`),o=n.let("coerced",(0,Qt._)`undefined`);i.coerceTypes==="array"&&n.if((0,Qt._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0,Qt._)`${s}[0]`).assign(a,(0,Qt._)`typeof ${s}`).if(t9(e,s,i.strictNumbers),()=>n.assign(o,s))),n.if((0,Qt._)`${o} !== undefined`);for(let u of r)($Se.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),r9(t),n.endIf(),n.if((0,Qt._)`${o} !== undefined`,()=>{n.assign(s,o),E6t(t,o)});function c(u){switch(u){case"string":n.elseIf((0,Qt._)`${a} == "number" || ${a} == "boolean"`).assign(o,(0,Qt._)`"" + ${s}`).elseIf((0,Qt._)`${s} === null`).assign(o,(0,Qt._)`""`);return;case"number":n.elseIf((0,Qt._)`${a} == "boolean" || ${s} === null
|
|
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(o,(0,Qt._)`+${s}`);return;case"integer":n.elseIf((0,Qt._)`${a} === "boolean" || ${s} === null
|
|
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(o,(0,Qt._)`+${s}`);return;case"boolean":n.elseIf((0,Qt._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(o,!1).elseIf((0,Qt._)`${s} === "true" || ${s} === 1`).assign(o,!0);return;case"null":n.elseIf((0,Qt._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(o,null);return;case"array":n.elseIf((0,Qt._)`${a} === "string" || ${a} === "number"
|
|
|| ${a} === "boolean" || ${s} === null`).assign(o,(0,Qt._)`[${s}]`)}}}function E6t({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,Qt._)`${e} !== undefined`,()=>t.assign((0,Qt._)`${e}[${r}]`,n))}function e9(t,e,r,n=Wy.Correct){let s=n===Wy.Correct?Qt.operators.EQ:Qt.operators.NEQ,i;switch(t){case"null":return(0,Qt._)`${e} ${s} null`;case"array":i=(0,Qt._)`Array.isArray(${e})`;break;case"object":i=(0,Qt._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=a((0,Qt._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=a();break;default:return(0,Qt._)`typeof ${e} ${s} ${t}`}return n===Wy.Correct?i:(0,Qt.not)(i);function a(o=Qt.nil){return(0,Qt.and)((0,Qt._)`typeof ${e} == "number"`,o,r?(0,Qt._)`isFinite(${e})`:Qt.nil)}}Mi.checkDataType=e9;function t9(t,e,r,n){if(t.length===1)return e9(t[0],e,r,n);let s,i=(0,MSe.toHash)(t);if(i.array&&i.object){let a=(0,Qt._)`typeof ${e} != "object"`;s=i.null?a:(0,Qt._)`!${e} || ${a}`,delete i.null,delete i.array,delete i.object}else s=Qt.nil;i.number&&delete i.integer;for(let a in i)s=(0,Qt.and)(s,e9(a,e,r,n));return s}Mi.checkDataTypes=t9;var _6t={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,Qt._)`{type: ${t}}`:(0,Qt._)`{type: ${e}}`};function r9(t){let e=S6t(t);(0,g6t.reportError)(e,_6t)}Mi.reportTypeError=r9;function S6t(t){let{gen:e,data:r,schema:n}=t,s=(0,MSe.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var USe=E(XO=>{"use strict";Object.defineProperty(XO,"__esModule",{value:!0});XO.assignDefaults=void 0;var $y=Yt(),v6t=Wr();function C6t(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)FSe(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,i)=>FSe(t,i,s.default))}XO.assignDefaults=C6t;function FSe(t,e,r){let{gen:n,compositeRule:s,data:i,opts:a}=t;if(r===void 0)return;let o=(0,$y._)`${i}${(0,$y.getProperty)(e)}`;if(s){(0,v6t.checkStrictMode)(t,`default is ignored for: ${o}`);return}let c=(0,$y._)`${o} === undefined`;a.useDefaults==="empty"&&(c=(0,$y._)`${c} || ${o} === null || ${o} === ""`),n.if(c,(0,$y._)`${o} = ${(0,$y.stringify)(r)}`)}});var nc=E(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.validateUnion=tn.validateArray=tn.usePattern=tn.callValidateCode=tn.schemaProperties=tn.allSchemaProperties=tn.noPropertyInData=tn.propertyInData=tn.isOwnProperty=tn.hasPropFunc=tn.reportMissingProp=tn.checkMissingProp=tn.checkReportMissingProp=void 0;var Ln=Yt(),n9=Wr(),Wp=Od(),I6t=Wr();function T6t(t,e){let{gen:r,data:n,it:s}=t;r.if(i9(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Ln._)`${e}`},!0),t.error()})}tn.checkReportMissingProp=T6t;function w6t({gen:t,data:e,it:{opts:r}},n,s){return(0,Ln.or)(...n.map(i=>(0,Ln.and)(i9(t,e,i,r.ownProperties),(0,Ln._)`${s} = ${i}`)))}tn.checkMissingProp=w6t;function R6t(t,e){t.setParams({missingProperty:e},!0),t.error()}tn.reportMissingProp=R6t;function qSe(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Ln._)`Object.prototype.hasOwnProperty`})}tn.hasPropFunc=qSe;function s9(t,e,r){return(0,Ln._)`${qSe(t)}.call(${e}, ${r})`}tn.isOwnProperty=s9;function N6t(t,e,r,n){let s=(0,Ln._)`${e}${(0,Ln.getProperty)(r)} !== undefined`;return n?(0,Ln._)`${s} && ${s9(t,e,r)}`:s}tn.propertyInData=N6t;function i9(t,e,r,n){let s=(0,Ln._)`${e}${(0,Ln.getProperty)(r)} === undefined`;return n?(0,Ln.or)(s,(0,Ln.not)(s9(t,e,r))):s}tn.noPropertyInData=i9;function jSe(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}tn.allSchemaProperties=jSe;function O6t(t,e){return jSe(e).filter(r=>!(0,n9.alwaysValidSchema)(t,e[r]))}tn.schemaProperties=O6t;function P6t({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:i},it:a},o,c,u){let l=u?(0,Ln._)`${t}, ${e}, ${n}${s}`:e,d=[[Wp.default.instancePath,(0,Ln.strConcat)(Wp.default.instancePath,i)],[Wp.default.parentData,a.parentData],[Wp.default.parentDataProperty,a.parentDataProperty],[Wp.default.rootData,Wp.default.rootData]];a.opts.dynamicRef&&d.push([Wp.default.dynamicAnchors,Wp.default.dynamicAnchors]);let f=(0,Ln._)`${l}, ${r.object(...d)}`;return c!==Ln.nil?(0,Ln._)`${o}.call(${c}, ${f})`:(0,Ln._)`${o}(${f})`}tn.callValidateCode=P6t;var D6t=(0,Ln._)`new RegExp`;function k6t({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Ln._)`${s.code==="new RegExp"?D6t:(0,I6t.useFunc)(t,s)}(${r}, ${n})`})}tn.usePattern=k6t;function L6t(t){let{gen:e,data:r,keyword:n,it:s}=t,i=e.name("valid");if(s.allErrors){let o=e.let("valid",!0);return a(()=>e.assign(o,!1)),o}return e.var(i,!0),a(()=>e.break()),i;function a(o){let c=e.const("len",(0,Ln._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:n9.Type.Num},i),e.if((0,Ln.not)(i),o)})}}tn.validateArray=L6t;function B6t(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,n9.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",!1),o=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},o);e.assign(a,(0,Ln._)`${a} || ${o}`),t.mergeValidEvaluated(l,o)||e.if((0,Ln.not)(a))})),t.result(a,()=>t.reset(),()=>t.error(!0))}tn.validateUnion=B6t});var GSe=E(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.validateKeywordUsage=tl.validSchemaType=tl.funcKeywordCode=tl.macroKeywordCode=void 0;var ca=Yt(),rh=Od(),M6t=nc(),W6t=G_();function $6t(t,e){let{gen:r,keyword:n,schema:s,parentSchema:i,it:a}=t,o=e.macro.call(a.self,s,i,a),c=QSe(r,n,o);a.opts.validateSchema!==!1&&a.self.validateSchema(o,!0);let u=r.name("valid");t.subschema({schema:o,schemaPath:ca.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}tl.macroKeywordCode=$6t;function F6t(t,e){var r;let{gen:n,keyword:s,schema:i,parentSchema:a,$data:o,it:c}=t;q6t(c,e);let u=!o&&e.compile?e.compile.call(c.self,i,a,c):e.validate,l=QSe(n,s,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&HSe(t),A(()=>t.error());else{let g=e.async?p():m();e.modifying&&HSe(t),A(()=>U6t(t,g))}}function p(){let g=n.let("ruleErrs",null);return n.try(()=>h((0,ca._)`await `),b=>n.assign(d,!1).if((0,ca._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(g,(0,ca._)`${b}.errors`),()=>n.throw(b))),g}function m(){let g=(0,ca._)`${l}.errors`;return n.assign(g,null),h(ca.nil),g}function h(g=e.async?(0,ca._)`await `:ca.nil){let b=c.opts.passContext?rh.default.this:rh.default.self,y=!("compile"in e&&!o||e.schema===!1);n.assign(d,(0,ca._)`${g}${(0,M6t.callValidateCode)(t,l,b,y)}`,e.modifying)}function A(g){var b;n.if((0,ca.not)((b=e.valid)!==null&&b!==void 0?b:d),g)}}tl.funcKeywordCode=F6t;function HSe(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ca._)`${n.parentData}[${n.parentDataProperty}]`))}function U6t(t,e){let{gen:r}=t;r.if((0,ca._)`Array.isArray(${e})`,()=>{r.assign(rh.default.vErrors,(0,ca._)`${rh.default.vErrors} === null ? ${e} : ${rh.default.vErrors}.concat(${e})`).assign(rh.default.errors,(0,ca._)`${rh.default.vErrors}.length`),(0,W6t.extendErrors)(t)},()=>t.error())}function q6t({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function QSe(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ca.stringify)(r)})}function j6t(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}tl.validSchemaType=j6t;function H6t({schema:t,opts:e,self:r,errSchemaPath:n},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(o=>!Object.prototype.hasOwnProperty.call(t,o)))throw new Error(`parent schema must have dependencies of ${i}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}tl.validateKeywordUsage=H6t});var zSe=E($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.extendSubschemaMode=$p.extendSubschemaData=$p.getSubschema=void 0;var rl=Yt(),VSe=Wr();function Q6t(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:i,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let o=t.schema[e];return r===void 0?{schema:o,schemaPath:(0,rl._)`${t.schemaPath}${(0,rl.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:o[r],schemaPath:(0,rl._)`${t.schemaPath}${(0,rl.getProperty)(e)}${(0,rl.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,VSe.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||i===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}$p.getSubschema=Q6t;function G6t(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:i,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:o}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=o.let("data",(0,rl._)`${e.data}${(0,rl.getProperty)(r)}`,!0);c(f),t.errorPath=(0,rl.str)`${u}${(0,VSe.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,rl._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof rl.Name?s:o.let("data",s,!0);c(u),a!==void 0&&(t.propertyName=a)}i&&(t.dataTypes=i);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}$p.extendSubschemaData=G6t;function V6t(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:i}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}$p.extendSubschemaMode=V6t});var YSe=E((tBr,KSe)=>{"use strict";var Fp=KSe.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};ZO(e,n,s,t,"",t)};Fp.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Fp.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Fp.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Fp.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function ZO(t,e,r,n,s,i,a,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,i,a,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Fp.arrayKeywords)for(var f=0;f<d.length;f++)ZO(t,e,r,d[f],s+"/"+l+"/"+f,i,s,l,n,f)}else if(l in Fp.propsKeywords){if(d&&typeof d=="object")for(var p in d)ZO(t,e,r,d[p],s+"/"+l+"/"+z6t(p),i,s,l,n,p)}else(l in Fp.keywords||t.allKeys&&!(l in Fp.skipKeywords))&&ZO(t,e,r,d,s+"/"+l,i,s,l,n)}r(n,s,i,a,o,c,u)}}function z6t(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var z_=E(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.getSchemaRefs=qa.resolveUrl=qa.normalizeId=qa._getFullPath=qa.getFullPath=qa.inlineRef=void 0;var K6t=Wr(),Y6t=Go(),J6t=YSe(),X6t=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Z6t(t,e=!0){return typeof t=="boolean"?!0:e===!0?!a9(t):e?JSe(t)<=e:!1}qa.inlineRef=Z6t;var e5t=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function a9(t){for(let e in t){if(e5t.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(a9)||typeof r=="object"&&a9(r))return!0}return!1}function JSe(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!X6t.has(r)&&(typeof t[r]=="object"&&(0,K6t.eachItem)(t[r],n=>e+=JSe(n)),e===1/0))return 1/0}return e}function XSe(t,e="",r){r!==!1&&(e=Fy(e));let n=t.parse(e);return ZSe(t,n)}qa.getFullPath=XSe;function ZSe(t,e){return t.serialize(e).split("#")[0]+"#"}qa._getFullPath=ZSe;var t5t=/#\/?$/;function Fy(t){return t?t.replace(t5t,""):""}qa.normalizeId=Fy;function r5t(t,e,r){return r=Fy(r),t.resolve(e,r)}qa.resolveUrl=r5t;var n5t=/^[a-z_][-a-z0-9._]*$/i;function s5t(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,s=Fy(t[r]||e),i={"":s},a=XSe(n,s,!1),o={},c=new Set;return J6t(t,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=a+f,A=i[m];typeof d[r]=="string"&&(A=g.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[f]=A;function g(y){let x=this.opts.uriResolver.resolve;if(y=Fy(A?x(A,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==Fy(h)&&(y[0]==="#"?(u(d,o[y],y),o[y]=d):this.refs[y]=h),y}function b(y){if(typeof y=="string"){if(!n5t.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`)}}}),o;function u(d,f,p){if(f!==void 0&&!Y6t(d,f))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}qa.getSchemaRefs=s5t});var J_=E(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});Up.getData=Up.KeywordCxt=Up.validateFunctionCode=void 0;var sve=kSe(),eve=V_(),c9=Z7(),eP=V_(),i5t=USe(),Y_=GSe(),o9=zSe(),ot=Yt(),Ot=Od(),a5t=z_(),Pd=Wr(),K_=G_();function o5t(t){if(ove(t)&&(cve(t),ave(t))){l5t(t);return}ive(t,()=>(0,sve.topBoolOrEmptySchema)(t))}Up.validateFunctionCode=o5t;function ive({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},i){s.code.es5?t.func(e,(0,ot._)`${Ot.default.data}, ${Ot.default.valCxt}`,n.$async,()=>{t.code((0,ot._)`"use strict"; ${tve(r,s)}`),u5t(t,s),t.code(i)}):t.func(e,(0,ot._)`${Ot.default.data}, ${c5t(s)}`,n.$async,()=>t.code(tve(r,s)).code(i))}function c5t(t){return(0,ot._)`{${Ot.default.instancePath}="", ${Ot.default.parentData}, ${Ot.default.parentDataProperty}, ${Ot.default.rootData}=${Ot.default.data}${t.dynamicRef?(0,ot._)`, ${Ot.default.dynamicAnchors}={}`:ot.nil}}={}`}function u5t(t,e){t.if(Ot.default.valCxt,()=>{t.var(Ot.default.instancePath,(0,ot._)`${Ot.default.valCxt}.${Ot.default.instancePath}`),t.var(Ot.default.parentData,(0,ot._)`${Ot.default.valCxt}.${Ot.default.parentData}`),t.var(Ot.default.parentDataProperty,(0,ot._)`${Ot.default.valCxt}.${Ot.default.parentDataProperty}`),t.var(Ot.default.rootData,(0,ot._)`${Ot.default.valCxt}.${Ot.default.rootData}`),e.dynamicRef&&t.var(Ot.default.dynamicAnchors,(0,ot._)`${Ot.default.valCxt}.${Ot.default.dynamicAnchors}`)},()=>{t.var(Ot.default.instancePath,(0,ot._)`""`),t.var(Ot.default.parentData,(0,ot._)`undefined`),t.var(Ot.default.parentDataProperty,(0,ot._)`undefined`),t.var(Ot.default.rootData,Ot.default.data),e.dynamicRef&&t.var(Ot.default.dynamicAnchors,(0,ot._)`{}`)})}function l5t(t){let{schema:e,opts:r,gen:n}=t;ive(t,()=>{r.$comment&&e.$comment&&lve(t),h5t(t),n.let(Ot.default.vErrors,null),n.let(Ot.default.errors,0),r.unevaluated&&d5t(t),uve(t),y5t(t)})}function d5t(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,ot._)`${r}.evaluated`),e.if((0,ot._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,ot._)`${t.evaluated}.props`,(0,ot._)`undefined`)),e.if((0,ot._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,ot._)`${t.evaluated}.items`,(0,ot._)`undefined`))}function tve(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,ot._)`/*# sourceURL=${r} */`:ot.nil}function f5t(t,e){if(ove(t)&&(cve(t),ave(t))){p5t(t,e);return}(0,sve.boolOrEmptySchema)(t,e)}function ave({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function ove(t){return typeof t.schema!="boolean"}function p5t(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&lve(t),g5t(t),A5t(t);let i=n.const("_errs",Ot.default.errors);uve(t,i),n.var(e,(0,ot._)`${i} === ${Ot.default.errors}`)}function cve(t){(0,Pd.checkUnknownRules)(t),m5t(t)}function uve(t,e){if(t.opts.jtd)return rve(t,[],!1,e);let r=(0,eve.getSchemaTypes)(t.schema),n=(0,eve.coerceAndCheckDataType)(t,r);rve(t,r,!n,e)}function m5t(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Pd.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function h5t(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Pd.checkStrictMode)(t,"default is ignored in the schema root")}function g5t(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,a5t.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function A5t(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function lve({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let i=r.$comment;if(s.$comment===!0)t.code((0,ot._)`${Ot.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let a=(0,ot.str)`${n}/$comment`,o=t.scopeValue("root",{ref:e.root});t.code((0,ot._)`${Ot.default.self}.opts.$comment(${i}, ${a}, ${o}.schema)`)}}function y5t(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:i}=t;r.$async?e.if((0,ot._)`${Ot.default.errors} === 0`,()=>e.return(Ot.default.data),()=>e.throw((0,ot._)`new ${s}(${Ot.default.vErrors})`)):(e.assign((0,ot._)`${n}.errors`,Ot.default.vErrors),i.unevaluated&&x5t(t),e.return((0,ot._)`${Ot.default.errors} === 0`))}function x5t({gen:t,evaluated:e,props:r,items:n}){r instanceof ot.Name&&t.assign((0,ot._)`${e}.props`,r),n instanceof ot.Name&&t.assign((0,ot._)`${e}.items`,n)}function rve(t,e,r,n){let{gen:s,schema:i,data:a,allErrors:o,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,Pd.schemaHasRulesButRef)(i,l))){s.block(()=>fve(t,"$ref",l.all.$ref.definition));return}c.jtd||b5t(t,e),s.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,c9.shouldUseGroup)(i,f)&&(f.type?(s.if((0,eP.checkDataType)(f.type,a,c.strictNumbers)),nve(t,f),e.length===1&&e[0]===f.type&&r&&(s.else(),(0,eP.reportTypeError)(t)),s.endIf()):nve(t,f),o||s.if((0,ot._)`${Ot.default.errors} === ${n||0}`))}}function nve(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0,i5t.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,c9.shouldUseRule)(n,i)&&fve(t,i.keyword,i.definition,e.type)})}function b5t(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(E5t(t,e),t.opts.allowUnionTypes||_5t(t,e),S5t(t,t.dataTypes))}function E5t(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{dve(t.dataTypes,r)||u9(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),C5t(t,e)}}function _5t(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&u9(t,"use allowUnionTypes to allow union type keyword")}function S5t(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0,c9.shouldUseRule)(t.schema,s)){let{type:i}=s.definition;i.length&&!i.some(a=>v5t(e,a))&&u9(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function v5t(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function dve(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function C5t(t,e){let r=[];for(let n of t.dataTypes)dve(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function u9(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Pd.checkStrictMode)(t,e,t.opts.strictTypes)}var tP=class{constructor(e,r,n){if((0,Y_.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Pd.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",pve(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Y_.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Ot.default.errors))}result(e,r,n){this.failResult((0,ot.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,ot.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,ot._)`${r} !== undefined && (${(0,ot.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?K_.reportExtraError:K_.reportError)(this,this.def.error,r)}$dataError(){(0,K_.reportError)(this,this.def.$dataError||K_.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,K_.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=ot.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=ot.nil,r=ot.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:i,def:a}=this;n.if((0,ot.or)((0,ot._)`${s} === undefined`,r)),e!==ot.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==ot.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:i}=this;return(0,ot.or)(a(),o());function a(){if(n.length){if(!(r instanceof ot.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,ot._)`${(0,eP.checkDataTypes)(c,r,i.opts.strictNumbers,eP.DataType.Wrong)}`}return ot.nil}function o(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,ot._)`!${c}(${r})`}return ot.nil}}subschema(e,r){let n=(0,o9.getSubschema)(this.it,e);(0,o9.extendSubschemaData)(n,this.it,e),(0,o9.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return f5t(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Pd.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Pd.mergeEvaluated.items(s,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,ot.Name)),!0}};Up.KeywordCxt=tP;function fve(t,e,r,n){let s=new tP(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0,Y_.funcKeywordCode)(s,r):"macro"in r?(0,Y_.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,Y_.funcKeywordCode)(s,r)}var I5t=/^\/(?:[^~]|~0|~1)*$/,T5t=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function pve(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,i;if(t==="")return Ot.default.rootData;if(t[0]==="/"){if(!I5t.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,i=Ot.default.rootData}else{let u=T5t.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(i=r[e-l],!s)return i}let a=i,o=s.split("/");for(let u of o)u&&(i=(0,ot._)`${i}${(0,ot.getProperty)((0,Pd.unescapeJsonPointer)(u))}`,a=(0,ot._)`${a} && ${i}`);return a;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Up.getData=pve});var rP=E(d9=>{"use strict";Object.defineProperty(d9,"__esModule",{value:!0});var l9=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};d9.default=l9});var X_=E(m9=>{"use strict";Object.defineProperty(m9,"__esModule",{value:!0});var f9=z_(),p9=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,f9.resolveUrl)(e,r,n),this.missingSchema=(0,f9.normalizeId)((0,f9.getFullPath)(e,this.missingRef))}};m9.default=p9});var sP=E(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.resolveSchema=sc.getCompilingSchema=sc.resolveRef=sc.compileSchema=sc.SchemaEnv=void 0;var Yc=Yt(),w5t=rP(),nh=Od(),Jc=z_(),mve=Wr(),R5t=J_(),Uy=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Jc.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};sc.SchemaEnv=Uy;function g9(t){let e=hve.call(this,t);if(e)return e;let r=(0,Jc.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:i}=this.opts,a=new Yc.CodeGen(this.scope,{es5:n,lines:s,ownProperties:i}),o;t.$async&&(o=a.scopeValue("Error",{ref:w5t.default,code:(0,Yc._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:nh.default.data,parentData:nh.default.parentData,parentDataProperty:nh.default.parentDataProperty,dataNames:[nh.default.data],dataPathArr:[Yc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Yc.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:o,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Yc.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Yc._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,R5t.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(nh.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${nh.default.self}`,`${nh.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:h}=u;p.evaluated={props:m instanceof Yc.Name?void 0:m,items:h instanceof Yc.Name?void 0:h,dynamicProps:m instanceof Yc.Name,dynamicItems:h instanceof Yc.Name},p.source&&(p.source.evaluated=(0,Yc.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}sc.compileSchema=g9;function N5t(t,e,r){var n;r=(0,Jc.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let i=D5t.call(this,t,r);if(i===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:o}=this.opts;a&&(i=new Uy({schema:a,schemaId:o,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=O5t.call(this,i)}sc.resolveRef=N5t;function O5t(t){return(0,Jc.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:g9.call(this,t)}function hve(t){for(let e of this._compilations)if(P5t(e,t))return e}sc.getCompilingSchema=hve;function P5t(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function D5t(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||nP.call(this,t,e)}function nP(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Jc._getFullPath)(this.opts.uriResolver,r),s=(0,Jc.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return h9.call(this,r,t);let i=(0,Jc.normalizeId)(n),a=this.refs[i]||this.schemas[i];if(typeof a=="string"){let o=nP.call(this,t,a);return typeof o?.schema!="object"?void 0:h9.call(this,r,o)}if(typeof a?.schema=="object"){if(a.validate||g9.call(this,a),i===(0,Jc.normalizeId)(e)){let{schema:o}=a,{schemaId:c}=this.opts,u=o[c];return u&&(s=(0,Jc.resolveUrl)(this.opts.uriResolver,s,u)),new Uy({schema:o,schemaId:c,root:t,baseId:s})}return h9.call(this,r,a)}}sc.resolveSchema=nP;var k5t=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function h9(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let o of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,mve.unescapeFragment)(o)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!k5t.has(o)&&u&&(e=(0,Jc.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,mve.schemaHasRulesButRef)(r,this.RULES)){let o=(0,Jc.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=nP.call(this,n,o)}let{schemaId:a}=this.opts;if(i=i||new Uy({schema:r,schemaId:a,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var gve=E((oBr,L5t)=>{L5t.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var y9=E((cBr,bve)=>{"use strict";var B5t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),yve=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function A9(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var M5t=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ave(t){return t.length=0,!0}function W5t(t,e,r){if(t.length){let n=A9(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function $5t(t){let e=0,r={error:!1,address:"",zone:""},n=[],s=[],i=!1,a=!1,o=W5t;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(a=!0),!o(s,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!o(s,n,r))break;o=Ave}else{s.push(u);continue}}return s.length&&(o===Ave?r.zone=s.join(""):a?n.push(s.join("")):n.push(A9(s))),r.address=n.join(""),r}function xve(t){if(F5t(t,":")<2)return{host:t,isIPV6:!1};let e=$5t(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function F5t(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function U5t(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function q5t(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function j5t(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!yve(r)){let n=xve(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}bve.exports={nonSimpleDomain:M5t,recomposeAuthority:j5t,normalizeComponentEncoding:q5t,removeDotSegments:U5t,isIPv4:yve,isUUID:B5t,normalizeIPv6:xve,stringArrayToHexStripped:A9}});var Cve=E((uBr,vve)=>{"use strict";var{isUUID:H5t}=y9(),Q5t=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,G5t=["http","https","ws","wss","urn","urn:uuid"];function V5t(t){return G5t.indexOf(t)!==-1}function x9(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Eve(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function _ve(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function z5t(t){return t.secure=x9(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function K5t(t){if((t.port===(x9(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function Y5t(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Q5t);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,i=b9(s);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function J5t(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,i=b9(s);i&&(t=i.serialize(t,e));let a=t,o=t.nss;return a.path=`${n||e.nid}:${o}`,e.skipEscape=!0,a}function X5t(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!H5t(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Z5t(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Sve={scheme:"http",domainHost:!0,parse:Eve,serialize:_ve},e8t={scheme:"https",domainHost:Sve.domainHost,parse:Eve,serialize:_ve},iP={scheme:"ws",domainHost:!0,parse:z5t,serialize:K5t},t8t={scheme:"wss",domainHost:iP.domainHost,parse:iP.parse,serialize:iP.serialize},r8t={scheme:"urn",parse:Y5t,serialize:J5t,skipNormalize:!0},n8t={scheme:"urn:uuid",parse:X5t,serialize:Z5t,skipNormalize:!0},aP={http:Sve,https:e8t,ws:iP,wss:t8t,urn:r8t,"urn:uuid":n8t};Object.setPrototypeOf(aP,null);function b9(t){return t&&(aP[t]||aP[t.toLowerCase()])||void 0}vve.exports={wsIsSecure:x9,SCHEMES:aP,isValidSchemeName:V5t,getSchemeHandler:b9}});var wve=E((lBr,cP)=>{"use strict";var{normalizeIPv6:s8t,removeDotSegments:Z_,recomposeAuthority:i8t,normalizeComponentEncoding:oP,isIPv4:a8t,nonSimpleDomain:o8t}=y9(),{SCHEMES:c8t,getSchemeHandler:Ive}=Cve();function u8t(t,e){return typeof t=="string"?t=nl(Dd(t,e),e):typeof t=="object"&&(t=Dd(nl(t,e),e)),t}function l8t(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Tve(Dd(t,n),Dd(e,n),n,!0);return n.skipEscape=!0,nl(s,n)}function Tve(t,e,r,n){let s={};return n||(t=Dd(nl(t,r),r),e=Dd(nl(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=Z_(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=Z_(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=Z_(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=Z_(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function d8t(t,e,r){return typeof t=="string"?(t=unescape(t),t=nl(oP(Dd(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=nl(oP(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=nl(oP(Dd(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=nl(oP(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function nl(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],i=Ive(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=i8t(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let o=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(o=Z_(o)),a===void 0&&o[0]==="/"&&o[1]==="/"&&(o="/%2F"+o.slice(2)),s.push(o)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var f8t=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Dd(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(f8t);if(i){if(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]),n.host)if(a8t(n.host)===!1){let c=s8t(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6}else s=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=Ive(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&o8t(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(o){n.error=n.error||"Host's domain name can not be converted to ASCII: "+o}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var E9={SCHEMES:c8t,normalize:u8t,resolve:l8t,resolveComponent:Tve,equal:d8t,serialize:nl,parse:Dd};cP.exports=E9;cP.exports.default=E9;cP.exports.fastUri=E9});var Nve=E(_9=>{"use strict";Object.defineProperty(_9,"__esModule",{value:!0});var Rve=wve();Rve.code='require("ajv/dist/runtime/uri").default';_9.default=Rve});var Wve=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.CodeGen=mi.Name=mi.nil=mi.stringify=mi.str=mi._=mi.KeywordCxt=void 0;var p8t=J_();Object.defineProperty(mi,"KeywordCxt",{enumerable:!0,get:function(){return p8t.KeywordCxt}});var qy=Yt();Object.defineProperty(mi,"_",{enumerable:!0,get:function(){return qy._}});Object.defineProperty(mi,"str",{enumerable:!0,get:function(){return qy.str}});Object.defineProperty(mi,"stringify",{enumerable:!0,get:function(){return qy.stringify}});Object.defineProperty(mi,"nil",{enumerable:!0,get:function(){return qy.nil}});Object.defineProperty(mi,"Name",{enumerable:!0,get:function(){return qy.Name}});Object.defineProperty(mi,"CodeGen",{enumerable:!0,get:function(){return qy.CodeGen}});var m8t=rP(),Lve=X_(),h8t=X7(),eS=sP(),g8t=Yt(),tS=z_(),uP=V_(),v9=Wr(),Ove=gve(),A8t=Nve(),Bve=(t,e)=>new RegExp(t,e);Bve.code="new RegExp";var y8t=["removeAdditional","useDefaults","coerceTypes"],x8t=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),b8t={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},E8t={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Pve=200;function _8t(t){var e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b,y,x,v,C,R,w,N;let P=t.strict,L=(e=t.code)===null||e===void 0?void 0:e.optimize,M=L===!0||L===void 0?1:L||0,k=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Bve,B=(s=t.uriResolver)!==null&&s!==void 0?s:A8t.default;return{strictSchema:(a=(i=t.strictSchema)!==null&&i!==void 0?i:P)!==null&&a!==void 0?a:!0,strictNumbers:(c=(o=t.strictNumbers)!==null&&o!==void 0?o:P)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:P)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:P)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=t.strictRequired)!==null&&p!==void 0?p:P)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:M,regExp:k}:{optimize:M,regExp:k},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:Pve,loopEnum:(A=t.loopEnum)!==null&&A!==void 0?A:Pve,meta:(g=t.meta)!==null&&g!==void 0?g:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:!0,schemaId:(x=t.schemaId)!==null&&x!==void 0?x:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(C=t.validateSchema)!==null&&C!==void 0?C:!0,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:!0,unicodeRegExp:(w=t.unicodeRegExp)!==null&&w!==void 0?w:!0,int32range:(N=t.int32range)!==null&&N!==void 0?N:!0,uriResolver:B}}var rS=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,..._8t(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new g8t.ValueScope({scope:{},prefixes:x8t,es5:r,lines:n}),this.logger=w8t(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,h8t.getRules)(),Dve.call(this,b8t,e,"NOT SUPPORTED"),Dve.call(this,E8t,e,"DEPRECATED","warn"),this._metaOpts=I8t.call(this),e.formats&&v8t.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&C8t.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),S8t.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=Ove;n==="id"&&(s={...Ove},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return"$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||a.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Lve.default))throw d;return o.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function o({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await i.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let i;if(typeof e=="object"){let{schemaId:a}=this.opts;if(i=e[a],i!==void 0&&typeof i!="string")throw new Error(`schema ${a} must be string`)}return r=(0,tS.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(n,e);if(!s&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let r;for(;typeof(r=kve.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new eS.SchemaEnv({schema:{},schemaId:n});if(r=eS.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=kve.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,tS.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(N8t.call(this,n,r),!r)return(0,v9.eachItem)(n,i=>S9.call(this,i)),this;P8t.call(this,r);let s={...r,type:(0,uP.getJSONTypes)(r.type),schemaType:(0,uP.getJSONTypes)(r.schemaType)};return(0,v9.eachItem)(n,s.type.length===0?i=>S9.call(this,i,s):i=>s.type.forEach(a=>S9.call(this,i,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(i=>i.keyword===e);s>=0&&n.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,i)=>s+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let i=s.split("/").slice(1),a=e;for(let o of i)a=a[o];for(let o in n){let c=n[o];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[o];u&&l&&(a[o]=Mve(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]))}}_addSchema(e,r,n,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:o}=this.opts;if(typeof e=="object")a=e[o];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,tS.normalizeId)(a||n);let u=tS.getSchemaRefs.call(this,e,n);return c=new eS.SchemaEnv({schema:e,schemaId:o,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):eS.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{eS.compileSchema.call(this,e)}finally{this.opts=r}}};rS.ValidationError=m8t.default;rS.MissingRefError=Lve.default;mi.default=rS;function Dve(t,e,r,n="error"){for(let s in t){let i=s;i in e&&this.logger[n](`${r}: option ${s}. ${t[i]}`)}}function kve(t){return t=(0,tS.normalizeId)(t),this.schemas[t]||this.refs[t]}function S8t(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function v8t(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function C8t(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function I8t(){let t={...this.opts};for(let e of y8t)delete t[e];return t}var T8t={log(){},warn(){},error(){}};function w8t(t){if(t===!1)return T8t;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var R8t=/^[a-z_$][a-z0-9_$:-]*$/i;function N8t(t,e){let{RULES:r}=this;if((0,v9.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!R8t.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function S9(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,a=s?i.post:i.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},i.rules.push(a)),i.keywords[t]=!0,!e)return;let o={keyword:t,definition:{...e,type:(0,uP.getJSONTypes)(e.type),schemaType:(0,uP.getJSONTypes)(e.schemaType)}};e.before?O8t.call(this,a,o,e.before):a.rules.push(o),i.all[t]=o,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function O8t(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function P8t(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Mve(e)),t.validateSchema=this.compile(e,!0))}var D8t={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Mve(t){return{anyOf:[t,D8t]}}});var $ve=E(C9=>{"use strict";Object.defineProperty(C9,"__esModule",{value:!0});var k8t={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};C9.default=k8t});var jve=E(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.callRef=sh.getValidate=void 0;var L8t=X_(),Fve=nc(),ja=Yt(),jy=Od(),Uve=sP(),lP=Wr(),B8t={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:i,validateName:a,opts:o,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Uve.resolveRef.call(c,u,s,r);if(l===void 0)throw new L8t.default(n.opts.uriResolver,s,r);if(l instanceof Uve.SchemaEnv)return f(l);return p(l);function d(){if(i===u)return dP(t,a,i,i.$async);let m=e.scopeValue("root",{ref:u});return dP(t,(0,ja._)`${m}.validate`,u,u.$async)}function f(m){let h=qve(t,m);dP(t,h,m,m.$async)}function p(m){let h=e.scopeValue("schema",o.code.source===!0?{ref:m,code:(0,ja.stringify)(m)}:{ref:m}),A=e.name("valid"),g=t.subschema({schema:m,dataTypes:[],schemaPath:ja.nil,topSchemaRef:h,errSchemaPath:r},A);t.mergeEvaluated(g),t.ok(A)}}};function qve(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,ja._)`${r.scopeValue("wrapper",{ref:e})}.validate`}sh.getValidate=qve;function dP(t,e,r,n){let{gen:s,it:i}=t,{allErrors:a,schemaEnv:o,opts:c}=i,u=c.passContext?jy.default.this:ja.nil;n?l():d();function l(){if(!o.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0,ja._)`await ${(0,Fve.callValidateCode)(t,e,u)}`),p(e),a||s.assign(m,!0)},h=>{s.if((0,ja._)`!(${h} instanceof ${i.ValidationError})`,()=>s.throw(h)),f(h),a||s.assign(m,!1)}),t.ok(m)}function d(){t.result((0,Fve.callValidateCode)(t,e,u),()=>p(e),()=>f(e))}function f(m){let h=(0,ja._)`${m}.errors`;s.assign(jy.default.vErrors,(0,ja._)`${jy.default.vErrors} === null ? ${h} : ${jy.default.vErrors}.concat(${h})`),s.assign(jy.default.errors,(0,ja._)`${jy.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let A=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(i.props=lP.mergeEvaluated.props(s,A.props,i.props));else{let g=s.var("props",(0,ja._)`${m}.evaluated.props`);i.props=lP.mergeEvaluated.props(s,g,i.props,ja.Name)}if(i.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(i.items=lP.mergeEvaluated.items(s,A.items,i.items));else{let g=s.var("items",(0,ja._)`${m}.evaluated.items`);i.items=lP.mergeEvaluated.items(s,g,i.items,ja.Name)}}}sh.callRef=dP;sh.default=B8t});var Hve=E(I9=>{"use strict";Object.defineProperty(I9,"__esModule",{value:!0});var M8t=$ve(),W8t=jve(),$8t=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",M8t.default,W8t.default];I9.default=$8t});var Qve=E(T9=>{"use strict";Object.defineProperty(T9,"__esModule",{value:!0});var fP=Yt(),qp=fP.operators,pP={maximum:{okStr:"<=",ok:qp.LTE,fail:qp.GT},minimum:{okStr:">=",ok:qp.GTE,fail:qp.LT},exclusiveMaximum:{okStr:"<",ok:qp.LT,fail:qp.GTE},exclusiveMinimum:{okStr:">",ok:qp.GT,fail:qp.LTE}},F8t={message:({keyword:t,schemaCode:e})=>(0,fP.str)`must be ${pP[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,fP._)`{comparison: ${pP[t].okStr}, limit: ${e}}`},U8t={keyword:Object.keys(pP),type:"number",schemaType:"number",$data:!0,error:F8t,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,fP._)`${r} ${pP[e].fail} ${n} || isNaN(${r})`)}};T9.default=U8t});var Gve=E(w9=>{"use strict";Object.defineProperty(w9,"__esModule",{value:!0});var nS=Yt(),q8t={message:({schemaCode:t})=>(0,nS.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,nS._)`{multipleOf: ${t}}`},j8t={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:q8t,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,i=s.opts.multipleOfPrecision,a=e.let("res"),o=i?(0,nS._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${i}`:(0,nS._)`${a} !== parseInt(${a})`;t.fail$data((0,nS._)`(${n} === 0 || (${a} = ${r}/${n}, ${o}))`)}};w9.default=j8t});var zve=E(R9=>{"use strict";Object.defineProperty(R9,"__esModule",{value:!0});function Vve(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}R9.default=Vve;Vve.code='require("ajv/dist/runtime/ucs2length").default'});var Kve=E(N9=>{"use strict";Object.defineProperty(N9,"__esModule",{value:!0});var ih=Yt(),H8t=Wr(),Q8t=zve(),G8t={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,ih.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,ih._)`{limit: ${t}}`},V8t={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:G8t,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,i=e==="maxLength"?ih.operators.GT:ih.operators.LT,a=s.opts.unicode===!1?(0,ih._)`${r}.length`:(0,ih._)`${(0,H8t.useFunc)(t.gen,Q8t.default)}(${r})`;t.fail$data((0,ih._)`${a} ${i} ${n}`)}};N9.default=V8t});var Yve=E(O9=>{"use strict";Object.defineProperty(O9,"__esModule",{value:!0});var z8t=nc(),mP=Yt(),K8t={message:({schemaCode:t})=>(0,mP.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,mP._)`{pattern: ${t}}`},Y8t={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:K8t,code(t){let{data:e,$data:r,schema:n,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"",o=r?(0,mP._)`(new RegExp(${s}, ${a}))`:(0,z8t.usePattern)(t,n);t.fail$data((0,mP._)`!${o}.test(${e})`)}};O9.default=Y8t});var Jve=E(P9=>{"use strict";Object.defineProperty(P9,"__esModule",{value:!0});var sS=Yt(),J8t={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,sS.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,sS._)`{limit: ${t}}`},X8t={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:J8t,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?sS.operators.GT:sS.operators.LT;t.fail$data((0,sS._)`Object.keys(${r}).length ${s} ${n}`)}};P9.default=X8t});var Xve=E(D9=>{"use strict";Object.defineProperty(D9,"__esModule",{value:!0});var iS=nc(),aS=Yt(),Z8t=Wr(),eWt={message:({params:{missingProperty:t}})=>(0,aS.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,aS._)`{missingProperty: ${t}}`},tWt={keyword:"required",type:"object",schemaType:"array",$data:!0,error:eWt,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:i,it:a}=t,{opts:o}=a;if(!i&&r.length===0)return;let c=r.length>=o.loopRequired;if(a.allErrors?u():l(),o.strictRequired){let p=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let A=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${h}" is not defined at "${A}" (strictRequired)`;(0,Z8t.checkStrictMode)(a,g,a.opts.strictRequired)}}function u(){if(c||i)t.block$data(aS.nil,d);else for(let p of r)(0,iS.checkReportMissingProp)(t,p)}function l(){let p=e.let("missing");if(c||i){let m=e.let("valid",!0);t.block$data(m,()=>f(p,m)),t.ok(m)}else e.if((0,iS.checkMissingProp)(t,r,p)),(0,iS.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,iS.noPropertyInData)(e,s,p,o.ownProperties),()=>t.error())})}function f(p,m){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(m,(0,iS.propertyInData)(e,s,p,o.ownProperties)),e.if((0,aS.not)(m),()=>{t.error(),e.break()})},aS.nil)}}};D9.default=tWt});var Zve=E(k9=>{"use strict";Object.defineProperty(k9,"__esModule",{value:!0});var oS=Yt(),rWt={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,oS.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,oS._)`{limit: ${t}}`},nWt={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:rWt,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?oS.operators.GT:oS.operators.LT;t.fail$data((0,oS._)`${r}.length ${s} ${n}`)}};k9.default=nWt});var hP=E(L9=>{"use strict";Object.defineProperty(L9,"__esModule",{value:!0});var eCe=Go();eCe.code='require("ajv/dist/runtime/equal").default';L9.default=eCe});var tCe=E(M9=>{"use strict";Object.defineProperty(M9,"__esModule",{value:!0});var B9=V_(),hi=Yt(),sWt=Wr(),iWt=hP(),aWt={message:({params:{i:t,j:e}})=>(0,hi.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,hi._)`{i: ${t}, j: ${e}}`},oWt={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:aWt,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:i,schemaCode:a,it:o}=t;if(!n&&!s)return;let c=e.let("valid"),u=i.items?(0,B9.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,hi._)`${a} === false`),t.ok(c);function l(){let m=e.let("i",(0,hi._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,hi._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function f(m,h){let A=e.name("item"),g=(0,B9.checkDataTypes)(u,A,o.opts.strictNumbers,B9.DataType.Wrong),b=e.const("indices",(0,hi._)`{}`);e.for((0,hi._)`;${m}--;`,()=>{e.let(A,(0,hi._)`${r}[${m}]`),e.if(g,(0,hi._)`continue`),u.length>1&&e.if((0,hi._)`typeof ${A} == "string"`,(0,hi._)`${A} += "_"`),e.if((0,hi._)`typeof ${b}[${A}] == "number"`,()=>{e.assign(h,(0,hi._)`${b}[${A}]`),t.error(),e.assign(c,!1).break()}).code((0,hi._)`${b}[${A}] = ${m}`)})}function p(m,h){let A=(0,sWt.useFunc)(e,iWt.default),g=e.name("outer");e.label(g).for((0,hi._)`;${m}--;`,()=>e.for((0,hi._)`${h} = ${m}; ${h}--;`,()=>e.if((0,hi._)`${A}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(g)})))}}};M9.default=oWt});var rCe=E($9=>{"use strict";Object.defineProperty($9,"__esModule",{value:!0});var W9=Yt(),cWt=Wr(),uWt=hP(),lWt={message:"must be equal to constant",params:({schemaCode:t})=>(0,W9._)`{allowedValue: ${t}}`},dWt={keyword:"const",$data:!0,error:lWt,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,W9._)`!${(0,cWt.useFunc)(e,uWt.default)}(${r}, ${s})`):t.fail((0,W9._)`${i} !== ${r}`)}};$9.default=dWt});var nCe=E(F9=>{"use strict";Object.defineProperty(F9,"__esModule",{value:!0});var cS=Yt(),fWt=Wr(),pWt=hP(),mWt={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,cS._)`{allowedValues: ${t}}`},hWt={keyword:"enum",schemaType:"array",$data:!0,error:mWt,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:i,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let o=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0,fWt.useFunc)(e,pWt.default)),l;if(o||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);l=(0,cS.or)(...s.map((m,h)=>f(p,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,p=>e.if((0,cS._)`${u()}(${r}, ${p})`,()=>e.assign(l,!0).break()))}function f(p,m){let h=s[m];return typeof h=="object"&&h!==null?(0,cS._)`${u()}(${r}, ${p}[${m}])`:(0,cS._)`${r} === ${h}`}}};F9.default=hWt});var sCe=E(U9=>{"use strict";Object.defineProperty(U9,"__esModule",{value:!0});var gWt=Qve(),AWt=Gve(),yWt=Kve(),xWt=Yve(),bWt=Jve(),EWt=Xve(),_Wt=Zve(),SWt=tCe(),vWt=rCe(),CWt=nCe(),IWt=[gWt.default,AWt.default,yWt.default,xWt.default,bWt.default,EWt.default,_Wt.default,SWt.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},vWt.default,CWt.default];U9.default=IWt});var j9=E(uS=>{"use strict";Object.defineProperty(uS,"__esModule",{value:!0});uS.validateAdditionalItems=void 0;var ah=Yt(),q9=Wr(),TWt={message:({params:{len:t}})=>(0,ah.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ah._)`{limit: ${t}}`},wWt={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:TWt,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,q9.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}iCe(t,n)}};function iCe(t,e){let{gen:r,schema:n,data:s,keyword:i,it:a}=t;a.items=!0;let o=r.const("len",(0,ah._)`${s}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,ah._)`${o} <= ${e.length}`);else if(typeof n=="object"&&!(0,q9.alwaysValidSchema)(a,n)){let u=r.var("valid",(0,ah._)`${o} <= ${e.length}`);r.if((0,ah.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,o,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:q9.Type.Num},u),a.allErrors||r.if((0,ah.not)(u),()=>r.break())})}}uS.validateAdditionalItems=iCe;uS.default=wWt});var H9=E(lS=>{"use strict";Object.defineProperty(lS,"__esModule",{value:!0});lS.validateTuple=void 0;var aCe=Yt(),gP=Wr(),RWt=nc(),NWt={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return oCe(t,"additionalItems",e);r.items=!0,!(0,gP.alwaysValidSchema)(r,e)&&t.ok((0,RWt.validateArray)(t))}};function oCe(t,e,r=t.schema){let{gen:n,parentSchema:s,data:i,keyword:a,it:o}=t;l(s),o.opts.unevaluated&&r.length&&o.items!==!0&&(o.items=gP.mergeEvaluated.items(n,r.length,o.items));let c=n.name("valid"),u=n.const("len",(0,aCe._)`${i}.length`);r.forEach((d,f)=>{(0,gP.alwaysValidSchema)(o,d)||(n.if((0,aCe._)`${u} > ${f}`,()=>t.subschema({keyword:a,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:p}=o,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let A=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,gP.checkStrictMode)(o,A,f.strictTuples)}}}lS.validateTuple=oCe;lS.default=NWt});var cCe=E(Q9=>{"use strict";Object.defineProperty(Q9,"__esModule",{value:!0});var OWt=H9(),PWt={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,OWt.validateTuple)(t,"items")};Q9.default=PWt});var lCe=E(G9=>{"use strict";Object.defineProperty(G9,"__esModule",{value:!0});var uCe=Yt(),DWt=Wr(),kWt=nc(),LWt=j9(),BWt={message:({params:{len:t}})=>(0,uCe.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,uCe._)`{limit: ${t}}`},MWt={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:BWt,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=!0,!(0,DWt.alwaysValidSchema)(n,e)&&(s?(0,LWt.validateAdditionalItems)(t,s):t.ok((0,kWt.validateArray)(t)))}};G9.default=MWt});var dCe=E(V9=>{"use strict";Object.defineProperty(V9,"__esModule",{value:!0});var ic=Yt(),AP=Wr(),WWt={message:({params:{min:t,max:e}})=>e===void 0?(0,ic.str)`must contain at least ${t} valid item(s)`:(0,ic.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ic._)`{minContains: ${t}}`:(0,ic._)`{minContains: ${t}, maxContains: ${e}}`},$Wt={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:WWt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t,a,o,{minContains:c,maxContains:u}=n;i.opts.next?(a=c===void 0?1:c,o=u):a=1;let l=e.const("len",(0,ic._)`${s}.length`);if(t.setParams({min:a,max:o}),o===void 0&&a===0){(0,AP.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(o!==void 0&&a>o){(0,AP.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,AP.alwaysValidSchema)(i,r)){let h=(0,ic._)`${l} >= ${a}`;o!==void 0&&(h=(0,ic._)`${h} && ${l} <= ${o}`),t.pass(h);return}i.items=!0;let d=e.name("valid");o===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,!0),o!==void 0&&e.if((0,ic._)`${s}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),A=e.let("count",0);p(h,()=>e.if(h,()=>m(A)))}function p(h,A){e.forRange("i",0,l,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:AP.Type.Num,compositeRule:!0},h),A()})}function m(h){e.code((0,ic._)`${h}++`),o===void 0?e.if((0,ic._)`${h} >= ${a}`,()=>e.assign(d,!0).break()):(e.if((0,ic._)`${h} > ${o}`,()=>e.assign(d,!1).break()),a===1?e.assign(d,!0):e.if((0,ic._)`${h} >= ${a}`,()=>e.assign(d,!0)))}}};V9.default=$Wt});var mCe=E(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});sl.validateSchemaDeps=sl.validatePropertyDeps=sl.error=void 0;var z9=Yt(),FWt=Wr(),dS=nc();sl.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,z9.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,z9._)`{property: ${t},
|
|
missingProperty: ${n},
|
|
depsCount: ${e},
|
|
deps: ${r}}`};var UWt={keyword:"dependencies",type:"object",schemaType:"object",error:sl.error,code(t){let[e,r]=qWt(t);fCe(t,e),pCe(t,r)}};function qWt({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n]}return[e,r]}function fCe(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let a in e){let o=e[a];if(o.length===0)continue;let c=(0,dS.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:o.length,deps:o.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of o)(0,dS.checkReportMissingProp)(t,u)}):(r.if((0,z9._)`${c} && (${(0,dS.checkMissingProp)(t,o,i)})`),(0,dS.reportMissingProp)(t,i),r.else())}}sl.validatePropertyDeps=fCe;function pCe(t,e=t.schema){let{gen:r,data:n,keyword:s,it:i}=t,a=r.name("valid");for(let o in e)(0,FWt.alwaysValidSchema)(i,e[o])||(r.if((0,dS.propertyInData)(r,n,o,i.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:o},a);t.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),t.ok(a))}sl.validateSchemaDeps=pCe;sl.default=UWt});var gCe=E(K9=>{"use strict";Object.defineProperty(K9,"__esModule",{value:!0});var hCe=Yt(),jWt=Wr(),HWt={message:"property name must be valid",params:({params:t})=>(0,hCe._)`{propertyName: ${t.propertyName}}`},QWt={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:HWt,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0,jWt.alwaysValidSchema)(s,r))return;let i=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},i),e.if((0,hCe.not)(i),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(i)}};K9.default=QWt});var J9=E(Y9=>{"use strict";Object.defineProperty(Y9,"__esModule",{value:!0});var yP=nc(),Xc=Yt(),GWt=Od(),xP=Wr(),VWt={message:"must NOT have additional properties",params:({params:t})=>(0,Xc._)`{additionalProperty: ${t.additionalProperty}}`},zWt={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:VWt,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:i,it:a}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,xP.alwaysValidSchema)(a,r))return;let u=(0,yP.allSchemaProperties)(n.properties),l=(0,yP.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Xc._)`${i} === ${GWt.default.errors}`);function d(){e.forIn("key",s,A=>{!u.length&&!l.length?m(A):e.if(f(A),()=>m(A))})}function f(A){let g;if(u.length>8){let b=(0,xP.schemaRefOrVal)(a,n.properties,"properties");g=(0,yP.isOwnProperty)(e,b,A)}else u.length?g=(0,Xc.or)(...u.map(b=>(0,Xc._)`${A} === ${b}`)):g=Xc.nil;return l.length&&(g=(0,Xc.or)(g,...l.map(b=>(0,Xc._)`${(0,yP.usePattern)(t,b)}.test(${A})`))),(0,Xc.not)(g)}function p(A){e.code((0,Xc._)`delete ${s}[${A}]`)}function m(A){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(A);return}if(r===!1){t.setParams({additionalProperty:A}),t.error(),o||e.break();return}if(typeof r=="object"&&!(0,xP.alwaysValidSchema)(a,r)){let g=e.name("valid");c.removeAdditional==="failing"?(h(A,g,!1),e.if((0,Xc.not)(g),()=>{t.reset(),p(A)})):(h(A,g),o||e.if((0,Xc.not)(g),()=>e.break()))}}function h(A,g,b){let y={keyword:"additionalProperties",dataProp:A,dataPropType:xP.Type.Str};b===!1&&Object.assign(y,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(y,g)}}};Y9.default=zWt});var xCe=E(Z9=>{"use strict";Object.defineProperty(Z9,"__esModule",{value:!0});var KWt=J_(),ACe=nc(),X9=Wr(),yCe=J9(),YWt={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&yCe.default.code(new KWt.KeywordCxt(i,yCe.default,"additionalProperties"));let a=(0,ACe.allSchemaProperties)(r);for(let d of a)i.definedProperties.add(d);i.opts.unevaluated&&a.length&&i.props!==!0&&(i.props=X9.mergeEvaluated.props(e,(0,X9.toHash)(a),i.props));let o=a.filter(d=>!(0,X9.alwaysValidSchema)(i,r[d]));if(o.length===0)return;let c=e.name("valid");for(let d of o)u(d)?l(d):(e.if((0,ACe.propertyInData)(e,s,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Z9.default=YWt});var SCe=E(eq=>{"use strict";Object.defineProperty(eq,"__esModule",{value:!0});var bCe=nc(),bP=Yt(),ECe=Wr(),_Ce=Wr(),JWt={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:i}=t,{opts:a}=i,o=(0,bCe.allSchemaProperties)(r),c=o.filter(h=>(0,ECe.alwaysValidSchema)(i,r[h]));if(o.length===0||c.length===o.length&&(!i.opts.unevaluated||i.props===!0))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof bP.Name)&&(i.props=(0,_Ce.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let h of o)u&&p(h),i.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function p(h){for(let A in u)new RegExp(h).test(A)&&(0,ECe.checkStrictMode)(i,`property ${A} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,A=>{e.if((0,bP._)`${(0,bCe.usePattern)(t,h)}.test(${A})`,()=>{let g=c.includes(h);g||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:A,dataPropType:_Ce.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,bP._)`${d}[${A}]`,!0):!g&&!i.allErrors&&e.if((0,bP.not)(l),()=>e.break())})})}}};eq.default=JWt});var vCe=E(tq=>{"use strict";Object.defineProperty(tq,"__esModule",{value:!0});var XWt=Wr(),ZWt={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,XWt.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};tq.default=ZWt});var CCe=E(rq=>{"use strict";Object.defineProperty(rq,"__esModule",{value:!0});var e$t=nc(),t$t={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e$t.validateUnion,error:{message:"must match a schema in anyOf"}};rq.default=t$t});var ICe=E(nq=>{"use strict";Object.defineProperty(nq,"__esModule",{value:!0});var EP=Yt(),r$t=Wr(),n$t={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,EP._)`{passingSchemas: ${t.passing}}`},s$t={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:n$t,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let i=r,a=e.let("valid",!1),o=e.let("passing",null),c=e.name("_valid");t.setParams({passing:o}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,r$t.alwaysValidSchema)(s,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,EP._)`${c} && ${a}`).assign(a,!1).assign(o,(0,EP._)`[${o}, ${d}]`).else(),e.if(c,()=>{e.assign(a,!0),e.assign(o,d),f&&t.mergeEvaluated(f,EP.Name)})})}}};nq.default=s$t});var TCe=E(sq=>{"use strict";Object.defineProperty(sq,"__esModule",{value:!0});var i$t=Wr(),a$t={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((i,a)=>{if((0,i$t.alwaysValidSchema)(n,i))return;let o=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(o)})}};sq.default=a$t});var NCe=E(iq=>{"use strict";Object.defineProperty(iq,"__esModule",{value:!0});var _P=Yt(),RCe=Wr(),o$t={message:({params:t})=>(0,_P.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,_P._)`{failingKeyword: ${t.ifClause}}`},c$t={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:o$t,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,RCe.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=wCe(n,"then"),i=wCe(n,"else");if(!s&&!i)return;let a=e.let("valid",!0),o=e.name("_valid");if(c(),t.reset(),s&&i){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(o,u("then",l),u("else",l))}else s?e.if(o,u("then")):e.if((0,_P.not)(o),u("else"));t.pass(a,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},o);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},o);e.assign(a,o),t.mergeValidEvaluated(f,a),d?e.assign(d,(0,_P._)`${l}`):t.setParams({ifClause:l})}}}};function wCe(t,e){let r=t.schema[e];return r!==void 0&&!(0,RCe.alwaysValidSchema)(t,r)}iq.default=c$t});var OCe=E(aq=>{"use strict";Object.defineProperty(aq,"__esModule",{value:!0});var u$t=Wr(),l$t={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,u$t.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};aq.default=l$t});var PCe=E(oq=>{"use strict";Object.defineProperty(oq,"__esModule",{value:!0});var d$t=j9(),f$t=cCe(),p$t=H9(),m$t=lCe(),h$t=dCe(),g$t=mCe(),A$t=gCe(),y$t=J9(),x$t=xCe(),b$t=SCe(),E$t=vCe(),_$t=CCe(),S$t=ICe(),v$t=TCe(),C$t=NCe(),I$t=OCe();function T$t(t=!1){let e=[E$t.default,_$t.default,S$t.default,v$t.default,C$t.default,I$t.default,A$t.default,y$t.default,g$t.default,x$t.default,b$t.default];return t?e.push(f$t.default,m$t.default):e.push(d$t.default,p$t.default),e.push(h$t.default),e}oq.default=T$t});var DCe=E(cq=>{"use strict";Object.defineProperty(cq,"__esModule",{value:!0});var ds=Yt(),w$t={message:({schemaCode:t})=>(0,ds.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ds._)`{format: ${t}}`},R$t={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:w$t,code(t,e){let{gen:r,data:n,$data:s,schema:i,schemaCode:a,it:o}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=o;if(!c.validateFormats)return;s?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ds._)`${m}[${a}]`),A=r.let("fType"),g=r.let("format");r.if((0,ds._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(A,(0,ds._)`${h}.type || "string"`).assign(g,(0,ds._)`${h}.validate`),()=>r.assign(A,(0,ds._)`"string"`).assign(g,h)),t.fail$data((0,ds.or)(b(),y()));function b(){return c.strictSchema===!1?ds.nil:(0,ds._)`${a} && !${g}`}function y(){let x=l.$async?(0,ds._)`(${h}.async ? await ${g}(${n}) : ${g}(${n}))`:(0,ds._)`${g}(${n})`,v=(0,ds._)`(typeof ${g} == "function" ? ${x} : ${g}.test(${n}))`;return(0,ds._)`${g} && ${g} !== true && ${A} === ${e} && !${v}`}}function p(){let m=d.formats[i];if(!m){b();return}if(m===!0)return;let[h,A,g]=y(m);h===e&&t.pass(x());function b(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function y(v){let C=v instanceof RegExp?(0,ds.regexpCode)(v):c.code.formats?(0,ds._)`${c.code.formats}${(0,ds.getProperty)(i)}`:void 0,R=r.scopeValue("formats",{key:i,ref:v,code:C});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,ds._)`${R}.validate`]:["string",v,R]}function x(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ds._)`await ${g}(${n})`}return typeof A=="function"?(0,ds._)`${g}(${n})`:(0,ds._)`${g}.test(${n})`}}}};cq.default=R$t});var kCe=E(uq=>{"use strict";Object.defineProperty(uq,"__esModule",{value:!0});var N$t=DCe(),O$t=[N$t.default];uq.default=O$t});var LCe=E(Hy=>{"use strict";Object.defineProperty(Hy,"__esModule",{value:!0});Hy.contentVocabulary=Hy.metadataVocabulary=void 0;Hy.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Hy.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var MCe=E(lq=>{"use strict";Object.defineProperty(lq,"__esModule",{value:!0});var P$t=Hve(),D$t=sCe(),k$t=PCe(),L$t=kCe(),BCe=LCe(),B$t=[P$t.default,D$t.default,(0,k$t.default)(),L$t.default,BCe.metadataVocabulary,BCe.contentVocabulary];lq.default=B$t});var $Ce=E(SP=>{"use strict";Object.defineProperty(SP,"__esModule",{value:!0});SP.DiscrError=void 0;var WCe;(function(t){t.Tag="tag",t.Mapping="mapping"})(WCe||(SP.DiscrError=WCe={}))});var UCe=E(fq=>{"use strict";Object.defineProperty(fq,"__esModule",{value:!0});var Qy=Yt(),dq=$Ce(),FCe=sP(),M$t=X_(),W$t=Wr(),$$t={message:({params:{discrError:t,tagName:e}})=>t===dq.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Qy._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},F$t={keyword:"discriminator",type:"object",schemaType:"object",error:$$t,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:i}=t,{oneOf:a}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let o=n.propertyName;if(typeof o!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Qy._)`${r}${(0,Qy.getProperty)(o)}`);e.if((0,Qy._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:dq.DiscrError.Tag,tag:u,tagName:o})),t.ok(c);function l(){let p=f();e.if(!1);for(let m in p)e.elseIf((0,Qy._)`${u} === ${m}`),e.assign(c,d(p[m]));e.else(),t.error(!1,{discrError:dq.DiscrError.Mapping,tag:u,tagName:o}),e.endIf()}function d(p){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},m);return t.mergeEvaluated(h,Qy.Name),m}function f(){var p;let m={},h=g(s),A=!0;for(let x=0;x<a.length;x++){let v=a[x];if(v?.$ref&&!(0,W$t.schemaHasRulesButRef)(v,i.self.RULES)){let R=v.$ref;if(v=FCe.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,R),v instanceof FCe.SchemaEnv&&(v=v.schema),v===void 0)throw new M$t.default(i.opts.uriResolver,i.baseId,R)}let C=(p=v?.properties)===null||p===void 0?void 0:p[o];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${o}"`);A=A&&(h||g(v)),b(C,x)}if(!A)throw new Error(`discriminator: "${o}" must be required`);return m;function g({required:x}){return Array.isArray(x)&&x.includes(o)}function b(x,v){if(x.const)y(x.const,v);else if(x.enum)for(let C of x.enum)y(C,v);else throw new Error(`discriminator: "properties/${o}" must have "const" or "enum"`)}function y(x,v){if(typeof x!="string"||x in m)throw new Error(`discriminator: "${o}" values must be unique strings`);m[x]=v}}}};fq.default=F$t});var qCe=E((XBr,U$t)=>{U$t.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var HCe=E((Bn,pq)=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.MissingRefError=Bn.ValidationError=Bn.CodeGen=Bn.Name=Bn.nil=Bn.stringify=Bn.str=Bn._=Bn.KeywordCxt=Bn.Ajv=void 0;var q$t=Wve(),j$t=MCe(),H$t=UCe(),jCe=qCe(),Q$t=["/properties"],vP="http://json-schema.org/draft-07/schema",Gy=class extends q$t.default{_addVocabularies(){super._addVocabularies(),j$t.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(H$t.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(jCe,Q$t):jCe;this.addMetaSchema(e,vP,!1),this.refs["http://json-schema.org/schema"]=vP}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(vP)?vP:void 0)}};Bn.Ajv=Gy;pq.exports=Bn=Gy;pq.exports.Ajv=Gy;Object.defineProperty(Bn,"__esModule",{value:!0});Bn.default=Gy;var G$t=J_();Object.defineProperty(Bn,"KeywordCxt",{enumerable:!0,get:function(){return G$t.KeywordCxt}});var Vy=Yt();Object.defineProperty(Bn,"_",{enumerable:!0,get:function(){return Vy._}});Object.defineProperty(Bn,"str",{enumerable:!0,get:function(){return Vy.str}});Object.defineProperty(Bn,"stringify",{enumerable:!0,get:function(){return Vy.stringify}});Object.defineProperty(Bn,"nil",{enumerable:!0,get:function(){return Vy.nil}});Object.defineProperty(Bn,"Name",{enumerable:!0,get:function(){return Vy.Name}});Object.defineProperty(Bn,"CodeGen",{enumerable:!0,get:function(){return Vy.CodeGen}});var V$t=rP();Object.defineProperty(Bn,"ValidationError",{enumerable:!0,get:function(){return V$t.default}});var z$t=X_();Object.defineProperty(Bn,"MissingRefError",{enumerable:!0,get:function(){return z$t.default}})});var QCe=E(zy=>{"use strict";Object.defineProperty(zy,"__esModule",{value:!0});zy.formatLimitDefinition=void 0;var K$t=HCe(),Zc=Yt(),jp=Zc.operators,CP={formatMaximum:{okStr:"<=",ok:jp.LTE,fail:jp.GT},formatMinimum:{okStr:">=",ok:jp.GTE,fail:jp.LT},formatExclusiveMaximum:{okStr:"<",ok:jp.LT,fail:jp.GTE},formatExclusiveMinimum:{okStr:">",ok:jp.GT,fail:jp.LTE}},Y$t={message:({keyword:t,schemaCode:e})=>Zc.str`should be ${CP[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>Zc._`{comparison: ${CP[t].okStr}, limit: ${e}}`};zy.formatLimitDefinition={keyword:Object.keys(CP),type:"string",schemaType:"string",$data:!0,error:Y$t,code(t){let{gen:e,data:r,schemaCode:n,keyword:s,it:i}=t,{opts:a,self:o}=i;if(!a.validateFormats)return;let c=new K$t.KeywordCxt(i,o.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:o.formats,code:a.code.formats}),p=e.const("fmt",Zc._`${f}[${c.schemaCode}]`);t.fail$data(Zc.or(Zc._`typeof ${p} != "object"`,Zc._`${p} instanceof RegExp`,Zc._`typeof ${p}.compare != "function"`,d(p)))}function l(){let f=c.schema,p=o.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${s}": format "${f}" does not define "compare" function`);let m=e.scopeValue("formats",{key:f,ref:p,code:a.code.formats?Zc._`${a.code.formats}${Zc.getProperty(f)}`:void 0});t.fail$data(d(m))}function d(f){return Zc._`${f}.compare(${r}, ${n}) ${CP[s].fail} 0`}},dependencies:["format"]};var J$t=t=>(t.addKeyword(zy.formatLimitDefinition),t);zy.default=J$t});var KCe=E((fS,zCe)=>{"use strict";Object.defineProperty(fS,"__esModule",{value:!0});var Ky=ySe(),X$t=QCe(),mq=Yt(),GCe=new mq.Name("fullFormats"),Z$t=new mq.Name("fastFormats"),hq=(t,e={keywords:!0})=>{if(Array.isArray(e))return VCe(t,e,Ky.fullFormats,GCe),t;let[r,n]=e.mode==="fast"?[Ky.fastFormats,Z$t]:[Ky.fullFormats,GCe],s=e.formats||Ky.formatNames;return VCe(t,s,r,n),e.keywords&&X$t.default(t),t};hq.get=(t,e="full")=>{let n=(e==="fast"?Ky.fastFormats:Ky.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function VCe(t,e,r,n){var s,i;(s=(i=t.opts.code).formats)!==null&&s!==void 0||(i.formats=mq._`require("ajv-formats/dist/formats").${n}`);for(let a of e)t.addFormat(a,r[a])}zCe.exports=fS=hq;Object.defineProperty(fS,"__esModule",{value:!0});fS.default=hq});var XCe=E((e4r,JCe)=>{"use strict";var eFt=g_e().default,tFt=C7(),YCe=I7(),gq=class{constructor(e,r){r.mode==="JTD"?this.ajv=new tFt(Object.assign({},YCe,r.customOptions)):this.ajv=new eFt(Object.assign({},YCe,r.customOptions));let n=!0;if(r.plugins&&r.plugins.length>0)for(let i of r.plugins)Array.isArray(i)?(n=n&&i[0].name!=="formatsPlugin",i[0](this.ajv,i[1])):(n=n&&i.name!=="formatsPlugin",i(this.ajv));n&&KCe()(this.ajv),r.onCreate?.(this.ajv);let s=Object.values(e);for(let i of s)this.ajv.addSchema(i)}buildValidatorFunction({schema:e}){if(e.$id){let r=this.ajv.getSchema(e.$id);if(r)return r}return this.ajv.compile(e)}};JCe.exports=gq});var eIe=E((t4r,ZCe)=>{"use strict";var rFt=C7(),nFt=I7(),Aq=class{constructor(e,r){this.ajv=new rFt(Object.assign({},nFt,r))}buildSerializerFunction({schema:e}){return this.ajv.compileSerializer(e)}};ZCe.exports=Aq});var nIe=E((mS,rIe)=>{"use strict";Object.defineProperty(mS,"__esModule",{value:!0});var pS=aO(),eu=uy();function tIe(t,e){if(!t.opts.code.source)throw new Error("moduleCode: ajv instance must have code.source option");let{_n:r}=t.scope.opts;return typeof e=="function"?s(e.source):e!==void 0?i(e,n):i(t.schemas,o=>o.meta?void 0:t.compile(o.schema));function n(o){let c=t.getSchema(o);if(!c)throw new Error(`moduleCode: no schema with id ${o}`);return c}function s(o){let c={},u=o?.validateName,l=a(c,o);return t.opts.code.esm?`"use strict";${r}export const validate = ${u};${r}export default ${u};${r}${l}`:`"use strict";${r}module.exports = ${u};${r}module.exports.default = ${u};${r}${l}`}function i(o,c){var u;let l={},d=(0,eu._)`"use strict";`;for(let f in o){let p=c(o[f]);if(p){let m=a(l,p.source),h=t.opts.code.esm?(0,eu._)`export const ${(0,eu.getEsmExportName)(f)}`:(0,eu._)`exports${(0,eu.getProperty)(f)}`;d=(0,eu._)`${d}${r}${h} = ${(u=p.source)===null||u===void 0?void 0:u.validateName};${r}${m}`}}return`${d}`}function a(o,c){if(!c)throw new Error('moduleCode: function does not have "source" property');if(f(c.validateName)===pS.UsedValueState.Completed)return eu.nil;p(c.validateName,pS.UsedValueState.Started);let u=t.scope.scopeCode(c.scopeValues,o,d),l=new eu._Code(`${u}${r}${c.validateCode}`);return c.evaluated?(0,eu._)`${l}${c.validateName}.evaluated = ${c.evaluated};${r}`:l;function d(m){var h;let A=(h=m.value)===null||h===void 0?void 0:h.ref;if(m.prefix==="validate"&&typeof A=="function")return a(o,A.source);if((m.prefix==="root"||m.prefix==="wrapper")&&typeof A=="object"){let{validate:g,validateName:b}=A;if(!b)throw new Error("ajv internal error");let y=t.opts.code.es5?pS.varKinds.var:pS.varKinds.const,x=(0,eu._)`${y} ${m} = {validate: ${b}};`;if(f(b)===pS.UsedValueState.Started)return x;let v=a(o,g?.source);return(0,eu._)`${x}${r}${v}`}}function f(m){var h;return(h=o[m.prefix])===null||h===void 0?void 0:h.get(m)}function p(m,h){let{prefix:A}=m;(o[A]=o[A]||new Map).set(m,h)}}}rIe.exports=mS=tIe;Object.defineProperty(mS,"__esModule",{value:!0});mS.default=tIe});var aIe=E((r4r,iIe)=>{"use strict";var sIe=yq(),sFt=nIe().default;function iFt(t={readMode:!0}){if(t.readMode===!0&&!t.restoreFunction)throw new Error("You must provide a restoreFunction options when readMode ON");if(t.readMode!==!0&&!t.storeFunction)throw new Error("You must provide a storeFunction options when readMode OFF");if(t.readMode===!0)return function(){return function(n){return t.restoreFunction(n)}};let e=sIe();return function(n,s={}){(!s.customOptions||!s.customOptions.code)&&(s.customOptions=Object.assign({},s.customOptions,{code:{source:!0}}));let i=e(n,s);return function(a){let o=i(a),c=sFt(i[sIe.AjvReference].ajv,o);return t.storeFunction(a,c),o}}}iIe.exports=iFt});var yq=E((n4r,Yy)=>{"use strict";var cIe=Symbol.for("fastify.ajv-compiler.reference"),aFt=XCe(),oFt=eIe();function xq(t){let e=new Map,r=new Map;return t&&t.jtdSerializer===!0?function(s,i){let a=oIe({},i);if(r.has(a))return r.get(a);let o=new oFt(s,i),c=o.buildSerializerFunction.bind(o);return r.set(a,c),c}:function(s,i){let a=oIe(s,i.customOptions);if(e.has(a))return e.get(a);let o=new aFt(s,i),c=o.buildValidatorFunction.bind(o);return e.set(a,c),i.customOptions.code!==void 0&&(c[cIe]=o),c}}function oIe(t,e){let r=JSON.stringify(t),n=JSON.stringify(e);return`${r}${n}`}Yy.exports=xq;Yy.exports.default=xq;Yy.exports.AjvCompiler=xq;Yy.exports.AjvReference=cIe;Yy.exports.StandaloneValidator=aIe()});var bq=E((s4r,uIe)=>{"use strict";var{buildSchemas:cFt}=u1(),uFt=uF(),lFt=yq();function dFt(t,e){if(t)return new Jy(t,e);let r=Object.assign({buildValidator:null,buildSerializer:null},e?.compilersFactory);r.buildValidator||(r.buildValidator=lFt()),r.buildSerializer||(r.buildSerializer=uFt());let n={bucket:e&&e.bucket||cFt,compilersFactory:r,isCustomValidatorCompiler:typeof e?.compilersFactory?.buildValidator=="function",isCustomSerializerCompiler:typeof e?.compilersFactory?.buildValidator=="function"};return new Jy(void 0,n)}var Jy=class{constructor(e,r){this.opts=r||e?.opts,this.addedSchemas=!1,this.compilersFactory=this.opts.compilersFactory,e?(this.schemaBucket=this.opts.bucket(e.getSchemas()),this.validatorCompiler=e.getValidatorCompiler(),this.serializerCompiler=e.getSerializerCompiler(),this.isCustomValidatorCompiler=e.isCustomValidatorCompiler,this.isCustomSerializerCompiler=e.isCustomSerializerCompiler,this.parent=e):(this.schemaBucket=this.opts.bucket(),this.isCustomValidatorCompiler=this.opts.isCustomValidatorCompiler||!1,this.isCustomSerializerCompiler=this.opts.isCustomSerializerCompiler||!1)}add(e){return this.addedSchemas=!0,this.schemaBucket.add(e)}getSchema(e){return this.schemaBucket.getSchema(e)}getSchemas(){return this.schemaBucket.getSchemas()}setValidatorCompiler(e){this.compilersFactory=Object.assign({},this.compilersFactory,{buildValidator:()=>e}),this.validatorCompiler=e,this.isCustomValidatorCompiler=!0}setSerializerCompiler(e){this.compilersFactory=Object.assign({},this.compilersFactory,{buildSerializer:()=>e}),this.serializerCompiler=e,this.isCustomSerializerCompiler=!0}getValidatorCompiler(){return this.validatorCompiler||this.parent&&this.parent.getValidatorCompiler()}getSerializerCompiler(){return this.serializerCompiler||this.parent&&this.parent.getSerializerCompiler()}getSerializerBuilder(){return this.compilersFactory.buildSerializer||this.parent&&this.parent.getSerializerBuilder()}getValidatorBuilder(){return this.compilersFactory.buildValidator||this.parent&&this.parent.getValidatorBuilder()}setupValidator(e){this.validatorCompiler!==void 0&&!this.addedSchemas||(this.validatorCompiler=this.getValidatorBuilder()(this.schemaBucket.getSchemas(),e.ajv))}setupSerializer(e){this.serializerCompiler!==void 0&&!this.addedSchemas||(this.serializerCompiler=this.getSerializerBuilder()(this.schemaBucket.getSchemas(),e.serializerOpts))}};Jy.buildSchemaController=dFt;uIe.exports=Jy});var Iq=E((i4r,Cq)=>{"use strict";var Eq=O$(),Sq=require("node:assert"),vq=Symbol.for("registered-plugin"),{kTestInternals:fFt}=Qs(),{exist:pFt,existReply:mFt,existRequest:hFt}=U$(),{FST_ERR_PLUGIN_VERSION_MISMATCH:gFt,FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE:AFt}=Ci(),{FSTWRN002:yFt}=cd();function hS(t){return t[Symbol.for("plugin-meta")]}function lIe(t){let e=dIe(t);if(e)return e;let r=require.cache;if(r){let n=Object.keys(r);for(let s=0;s<n.length;s++){let i=n[s];if(r[i].exports===t)return i}}return t.name?t.name:null}function xFt(t){return t.toString().split(`
|
|
`).slice(0,2).map(e=>e.trim()).join(" -- ")}function dIe(t){return t[Symbol.for("fastify.display-name")]}function fIe(t){return!!t[Symbol.for("skip-override")]}function pIe(t){let e=hS(t);if(!e)return;let r=e.dependencies;r&&(Sq(Array.isArray(r),"The dependencies should be an array of strings"),r.forEach(n=>{Sq(this[vq].indexOf(n)>-1,`The dependency '${n}' of plugin '${e.name}' is not registered`)}))}function mIe(t){let e=hS(t);if(!e)return;let{decorators:r,name:n}=e;r&&(r.fastify&&_q(this,"Fastify",r.fastify,n),r.reply&&_q(this,"Reply",r.reply,n),r.request&&_q(this,"Request",r.request,n))}var bFt={Fastify:pFt,Request:hFt,Reply:mFt};function _q(t,e,r,n){Sq(Array.isArray(r),"The decorators should be an array of strings"),r.forEach(s=>{let i=typeof n=="string"?` required by '${n}'`:"";if(!bFt[e].call(t,s))throw new AFt(s,i,e)})}function EFt(t){let e=hS(t);if(!e)return;let r=e.fastify,n=/-rc.+$/.test(this.version);if(!(n===!0&&Eq.gt(this.version,Eq.coerce(r))===!0)&&r&&Eq.satisfies(this.version,r,{includePrerelease:n})===!1)throw new gFt(e.name,r,this.version)}function _Ft(t){let e=hS(t);if(!e)return;let r=e.name;if(r)return this[vq].push(r),r}function SFt(t,e){t.constructor.name==="AsyncFunction"&&t.length===3&&yFt(e||"anonymous")}function vFt(t){let e=_Ft.call(this,t)||lIe(t);return SFt.call(this,t,e),EFt.call(this,t),mIe.call(this,t),pIe.call(this,t),fIe(t)}Cq.exports={getPluginName:lIe,getFuncPreview:xFt,kRegisteredPlugins:vq,getDisplayName:dIe,registerPlugin:vFt};Cq.exports[fFt]={shouldSkipOverride:fIe,getMeta:hS,checkDecorators:mIe,checkDependencies:pIe}});var IP=E((a4r,hIe)=>{"use strict";function CFt(t,e){let r=e||TFt();return t?wFt(t,r):r}function IFt(t,e){return t.genReqId(e)}function TFt(){let e=0;return function(){return e=e+1&2147483647,`req-${e.toString(36)}`}}function wFt(t,e){return function(r){return r.headers[t]||e(r)}}hIe.exports={getGenReqId:IFt,reqIdGenFactory:CFt}});var xIe=E((o4r,yIe)=>{"use strict";var gIe=12,RFt=0,Tq=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function NFt(t){var e=t.indexOf("%");if(e===-1)return t;for(var r=t.length,n="",s=0,i=0,a=e,o=gIe;e>-1&&e<r;){var c=AIe(t[e+1],4),u=AIe(t[e+2],0),l=c|u,d=Tq[l];if(o=Tq[256+o+d],i=i<<6|l&Tq[364+d],o===gIe)n+=t.slice(s,a),n+=i<=65535?String.fromCharCode(i):String.fromCharCode(55232+(i>>10),56320+(i&1023)),i=0,s=e+3,e=a=t.indexOf("%",s);else{if(o===RFt)return null;if(e+=3,e<r&&t.charCodeAt(e)===37)continue;return null}}return n+t.slice(s)}var OFt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};function AIe(t,e){var r=OFt[t];return r===void 0?255:r<<e}yIe.exports=NFt});var vIe=E((c4r,SIe)=>{"use strict";var bIe=xIe(),EIe=/\+/g,_Ie=function(){};_Ie.prototype=Object.create(null);function PFt(t){let e=new _Ie;if(typeof t!="string")return e;let r=t.length,n="",s="",i=-1,a=-1,o=!1,c=!1,u=!1,l=!1,d=!1,f=0;for(let p=0;p<r+1;p++)if(f=p!==r?t.charCodeAt(p):38,f===38){if(d=a>i,d||(a=p),n=t.slice(i+1,a),d||n.length>0){u&&(n=n.replace(EIe," ")),o&&(n=bIe(n)||n),d&&(s=t.slice(a+1,p),l&&(s=s.replace(EIe," ")),c&&(s=bIe(s)||s));let m=e[n];m===void 0?e[n]=s:m.pop?m.push(s):e[n]=[m,s]}s="",i=p,a=p,o=!1,c=!1,u=!1,l=!1}else f===61?a<=i?a=p:c=!0:f===43?a>i?l=!0:u=!0:f===37&&(a>i?c=!0:o=!0);return e}SIe.exports=PFt});var IIe=E((u4r,CIe)=>{var il=Array.from({length:256},(t,e)=>"%"+((e<16?"0":"")+e.toString(16)).toUpperCase()),DFt=new Int8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0]);function kFt(t){let e=t.length;if(e===0)return"";let r="",n=0,s=0;e:for(;s<e;s++){let i=t.charCodeAt(s);for(;i<128;){if(DFt[i]!==1&&(n<s&&(r+=t.slice(n,s)),n=s+1,r+=il[i]),++s===e)break e;i=t.charCodeAt(s)}if(n<s&&(r+=t.slice(n,s)),i<2048){n=s+1,r+=il[192|i>>6]+il[128|i&63];continue}if(i<55296||i>=57344){n=s+1,r+=il[224|i>>12]+il[128|i>>6&63]+il[128|i&63];continue}if(++s,s>=e)throw new Error("URI malformed");let a=t.charCodeAt(s)&1023;n=s+1,i=65536+((i&1023)<<10|a),r+=il[240|i>>18]+il[128|i>>12&63]+il[128|i>>6&63]+il[128|i&63]}return n===0?t:n<e?r+t.slice(n):r}CIe.exports={encodeString:kFt}});var RIe=E((l4r,wIe)=>{"use strict";var{encodeString:wq}=IIe();function TIe(t){let e=typeof t;return e==="string"?wq(t):e==="bigint"?t.toString():e==="boolean"?t?"true":"false":e==="number"&&Number.isFinite(t)?t<1e21?""+t:wq(""+t):""}function LFt(t){let e="";if(t===null||typeof t!="object")return e;let r="&",n=Object.keys(t),s=n.length,i=0;for(let a=0;a<s;a++){let o=n[a],c=t[o],u=wq(o)+"=";if(a&&(e+=r),Array.isArray(c)){i=c.length;for(let l=0;l<i;l++)l&&(e+=r),e+=u,e+=TIe(c[l])}else e+=u,e+=TIe(c)}return e}wIe.exports=LFt});var DIe=E((d4r,gS)=>{"use strict";var NIe=vIe(),OIe=RIe(),PIe={parse:NIe,stringify:OIe};gS.exports=PIe;gS.exports.default=PIe;gS.exports.parse=NIe;gS.exports.stringify=OIe});var LIe=E(kIe=>{"use strict";Object.defineProperty(kIe,"__esModule",{value:!0})});var BIe=E(AS=>{"use strict";Object.defineProperty(AS,"__esModule",{value:!0});AS.types=void 0;var BFt;(function(t){t[t.ROOT=0]="ROOT",t[t.GROUP=1]="GROUP",t[t.POSITION=2]="POSITION",t[t.SET=3]="SET",t[t.RANGE=4]="RANGE",t[t.REPETITION=5]="REPETITION",t[t.REFERENCE=6]="REFERENCE",t[t.CHAR=7]="CHAR"})(BFt=AS.types||(AS.types={}))});var WIe=E(MIe=>{"use strict";Object.defineProperty(MIe,"__esModule",{value:!0})});var Ld=E(kd=>{"use strict";var MFt=kd&&kd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Rq=kd&&kd.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&MFt(e,t,r)};Object.defineProperty(kd,"__esModule",{value:!0});Rq(LIe(),kd);Rq(BIe(),kd);Rq(WIe(),kd)});var TP=E(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.anyChar=Wi.notWhitespace=Wi.whitespace=Wi.notInts=Wi.ints=Wi.notWords=Wi.words=void 0;var Hr=Ld(),$Ie=()=>[{type:Hr.types.RANGE,from:48,to:57}],FIe=()=>[{type:Hr.types.CHAR,value:95},{type:Hr.types.RANGE,from:97,to:122},{type:Hr.types.RANGE,from:65,to:90},{type:Hr.types.RANGE,from:48,to:57}],UIe=()=>[{type:Hr.types.CHAR,value:9},{type:Hr.types.CHAR,value:10},{type:Hr.types.CHAR,value:11},{type:Hr.types.CHAR,value:12},{type:Hr.types.CHAR,value:13},{type:Hr.types.CHAR,value:32},{type:Hr.types.CHAR,value:160},{type:Hr.types.CHAR,value:5760},{type:Hr.types.RANGE,from:8192,to:8202},{type:Hr.types.CHAR,value:8232},{type:Hr.types.CHAR,value:8233},{type:Hr.types.CHAR,value:8239},{type:Hr.types.CHAR,value:8287},{type:Hr.types.CHAR,value:12288},{type:Hr.types.CHAR,value:65279}],WFt=()=>[{type:Hr.types.CHAR,value:10},{type:Hr.types.CHAR,value:13},{type:Hr.types.CHAR,value:8232},{type:Hr.types.CHAR,value:8233}];Wi.words=()=>({type:Hr.types.SET,set:FIe(),not:!1});Wi.notWords=()=>({type:Hr.types.SET,set:FIe(),not:!0});Wi.ints=()=>({type:Hr.types.SET,set:$Ie(),not:!1});Wi.notInts=()=>({type:Hr.types.SET,set:$Ie(),not:!0});Wi.whitespace=()=>({type:Hr.types.SET,set:UIe(),not:!1});Wi.notWhitespace=()=>({type:Hr.types.SET,set:UIe(),not:!0});Wi.anyChar=()=>({type:Hr.types.SET,set:WFt(),not:!0})});var jIe=E(ac=>{"use strict";var $Ft=ac&&ac.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),FFt=ac&&ac.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),UFt=ac&&ac.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&$Ft(e,t,r);return FFt(e,t),e};Object.defineProperty(ac,"__esModule",{value:!0});ac.tokenizeClass=ac.strToChars=void 0;var qIe=Ld(),Xy=UFt(TP()),qFt="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";ac.strToChars=t=>{let e=/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g;return t.replace(e,(r,n,s,i,a,o,c)=>{if(s)return r;let u=n?8:i?parseInt(i,16):a?parseInt(a,16):o?qFt.indexOf(o):{0:0,t:9,n:10,v:11,f:12,r:13}[c],l=String.fromCharCode(u);return/[[\]{}^$.|?*+()]/.test(l)?`\\${l}`:l})};ac.tokenizeClass=(t,e)=>{var r,n,s,i,a,o,c;let u=[],l,d,f=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(l=f.exec(t))!==null;){let p=(c=(o=(a=(i=(s=(n=(r=l[1]&&Xy.words())!==null&&r!==void 0?r:l[2]&&Xy.ints())!==null&&n!==void 0?n:l[3]&&Xy.whitespace())!==null&&s!==void 0?s:l[4]&&Xy.notWords())!==null&&i!==void 0?i:l[5]&&Xy.notInts())!==null&&a!==void 0?a:l[6]&&Xy.notWhitespace())!==null&&o!==void 0?o:l[7]&&{type:qIe.types.RANGE,from:(l[8]||l[9]).charCodeAt(0),to:(d=l[10]).charCodeAt(d.length-1)})!==null&&c!==void 0?c:(d=l[16])&&{type:qIe.types.CHAR,value:d.charCodeAt(0)};if(p)u.push(p);else return[u,f.lastIndex]}throw new SyntaxError(`Invalid regular expression: /${e}/: Unterminated character class`)}});var Nq=E(al=>{"use strict";var jFt=al&&al.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),HFt=al&&al.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),QIe=al&&al.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&jFt(e,t,r);return HFt(e,t),e};Object.defineProperty(al,"__esModule",{value:!0});al.tokenizer=void 0;var HIe=QIe(jIe()),gi=Ld(),oh=QIe(TP());al.tokenizer=t=>{let e=0,r,n={type:gi.types.ROOT,stack:[]},s=n,i=n.stack,a=[],o=[],c=0,u=d=>{throw new SyntaxError(`Invalid regular expression: /${t}/: Nothing to repeat at column ${d-1}`)},l=HIe.strToChars(t);for(;e<l.length;)switch(r=l[e++]){case"\\":if(e===l.length)throw new SyntaxError(`Invalid regular expression: /${t}/: \\ at end of pattern`);switch(r=l[e++]){case"b":i.push({type:gi.types.POSITION,value:"b"});break;case"B":i.push({type:gi.types.POSITION,value:"B"});break;case"w":i.push(oh.words());break;case"W":i.push(oh.notWords());break;case"d":i.push(oh.ints());break;case"D":i.push(oh.notInts());break;case"s":i.push(oh.whitespace());break;case"S":i.push(oh.notWhitespace());break;default:if(/\d/.test(r)){let d=r;for(;e<l.length&&/\d/.test(l[e]);)d+=l[e++];let f=parseInt(d,10),p={type:gi.types.REFERENCE,value:f};i.push(p),o.push({reference:p,stack:i,index:i.length-1})}else i.push({type:gi.types.CHAR,value:r.charCodeAt(0)})}break;case"^":i.push({type:gi.types.POSITION,value:"^"});break;case"$":i.push({type:gi.types.POSITION,value:"$"});break;case"[":{let d;l[e]==="^"?(d=!0,e++):d=!1;let f=HIe.tokenizeClass(l.slice(e),t);e+=f[1],i.push({type:gi.types.SET,set:f[0],not:d});break}case".":i.push(oh.anyChar());break;case"(":{let d={type:gi.types.GROUP,stack:[],remember:!0};if(l[e]==="?"){if(r=l[e+1],e+=2,r==="=")d.followedBy=!0;else if(r==="!")d.notFollowedBy=!0;else if(r!==":")throw new SyntaxError(`Invalid regular expression: /${t}/: Invalid group, character '${r}' after '?' at column ${e-1}`);d.remember=!1}else c+=1;i.push(d),a.push(s),s=d,i=d.stack;break}case")":if(a.length===0)throw new SyntaxError(`Invalid regular expression: /${t}/: Unmatched ) at column ${e-1}`);s=a.pop(),i=s.options?s.options[s.options.length-1]:s.stack;break;case"|":{s.options||(s.options=[s.stack],delete s.stack);let d=[];s.options.push(d),i=d;break}case"{":{let d=/^(\d+)(,(\d+)?)?\}/.exec(l.slice(e)),f,p;d!==null?(i.length===0&&u(e),f=parseInt(d[1],10),p=d[2]?d[3]?parseInt(d[3],10):1/0:f,e+=d[0].length,i.push({type:gi.types.REPETITION,min:f,max:p,value:i.pop()})):i.push({type:gi.types.CHAR,value:123});break}case"?":i.length===0&&u(e),i.push({type:gi.types.REPETITION,min:0,max:1,value:i.pop()});break;case"+":i.length===0&&u(e),i.push({type:gi.types.REPETITION,min:1,max:1/0,value:i.pop()});break;case"*":i.length===0&&u(e),i.push({type:gi.types.REPETITION,min:0,max:1/0,value:i.pop()});break;default:i.push({type:gi.types.CHAR,value:r.charCodeAt(0)})}if(a.length!==0)throw new SyntaxError(`Invalid regular expression: /${t}/: Unterminated group`);return QFt(o,c),n};function QFt(t,e){for(let r of t.reverse())if(e<r.reference.value){r.reference.type=gi.types.CHAR;let n=r.reference.value.toString();if(r.reference.value=parseInt(n,8),!/^[0-7]+$/.test(n)){let s=0;for(;n[s]!=="8"&&n[s]!=="9";)s+=1;if(s===0?(r.reference.value=n.charCodeAt(0),s+=1):r.reference.value=parseInt(n.slice(0,s),8),n.length>s){let i=r.stack.splice(r.index+1);for(let a of n.slice(s))r.stack.push({type:gi.types.CHAR,value:a.charCodeAt(0)});r.stack.push(...i)}}}}});var VIe=E($i=>{"use strict";var GFt=$i&&$i.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),VFt=$i&&$i.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),zFt=$i&&$i.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&GFt(e,t,r);return VFt(e,t),e};Object.defineProperty($i,"__esModule",{value:!0});$i.NOTANYCHAR=$i.WHITESPACE=$i.WORDS=$i.INTS=void 0;var wP=zFt(TP()),GIe=Ld();function RP(t){let e={},r=0;for(let n of t)n.type===GIe.types.CHAR&&(e[n.value]=!0),n.type===GIe.types.RANGE&&(e[`${n.from}-${n.to}`]=!0),r+=1;return{lookup:()=>Object.assign({},e),len:r}}$i.INTS=RP(wP.ints().set);$i.WORDS=RP(wP.words().set);$i.WHITESPACE=RP(wP.whitespace().set);$i.NOTANYCHAR=RP(wP.anyChar().set)});var KIe=E(oc=>{"use strict";var KFt=oc&&oc.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),YFt=oc&&oc.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),JFt=oc&&oc.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&KFt(e,t,r);return YFt(e,t),e};Object.defineProperty(oc,"__esModule",{value:!0});oc.writeSetTokens=oc.setChar=void 0;var DP=Ld(),NP=JFt(VIe());function PP(t){return t===94?"\\^":t===92?"\\\\":t===93?"\\]":t===45?"\\-":String.fromCharCode(t)}oc.setChar=PP;function OP(t,{lookup:e,len:r}){if(r!==t.length)return!1;let n=e();for(let s of t){if(s.type===DP.types.SET)return!1;let i=s.type===DP.types.CHAR?s.value:`${s.from}-${s.to}`;if(n[i])n[i]=!1;else return!1}return!0}function zIe(t,e=!1){if(OP(t.set,NP.INTS))return t.not?"\\D":"\\d";if(OP(t.set,NP.WORDS))return t.not?"\\W":"\\w";if(t.not&&OP(t.set,NP.NOTANYCHAR))return".";if(OP(t.set,NP.WHITESPACE))return t.not?"\\S":"\\s";let r="";for(let s=0;s<t.set.length;s++){let i=t.set[s];r+=XFt(i)}let n=`${t.not?"^":""}${r}`;return e?n:`[${n}]`}oc.writeSetTokens=zIe;function XFt(t){return t.type===DP.types.CHAR?PP(t.value):t.type===DP.types.RANGE?`${PP(t.from)}-${PP(t.to)}`:zIe(t,!0)}});var Pq=E(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.reconstruct=void 0;var Hp=Ld(),Oq=KIe(),YIe=t=>t.map(Zy.reconstruct).join(""),JIe=t=>{if("options"in t)return t.options.map(YIe).join("|");if("stack"in t)return YIe(t.stack);throw new Error("options or stack must be Root or Group token")};Zy.reconstruct=t=>{switch(t.type){case Hp.types.ROOT:return JIe(t);case Hp.types.CHAR:{let e=String.fromCharCode(t.value);return(/[[\\{}$^.|?*+()]/.test(e)?"\\":"")+e}case Hp.types.POSITION:return t.value==="^"||t.value==="$"?t.value:`\\${t.value}`;case Hp.types.REFERENCE:return`\\${t.value}`;case Hp.types.SET:return Oq.writeSetTokens(t);case Hp.types.GROUP:return`(${t.remember?"":t.followedBy?"?=":t.notFollowedBy?"?!":"?:"}${JIe(t)})`;case Hp.types.REPETITION:{let{min:e,max:r}=t,n;return e===0&&r===1?n="?":e===1&&r===1/0?n="+":e===0&&r===1/0?n="*":r===1/0?n=`{${e},}`:e===r?n=`{${e}}`:n=`{${e},${r}}`,`${Zy.reconstruct(t.value)}${n}`}case Hp.types.RANGE:return`${Oq.setChar(t.from)}-${Oq.setChar(t.to)}`;default:throw new Error(`Invalid token type ${t}`)}}});var eTe=E((cc,kP)=>{"use strict";var ZFt=cc&&cc.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Dq=cc&&cc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ZFt(e,t,r)};Object.defineProperty(cc,"__esModule",{value:!0});cc.types=void 0;var XIe=Ld();Object.defineProperty(cc,"types",{enumerable:!0,get:function(){return XIe.types}});Dq(Nq(),cc);Dq(Pq(),cc);var ZIe=Nq(),eUt=Pq();Dq(Ld(),cc);cc.default=ZIe.tokenizer;kP.exports=ZIe.tokenizer;kP.exports.types=XIe.types;kP.exports.reconstruct=eUt.reconstruct});var rTe=E((_4r,LP)=>{"use strict";var tTe=eTe(),tUt=tTe.types;function kq(t,e){e||(e={});let r=e.limit===void 0?25:e.limit;rUt(t)?t=t.source:typeof t!="string"&&(t=String(t));try{t=tTe(t)}catch{return!1}let n=0;return function s(i,a){let o,c,u;if(i.type===tUt.REPETITION&&(a++,n++,a>1||n>r))return!1;if(i.options){for(o=0,u=i.options.length;o<u;o++)if(c=s({stack:i.options[o]},a),!c)return!1}let l=i.stack||i.value&&i.value.stack;if(!l)return!0;for(o=0;o<l.length;o++)if(c=s(l[o],a),!c)return!1;return!0}(t,0)}function rUt(t){return{}.toString.call(t)==="[object RegExp]"}LP.exports=kq;LP.exports.default=kq;LP.exports.safeRegex=kq});var BP=E((S4r,nTe)=>{"use strict";nTe.exports={name:"__fmw_internal_strategy_merged_tree_http_method__",storage:function(){let t={};return{get:e=>t[e]||null,set:(e,r)=>{t[e]=r}}},deriveConstraint:t=>t.method,mustMatchWhenDerived:!0}});var lTe=E((v4r,uTe)=>{"use strict";var sTe=Go(),iTe=BP(),aTe=Symbol("treeData");function oTe(t,e=""){let r="",n=Object.keys(t);for(let s=0;s<n.length;s++){let i=n[s],a=t[i],o=s===n.length-1,c=o?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",u=o?" ":"\u2502 ",d=(a[aTe]||"").split(`
|
|
`).join(`
|
|
`+e+u);r+=e+c+i+d+`
|
|
`,r+=oTe(a,e+u)}return r}function nUt(t){let e=t.name||"";return e=e.replace("bound","").trim(),e=(e||"anonymous")+"()",e}function cTe(t){return Array.isArray(t)?t.map(e=>cTe(e)):typeof t=="symbol"?t.toString():typeof t=="function"?nUt(t):t}function sUt(t,e){if(!e.includeMeta)return{};let r=e.buildPrettyMeta(t),n={},s=e.includeMeta;Array.isArray(s)||(s=Reflect.ownKeys(r));for(let i of s){if(!Object.prototype.hasOwnProperty.call(r,i))continue;let a=i.toString(),o=r[i];if(o!=null){let c=JSON.stringify(cTe(o));n[a]=c}}return n}function iUt(t){let e="";for(let[r,n]of Object.entries(t))e+=`
|
|
\u2022 (${r}) ${n}`;return e}function aUt(t){let e={...t.opts.constraints},r=e[iTe.name];return delete e[iTe.name],{...t,method:r,opts:{constraints:e}}}function oUt(t){let e=` (${t.method})`,r=t.opts.constraints||{};return Object.keys(r).length!==0&&(e+=" "+JSON.stringify(r)),e+=iUt(t.metaData),e}function cUt(t){return t.reduce((e,r)=>{for(let n of e)if(sTe(r.opts.constraints,n.opts.constraints)&&sTe(r.metaData,n.metaData))return n.method+=", "+r.method,e;return e.push(r),e},[])}function uUt(t,e,r){let n=t.routes;return r.method===void 0&&(n=n.map(aUt)),n=n.map(s=>(s.metaData=sUt(s,r),s)),r.method===void 0&&(n=cUt(n)),n.map(oUt).join(`
|
|
${e}`)}function MP(t,e,r,n){if((t.isLeafNode||n.commonPrefix!==!1)&&(r=r||"(empty root node)",e=e[r]={},t.isLeafNode&&(e[aTe]=uUt(t,r,n)),r=""),t.staticChildren)for(let s of Object.values(t.staticChildren))MP(s,e,r+s.prefix,n);if(t.parametricChildren)for(let s of Object.values(t.parametricChildren)){let i=Array.from(s.nodePaths).join("|");MP(s,e,r+i,n)}t.wildcardChild&&MP(t.wildcardChild,e,"*",n)}function lUt(t,e){let r={};return MP(t,r,t.prefix,e),oTe(r)}uTe.exports={prettyPrintTree:lUt}});var fTe=E((C4r,dTe)=>{"use strict";var dUt=BP(),Lq=class{constructor(){this.unconstrainedHandler=null,this.constraints=[],this.handlers=[],this.constrainedHandlerStores=null}getMatchingHandler(e){return e===void 0?this.unconstrainedHandler:this._getHandlerMatchingConstraints(e)}addHandler(e,r){let n=r.params,s=r.opts.constraints||{},i={params:n,constraints:s,handler:r.handler,store:r.store||null,_createParamsObject:this._compileCreateParamsObject(n)},a=Object.keys(s);a.length===0&&(this.unconstrainedHandler=i);for(let c of a)this.constraints.includes(c)||(c==="version"?this.constraints.unshift(c):this.constraints.push(c));let o=a.includes(dUt.name);if(!o&&this.handlers.length>=31)throw new Error("find-my-way supports a maximum of 31 route handlers per node when there are constraints, limit reached");this.handlers.push(i),this.handlers.sort((c,u)=>Object.keys(c.constraints).length-Object.keys(u.constraints).length),o||this._compileGetHandlerMatchingConstraints(e,s)}_compileCreateParamsObject(e){let r=[];for(let n=0;n<e.length;n++)r.push(`'${e[n]}': paramsArray[${n}]`);return new Function("paramsArray",`return {${r.join(",")}}`)}_getHandlerMatchingConstraints(){return null}_buildConstraintStore(e,r){for(let n=0;n<this.handlers.length;n++){let i=this.handlers[n].constraints[r];if(i!==void 0){let a=e.get(i)||0;a|=1<<n,e.set(i,a)}}}_constrainedIndexBitmask(e){let r=0;for(let n=0;n<this.handlers.length;n++)this.handlers[n].constraints[e]!==void 0&&(r|=1<<n);return~r}_compileGetHandlerMatchingConstraints(e){this.constrainedHandlerStores={};for(let n of this.constraints){let s=e.newStoreForConstraint(n);this.constrainedHandlerStores[n]=s,this._buildConstraintStore(s,n)}let r=[];r.push(`
|
|
let candidates = ${(1<<this.handlers.length)-1}
|
|
let mask, matches
|
|
`);for(let n of this.constraints){r.push(`
|
|
mask = ${this._constrainedIndexBitmask(n)}
|
|
value = derivedConstraints.${n}
|
|
`);let i=e.strategies[n].mustMatchWhenDerived?"matches":"(matches | mask)";r.push(`
|
|
if (value === undefined) {
|
|
candidates &= mask
|
|
} else {
|
|
matches = this.constrainedHandlerStores.${n}.get(value) || 0
|
|
candidates &= ${i}
|
|
}
|
|
if (candidates === 0) return null;
|
|
`)}for(let n in e.strategies)e.strategies[n].mustMatchWhenDerived&&!this.constraints.includes(n)&&r.push(`if (derivedConstraints.${n} !== undefined) return null`);r.push("return this.handlers[Math.floor(Math.log2(candidates))]"),this._getHandlerMatchingConstraints=new Function("derivedConstraints",r.join(`
|
|
`))}};dTe.exports=Lq});var mTe=E((I4r,pTe)=>{"use strict";var fUt=fTe(),jP={STATIC:0,PARAMETRIC:1,WILDCARD:2},WP=class{constructor(){this.isLeafNode=!1,this.routes=null,this.handlerStorage=null}addRoute(e,r){this.routes===null&&(this.routes=[]),this.handlerStorage===null&&(this.handlerStorage=new fUt),this.isLeafNode=!0,this.routes.push(e),this.handlerStorage.addHandler(r,e)}},$P=class extends WP{constructor(){super(),this.staticChildren={}}findStaticMatchingChild(e,r){let n=this.staticChildren[e.charAt(r)];return n===void 0||!n.matchPrefix(e,r)?null:n}getStaticChild(e,r=0){if(e.length===r)return this;let n=this.findStaticMatchingChild(e,r);return n?n.getStaticChild(e,r+n.prefix.length):null}createStaticChild(e){if(e.length===0)return this;let r=this.staticChildren[e.charAt(0)];if(r){let s=1;for(;s<r.prefix.length;s++)if(e.charCodeAt(s)!==r.prefix.charCodeAt(s)){r=r.split(this,s);break}return r.createStaticChild(e.slice(s))}let n=e.charAt(0);return this.staticChildren[n]=new FP(e),this.staticChildren[n]}},FP=class t extends $P{constructor(e){super(),this.prefix=e,this.wildcardChild=null,this.parametricChildren=[],this.kind=jP.STATIC,this._compilePrefixMatch()}getParametricChild(e){let r=e&&e.source,n=this.parametricChildren.find(s=>(s.regex&&s.regex.source)===r);return n||null}createParametricChild(e,r,n){let s=this.getParametricChild(e);return s?(s.nodePaths.add(n),s):(s=new UP(e,r,n),this.parametricChildren.push(s),this.parametricChildren.sort((i,a)=>i.isRegex?a.isRegex?i.staticSuffix===null?1:a.staticSuffix===null?-1:a.staticSuffix.endsWith(i.staticSuffix)?1:i.staticSuffix.endsWith(a.staticSuffix)?-1:0:-1:1),s)}getWildcardChild(){return this.wildcardChild}createWildcardChild(){return this.wildcardChild=this.getWildcardChild()||new qP,this.wildcardChild}split(e,r){let n=this.prefix.slice(0,r),s=this.prefix.slice(r);this.prefix=s,this._compilePrefixMatch();let i=new t(n);return i.staticChildren[s.charAt(0)]=this,e.staticChildren[n.charAt(0)]=i,i}getNextNode(e,r,n,s){let i=this.findStaticMatchingChild(e,r),a=0;if(i===null){if(this.parametricChildren.length===0)return this.wildcardChild;i=this.parametricChildren[0],a=1}this.wildcardChild!==null&&n.push({paramsCount:s,brotherPathIndex:r,brotherNode:this.wildcardChild});for(let o=this.parametricChildren.length-1;o>=a;o--)n.push({paramsCount:s,brotherPathIndex:r,brotherNode:this.parametricChildren[o]});return i}_compilePrefixMatch(){if(this.prefix.length===1){this.matchPrefix=()=>!0;return}let e=[];for(let r=1;r<this.prefix.length;r++){let n=this.prefix.charCodeAt(r);e.push(`path.charCodeAt(i + ${r}) === ${n}`)}this.matchPrefix=new Function("path","i",`return ${e.join(" && ")}`)}},UP=class extends $P{constructor(e,r,n){super(),this.isRegex=!!e,this.regex=e||null,this.staticSuffix=r||null,this.kind=jP.PARAMETRIC,this.nodePaths=new Set([n])}getNextNode(e,r){return this.findStaticMatchingChild(e,r)}},qP=class extends WP{constructor(){super(),this.kind=jP.WILDCARD}getNextNode(){return null}};pTe.exports={StaticNode:FP,ParametricNode:UP,WildcardNode:qP,NODE_TYPES:jP}});var gTe=E((T4r,hTe)=>{"use strict";var pUt=require("node:assert");function yS(){if(!(this instanceof yS))return new yS;this.store={},this.maxMajor=0,this.maxMinors={},this.maxPatches={}}yS.prototype.set=function(t,e){if(typeof t!="string")throw new TypeError("Version should be a string");let[r,n,s]=t.split(".");if(isNaN(r))throw new TypeError("Major version must be a numeric value");return r=Number(r),n=Number(n)||0,s=Number(s)||0,r>=this.maxMajor&&(this.maxMajor=r,this.store.x=e,this.store["*"]=e,this.store["x.x"]=e,this.store["x.x.x"]=e),n>=(this.maxMinors[r]||0)&&(this.maxMinors[r]=n,this.store[`${r}.x`]=e,this.store[`${r}.x.x`]=e),s>=(this.maxPatches[`${r}.${n}`]||0)&&(this.maxPatches[`${r}.${n}`]=s,this.store[`${r}.${n}.x`]=e),this.store[`${r}.${n}.${s}`]=e,this};yS.prototype.get=function(t){return this.store[t]};hTe.exports={name:"version",mustMatchWhenDerived:!0,storage:yS,validate(t){pUt(typeof t=="string","Version should be a string")}}});var yTe=E((w4r,ATe)=>{"use strict";var mUt=require("node:assert");function hUt(){let t={},e=[];return{get:r=>{let n=t[r];if(n)return n;for(let s of e)if(s.host.test(r))return s.value},set:(r,n)=>{r instanceof RegExp?e.push({host:r,value:n}):t[r]=n}}}ATe.exports={name:"host",mustMatchWhenDerived:!1,storage:hUt,validate(t){mUt(typeof t=="string"||Object.prototype.toString.call(t)==="[object RegExp]","Host should be a string or a RegExp")}}});var bTe=E((R4r,xTe)=>{"use strict";var gUt=gTe(),AUt=yTe(),Bq=require("node:assert"),Mq=class{constructor(e){if(this.strategies={version:gUt,host:AUt},this.strategiesInUse=new Set,this.asyncStrategiesInUse=new Set,e)for(let r of Object.values(e))this.addConstraintStrategy(r)}isStrategyUsed(e){return this.strategiesInUse.has(e)||this.asyncStrategiesInUse.has(e)}hasConstraintStrategy(e){let r=this.strategies[e];return r!==void 0?r.isCustom||this.isStrategyUsed(e):!1}addConstraintStrategy(e){if(Bq(typeof e.name=="string"&&e.name!=="","strategy.name is required."),Bq(e.storage&&typeof e.storage=="function","strategy.storage function is required."),Bq(e.deriveConstraint&&typeof e.deriveConstraint=="function","strategy.deriveConstraint function is required."),this.strategies[e.name]&&this.strategies[e.name].isCustom)throw new Error(`There already exists a custom constraint with the name ${e.name}.`);if(this.isStrategyUsed(e.name))throw new Error(`There already exists a route with ${e.name} constraint.`);e.isCustom=!0,e.isAsync=e.deriveConstraint.length===3,this.strategies[e.name]=e,e.mustMatchWhenDerived&&this.noteUsage({[e.name]:e})}deriveConstraints(e,r,n){let s=this.deriveSyncConstraints(e,r);if(n===void 0)return s;this.deriveAsyncConstraints(s,e,r,n)}deriveSyncConstraints(e,r){}noteUsage(e){if(e){let r=this.strategiesInUse.size;for(let n in e)this.strategies[n].isAsync?this.asyncStrategiesInUse.add(n):this.strategiesInUse.add(n);r!==this.strategiesInUse.size&&this._buildDeriveConstraints()}}newStoreForConstraint(e){if(!this.strategies[e])throw new Error(`No strategy registered for constraint key ${e}`);return this.strategies[e].storage()}validateConstraints(e){for(let r in e){let n=e[r];if(typeof n>"u")throw new Error("Can't pass an undefined constraint value, must pass null or no key at all");let s=this.strategies[r];if(!s)throw new Error(`No strategy registered for constraint key ${r}`);s.validate&&s.validate(n)}}deriveAsyncConstraints(e,r,n,s){let i=this.asyncStrategiesInUse.size;if(i===0){s(null,e);return}e=e||{};for(let a of this.asyncStrategiesInUse)this.strategies[a].deriveConstraint(r,n,(c,u)=>{if(c!==null){s(c);return}e[a]=u,--i===0&&s(null,e)})}_buildDeriveConstraints(){if(this.strategiesInUse.size===0)return;let e=["return {"];for(let r of this.strategiesInUse){let n=this.strategies[r];n.isCustom?e.push(` ${n.name}: this.strategies.${r}.deriveConstraint(req, ctx),`):r==="version"?e.push(" version: req.headers['accept-version'],"):e.push(" host: req.headers.host || req.headers[':authority'],")}e.push("}"),this.deriveSyncConstraints=new Function("req","ctx",e.join(`
|
|
`)).bind(this)}};xTe.exports=Mq});var _Te=E((N4r,ETe)=>{"use strict";var yUt=["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"];ETe.exports=yUt});var CTe=E((O4r,vTe)=>{"use strict";function STe(t,e){return t===50?e===53?"%":e===51?"#":e===52?"$":e===54?"&":e===66||e===98?"+":e===67||e===99?",":e===70||e===102?"/":null:t===51?e===65||e===97?":":e===66||e===98?";":e===68||e===100?"=":e===70||e===102?"?":null:t===52&&e===48?"@":null}function xUt(t,e){let r=!1,n=!1,s="";for(let a=1;a<t.length;a++){let o=t.charCodeAt(a);if(o===37){let c=t.charCodeAt(a+1),u=t.charCodeAt(a+2);STe(c,u)===null?r=!0:(n=!0,c===50&&u===53&&(r=!0,t=t.slice(0,a+1)+"25"+t.slice(a+1),a+=2),a+=2)}else if(o===63||o===35||o===59&&e){s=t.slice(a+1),t=t.slice(0,a);break}}return{path:r?decodeURI(t):t,querystring:s,shouldDecodeParam:n}}function bUt(t){let e=t.indexOf("%");if(e===-1)return t;let r="",n=e;for(let s=e;s<t.length;s++)if(t.charCodeAt(s)===37){let i=t.charCodeAt(s+1),a=t.charCodeAt(s+2),o=STe(i,a);r+=t.slice(n,s)+o,n=s+3}return t.slice(0,e)+r+t.slice(n)}vTe.exports={safeDecodeURI:xUt,safeDecodeURIComponent:bUt}});var qq=E((P4r,DTe)=>{"use strict";var fs=require("node:assert"),EUt=DIe(),HP=rTe(),$q=Go(),{prettyPrintTree:_Ut}=lTe(),{StaticNode:ITe,NODE_TYPES:TTe}=mTe(),SUt=bTe(),ex=_Te(),Wq=BP(),{safeDecodeURI:vUt,safeDecodeURIComponent:wTe}=CTe(),RTe=/^https?:\/\/.*?\//,ch=/(\/:[^/()]*?)\?(\/?)/;if(!HP(RTe))throw new Error("the FULL_PATH_REGEXP is not safe, update this module");if(!HP(ch))throw new Error("the OPTIONAL_PARAM_REGEXP is not safe, update this module");function zn(t){if(!(this instanceof zn))return new zn(t);t=t||{},this._opts=t,t.defaultRoute?(fs(typeof t.defaultRoute=="function","The default route must be a function"),this.defaultRoute=t.defaultRoute):this.defaultRoute=null,t.onBadUrl?(fs(typeof t.onBadUrl=="function","The bad url handler must be a function"),this.onBadUrl=t.onBadUrl):this.onBadUrl=null,t.buildPrettyMeta?(fs(typeof t.buildPrettyMeta=="function","buildPrettyMeta must be a function"),this.buildPrettyMeta=t.buildPrettyMeta):this.buildPrettyMeta=CUt,t.querystringParser?(fs(typeof t.querystringParser=="function","querystringParser must be a function"),this.querystringParser=t.querystringParser):this.querystringParser=e=>e===""?{}:EUt.parse(e),this.caseSensitive=t.caseSensitive===void 0?!0:t.caseSensitive,this.ignoreTrailingSlash=t.ignoreTrailingSlash||!1,this.ignoreDuplicateSlashes=t.ignoreDuplicateSlashes||!1,this.maxParamLength=t.maxParamLength||100,this.allowUnsafeRegex=t.allowUnsafeRegex||!1,this.constrainer=new SUt(t.constraints),this.useSemicolonDelimiter=t.useSemicolonDelimiter||!1,this.routes=[],this.trees={}}zn.prototype.on=function(e,r,n,s,i){typeof n=="function"&&(s!==void 0&&(i=s),s=n,n={}),fs(typeof r=="string","Path should be a string"),fs(r.length>0,"The path could not be empty"),fs(r[0]==="/"||r[0]==="*","The first character of a path should be `/` or `*`"),fs(typeof s=="function","Handler should be a function");let a=r.match(ch);if(a){fs(r.length===a.index+a[0].length,"Optional Parameter needs to be the last parameter of the path");let u=r.replace(ch,"$1$2"),l=r.replace(ch,"$2")||"/";this.on(e,u,n,s,i),this.on(e,l,n,s,i);return}let o=r;this.ignoreDuplicateSlashes&&(r=Fq(r)),this.ignoreTrailingSlash&&(r=Uq(r));let c=Array.isArray(e)?e:[e];for(let u of c)fs(typeof u=="string","Method should be a string"),fs(ex.includes(u),`Method '${u}' is not an http method.`),this._on(u,r,n,s,i,o)};zn.prototype._on=function(e,r,n,s,i){let a={};n.constraints!==void 0&&(fs(typeof n.constraints=="object"&&n.constraints!==null,"Constraints should be an object"),Object.keys(n.constraints).length!==0&&(a=n.constraints)),this.constrainer.validateConstraints(a),this.constrainer.noteUsage(a),this.trees[e]===void 0&&(this.trees[e]=new ITe("/"));let o=r;if(o==="*"&&this.trees[e].prefix.length!==0){let f=this.trees[e];this.trees[e]=new ITe(""),this.trees[e].staticChildren["/"]=f}let c=this.trees[e],u=c.prefix.length,l=[];for(let f=0;f<=o.length;f++){if(o.charCodeAt(f)===58&&o.charCodeAt(f+1)===58){f++;continue}let p=o.charCodeAt(f)===58&&o.charCodeAt(f+1)!==58,m=o.charCodeAt(f)===42;if(p||m||f===o.length&&f!==u){let h=o.slice(u,f);this.caseSensitive||(h=h.toLowerCase()),h=h.split("::").join(":"),h=h.split("%").join("%25"),c=c.createStaticChild(h)}if(p){let h=!1,A=!0,g="",b=[],y=f+1;for(let x=y;;x++){let v=o.charCodeAt(x),C=v===40,R=v===45||v===46,w=v===47||x===o.length;if(C||R||w){let N=o.slice(y,x);if(l.push(N),h=h||C||R,C){let M=PTe(o,x),k=o.slice(x,M+1);this.allowUnsafeRegex||fs(HP(new RegExp(k)),`The regex '${k}' is not safe!`),b.push(OTe(k)),x=M+1,A=!0}else b.push(A?"(.*?)":`(${g}|(?:(?!${g}).)*)`),A=!1;let P=x;for(;x<o.length;x++){let M=o.charCodeAt(x);if(M===47)break;if(M===58)if(o.charCodeAt(x+1)===58)x++;else break}let L=o.slice(P,x);if(L&&(L=L.split("::").join(":"),L=L.split("%").join("%25"),b.push(g=NTe(L))),y=x+1,w||o.charCodeAt(x)===47||x===o.length){let M=h?"()"+L:L,k=o.slice(f,x);o=o.slice(0,f+1)+M+o.slice(x),f+=M.length;let B=h?new RegExp("^"+b.join("")+"$"):null;c=c.createParametricChild(B,L||null,k),u=f+1;break}}}}else if(m&&(l.push("*"),c=c.createWildcardChild(),u=f+1,f!==o.length-1))throw new Error("Wildcard must be the last character in the route")}this.caseSensitive||(o=o.toLowerCase()),o==="*"&&(o="/*");for(let f of this.routes){let p=f.opts.constraints||{};if(f.method===e&&f.pattern===o&&$q(p,a))throw new Error(`Method '${e}' already declared for route '${o}' with constraints '${JSON.stringify(a)}'`)}let d={method:e,path:r,pattern:o,params:l,opts:n,handler:s,store:i};this.routes.push(d),c.addRoute(d,this.constrainer)};zn.prototype.hasRoute=function(e,r,n){return this.findRoute(e,r,n)!==null};zn.prototype.findRoute=function(e,r,n={}){if(this.trees[e]===void 0)return null;let s=r,i=this.trees[e],a=i.prefix.length,o=[];for(let c=0;c<=s.length;c++){if(s.charCodeAt(c)===58&&s.charCodeAt(c+1)===58){c++;continue}let u=s.charCodeAt(c)===58&&s.charCodeAt(c+1)!==58,l=s.charCodeAt(c)===42;if(u||l||c===s.length&&c!==a){let d=s.slice(a,c);if(this.caseSensitive||(d=d.toLowerCase()),d=d.split("::").join(":"),d=d.split("%").join("%25"),i=i.getStaticChild(d),i===null)return null}if(u){let d=!1,f=!0,p="",m=[],h=c+1;for(let A=h;;A++){let g=s.charCodeAt(A),b=g===40,y=g===45||g===46,x=g===47||A===s.length;if(b||y||x){let v=s.slice(h,A);if(o.push(v),d=d||b||y,b){let w=PTe(s,A),N=s.slice(A,w+1);this.allowUnsafeRegex||fs(HP(new RegExp(N)),`The regex '${N}' is not safe!`),m.push(OTe(N)),A=w+1,f=!1}else m.push(f?"(.*?)":`(${p}|(?:(?!${p}).)*)`),f=!1;let C=A;for(;A<s.length;A++){let w=s.charCodeAt(A);if(w===47)break;if(w===58)if(s.charCodeAt(A+1)===58)A++;else break}let R=s.slice(C,A);if(R&&(R=R.split("::").join(":"),R=R.split("%").join("%25"),m.push(p=NTe(R))),h=A+1,x||s.charCodeAt(A)===47||A===s.length){let w=d?"()"+R:R,N=s.slice(c,A);s=s.slice(0,c+1)+w+s.slice(A),c+=w.length;let P=d?new RegExp("^"+m.join("")+"$"):null;if(i=i.getParametricChild(P,R||null,N),i===null)return null;a=c+1;break}}}}else if(l&&(o.push("*"),i=i.getWildcardChild(),a=c+1,c!==s.length-1))throw new Error("Wildcard must be the last character in the route")}this.caseSensitive||(s=s.toLowerCase());for(let c of this.routes){let u=c.opts.constraints||{};if(c.method===e&&c.pattern===s&&$q(u,n))return{handler:c.handler,store:c.store,params:c.params}}return null};zn.prototype.hasConstraintStrategy=function(t){return this.constrainer.hasConstraintStrategy(t)};zn.prototype.addConstraintStrategy=function(t){this.constrainer.addConstraintStrategy(t),this._rebuild(this.routes)};zn.prototype.reset=function(){this.trees={},this.routes=[]};zn.prototype.off=function(e,r,n){fs(typeof r=="string","Path should be a string"),fs(r.length>0,"The path could not be empty"),fs(r[0]==="/"||r[0]==="*","The first character of a path should be `/` or `*`"),fs(typeof n>"u"||typeof n=="object"&&!Array.isArray(n)&&n!==null,"Constraints should be an object or undefined.");let s=r.match(ch);if(s){fs(r.length===s.index+s[0].length,"Optional Parameter needs to be the last parameter of the path");let a=r.replace(ch,"$1$2"),o=r.replace(ch,"$2");this.off(e,a,n),this.off(e,o,n);return}this.ignoreDuplicateSlashes&&(r=Fq(r)),this.ignoreTrailingSlash&&(r=Uq(r));let i=Array.isArray(e)?e:[e];for(let a of i)this._off(a,r,n)};zn.prototype._off=function(e,r,n){fs(typeof e=="string","Method should be a string"),fs(ex.includes(e),`Method '${e}' is not an http method.`);function s(c){return e!==c.method||r!==c.path}function i(c){return s(c)||!$q(n,c.opts.constraints||{})}let a=n?i:s,o=this.routes.filter(a);this._rebuild(o)};zn.prototype.lookup=function(e,r,n,s){if(typeof n=="function"&&(s=n,n=void 0),s===void 0){let i=this.constrainer.deriveConstraints(e,n),a=this.find(e.method,e.url,i);return this.callHandler(a,e,r,n)}this.constrainer.deriveConstraints(e,n,(i,a)=>{if(i!==null){s(i);return}try{let o=this.find(e.method,e.url,a),c=this.callHandler(o,e,r,n);s(null,c)}catch(o){s(o)}})};zn.prototype.callHandler=function(e,r,n,s){return e===null?this._defaultRoute(r,n,s):s===void 0?e.handler(r,n,e.params,e.store,e.searchParams):e.handler.call(s,r,n,e.params,e.store,e.searchParams)};zn.prototype.find=function(e,r,n){let s=this.trees[e];if(s===void 0)return null;r.charCodeAt(0)!==47&&(r=r.replace(RTe,"/")),this.ignoreDuplicateSlashes&&(r=Fq(r));let i,a,o;try{i=vUt(r,this.useSemicolonDelimiter),r=i.path,a=i.querystring,o=i.shouldDecodeParam}catch{return this._onBadUrl(r)}this.ignoreTrailingSlash&&(r=Uq(r));let c=r;this.caseSensitive===!1&&(r=r.toLowerCase());let u=this.maxParamLength,l=s.prefix.length,d=[],f=r.length,p=[];for(;;){if(l===f&&s.isLeafNode){let g=s.handlerStorage.getMatchingHandler(n);if(g!==null)return{handler:g.handler,store:g.store,params:g._createParamsObject(d),searchParams:this.querystringParser(a)}}let m=s.getNextNode(r,l,p,d.length);if(m===null){if(p.length===0)return null;let g=p.pop();l=g.brotherPathIndex,d.splice(g.paramsCount),m=g.brotherNode}if(s=m,s.kind===TTe.STATIC){l+=s.prefix.length;continue}if(s.kind===TTe.WILDCARD){let g=c.slice(l);o&&(g=wTe(g)),d.push(g),l=f;continue}let h=c.indexOf("/",l);h===-1&&(h=f);let A=c.slice(l,h);if(o&&(A=wTe(A)),s.isRegex){let g=s.regex.exec(A);if(g===null)continue;for(let b=1;b<g.length;b++){let y=g[b];if(y.length>u)return null;d.push(y)}}else{if(A.length>u)return null;d.push(A)}l=h}};zn.prototype._rebuild=function(t){this.reset();for(let e of t){let{method:r,path:n,opts:s,handler:i,store:a}=e;this._on(r,n,s,i,a)}};zn.prototype._defaultRoute=function(t,e,r){if(this.defaultRoute!==null)return r===void 0?this.defaultRoute(t,e):this.defaultRoute.call(r,t,e);e.statusCode=404,e.end()};zn.prototype._onBadUrl=function(t){if(this.onBadUrl===null)return null;let e=this.onBadUrl;return{handler:(r,n,s)=>e(t,r,n),params:{},store:null}};zn.prototype.prettyPrint=function(t={}){let e=t.method;t.buildPrettyMeta=this.buildPrettyMeta.bind(this);let r=null;if(e===void 0){let{version:n,host:s,...i}=this.constrainer.strategies;i[Wq.name]=Wq;let a=new zn({...this._opts,constraints:i}),o=this.routes.map(c=>{let u={...c.opts.constraints,[Wq.name]:c.method};return{...c,method:"MERGED",opts:{constraints:u}}});a._rebuild(o),r=a.trees.MERGED}else r=this.trees[e];return r==null?"(empty tree)":_Ut(r,t)};for(let t in ex){if(!ex.hasOwnProperty(t))continue;let e=ex[t],r=e.toLowerCase();zn.prototype[r]=function(n,s,i){return this.on(e,n,s,i)}}zn.prototype.all=function(t,e,r){this.on(ex,t,e,r)};DTe.exports=zn;function NTe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Fq(t){return t.replace(/\/\/+/g,"/")}function Uq(t){return t.length>1&&t.charCodeAt(t.length-1)===47?t.slice(0,-1):t}function OTe(t){return t.charCodeAt(1)===94&&(t=t.slice(0,1)+t.slice(2)),t.charCodeAt(t.length-2)===36&&(t=t.slice(0,t.length-2)+t.slice(t.length-1)),t}function PTe(t,e){let r=1;for(;e<t.length;){if(e++,t[e]==="\\"){e++;continue}if(t[e]===")"?r--:t[e]==="("&&r++,!r)return e}throw new TypeError('Invalid regexp expression in "'+t+'"')}function CUt(t){return t?t.store?Object.assign({},t.store):{}:{}}});var LTe=E((D4r,kTe)=>{"use strict";function jq(t,e,r,n){if(r===void 0)return e.header("content-length","0"),n(null,null);if(typeof r.resume=="function")return r.on("error",i=>{e.log.error({err:i},"Error on Stream found for HEAD route")}),r.resume(),n(null,null);let s=""+Buffer.byteLength(r);e.header("content-length",s),n(null,null)}function IUt(t){return t==null?jq:Array.isArray(t)?[...t,jq]:[t,jq]}kTe.exports={parseHeadOnSendHandlers:IUt}});var XTe=E((k4r,JTe)=>{"use strict";var TUt=qq(),wUt=UN(),BTe=s5(),{onRequestAbortHookRunner:RUt,lifecycleHooks:MTe,preParsingHookRunner:NUt,onTimeoutHookRunner:OUt,onRequestHookRunner:PUt}=up(),{supportedMethods:DUt}=B$(),{normalizeSchema:kUt}=u1(),{parseHeadOnSendHandlers:LUt}=LTe(),{FSTDEP007:BUt,FSTDEP008:MUt,FSTDEP014:WTe}=cd(),{compileSchemasForValidation:WUt,compileSchemasForSerialization:$Ut}=Z6(),{FST_ERR_SCH_VALIDATION_BUILD:FUt,FST_ERR_SCH_SERIALIZATION_BUILD:UUt,FST_ERR_DEFAULT_ROUTE_INVALID_TYPE:qUt,FST_ERR_DUPLICATED_ROUTE:jUt,FST_ERR_INVALID_URL:HUt,FST_ERR_HOOK_INVALID_HANDLER:$Te,FST_ERR_ROUTE_OPTIONS_NOT_OBJ:QUt,FST_ERR_ROUTE_DUPLICATED_HANDLER:GUt,FST_ERR_ROUTE_HANDLER_NOT_FN:FTe,FST_ERR_ROUTE_MISSING_HANDLER:VUt,FST_ERR_ROUTE_METHOD_NOT_SUPPORTED:zUt,FST_ERR_ROUTE_METHOD_INVALID:KUt,FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED:YUt,FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT:JUt,FST_ERR_HOOK_INVALID_ASYNC_HANDLER:Hq}=Ci(),{kRoutePrefix:XUt,kLogLevel:ZUt,kLogSerializers:UTe,kHooks:qTe,kSchemaController:e7t,kOptions:jTe,kReplySerializerDefault:Qq,kReplyIsError:t7t,kRequestPayloadStream:r7t,kDisableRequestLogging:n7t,kSchemaErrorFormatter:s7t,kErrorHandler:HTe,kHasBeenDecorated:QTe,kRequestAcceptVersion:Gq,kRouteByFastify:Vq,kRouteContext:GTe}=Qs(),{buildErrorHandler:i7t}=U1(),{createChildLogger:a7t}=c1(),{getGenReqId:o7t}=IP();function c7t(t){let e=TUt(t.config),r,n,s,i,a,o,c,u,l,d,f,p,m,h=!1;return{setup(w,N){r=N.avvio,n=N.fourOhFour,s=N.logger,i=N.hasLogger,a=N.setupResponseListeners,o=N.throwIfAlreadyStarted,p=N.validateHTTPVersion,f=w.exposeHeadRoutes,c=w.disableRequestLogging,u=w.ignoreTrailingSlash,l=w.ignoreDuplicateSlashes,d=Object.prototype.hasOwnProperty.call(w,"return503OnClosing")?w.return503OnClosing:!0,m=N.keepAliveConnections},routing:e.lookup.bind(e),route:C,hasRoute:x,prepareRoute:y,getDefaultRoute:function(){return WTe(),e.defaultRoute},setDefaultRoute:function(w){if(WTe(),typeof w!="function")throw new qUt;e.defaultRoute=w},routeHandler:R,closeRoutes:()=>{h=!0},printRoutes:e.prettyPrint.bind(e),addConstraintStrategy:A,hasConstraintStrategy:g,isAsyncConstraint:b,findRoute:v};function A(w){return o("Cannot add constraint strategy!"),e.addConstraintStrategy(w)}function g(w){return e.hasConstraintStrategy(w)}function b(){return e.constrainer.asyncStrategiesInUse.size>0}function y({method:w,url:N,options:P,handler:L,isFastify:M}){if(typeof N!="string")throw new HUt(typeof N);if(!L&&typeof P=="function")L=P,P={};else if(L&&typeof L=="function"){if(Object.prototype.toString.call(P)!=="[object Object]")throw new QUt(w,N);if(P.handler)throw typeof P.handler=="function"?new GUt(w,N):new FTe(w,N)}return P=Object.assign({},P,{method:w,url:N,path:N,handler:L||P&&P.handler}),C.call(this,{options:P,isFastify:M})}function x({options:w}){return v(w)!==null}function v(w){let N=e.find(w.method,w.url||"",w.constraints);return N?{handler:N.handler,params:N.params,searchParams:N.searchParams}:null}function C({options:w,isFastify:N}){let P={...w},{exposeHeadRoute:L}=P,k=L!=null?L:f,B=P.method==="GET"||Array.isArray(P.method)&&P.method.includes("GET"),Z=P.method==="HEAD"||Array.isArray(P.method)&&P.method.includes("HEAD"),W=k&&B?{...w}:null;o("Cannot add route!");let F=P.url||P.path||"";if(Array.isArray(P.method))for(var V=0;V<P.method.length;++V)P.method[V]=VTe(P.method[V]),zTe(P.method[V],F,P.schema);else P.method=VTe(P.method),zTe(P.method,F,P.schema);if(!P.handler)throw new VUt(P.method,F);if(P.errorHandler!==void 0&&typeof P.errorHandler!="function")throw new FTe(P.method,F);YTe(P.bodyLimit);let j=this[XUt];if(F==="/"&&j.length>0&&P.method!=="HEAD")switch(P.prefixTrailingSlash){case"slash":J.call(this,{path:F,isFastify:N});break;case"no-slash":J.call(this,{path:"",isFastify:N});break;case"both":default:J.call(this,{path:"",isFastify:N}),u!==!0&&(l!==!0||!j.endsWith("/"))&&J.call(this,{path:F,prefixing:!0,isFastify:N})}else F[0]==="/"&&j.endsWith("/")?J.call(this,{path:F.slice(1),isFastify:N}):J.call(this,{path:F,isFastify:N});return this;function J({path:se,prefixing:oe=!1,isFastify:ue=!1}){let Ce=j+se;if(P.url=Ce,P.path=Ce,P.routePath=se,P.prefix=j,P.logLevel=P.logLevel||this[ZUt],(this[UTe]||P.logSerializers)&&(P.logSerializers=Object.assign(Object.create(this[UTe]),P.logSerializers)),P.attachValidation==null&&(P.attachValidation=!1),oe===!1)for(let G of this[qTe].onRoute)G.call(this,P);for(let G of MTe)if(P&&G in P){if(Array.isArray(P[G]))for(let z of P[G]){if(typeof z!="function")throw new $Te(G,Object.prototype.toString.call(z));if(G==="onSend"||G==="preSerialization"||G==="onError"||G==="preParsing"){if(z.constructor.name==="AsyncFunction"&&z.length===4)throw new Hq}else if(G==="onRequestAbort"){if(z.constructor.name==="AsyncFunction"&&z.length!==1)throw new Hq}else if(z.constructor.name==="AsyncFunction"&&z.length===3)throw new Hq}else if(P[G]!==void 0&&typeof P[G]!="function")throw new $Te(G,Object.prototype.toString.call(P[G]))}let we=P.constraints||{},qe={...P.config,url:Ce,method:P.method},Fe=new wUt({schema:P.schema,handler:P.handler.bind(this),config:qe,errorHandler:P.errorHandler,childLoggerFactory:P.childLoggerFactory,bodyLimit:P.bodyLimit,logLevel:P.logLevel,logSerializers:P.logSerializers,attachValidation:P.attachValidation,schemaErrorFormatter:P.schemaErrorFormatter,replySerializer:this[Qq],validatorCompiler:P.validatorCompiler,serializerCompiler:P.serializerCompiler,exposeHeadRoute:k,prefixTrailingSlash:P.prefixTrailingSlash||"both",server:this,isFastify:ue});P.version&&(MUt(),we.version=P.version);let _e=e.findRoute("HEAD",P.url,we),U=_e!==null;Z&&U&&!Fe[Vq]&&_e.store[Vq]&&e.off("HEAD",P.url,we);try{e.on(P.method,P.url,{constraints:we},R,Fe)}catch(G){if(!Fe[Vq])throw G.message.includes(`Method '${P.method}' already declared for route '${P.url}'`)?new jUt(P.method,P.url):G}if(this.after((G,z)=>{Fe.errorHandler=P.errorHandler?i7t(this[HTe],P.errorHandler):this[HTe],Fe._parserOptions.limit=P.bodyLimit||null,Fe.logLevel=P.logLevel,Fe.logSerializers=P.logSerializers,Fe.attachValidation=P.attachValidation,Fe[Qq]=this[Qq],Fe.schemaErrorFormatter=P.schemaErrorFormatter||this[s7t]||Fe.schemaErrorFormatter,r.once("preReady",()=>{for(let q of MTe){let H=this[qTe][q].concat(P[q]||[]).map(ee=>ee.bind(this));Fe[q]=H.length?H:null}for(;!Fe.Request[QTe]&&Fe.Request.parent;)Fe.Request=Fe.Request.parent;for(;!Fe.Reply[QTe]&&Fe.Reply.parent;)Fe.Reply=Fe.Reply.parent;if(n.setContext(this,Fe),P.schema){Fe.schema=kUt(Fe.schema,this.initialConfig);let q=this[e7t];!P.validatorCompiler&&(P.schema.body||P.schema.headers||P.schema.querystring||P.schema.params)&&q.setupValidator(this[jTe]);try{let H=typeof P?.validatorCompiler=="function"||q.isCustomValidatorCompiler;WUt(Fe,P.validatorCompiler||q.validatorCompiler,H)}catch(H){throw new FUt(P.method,Ce,H.message)}P.schema.response&&!P.serializerCompiler&&q.setupSerializer(this[jTe]);try{$Ut(Fe,P.serializerCompiler||q.serializerCompiler)}catch(H){throw new UUt(P.method,Ce,H.message)}}}),z(G)}),k&&B&&!Z&&!U){let G=LUt(W.onSend);y.call(this,{method:"HEAD",url:se,options:{...W,onSend:G},isFastify:!0})}else U&&L&&BUt()}}function R(w,N,P,L,M){let k=o7t(L.server,w),B={level:L.logLevel};L.logSerializers&&(B.serializers=L.logSerializers);let Z=a7t(L,s,w,k,B);if(Z[n7t]=c,!p(w.httpVersion)){Z.info({res:{statusCode:505}},"request aborted - invalid HTTP version");let j='{"error":"HTTP Version Not Supported","message":"HTTP Version Not Supported","statusCode":505}',J={"Content-Type":"application/json","Content-Length":j.length};N.writeHead(505,J),N.end(j);return}if(h===!0&&(w.httpVersionMajor!==2&&N.setHeader("Connection","close"),d)){let j={"Content-Type":"application/json","Content-Length":"80"};N.writeHead(503,j),N.end('{"error":"Service Unavailable","message":"Service Unavailable","statusCode":503}'),Z.info({res:{statusCode:503}},"request aborted - refusing to accept new requests as server is closing");return}String.prototype.toLowerCase.call(w.headers.connection||"")==="keep-alive"&&m.has(w.socket)===!1&&(m.add(w.socket),w.socket.on("close",d7t.bind({keepAliveConnections:m,socket:w.socket}))),w.headers[Gq]!==void 0&&(w.headers["accept-version"]=w.headers[Gq],w.headers[Gq]=void 0);let F=new L.Request(k,P,w,M,Z,L),V=new L.Reply(N,F,Z);c===!1&&Z.info({req:F},"incoming request"),(i===!0||L.onResponse!==null)&&a(V),L.onRequest!==null?PUt(L.onRequest,F,V,KTe):KTe(null,F,V),L.onRequestAbort!==null&&w.on("close",()=>{w.aborted&&RUt(L.onRequestAbort,F,u7t.bind(null,V))}),L.onTimeout!==null&&(F.raw.socket._meta||F.raw.socket.on("timeout",l7t),F.raw.socket._meta={context:L,request:F,reply:V})}}function u7t(t,e){e&&t.log.error({err:e},"onRequestAborted hook failed")}function l7t(){let{context:t,request:e,reply:r}=this._meta;OUt(t.onTimeout,e,r,f7t)}function VTe(t){if(typeof t!="string")throw new KUt;if(t=t.toUpperCase(),DUt.indexOf(t)===-1)throw new zUt(t);return t}function zTe(t,e,r){if((t==="GET"||t==="HEAD")&&r&&r.body)throw new YUt(t,e)}function YTe(t){if(t!==void 0&&(!Number.isInteger(t)||t<=0))throw new JUt(t)}function KTe(t,e,r){if(r.sent!==!0){if(t!=null){r[t7t]=!0,r.send(t);return}e[r7t]=e.raw,e[GTe].preParsing!==null?NUt(e[GTe].preParsing,e,r,BTe):BTe(null,e,r)}}function d7t(){this.keepAliveConnections.delete(this.socket)}function f7t(){}JTe.exports={buildRouting:c7t,validateBodyLimitOption:YTe}});var iwe=E((L4r,swe)=>{"use strict";var p7t=qq(),ZTe=SN(),ewe=FN(),m7t=UN(),{kRoutePrefix:h7t,kCanSetNotFoundHandler:xS,kFourOhFourLevelInstance:bS,kFourOhFourContext:ol,kHooks:g7t,kErrorHandler:twe}=Qs(),{lifecycleHooks:A7t}=up(),{buildErrorHandler:y7t}=U1(),{FST_ERR_NOT_FOUND:x7t}=Ci(),{createChildLogger:rwe}=c1(),{getGenReqId:nwe}=IP();function b7t(t){let{logger:e}=t,r=p7t({onBadUrl:a(),defaultRoute:l}),n=null;return{router:r,setNotFoundHandler:c,setContext:o,arrange404:s};function s(d){d[bS]=d,d[xS]=!0,r.onBadUrl=r.onBadUrl.bind(d),r.defaultRoute=r.defaultRoute.bind(d)}function i(d,f){let{url:p,method:m}=d.raw,h=`Route ${m}:${p} not found`;d.log.info(h),f.code(404).send({message:h,error:"Not Found",statusCode:404})}function a(){return function(f,p,m){let h=this[bS][ol],A=nwe(h.server,p),g=rwe(h,e,p,A),b=new ewe(A,null,p,null,g,h),y=new ZTe(m,b,g);n(b,y)}}function o(d,f){let p=Object.assign({},d[ol]);p.onSend=f.onSend,f[ol]=p}function c(d,f,p,m){this[xS]===void 0&&(this[xS]=!0),this[ol]===void 0&&(this[ol]=null);let h=this,A=this[h7t]||"/";if(this[xS]===!1)throw new Error(`Not found handler already set for Fastify instance with prefix: '${A}'`);typeof d=="object"&&(d.preHandler&&(Array.isArray(d.preHandler)?d.preHandler=d.preHandler.map(g=>g.bind(h)):d.preHandler=d.preHandler.bind(h)),d.preValidation&&(Array.isArray(d.preValidation)?d.preValidation=d.preValidation.map(g=>g.bind(h)):d.preValidation=d.preValidation.bind(h))),typeof d=="function"&&(f=d,d=void 0),d=d||{},f?(this[bS][xS]=!1,f=f.bind(this),n=f):(f=i,n=i),this.after((g,b)=>{u.call(this,A,d,f,p,m),b(g)})}function u(d,f,p,m,h){let A=new m7t({schema:f.schema,handler:p,config:f.config||{},server:this});if(m.once("preReady",()=>{let g=this[ol];for(let b of A7t){let y=this[g7t][b].concat(f[b]||[]).map(x=>x.bind(this));g[b]=y.length?y:null}g.errorHandler=f.errorHandler?y7t(this[twe],f.errorHandler):this[twe]}),this[ol]!==null&&d==="/"){Object.assign(this[ol],A);return}this[bS][ol]=A,r.all(d+(d.endsWith("/")?"*":"/*"),h,A),r.all(d,h,A)}function l(d,f){let p=this[bS][ol],m=nwe(p.server,d),h=rwe(p,e,d,m);h.info({req:d},"incoming request");let A=new ewe(m,null,d,null,h,p),g=new ZTe(f,A,h);A.log.warn("the default handler for 404 did not catch this, this is likely a fastify bug, please report it"),A.log.warn(r.prettyPrint()),g.code(404).send(new x7t)}}swe.exports=b7t});var owe=E((B4r,QP)=>{"use strict";QP.exports=$r;QP.exports.default=$r;var awe={type:"object",additionalProperties:!1,properties:{connectionTimeout:{type:"integer",default:0},keepAliveTimeout:{type:"integer",default:72e3},forceCloseConnections:{oneOf:[{type:"string",pattern:"idle"},{type:"boolean"}]},maxRequestsPerSocket:{type:"integer",default:0,nullable:!0},requestTimeout:{type:"integer",default:0},bodyLimit:{type:"integer",default:1048576},caseSensitive:{type:"boolean",default:!0},allowUnsafeRegex:{type:"boolean",default:!1},http2:{type:"boolean"},https:{if:{not:{oneOf:[{type:"boolean"},{type:"null"},{type:"object",additionalProperties:!1,required:["allowHTTP1"],properties:{allowHTTP1:{type:"boolean"}}}]}},then:{setDefaultValue:!0}},ignoreTrailingSlash:{type:"boolean",default:!1},ignoreDuplicateSlashes:{type:"boolean",default:!1},disableRequestLogging:{type:"boolean",default:!1},jsonShorthand:{type:"boolean",default:!0},maxParamLength:{type:"integer",default:100},onProtoPoisoning:{type:"string",default:"error"},onConstructorPoisoning:{type:"string",default:"error"},pluginTimeout:{type:"integer",default:1e4},requestIdHeader:{anyOf:[{enum:[!1]},{type:"string"}],default:"request-id"},requestIdLogLabel:{type:"string",default:"reqId"},http2SessionTimeout:{type:"integer",default:72e3},exposeHeadRoutes:{type:"boolean",default:!0},useSemicolonDelimiter:{type:"boolean",default:!0},versioning:{type:"object",additionalProperties:!0,required:["storage","deriveVersion"],properties:{storage:{},deriveVersion:{}}},constraints:{type:"object",additionalProperties:{type:"object",required:["name","storage","validate","deriveConstraint"],additionalProperties:!0,properties:{name:{type:"string"},storage:{},validate:{},deriveConstraint:{}}}}}},E7t=Object.prototype.hasOwnProperty,_7t=new RegExp("idle","u");function $r(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0;if(a===0)if(t&&typeof t=="object"&&!Array.isArray(t)){t.connectionTimeout===void 0&&(t.connectionTimeout=0),t.keepAliveTimeout===void 0&&(t.keepAliveTimeout=72e3),t.maxRequestsPerSocket===void 0&&(t.maxRequestsPerSocket=0),t.requestTimeout===void 0&&(t.requestTimeout=0),t.bodyLimit===void 0&&(t.bodyLimit=1048576),t.caseSensitive===void 0&&(t.caseSensitive=!0),t.allowUnsafeRegex===void 0&&(t.allowUnsafeRegex=!1),t.ignoreTrailingSlash===void 0&&(t.ignoreTrailingSlash=!1),t.ignoreDuplicateSlashes===void 0&&(t.ignoreDuplicateSlashes=!1),t.disableRequestLogging===void 0&&(t.disableRequestLogging=!1),t.jsonShorthand===void 0&&(t.jsonShorthand=!0),t.maxParamLength===void 0&&(t.maxParamLength=100),t.onProtoPoisoning===void 0&&(t.onProtoPoisoning="error"),t.onConstructorPoisoning===void 0&&(t.onConstructorPoisoning="error"),t.pluginTimeout===void 0&&(t.pluginTimeout=1e4),t.requestIdHeader===void 0&&(t.requestIdHeader="request-id"),t.requestIdLogLabel===void 0&&(t.requestIdLogLabel="reqId"),t.http2SessionTimeout===void 0&&(t.http2SessionTimeout=72e3),t.exposeHeadRoutes===void 0&&(t.exposeHeadRoutes=!0),t.useSemicolonDelimiter===void 0&&(t.useSemicolonDelimiter=!0);let m=a;for(let h in t)E7t.call(awe.properties,h)||delete t[h];if(m===a){let h=t.connectionTimeout,A=a;if(!(typeof h=="number"&&!(h%1)&&!isNaN(h)&&isFinite(h))){let g=typeof h,b;if(b===void 0)if(g==="boolean"||h===null||g==="string"&&h&&h==+h&&!(h%1))b=+h;else return $r.errors=[{instancePath:e+"/connectionTimeout",schemaPath:"#/properties/connectionTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;b!==void 0&&(h=b,t!==void 0&&(t.connectionTimeout=b))}var o=A===a;if(o){let g=t.keepAliveTimeout,b=a;if(!(typeof g=="number"&&!(g%1)&&!isNaN(g)&&isFinite(g))){let x=typeof g,v;if(v===void 0)if(x==="boolean"||g===null||x==="string"&&g&&g==+g&&!(g%1))v=+g;else return $r.errors=[{instancePath:e+"/keepAliveTimeout",schemaPath:"#/properties/keepAliveTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;v!==void 0&&(g=v,t!==void 0&&(t.keepAliveTimeout=v))}var o=b===a;if(o){if(t.forceCloseConnections!==void 0){let x=t.forceCloseConnections,v=a,C=a,R=!1,w=null,N=a;if(typeof x!="string"){let M=typeof x,k;if(k===void 0)if(M=="number"||M=="boolean")k=""+x;else if(x===null)k="";else{let B={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[B]:i.push(B),a++}k!==void 0&&(x=k,t!==void 0&&(t.forceCloseConnections=k))}if(a===N&&typeof x=="string"&&!_7t.test(x)){let M={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/0/pattern",keyword:"pattern",params:{pattern:"idle"},message:'must match pattern "idle"'};i===null?i=[M]:i.push(M),a++}var c=N===a;c&&(R=!0,w=0);let P=a;if(typeof x!="boolean"){let M;if(M===void 0)if(x==="false"||x===0||x===null)M=!1;else if(x==="true"||x===1)M=!0;else{let k={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf/1/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};i===null?i=[k]:i.push(k),a++}M!==void 0&&(x=M,t!==void 0&&(t.forceCloseConnections=M))}var c=P===a;if(c&&R?(R=!1,w=[w,1]):c&&(R=!0,w=1),R)a=C,i!==null&&(C?i.length=C:i=null);else{let M={instancePath:e+"/forceCloseConnections",schemaPath:"#/properties/forceCloseConnections/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[M]:i.push(M),a++,$r.errors=i,!1}var o=v===a}else var o=!0;if(o){let x=t.maxRequestsPerSocket,v=a;if(!(typeof x=="number"&&!(x%1)&&!isNaN(x)&&isFinite(x))&&x!==null){let R=typeof x,w;if(w===void 0)if(R==="boolean"||x===null||R==="string"&&x&&x==+x&&!(x%1))w=+x;else if(x===""||x===0||x===!1)w=null;else return $r.errors=[{instancePath:e+"/maxRequestsPerSocket",schemaPath:"#/properties/maxRequestsPerSocket/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.maxRequestsPerSocket=w))}var o=v===a;if(o){let R=t.requestTimeout,w=a;if(!(typeof R=="number"&&!(R%1)&&!isNaN(R)&&isFinite(R))){let P=typeof R,L;if(L===void 0)if(P==="boolean"||R===null||P==="string"&&R&&R==+R&&!(R%1))L=+R;else return $r.errors=[{instancePath:e+"/requestTimeout",schemaPath:"#/properties/requestTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;L!==void 0&&(R=L,t!==void 0&&(t.requestTimeout=L))}var o=w===a;if(o){let P=t.bodyLimit,L=a;if(!(typeof P=="number"&&!(P%1)&&!isNaN(P)&&isFinite(P))){let k=typeof P,B;if(B===void 0)if(k==="boolean"||P===null||k==="string"&&P&&P==+P&&!(P%1))B=+P;else return $r.errors=[{instancePath:e+"/bodyLimit",schemaPath:"#/properties/bodyLimit/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;B!==void 0&&(P=B,t!==void 0&&(t.bodyLimit=B))}var o=L===a;if(o){let k=t.caseSensitive,B=a;if(typeof k!="boolean"){let W;if(W===void 0)if(k==="false"||k===0||k===null)W=!1;else if(k==="true"||k===1)W=!0;else return $r.errors=[{instancePath:e+"/caseSensitive",schemaPath:"#/properties/caseSensitive/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;W!==void 0&&(k=W,t!==void 0&&(t.caseSensitive=W))}var o=B===a;if(o){let W=t.allowUnsafeRegex,F=a;if(typeof W!="boolean"){let j;if(j===void 0)if(W==="false"||W===0||W===null)j=!1;else if(W==="true"||W===1)j=!0;else return $r.errors=[{instancePath:e+"/allowUnsafeRegex",schemaPath:"#/properties/allowUnsafeRegex/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;j!==void 0&&(W=j,t!==void 0&&(t.allowUnsafeRegex=j))}var o=F===a;if(o){if(t.http2!==void 0){let j=t.http2,J=a;if(typeof j!="boolean"){let oe;if(oe===void 0)if(j==="false"||j===0||j===null)oe=!1;else if(j==="true"||j===1)oe=!0;else return $r.errors=[{instancePath:e+"/http2",schemaPath:"#/properties/http2/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;oe!==void 0&&(j=oe,t!==void 0&&(t.http2=oe))}var o=J===a}else var o=!0;if(o){if(t.https!==void 0){let j=t.https,J=a,se=a,oe=!0,ue=a,Ce=a,we=a,qe=a,Fe=!1,_e=null,U=a;if(typeof j!="boolean"){let q;if(q===void 0)if(j==="false"||j===0||j===null)q=!1;else if(j==="true"||j===1)q=!0;else{let H={};i===null?i=[H]:i.push(H),a++}q!==void 0&&(j=q,t!==void 0&&(t.https=q))}var u=U===a;u&&(Fe=!0,_e=0);let G=a;if(j!==null){let q;if(q===void 0)if(j===""||j===0||j===!1)q=null;else{let H={};i===null?i=[H]:i.push(H),a++}q!==void 0&&(j=q,t!==void 0&&(t.https=q))}var u=G===a;if(u&&Fe)Fe=!1,_e=[_e,1];else{u&&(Fe=!0,_e=1);let q=a;if(a===q)if(j&&typeof j=="object"&&!Array.isArray(j)){let ee;if(j.allowHTTP1===void 0&&(ee="allowHTTP1")){let ne={};i===null?i=[ne]:i.push(ne),a++}else{let ne=a;for(let re in j)re!=="allowHTTP1"&&delete j[re];if(ne===a&&j.allowHTTP1!==void 0){let re=j.allowHTTP1;if(typeof re!="boolean"){let X;if(X===void 0)if(re==="false"||re===0||re===null)X=!1;else if(re==="true"||re===1)X=!0;else{let ie={};i===null?i=[ie]:i.push(ie),a++}X!==void 0&&(re=X,j!==void 0&&(j.allowHTTP1=X))}}}}else{let ee={};i===null?i=[ee]:i.push(ee),a++}var u=q===a;u&&Fe?(Fe=!1,_e=[_e,2]):u&&(Fe=!0,_e=2)}if(Fe)a=qe,i!==null&&(qe?i.length=qe:i=null);else{let q={};i===null?i=[q]:i.push(q),a++}var l=we===a;if(l){let q={};i===null?i=[q]:i.push(q),a++}else a=Ce,i!==null&&(Ce?i.length=Ce:i=null);var d=ue===a;if(a=se,i!==null&&(se?i.length=se:i=null),d){let q=a;t.https=!0;var d=q===a;oe=d}if(!oe){let q={instancePath:e+"/https",schemaPath:"#/properties/https/if",keyword:"if",params:{failingKeyword:"then"},message:'must match "then" schema'};return i===null?i=[q]:i.push(q),a++,$r.errors=i,!1}var o=J===a}else var o=!0;if(o){let j=t.ignoreTrailingSlash,J=a;if(typeof j!="boolean"){let oe;if(oe===void 0)if(j==="false"||j===0||j===null)oe=!1;else if(j==="true"||j===1)oe=!0;else return $r.errors=[{instancePath:e+"/ignoreTrailingSlash",schemaPath:"#/properties/ignoreTrailingSlash/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;oe!==void 0&&(j=oe,t!==void 0&&(t.ignoreTrailingSlash=oe))}var o=J===a;if(o){let oe=t.ignoreDuplicateSlashes,ue=a;if(typeof oe!="boolean"){let we;if(we===void 0)if(oe==="false"||oe===0||oe===null)we=!1;else if(oe==="true"||oe===1)we=!0;else return $r.errors=[{instancePath:e+"/ignoreDuplicateSlashes",schemaPath:"#/properties/ignoreDuplicateSlashes/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;we!==void 0&&(oe=we,t!==void 0&&(t.ignoreDuplicateSlashes=we))}var o=ue===a;if(o){let we=t.disableRequestLogging,qe=a;if(typeof we!="boolean"){let _e;if(_e===void 0)if(we==="false"||we===0||we===null)_e=!1;else if(we==="true"||we===1)_e=!0;else return $r.errors=[{instancePath:e+"/disableRequestLogging",schemaPath:"#/properties/disableRequestLogging/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;_e!==void 0&&(we=_e,t!==void 0&&(t.disableRequestLogging=_e))}var o=qe===a;if(o){let _e=t.jsonShorthand,U=a;if(typeof _e!="boolean"){let z;if(z===void 0)if(_e==="false"||_e===0||_e===null)z=!1;else if(_e==="true"||_e===1)z=!0;else return $r.errors=[{instancePath:e+"/jsonShorthand",schemaPath:"#/properties/jsonShorthand/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;z!==void 0&&(_e=z,t!==void 0&&(t.jsonShorthand=z))}var o=U===a;if(o){let z=t.maxParamLength,q=a;if(!(typeof z=="number"&&!(z%1)&&!isNaN(z)&&isFinite(z))){let ee=typeof z,ne;if(ne===void 0)if(ee==="boolean"||z===null||ee==="string"&&z&&z==+z&&!(z%1))ne=+z;else return $r.errors=[{instancePath:e+"/maxParamLength",schemaPath:"#/properties/maxParamLength/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;ne!==void 0&&(z=ne,t!==void 0&&(t.maxParamLength=ne))}var o=q===a;if(o){let ee=t.onProtoPoisoning,ne=a;if(typeof ee!="string"){let X=typeof ee,ie;if(ie===void 0)if(X=="number"||X=="boolean")ie=""+ee;else if(ee===null)ie="";else return $r.errors=[{instancePath:e+"/onProtoPoisoning",schemaPath:"#/properties/onProtoPoisoning/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;ie!==void 0&&(ee=ie,t!==void 0&&(t.onProtoPoisoning=ie))}var o=ne===a;if(o){let X=t.onConstructorPoisoning,ie=a;if(typeof X!="string"){let fe=typeof X,Ne;if(Ne===void 0)if(fe=="number"||fe=="boolean")Ne=""+X;else if(X===null)Ne="";else return $r.errors=[{instancePath:e+"/onConstructorPoisoning",schemaPath:"#/properties/onConstructorPoisoning/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;Ne!==void 0&&(X=Ne,t!==void 0&&(t.onConstructorPoisoning=Ne))}var o=ie===a;if(o){let fe=t.pluginTimeout,Ne=a;if(!(typeof fe=="number"&&!(fe%1)&&!isNaN(fe)&&isFinite(fe))){let Ue=typeof fe,Ke;if(Ke===void 0)if(Ue==="boolean"||fe===null||Ue==="string"&&fe&&fe==+fe&&!(fe%1))Ke=+fe;else return $r.errors=[{instancePath:e+"/pluginTimeout",schemaPath:"#/properties/pluginTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;Ke!==void 0&&(fe=Ke,t!==void 0&&(t.pluginTimeout=Ke))}var o=Ne===a;if(o){let Ue=t.requestIdHeader,Ke=a,Ye=a,Ze=!1,nt=a;if(Ue!==!1){let tt={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/0/enum",keyword:"enum",params:{allowedValues:awe.properties.requestIdHeader.anyOf[0].enum},message:"must be equal to one of the allowed values"};i===null?i=[tt]:i.push(tt),a++}var f=nt===a;if(Ze=Ze||f,!Ze){let tt=a;if(typeof Ue!="string"){let lt=typeof Ue,De;if(De===void 0)if(lt=="number"||lt=="boolean")De=""+Ue;else if(Ue===null)De="";else{let Je={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[Je]:i.push(Je),a++}De!==void 0&&(Ue=De,t!==void 0&&(t.requestIdHeader=De))}var f=tt===a;Ze=Ze||f}if(Ze)a=Ye,i!==null&&(Ye?i.length=Ye:i=null);else{let tt={instancePath:e+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[tt]:i.push(tt),a++,$r.errors=i,!1}var o=Ke===a;if(o){let tt=t.requestIdLogLabel,Dt=a;if(typeof tt!="string"){let De=typeof tt,Je;if(Je===void 0)if(De=="number"||De=="boolean")Je=""+tt;else if(tt===null)Je="";else return $r.errors=[{instancePath:e+"/requestIdLogLabel",schemaPath:"#/properties/requestIdLogLabel/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;Je!==void 0&&(tt=Je,t!==void 0&&(t.requestIdLogLabel=Je))}var o=Dt===a;if(o){let De=t.http2SessionTimeout,Je=a;if(!(typeof De=="number"&&!(De%1)&&!isNaN(De)&&isFinite(De))){let rt=typeof De,bt;if(bt===void 0)if(rt==="boolean"||De===null||rt==="string"&&De&&De==+De&&!(De%1))bt=+De;else return $r.errors=[{instancePath:e+"/http2SessionTimeout",schemaPath:"#/properties/http2SessionTimeout/type",keyword:"type",params:{type:"integer"},message:"must be integer"}],!1;bt!==void 0&&(De=bt,t!==void 0&&(t.http2SessionTimeout=bt))}var o=Je===a;if(o){let rt=t.exposeHeadRoutes,bt=a;if(typeof rt!="boolean"){let Ct;if(Ct===void 0)if(rt==="false"||rt===0||rt===null)Ct=!1;else if(rt==="true"||rt===1)Ct=!0;else return $r.errors=[{instancePath:e+"/exposeHeadRoutes",schemaPath:"#/properties/exposeHeadRoutes/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;Ct!==void 0&&(rt=Ct,t!==void 0&&(t.exposeHeadRoutes=Ct))}var o=bt===a;if(o){let Ct=t.useSemicolonDelimiter,Sr=a;if(typeof Ct!="boolean"){let Dr;if(Dr===void 0)if(Ct==="false"||Ct===0||Ct===null)Dr=!1;else if(Ct==="true"||Ct===1)Dr=!0;else return $r.errors=[{instancePath:e+"/useSemicolonDelimiter",schemaPath:"#/properties/useSemicolonDelimiter/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;Dr!==void 0&&(Ct=Dr,t!==void 0&&(t.useSemicolonDelimiter=Dr))}var o=Sr===a;if(o){if(t.versioning!==void 0){let Dr=t.versioning,qs=a;if(a===qs)if(Dr&&typeof Dr=="object"&&!Array.isArray(Dr)){let ys;if(Dr.storage===void 0&&(ys="storage")||Dr.deriveVersion===void 0&&(ys="deriveVersion"))return $r.errors=[{instancePath:e+"/versioning",schemaPath:"#/properties/versioning/required",keyword:"required",params:{missingProperty:ys},message:"must have required property '"+ys+"'"}],!1}else return $r.errors=[{instancePath:e+"/versioning",schemaPath:"#/properties/versioning/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=qs===a}else var o=!0;if(o)if(t.constraints!==void 0){let Dr=t.constraints,qs=a;if(a===qs)if(Dr&&typeof Dr=="object"&&!Array.isArray(Dr))for(let ys in Dr){let Hs=Dr[ys],Lu=a;if(a===Lu)if(Hs&&typeof Hs=="object"&&!Array.isArray(Hs)){let go;if(Hs.name===void 0&&(go="name")||Hs.storage===void 0&&(go="storage")||Hs.validate===void 0&&(go="validate")||Hs.deriveConstraint===void 0&&(go="deriveConstraint"))return $r.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/constraints/additionalProperties/required",keyword:"required",params:{missingProperty:go},message:"must have required property '"+go+"'"}],!1;if(Hs.name!==void 0){let Dc=Hs.name;if(typeof Dc!="string"){let Ta=typeof Dc,yn;if(yn===void 0)if(Ta=="number"||Ta=="boolean")yn=""+Dc;else if(Dc===null)yn="";else return $r.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1")+"/name",schemaPath:"#/properties/constraints/additionalProperties/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;yn!==void 0&&(Dc=yn,Hs!==void 0&&(Hs.name=yn))}}}else return $r.errors=[{instancePath:e+"/constraints/"+ys.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/constraints/additionalProperties/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var p=Lu===a;if(!p)break}else return $r.errors=[{instancePath:e+"/constraints",schemaPath:"#/properties/constraints/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var o=qs===a}else var o=!0}}}}}}}}}}}}}}}}}}}}}}}}}else return $r.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;return $r.errors=i,a===0}QP.exports.defaultInitOptions={connectionTimeout:0,keepAliveTimeout:72e3,maxRequestsPerSocket:0,requestTimeout:0,bodyLimit:1048576,caseSensitive:!0,allowUnsafeRegex:!1,disableRequestLogging:!1,jsonShorthand:!0,ignoreTrailingSlash:!1,ignoreDuplicateSlashes:!1,maxParamLength:100,onProtoPoisoning:"error",onConstructorPoisoning:"error",pluginTimeout:1e4,requestIdHeader:"request-id",requestIdLogLabel:"reqId",http2SessionTimeout:72e3,exposeHeadRoutes:!0,useSemicolonDelimiter:!0}});var cwe=E((M4r,VP)=>{"use strict";var GP=owe(),S7t=NR()({circles:!0,proto:!1}),{FST_ERR_INIT_OPTS_INVALID:v7t}=Ci();function C7t(t){let e=S7t(t);if(!GP(e)){let r=new v7t(JSON.stringify(GP.errors.map(n=>n.message)));throw r.errors=GP.errors,r}return zq(e)}function zq(t){let e=Object.getOwnPropertyNames(t);for(let r of e){let n=t[r];ArrayBuffer.isView(n)&&!(n instanceof DataView)||(t[r]=n&&typeof n=="object"?zq(n):n)}return Object.freeze(t)}VP.exports=C7t;VP.exports.defaultInitOptions=GP.defaultInitOptions;VP.exports.utils={deepFreezeObject:zq}});var Awe=E((W4r,gwe)=>{"use strict";var{kAvvioBoot:I7t,kChildren:uwe,kRoutePrefix:lwe,kLogLevel:dwe,kLogSerializers:Kq,kHooks:Yq,kSchemaController:tx,kContentTypeParser:fwe,kReply:pwe,kRequest:mwe,kFourOhFour:T7t,kPluginNameChain:hwe}=Qs(),w7t=SN(),R7t=FN(),N7t=bq(),O7t=Y$(),{buildHooks:P7t}=up(),ES=Iq();gwe.exports=function(e,r,n){let s=ES.registerPlugin.call(e,r),i=ES.getPluginName(r)||ES.getFuncPreview(r);if(s)return e[hwe].push(i),e;let a=Object.create(e);e[uwe].push(a),a.ready=e[I7t].bind(a),a[uwe]=[],a[pwe]=w7t.buildReply(a[pwe]),a[mwe]=R7t.buildRequest(a[mwe]),a[fwe]=O7t.helpers.buildContentTypeParser(a[fwe]),a[Yq]=P7t(a[Yq]),a[lwe]=D7t(a[lwe],n.prefix),a[dwe]=n.logLevel||a[dwe],a[tx]=N7t.buildSchemaController(e[tx]),a.getSchema=a[tx].getSchema.bind(a[tx]),a.getSchemas=a[tx].getSchemas.bind(a[tx]),a[ES.kRegisteredPlugins]=Object.create(a[ES.kRegisteredPlugins]),a[hwe]=[i],(a[Kq]||n.logSerializers)&&(a[Kq]=Object.assign(Object.create(a[Kq]),n.logSerializers)),n.prefix&&a[T7t].arrange404(a);for(let o of a[Yq].onRegister)o.call(this,a,n);return a};function D7t(t,e){return e?(t.endsWith("/")&&e[0]==="/"?e=e.slice(1):e[0]!=="/"&&(e="/"+e),t+e):t}});var xwe=E(($4r,ywe)=>{"use strict";ywe.exports=function(){return{[Symbol.iterator]:function*(){},add(){},delete(){},has(){return!0}}}});var _we=E(Jq=>{"use strict";Jq.parse=F7t;Jq.serialize=U7t;var k7t=Object.prototype.toString,L7t=Object.prototype.hasOwnProperty,B7t=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,M7t=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,W7t=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,$7t=/^[\u0020-\u003A\u003D-\u007E]*$/;function F7t(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");var r={},n=t.length;if(n<2)return r;var s=e&&e.decode||q7t,i=0,a=0,o=0;do{if(a=t.indexOf("=",i),a===-1)break;if(o=t.indexOf(";",i),o===-1)o=n;else if(a>o){i=t.lastIndexOf(";",a-1)+1;continue}var c=bwe(t,i,a),u=Ewe(t,a,c),l=t.slice(c,u);if(!L7t.call(r,l)){var d=bwe(t,a+1,o),f=Ewe(t,o,d);t.charCodeAt(d)===34&&t.charCodeAt(f-1)===34&&(d++,f--);var p=t.slice(d,f);r[l]=H7t(p,s)}i=o+1}while(i<n);return r}function bwe(t,e,r){do{var n=t.charCodeAt(e);if(n!==32&&n!==9)return e}while(++e<r);return r}function Ewe(t,e,r){for(;e>r;){var n=t.charCodeAt(--e);if(n!==32&&n!==9)return e+1}return r}function U7t(t,e,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!B7t.test(t))throw new TypeError("argument name is invalid");var s=n(e);if(!M7t.test(s))throw new TypeError("argument val is invalid");var i=t+"="+s;if(!r)return i;if(r.maxAge!=null){var a=Math.floor(r.maxAge);if(!isFinite(a))throw new TypeError("option maxAge is invalid");i+="; Max-Age="+a}if(r.domain){if(!W7t.test(r.domain))throw new TypeError("option domain is invalid");i+="; Domain="+r.domain}if(r.path){if(!$7t.test(r.path))throw new TypeError("option path is invalid");i+="; Path="+r.path}if(r.expires){var o=r.expires;if(!j7t(o)||isNaN(o.valueOf()))throw new TypeError("option expires is invalid");i+="; Expires="+o.toUTCString()}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.partitioned&&(i+="; Partitioned"),r.priority){var c=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(c){case"low":i+="; Priority=Low";break;case"medium":i+="; Priority=Medium";break;case"high":i+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var u=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(u){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return i}function q7t(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}function j7t(t){return k7t.call(t)==="[object Date]"}function H7t(t,e){try{return e(t)}catch{return t}}});var Cwe=E((U4r,vwe)=>{"use strict";var{URL:Swe}=require("node:url"),Xq="http://localhost";vwe.exports=function(e,r){(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]")&&e.startsWith("//")&&(e=Xq+e);let n=typeof e=="object"?Object.assign(new Swe(Xq),e):new Swe(e,Xq);if(typeof r=="string"){r=new URLSearchParams(r);for(let s of r.keys()){n.searchParams.delete(s);for(let i of r.getAll(s))n.searchParams.append(s,i)}}else{let s=Object.assign({},e.query,r);for(let i in s){let a=s[i];if(Array.isArray(a)){n.searchParams.delete(i);for(let o of a)n.searchParams.append(i,o)}else n.searchParams.set(i,a)}}return n}});var Iwe=E((q4r,Zq)=>{"use strict";var{randomUUID:Q7t}=require("node:crypto"),{Readable:G7t}=require("node:stream"),rx;function V7t(t){return t&&typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&t[Symbol.toStringTag]==="FormData"}function z7t(t){rx=rx??new TextEncoder;let e=`----formdata-${Q7t()}`,r=`--${e}\r
|
|
Content-Disposition: form-data`;let n=c=>c.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),s=c=>c.replace(/\r?\n|\r/g,`\r
|
|
`),i=new Uint8Array([13,10]);async function*a(){for(let[c,u]of t)if(typeof u=="string")yield rx.encode(`${r}; name="${n(s(c))}"\r
|
|
\r
|
|
`),yield rx.encode(`${s(u)}\r
|
|
`);else{let l=`${r}; name="${n(s(c))}"`;u.name&&(l+=`; filename="${n(u.name)}"`),l+=`\r
|
|
Content-Type: ${u.type||"application/octet-stream"}\r
|
|
\r
|
|
`,yield rx.encode(l),u.stream?yield*u.stream():yield u,yield i}yield rx.encode(`--${e}--`)}return{stream:G7t.from(a()),contentType:`multipart/form-data; boundary=${e}`}}Zq.exports.isFormDataLike=V7t;Zq.exports.formDataToStream=z7t});var Rwe=E((j4r,zP)=>{"use strict";var{Readable:Twe,addAbortSignal:K7t}=require("node:stream"),tj=require("node:util"),Y7t=_we(),J7t=require("node:assert"),{createDeprecation:X7t}=V6(),Z7t=Cwe(),{isFormDataLike:e9t,formDataToStream:t9t}=Iwe(),{EventEmitter:r9t}=require("node:events"),n9t=X7t({name:"FastifyDeprecationLightMyRequest",code:"FST_LIGHTMYREQUEST_DEP01",message:'You are accessing "request.connection", use "request.socket" instead.'});function s9t(t){return t.port?t.host:t.hostname+(t.protocol==="https:"?":443":":80")}var ej=class extends r9t{constructor(e){super(),this.remoteAddress=e}};function wwe(t){return new e(this);function e(r){cl.call(r,{...t,Request:void 0}),Object.assign(this,r);for(let n of Object.keys(cl.prototype))this.constructor.prototype[n]=cl.prototype[n];return tj.inherits(this.constructor,t.Request),this}}function cl(t){Twe.call(this,{autoDestroy:!1});let e=Z7t(t.url||t.path,t.query);this.url=e.pathname+e.search,this.aborted=!1,this.httpVersionMajor=1,this.httpVersionMinor=1,this.httpVersion="1.1",this.method=t.method?t.method.toUpperCase():"GET",this.headers={},this.rawHeaders=[];let r=t.headers||{};for(let a in r){let o=a.toLowerCase();if((o==="user-agent"||o==="content-type")&&r[a]===void 0){this.headers[o]=void 0;continue}let c=r[a];J7t(c!==void 0,'invalid value "undefined" for header '+a),this.headers[o]=""+c}if("user-agent"in this.headers||(this.headers["user-agent"]="lightMyRequest"),this.headers.host=this.headers.host||t.authority||s9t(e),t.cookies){let{cookies:a}=t,o=Object.keys(a).map(c=>Y7t.serialize(c,a[c]));this.headers.cookie&&o.unshift(this.headers.cookie),this.headers.cookie=o.join("; ")}this.socket=new ej(t.remoteAddress||"127.0.0.1"),Object.defineProperty(this,"connection",{get(){return n9t(),this.socket},configurable:!0});let n=t.payload||t.body||null,s=n&&typeof n.resume=="function";if(e9t(n)){let a=t9t(n);n=a.stream,s=!0,this.headers["content-type"]=a.contentType}n&&typeof n!="string"&&!s&&!Buffer.isBuffer(n)&&(n=JSON.stringify(n),"content-type"in this.headers||(this.headers["content-type"]="application/json")),n&&!s&&!Object.prototype.hasOwnProperty.call(this.headers,"content-length")&&(this.headers["content-length"]=(Buffer.isBuffer(n)?n.length:Buffer.byteLength(n)).toString());for(let a of Object.keys(this.headers))this.rawHeaders.push(a,this.headers[a]);this._lightMyRequest={payload:n,isDone:!1,simulate:t.simulate||{}};let i=t.signal;return i&&K7t(i,this),this}tj.inherits(cl,Twe);tj.inherits(wwe,cl);cl.prototype.prepare=function(t){let e=this._lightMyRequest.payload;if(!e||typeof e.resume!="function")return t();let r=[];e.on("data",n=>r.push(Buffer.from(n))),e.on("end",()=>{let n=Buffer.concat(r);return this.headers["content-length"]=this.headers["content-length"]||""+n.length,this._lightMyRequest.payload=n,t()}),e.resume()};cl.prototype._read=function(t){setImmediate(()=>{if(this._lightMyRequest.isDone){this._lightMyRequest.simulate.end!==!1&&this.push(null);return}this._lightMyRequest.isDone=!0,this._lightMyRequest.payload&&(this._lightMyRequest.simulate.split?(this.push(this._lightMyRequest.payload.slice(0,1)),this.push(this._lightMyRequest.payload.slice(1))):this.push(this._lightMyRequest.payload)),this._lightMyRequest.simulate.error&&this.emit("error",new Error("Simulated")),this._lightMyRequest.simulate.close&&this.emit("close"),this._lightMyRequest.simulate.end!==!1&&this.push(null)})};cl.prototype.destroy=function(t){this.destroyed||this._lightMyRequest.isDone||(this.destroyed=!0,t&&(this._error=!0,process.nextTick(()=>this.emit("error",t))),process.nextTick(()=>this.emit("close")))};zP.exports=cl;zP.exports.Request=cl;zP.exports.CustomRequest=wwe});var Owe=E((H4r,_S)=>{"use strict";var KP={decodeValues:!0,map:!1,silent:!1};function rj(t){return typeof t!="string"||t in{}}function nj(){return Object.create(null)}function sj(t){return typeof t=="string"&&!!t.trim()}function ij(t,e){var r=t.split(";").filter(sj),n=r.shift(),s=i9t(n),i=s.name,a=s.value;if(e=e?Object.assign({},KP,e):KP,rj(i))return null;try{a=e.decodeValues?decodeURIComponent(a):a}catch(c){console.error("set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",c)}var o=nj();return o.name=i,o.value=a,r.forEach(function(c){var u=c.split("="),l=u.shift().trimLeft().toLowerCase();if(!rj(l)){var d=u.join("=");if(l==="expires")o.expires=new Date(d);else if(l==="max-age"){var f=parseInt(d,10);Number.isNaN(f)||(o.maxAge=f)}else l==="secure"?o.secure=!0:l==="httponly"?o.httpOnly=!0:l==="samesite"?o.sameSite=d:l==="partitioned"?o.partitioned=!0:l&&(o[l]=d)}}),o}function i9t(t){var e="",r="",n=t.split("=");return n.length>1?(e=n.shift(),r=n.join("=")):r=t,{name:e,value:r}}function Nwe(t,e){if(e=e?Object.assign({},KP,e):KP,!t)return e.map?nj():[];if(t.headers)if(typeof t.headers.getSetCookie=="function")t=t.headers.getSetCookie();else if(t.headers["set-cookie"])t=t.headers["set-cookie"];else{var r=t.headers[Object.keys(t.headers).find(function(s){return s.toLowerCase()==="set-cookie"})];!r&&t.headers.cookie&&!e.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),t=r}if(Array.isArray(t)||(t=[t]),e.map){var n=nj();return t.filter(sj).reduce(function(s,i){var a=ij(i,e);return a&&!rj(a.name)&&(s[a.name]=a),s},n)}else return t.filter(sj).map(function(s){return ij(s,e)}).filter(Boolean)}function a9t(t){if(Array.isArray(t))return t;if(typeof t!="string")return[];var e=[],r=0,n,s,i,a,o;function c(){for(;r<t.length&&/\s/.test(t.charAt(r));)r+=1;return r<t.length}function u(){return s=t.charAt(r),s!=="="&&s!==";"&&s!==","}for(;r<t.length;){for(n=r,o=!1;c();)if(s=t.charAt(r),s===","){for(i=r,r+=1,c(),a=r;r<t.length&&u();)r+=1;r<t.length&&t.charAt(r)==="="?(o=!0,r=a,e.push(t.substring(n,i)),n=r):r=i+1}else r+=1;(!o||r>=t.length)&&e.push(t.substring(n,t.length))}return e}_S.exports=Nwe;_S.exports.parse=Nwe;_S.exports.parseString=ij;_S.exports.splitCookiesString=a9t});var kwe=E((Q4r,Dwe)=>{"use strict";var SS=require("node:http"),{Writable:o9t,Readable:c9t}=require("node:stream"),u9t=require("node:util"),l9t=Owe();function Qp(t,e,r){SS.ServerResponse.call(this,t),this._lightMyRequest={headers:null,trailers:{},payloadChunks:[]},this.setHeader("foo","bar"),this.removeHeader("foo"),this.assignSocket(f9t()),this._promiseCallback=typeof r=="function";let n=!1,s=a=>{if(n=!0,this._promiseCallback)return process.nextTick(()=>e(a));process.nextTick(()=>e(null,a))},i=a=>{if(!n){if(n=!0,this._promiseCallback)return process.nextTick(()=>r(a));process.nextTick(()=>e(a,null))}};this.once("finish",()=>{let a=d9t(this);a.raw.req=t,s(a)}),this.connection.once("error",i),this.once("error",i),this.once("close",i)}u9t.inherits(Qp,SS.ServerResponse);Qp.prototype.setTimeout=function(t,e){return this.timeoutHandle=setTimeout(()=>{this.emit("timeout")},t),this.on("timeout",e),this};Qp.prototype.writeHead=function(){let t=SS.ServerResponse.prototype.writeHead.apply(this,arguments);return Pwe(this),t};Qp.prototype.write=function(t,e,r){return this.timeoutHandle&&clearTimeout(this.timeoutHandle),SS.ServerResponse.prototype.write.call(this,t,e,r),this._lightMyRequest.payloadChunks.push(Buffer.from(t,e)),!0};Qp.prototype.end=function(t,e,r){t&&this.write(t,e),SS.ServerResponse.prototype.end.call(this,r),this.emit("finish"),this.destroy()};Qp.prototype.destroy=function(t){this.destroyed||(this.destroyed=!0,t&&process.nextTick(()=>this.emit("error",t)),process.nextTick(()=>this.emit("close")))};Qp.prototype.addTrailers=function(t){for(let e in t)this._lightMyRequest.trailers[e.toLowerCase().trim()]=t[e].toString().trim()};function d9t(t){t._lightMyRequest.headers===null&&Pwe(t),p9t(t);let e={raw:{res:t},headers:t._lightMyRequest.headers,statusCode:t.statusCode,statusMessage:t.statusMessage,trailers:{},get cookies(){return l9t.parse(this)}},r=Buffer.concat(t._lightMyRequest.payloadChunks);return e.rawPayload=r,e.payload=r.toString(),e.body=e.payload,e.trailers=t._lightMyRequest.trailers,e.json=function(){return JSON.parse(e.payload)},e.stream=function(){return c9t.from(t._lightMyRequest.payloadChunks)},e}function f9t(){return new o9t({write(t,e,r){setImmediate(r)}})}function p9t(t){let e=t._lightMyRequest.headers;for(let r of Object.keys(e)){let n=e[r];Array.isArray(n)?e[r]=n.map(s=>""+s):e[r]=""+n}}function Pwe(t){t._lightMyRequest.headers=Object.assign({},t.getHeaders()),["Date","Connection","Transfer-Encoding"].forEach(e=>{let r=new RegExp("\\r\\n"+e+": ([^\\r]*)\\r\\n"),n=t._header.match(r);n&&(t._lightMyRequest.headers[e.toLowerCase()]=n[1])})}Dwe.exports=Qp});var Lwe=E((G4r,aj)=>{"use strict";aj.exports=xs;aj.exports.default=xs;var m9t={type:"object",properties:{url:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:!0,required:["pathname"]}]},path:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:!0,required:["pathname"]}]},cookies:{type:"object",additionalProperties:!0},headers:{type:"object",additionalProperties:!0},query:{anyOf:[{type:"object",additionalProperties:!0},{type:"string"}]},simulate:{type:"object",properties:{end:{type:"boolean"},split:{type:"boolean"},error:{type:"boolean"},close:{type:"boolean"}}},authority:{type:"string"},remoteAddress:{type:"string"},method:{type:"string",enum:["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE","acl","bind","checkout","connect","copy","delete","get","head","link","lock","m-search","merge","mkactivity","mkcalendar","mkcol","move","notify","options","patch","post","propfind","proppatch","purge","put","rebind","report","search","source","subscribe","trace","unbind","unlink","unlock","unsubscribe"]},validate:{type:"boolean"}},additionalProperties:!0,oneOf:[{required:["url"]},{required:["path"]}]};function xs(t,{instancePath:e="",parentData:r,parentDataProperty:n,rootData:s=t}={}){let i=null,a=0,o=a,c=!1,u=null,l=a;if(t&&typeof t=="object"&&!Array.isArray(t)){let x;if(t.url===void 0&&(x="url")){let v={instancePath:e,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:x},message:"must have required property '"+x+"'"};i===null?i=[v]:i.push(v),a++}}var f=l===a;f&&(c=!0,u=0);let d=a;if(t&&typeof t=="object"&&!Array.isArray(t)){let x;if(t.path===void 0&&(x="path")){let v={instancePath:e,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty:x},message:"must have required property '"+x+"'"};i===null?i=[v]:i.push(v),a++}}var f=d===a;if(f&&c?(c=!1,u=[u,1]):f&&(c=!0,u=1),c)a=o,i!==null&&(o?i.length=o:i=null);else{let x={instancePath:e,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:u},message:"must match exactly one schema in oneOf"};return i===null?i=[x]:i.push(x),a++,xs.errors=i,!1}if(a===0)if(t&&typeof t=="object"&&!Array.isArray(t)){if(t.url!==void 0){let x=t.url,v=a,C=a,R=!1,w=null,N=a;if(typeof x!="string"){let L=typeof x,M;if(M===void 0)if(L=="number"||L=="boolean")M=""+x;else if(x===null)M="";else{let k={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[k]:i.push(k),a++}M!==void 0&&(x=M,t!==void 0&&(t.url=M))}var m=N===a;m&&(R=!0,w=0);let P=a;if(a===P)if(x&&typeof x=="object"&&!Array.isArray(x)){let L;if(x.pathname===void 0&&(L="pathname")){let M={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/1/required",keyword:"required",params:{missingProperty:L},message:"must have required property '"+L+"'"};i===null?i=[M]:i.push(M),a++}else{if(x.protocol!==void 0){let M=x.protocol,k=a;if(typeof M!="string"){let B=typeof M,Z;if(Z===void 0)if(B=="number"||B=="boolean")Z=""+M;else if(M===null)Z="";else{let W={instancePath:e+"/url/protocol",schemaPath:"#/properties/url/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[W]:i.push(W),a++}Z!==void 0&&(M=Z,x!==void 0&&(x.protocol=Z))}var p=k===a}else var p=!0;if(p){if(x.hostname!==void 0){let M=x.hostname,k=a;if(typeof M!="string"){let Z=typeof M,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+M;else if(M===null)W="";else{let F={instancePath:e+"/url/hostname",schemaPath:"#/properties/url/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(M=W,x!==void 0&&(x.hostname=W))}var p=k===a}else var p=!0;if(p)if(x.pathname!==void 0){let M=x.pathname,k=a;if(typeof M!="string"){let Z=typeof M,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+M;else if(M===null)W="";else{let F={instancePath:e+"/url/pathname",schemaPath:"#/properties/url/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(M=W,x!==void 0&&(x.pathname=W))}var p=k===a}else var p=!0}}}else{let L={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[L]:i.push(L),a++}var m=P===a;if(m&&R?(R=!1,w=[w,1]):m&&(R=!0,w=1),R)a=C,i!==null&&(C?i.length=C:i=null);else{let L={instancePath:e+"/url",schemaPath:"#/properties/url/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[L]:i.push(L),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.path!==void 0){let x=t.path,v=a,C=a,R=!1,w=null,N=a;if(typeof x!="string"){let M=typeof x,k;if(k===void 0)if(M=="number"||M=="boolean")k=""+x;else if(x===null)k="";else{let B={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[B]:i.push(B),a++}k!==void 0&&(x=k,t!==void 0&&(t.path=k))}var g=N===a;g&&(R=!0,w=0);let P=a;if(a===P)if(x&&typeof x=="object"&&!Array.isArray(x)){let M;if(x.pathname===void 0&&(M="pathname")){let k={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/1/required",keyword:"required",params:{missingProperty:M},message:"must have required property '"+M+"'"};i===null?i=[k]:i.push(k),a++}else{if(x.protocol!==void 0){let k=x.protocol,B=a;if(typeof k!="string"){let Z=typeof k,W;if(W===void 0)if(Z=="number"||Z=="boolean")W=""+k;else if(k===null)W="";else{let F={instancePath:e+"/path/protocol",schemaPath:"#/properties/path/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[F]:i.push(F),a++}W!==void 0&&(k=W,x!==void 0&&(x.protocol=W))}var A=B===a}else var A=!0;if(A){if(x.hostname!==void 0){let k=x.hostname,B=a;if(typeof k!="string"){let W=typeof k,F;if(F===void 0)if(W=="number"||W=="boolean")F=""+k;else if(k===null)F="";else{let V={instancePath:e+"/path/hostname",schemaPath:"#/properties/path/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[V]:i.push(V),a++}F!==void 0&&(k=F,x!==void 0&&(x.hostname=F))}var A=B===a}else var A=!0;if(A)if(x.pathname!==void 0){let k=x.pathname,B=a;if(typeof k!="string"){let W=typeof k,F;if(F===void 0)if(W=="number"||W=="boolean")F=""+k;else if(k===null)F="";else{let V={instancePath:e+"/path/pathname",schemaPath:"#/properties/path/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[V]:i.push(V),a++}F!==void 0&&(k=F,x!==void 0&&(x.pathname=F))}var A=B===a}else var A=!0}}}else{let M={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[M]:i.push(M),a++}var g=P===a;if(g&&R?(R=!1,w=[w,1]):g&&(R=!0,w=1),R)a=C,i!==null&&(C?i.length=C:i=null);else{let M={instancePath:e+"/path",schemaPath:"#/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas:w},message:"must match exactly one schema in oneOf"};return i===null?i=[M]:i.push(M),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.cookies!==void 0){let x=t.cookies,v=a;if(a===v&&!(x&&typeof x=="object"&&!Array.isArray(x)))return xs.errors=[{instancePath:e+"/cookies",schemaPath:"#/properties/cookies/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.headers!==void 0){let x=t.headers,v=a;if(a===v&&!(x&&typeof x=="object"&&!Array.isArray(x)))return xs.errors=[{instancePath:e+"/headers",schemaPath:"#/properties/headers/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.query!==void 0){let x=t.query,v=a,C=a,R=!1,w=a;if(a===w&&!(x&&typeof x=="object"&&!Array.isArray(x))){let P={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};i===null?i=[P]:i.push(P),a++}var b=w===a;if(R=R||b,!R){let P=a;if(typeof x!="string"){let M=typeof x,k;if(k===void 0)if(M=="number"||M=="boolean")k=""+x;else if(x===null)k="";else{let B={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};i===null?i=[B]:i.push(B),a++}k!==void 0&&(x=k,t!==void 0&&(t.query=k))}var b=P===a;R=R||b}if(R)a=C,i!==null&&(C?i.length=C:i=null);else{let P={instancePath:e+"/query",schemaPath:"#/properties/query/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};return i===null?i=[P]:i.push(P),a++,xs.errors=i,!1}var h=v===a}else var h=!0;if(h){if(t.simulate!==void 0){let x=t.simulate,v=a;if(a===v)if(x&&typeof x=="object"&&!Array.isArray(x)){if(x.end!==void 0){let R=x.end,w=a;if(typeof R!="boolean"){let N;if(N===void 0)if(R==="false"||R===0||R===null)N=!1;else if(R==="true"||R===1)N=!0;else return xs.errors=[{instancePath:e+"/simulate/end",schemaPath:"#/properties/simulate/properties/end/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;N!==void 0&&(R=N,x!==void 0&&(x.end=N))}var y=w===a}else var y=!0;if(y){if(x.split!==void 0){let R=x.split,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/split",schemaPath:"#/properties/simulate/properties/split/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.split=P))}var y=w===a}else var y=!0;if(y){if(x.error!==void 0){let R=x.error,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/error",schemaPath:"#/properties/simulate/properties/error/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.error=P))}var y=w===a}else var y=!0;if(y)if(x.close!==void 0){let R=x.close,w=a;if(typeof R!="boolean"){let P;if(P===void 0)if(R==="false"||R===0||R===null)P=!1;else if(R==="true"||R===1)P=!0;else return xs.errors=[{instancePath:e+"/simulate/close",schemaPath:"#/properties/simulate/properties/close/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;P!==void 0&&(R=P,x!==void 0&&(x.close=P))}var y=w===a}else var y=!0}}}else return xs.errors=[{instancePath:e+"/simulate",schemaPath:"#/properties/simulate/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;var h=v===a}else var h=!0;if(h){if(t.authority!==void 0){let x=t.authority,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/authority",schemaPath:"#/properties/authority/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.authority=w))}var h=v===a}else var h=!0;if(h){if(t.remoteAddress!==void 0){let x=t.remoteAddress,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/remoteAddress",schemaPath:"#/properties/remoteAddress/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.remoteAddress=w))}var h=v===a}else var h=!0;if(h){if(t.method!==void 0){let x=t.method,v=a;if(typeof x!="string"){let R=typeof x,w;if(w===void 0)if(R=="number"||R=="boolean")w=""+x;else if(x===null)w="";else return xs.errors=[{instancePath:e+"/method",schemaPath:"#/properties/method/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;w!==void 0&&(x=w,t!==void 0&&(t.method=w))}if(!(x==="ACL"||x==="BIND"||x==="CHECKOUT"||x==="CONNECT"||x==="COPY"||x==="DELETE"||x==="GET"||x==="HEAD"||x==="LINK"||x==="LOCK"||x==="M-SEARCH"||x==="MERGE"||x==="MKACTIVITY"||x==="MKCALENDAR"||x==="MKCOL"||x==="MOVE"||x==="NOTIFY"||x==="OPTIONS"||x==="PATCH"||x==="POST"||x==="PROPFIND"||x==="PROPPATCH"||x==="PURGE"||x==="PUT"||x==="REBIND"||x==="REPORT"||x==="SEARCH"||x==="SOURCE"||x==="SUBSCRIBE"||x==="TRACE"||x==="UNBIND"||x==="UNLINK"||x==="UNLOCK"||x==="UNSUBSCRIBE"||x==="acl"||x==="bind"||x==="checkout"||x==="connect"||x==="copy"||x==="delete"||x==="get"||x==="head"||x==="link"||x==="lock"||x==="m-search"||x==="merge"||x==="mkactivity"||x==="mkcalendar"||x==="mkcol"||x==="move"||x==="notify"||x==="options"||x==="patch"||x==="post"||x==="propfind"||x==="proppatch"||x==="purge"||x==="put"||x==="rebind"||x==="report"||x==="search"||x==="source"||x==="subscribe"||x==="trace"||x==="unbind"||x==="unlink"||x==="unlock"||x==="unsubscribe"))return xs.errors=[{instancePath:e+"/method",schemaPath:"#/properties/method/enum",keyword:"enum",params:{allowedValues:m9t.properties.method.enum},message:"must be equal to one of the allowed values"}],!1;var h=v===a}else var h=!0;if(h)if(t.validate!==void 0){let x=t.validate,v=a;if(typeof x!="boolean"){let R;if(R===void 0)if(x==="false"||x===0||x===null)R=!1;else if(x==="true"||x===1)R=!0;else return xs.errors=[{instancePath:e+"/validate",schemaPath:"#/properties/validate/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;R!==void 0&&(x=R,t!==void 0&&(t.validate=R))}var h=v===a}else var h=!0}}}}}}}}}else return xs.errors=[{instancePath:e,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;return xs.errors=i,a===0}});var Wwe=E((V4r,CS)=>{"use strict";var h9t=require("node:assert"),oj=Rwe(),YP=kwe(),XP="The dispatch function has already been invoked",Bwe=Lwe();function cj(t,e,r){return r===void 0?new vS(t,e):JP(t,e,r)}function Mwe(t,e,r,n){return r.once("error",function(s){this.destroyed&&n.destroy(s)}),r.once("close",function(){this.destroyed&&!this._error&&n.destroy()}),r.prepare(()=>t.call(e,r,n))}function JP(t,e,r){if(e=typeof e=="string"?{url:e}:e,e.validate!==!1&&(h9t(typeof t=="function","dispatchFunc should be a function"),!Bwe(e)))throw new Error(Bwe.errors.map(a=>a.message));let n=e.server||{},s=e.Request?oj.CustomRequest:oj;if(t.request&&t.request.app===t&&(Object.setPrototypeOf(Object.getPrototypeOf(t.request),s.prototype),Object.setPrototypeOf(Object.getPrototypeOf(t.response),YP.prototype)),typeof r=="function"){let i=new s(e),a=new YP(i,r);return Mwe(t,n,i,a)}else return new Promise((i,a)=>{let o=new s(e),c=new YP(o,i,a);Mwe(t,n,o,c)})}function vS(t,e){typeof e=="string"?this.option={url:e}:this.option=Object.assign({},e),this.dispatch=t,this._hasInvoked=!1,this._promise=null,this.option.autoStart!==!1&&process.nextTick(()=>{this._hasInvoked||this.end()})}var g9t=["delete","get","head","options","patch","post","put","trace"];g9t.forEach(t=>{vS.prototype[t]=function(e){if(this._hasInvoked===!0||this._promise)throw new Error(XP);return this.option.url=e,this.option.method=t.toUpperCase(),this}});var A9t=["body","cookies","headers","payload","query"];A9t.forEach(t=>{vS.prototype[t]=function(e){if(this._hasInvoked===!0||this._promise)throw new Error(XP);return this.option[t]=e,this}});vS.prototype.end=function(t){if(this._hasInvoked===!0||this._promise)throw new Error(XP);if(this._hasInvoked=!0,typeof t=="function")JP(this.dispatch,this.option,t);else return this._promise=JP(this.dispatch,this.option),this._promise};Object.getOwnPropertyNames(Promise.prototype).forEach(t=>{t!=="constructor"&&(vS.prototype[t]=function(...e){if(!this._promise){if(this._hasInvoked===!0)throw new Error(XP);this._hasInvoked=!0,this._promise=JP(this.dispatch,this.option)}return this._promise[t](...e)})});function y9t(t){return t instanceof oj||t instanceof YP||t&&t.constructor&&t.constructor.name==="_CustomLMRRequest"}CS.exports=cj;CS.exports.default=cj;CS.exports.inject=cj;CS.exports.isInjection=y9t});var Zwe=E((z4r,r3)=>{"use strict";var x9t="4.26.0",b9t=hfe(),uj=require("node:http"),IS,{kAvvioBoot:TS,kChildren:lj,kServerBindings:$we,kBodyLimit:E9t,kRoutePrefix:Fwe,kLogLevel:_9t,kLogSerializers:S9t,kHooks:dj,kSchemaController:Gp,kRequestAcceptVersion:v9t,kReplySerializerDefault:Uwe,kContentTypeParser:C9t,kReply:I9t,kRequest:T9t,kFourOhFour:w9t,kState:ps,kOptions:fj,kPluginNameChain:wS,kSchemaErrorFormatter:pj,kErrorHandler:ZP,kKeepAliveConnections:mj,kChildLoggerFactory:hj,kGenReqId:gj}=Qs(),{createServer:R9t,compileValidateHTTPVersion:N9t}=Wfe(),RS=SN(),e3=FN(),O9t=UN(),{supportedMethods:P9t}=B$(),nx=U$(),uh=Y$(),qwe=bq(),{Hooks:D9t,hookRunnerApplication:jwe,supportedHooks:Aj}=up(),{createLogger:k9t,createChildLogger:Hwe,defaultChildLoggerFactory:L9t}=c1(),Qwe=Iq(),{getGenReqId:Gwe,reqIdGenFactory:Vwe}=IP(),{buildRouting:B9t,validateBodyLimitOption:M9t}=XTe(),W9t=iwe(),Xwe=cwe(),$9t=Awe(),{FSTDEP009:F9t}=cd(),U9t=xwe(),{appendStackTrace:q9t,AVVIO_ERRORS_MAP:zwe,...lh}=Ci(),{defaultInitOptions:Ha}=Xwe,{FST_ERR_ASYNC_CONSTRAINT:j9t,FST_ERR_BAD_URL:H9t,FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE:Q9t,FST_ERR_OPTIONS_NOT_OBJ:G9t,FST_ERR_QSP_NOT_FN:V9t,FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN:z9t,FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ:K9t,FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR:Y9t,FST_ERR_VERSION_CONSTRAINT_NOT_STR:J9t,FST_ERR_INSTANCE_ALREADY_LISTENING:X9t,FST_ERR_REOPENED_CLOSE_SERVER:Z9t,FST_ERR_ROUTE_REWRITE_NOT_STR:eqt,FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN:Kwe}=lh,{buildErrorHandler:Ywe}=U1();function tqt(t){let e={};return["errorHandler","logLevel","logSerializers"].concat(Aj).forEach(n=>{e[n]=t.store[n]}),Object.assign({},e)}function t3(t){if(t=t||{},typeof t!="object")throw new G9t;if(t.querystringParser&&typeof t.querystringParser!="function")throw new V9t(typeof t.querystringParser);if(t.schemaController&&t.schemaController.bucket&&typeof t.schemaController.bucket!="function")throw new z9t(typeof t.schemaController.bucket);M9t(t.bodyLimit);let e=t.requestIdHeader===!1?!1:(t.requestIdHeader||Ha.requestIdHeader).toLowerCase(),r=Vwe(e,t.genReqId),n=t.requestIdLogLabel||"reqId",s=t.bodyLimit||Ha.bodyLimit,i=t.disableRequestLogging||!1,a=Object.assign({customOptions:{},plugins:[]},t.ajv),o=t.frameworkErrors;if(!a.customOptions||Object.prototype.toString.call(a.customOptions)!=="[object Object]")throw new K9t(typeof a.customOptions);if(!a.plugins||!Array.isArray(a.plugins))throw new Y9t(typeof a.plugins);let{logger:c,hasLogger:u}=k9t(t);t.connectionTimeout=t.connectionTimeout||Ha.connectionTimeout,t.keepAliveTimeout=t.keepAliveTimeout||Ha.keepAliveTimeout,t.maxRequestsPerSocket=t.maxRequestsPerSocket||Ha.maxRequestsPerSocket,t.requestTimeout=t.requestTimeout||Ha.requestTimeout,t.logger=c,t.requestIdHeader=e,t.requestIdLogLabel=n,t.disableRequestLogging=i,t.ajv=a,t.clientErrorHandler=t.clientErrorHandler||F;let l=Xwe(t);t.exposeHeadRoutes=l.exposeHeadRoutes;let d=t.constraints;t.versioning&&(F9t(),d={...d,version:{name:"version",mustMatchWhenDerived:!0,storage:t.versioning.storage,deriveConstraint:t.versioning.deriveVersion,validate(q){if(typeof q!="string")throw new J9t}}});let f=B9t({config:{defaultRoute:V,onBadUrl:j,constraints:d,ignoreTrailingSlash:t.ignoreTrailingSlash||Ha.ignoreTrailingSlash,ignoreDuplicateSlashes:t.ignoreDuplicateSlashes||Ha.ignoreDuplicateSlashes,maxParamLength:t.maxParamLength||Ha.maxParamLength,caseSensitive:t.caseSensitive,allowUnsafeRegex:t.allowUnsafeRegex||Ha.allowUnsafeRegex,buildPrettyMeta:tqt,querystringParser:t.querystringParser,useSemicolonDelimiter:t.useSemicolonDelimiter??Ha.useSemicolonDelimiter}}),p=W9t(t),m=G(f,t);t.http2SessionTimeout=l.http2SessionTimeout;let{server:h,listen:A}=R9t(t,m),g=typeof h.closeAllConnections=="function",b=typeof h.closeIdleConnections=="function",y=t.forceCloseConnections;if(y==="idle"&&!b)throw new Q9t;typeof y!="boolean"&&(y=b?"idle":!1);let x=!g&&y===!0?new Set:U9t(),v=RS.setupResponseListeners,C=qwe.buildSchemaController(null,t.schemaController),R={[ps]:{listening:!1,closing:!1,started:!1,ready:!1,booting:!1,readyPromise:null},[mj]:x,[fj]:t,[lj]:[],[$we]:[],[E9t]:s,[Fwe]:"",[_9t]:"",[S9t]:null,[dj]:new D9t,[Gp]:C,[pj]:null,[ZP]:Ywe(),[hj]:L9t,[Uwe]:null,[C9t]:new uh(s,t.onProtoPoisoning||Ha.onProtoPoisoning,t.onConstructorPoisoning||Ha.onConstructorPoisoning),[I9t]:RS.buildReply(RS),[T9t]:e3.buildRequest(e3,t.trustProxy),[w9t]:p,[Qwe.kRegisteredPlugins]:[],[wS]:["fastify"],[TS]:null,[gj]:r,routing:m,getDefaultRoute:f.getDefaultRoute.bind(f),setDefaultRoute:f.setDefaultRoute.bind(f),delete:function(H,ee,ne){return f.prepareRoute.call(this,{method:"DELETE",url:H,options:ee,handler:ne})},get:function(H,ee,ne){return f.prepareRoute.call(this,{method:"GET",url:H,options:ee,handler:ne})},head:function(H,ee,ne){return f.prepareRoute.call(this,{method:"HEAD",url:H,options:ee,handler:ne})},patch:function(H,ee,ne){return f.prepareRoute.call(this,{method:"PATCH",url:H,options:ee,handler:ne})},post:function(H,ee,ne){return f.prepareRoute.call(this,{method:"POST",url:H,options:ee,handler:ne})},put:function(H,ee,ne){return f.prepareRoute.call(this,{method:"PUT",url:H,options:ee,handler:ne})},options:function(H,ee,ne){return f.prepareRoute.call(this,{method:"OPTIONS",url:H,options:ee,handler:ne})},all:function(H,ee,ne){return f.prepareRoute.call(this,{method:P9t,url:H,options:ee,handler:ne})},route:function(H){return f.route.call(this,{options:H})},hasRoute:function(H){return f.hasRoute.call(this,{options:H})},findRoute:function(H){return f.findRoute(H)},log:c,withTypeProvider:B,addHook:Z,addSchema:W,getSchema:C.getSchema.bind(C),getSchemas:C.getSchemas.bind(C),setValidatorCompiler:oe,setSerializerCompiler:Ce,setSchemaController:we,setReplySerializer:qe,setSchemaErrorFormatter:ue,setGenReqId:z,addContentTypeParser:uh.helpers.addContentTypeParser,hasContentTypeParser:uh.helpers.hasContentTypeParser,getDefaultJsonParser:uh.defaultParsers.getDefaultJsonParser,defaultTextParser:uh.defaultParsers.defaultTextParser,removeContentTypeParser:uh.helpers.removeContentTypeParser,removeAllContentTypeParsers:uh.helpers.removeAllContentTypeParsers,register:null,after:null,ready:null,onClose:null,close:null,printPlugins:null,hasPlugin:function(q){return this[Qwe.kRegisteredPlugins].includes(q)||this[wS].includes(q)},listen:A,server:h,addresses:function(){let q=this[$we].map(H=>H.address());return q.push(this.server.address()),q.filter(H=>H)},decorate:nx.add,hasDecorator:nx.exist,decorateReply:nx.decorateReply,decorateRequest:nx.decorateRequest,hasRequestDecorator:nx.existRequest,hasReplyDecorator:nx.existReply,inject:M,printRoutes:U,setNotFoundHandler:se,setErrorHandler:Fe,setChildLoggerFactory:_e,initialConfig:l,addConstraintStrategy:f.addConstraintStrategy.bind(f),hasConstraintStrategy:f.hasConstraintStrategy.bind(f)};Object.defineProperties(R,{listeningOrigin:{get(){let q=this.addresses().slice(-1).pop();if(typeof q=="string")return q;let H=q.family==="IPv6"?`[${q.address}]`:q.address;return`${this[fj].https?"https":"http"}://${H}:${q.port}`}},pluginName:{configurable:!0,get(){return this[wS].length>1?this[wS].join(" -> "):this[wS][0]}},prefix:{configurable:!0,get(){return this[Fwe]}},validatorCompiler:{configurable:!0,get(){return this[Gp].getValidatorCompiler()}},serializerCompiler:{configurable:!0,get(){return this[Gp].getSerializerCompiler()}},childLoggerFactory:{configurable:!0,get(){return this[hj]}},version:{configurable:!0,get(){return x9t}},errorHandler:{configurable:!0,get(){return this[ZP].func}},genReqId:{configurable:!0,get(){return this[gj]}}}),t.schemaErrorFormatter&&(Jwe(t.schemaErrorFormatter),R[pj]=t.schemaErrorFormatter.bind(R));let w=Number(t.pluginTimeout),N=b9t(R,{autostart:!1,timeout:isNaN(w)===!1?w:Ha.pluginTimeout,expose:{use:"register"}});N.override=$9t,N.on("start",()=>R[ps].started=!0),R[TS]=R.ready,R.ready=k,R.printPlugins=N.prettyPrint.bind(N),N.once("preReady",()=>{R.onClose((q,H)=>{R[ps].closing=!0,f.closeRoutes(),jwe("preClose",R[TS],R,function(){if(R[ps].listening){if(y==="idle")q.server.closeIdleConnections();else if(g&&y)q.server.closeAllConnections();else if(y===!0)for(let ee of R[mj])ee.destroy(),R[mj].delete(ee)}!t.serverFactory||R[ps].listening?q.server.close(function(ee){ee&&ee.code!=="ERR_SERVER_NOT_RUNNING"?H(null):H()}):process.nextTick(H,null)})})});let P=new O9t({server:R,config:{}});R.setNotFoundHandler(),p.arrange404(R),f.setup(t,{avvio:N,fourOhFour:p,logger:c,hasLogger:u,setupResponseListeners:v,throwIfAlreadyStarted:L,validateHTTPVersion:N9t(t),keepAliveConnections:x}),h.on("clientError",t.clientErrorHandler.bind(R));try{let H=require("node:diagnostics_channel").channel("fastify.initialization");H.hasSubscribers&&H.publish({fastify:R})}catch{}return"asyncDispose"in Symbol&&(R[Symbol.asyncDispose]=function(){return R.close()}),R;function L(q){if(R[ps].started)throw new X9t(q)}function M(q,H){if(IS===void 0&&(IS=Wwe()),R[ps].started){if(R[ps].closing){let ee=new Z9t;if(H){H(ee);return}else return Promise.reject(ee)}return IS(m,q,H)}if(H)this.ready(ee=>{ee?H(ee,null):IS(m,q,H)});else return IS((ee,ne)=>{this.ready(function(re){if(re){ne.emit("error",re);return}m(ee,ne)})},q)}function k(q){if(this[ps].readyPromise!==null){if(q!=null){this[ps].readyPromise.then(()=>q(null,R),q);return}return this[ps].readyPromise}let H,ee;if(process.nextTick(ne),this[ps].readyPromise=new Promise(function(X,ie){H=X,ee=ie}),q)this[ps].readyPromise.then(()=>q(null,R),q);else return this[ps].readyPromise;function ne(){R[TS]((X,ie)=>{X||R[ps].started||R[ps].ready||R[ps].booting?re(X):(R[ps].booting=!0,jwe("onReady",R[TS],R,re)),ie()})}function re(X){if(X=X!=null&&zwe[X.code]!=null?q9t(X,new zwe[X.code](X.message)):X,X)return ee(X);H(R),R[ps].booting=!1,R[ps].ready=!0,R[ps].promise=null}}function B(){return this}function Z(q,H){if(L('Cannot call "addHook"!'),H==null)throw new lh.FST_ERR_HOOK_INVALID_HANDLER(q,H);if(q==="onSend"||q==="preSerialization"||q==="onError"||q==="preParsing"){if(H.constructor.name==="AsyncFunction"&&H.length===4)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(q==="onReady"||q==="onListen"){if(H.constructor.name==="AsyncFunction"&&H.length!==0)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(q==="onRequestAbort"){if(H.constructor.name==="AsyncFunction"&&H.length!==1)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER}else if(H.constructor.name==="AsyncFunction"&&H.length===3)throw new lh.FST_ERR_HOOK_INVALID_ASYNC_HANDLER;return q==="onClose"?this.onClose(H):q==="onReady"||q==="onListen"||q==="onRoute"?this[dj].add(q,H):this.after((ne,re)=>{ee.call(this,q,H),re(ne)}),this;function ee(ne,re){this[dj].add(ne,re),this[lj].forEach(X=>ee.call(X,ne,re))}}function W(q){return L('Cannot call "addSchema"!'),this[Gp].add(q),this[lj].forEach(H=>H.addSchema(q)),this}function F(q,H){if(q.code==="ECONNRESET"||H.destroyed)return;let ee,ne,re,X;q.code==="ERR_HTTP_REQUEST_TIMEOUT"?(ne="408",re=uj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Client Timeout","statusCode":408}`,X="timeout"):q.code==="HPE_HEADER_OVERFLOW"?(ne="431",re=uj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Exceeded maximum allowed HTTP header size","statusCode":431}`,X="header_overflow"):(ne="400",re=uj.STATUS_CODES[ne],ee=`{"error":"${re}","message":"Client Error","statusCode":400}`,X="error"),this.log.trace({err:q},`client ${X}`),H.writable&&H.write(`HTTP/1.1 ${ne} ${re}\r
|
|
Content-Length: ${ee.length}\r
|
|
Content-Type: application/json\r
|
|
\r
|
|
${ee}`),H.destroy(q)}function V(q,H){q.headers["accept-version"]!==void 0&&(q.headers[v9t]=q.headers["accept-version"],q.headers["accept-version"]=void 0),p.router.lookup(q,H)}function j(q,H,ee){if(o){let re=Gwe(P.server,H),X=Hwe(P,c,H,re),ie=new e3(re,null,H,null,X,P),ce=new RS(ee,ie,X);return i===!1&&X.info({req:ie},"incoming request"),o(new H9t(q),ie,ce)}let ne=`{"error":"Bad Request","code":"FST_ERR_BAD_URL","message":"'${q}' is not a valid url component","statusCode":400}`;ee.writeHead(400,{"Content-Type":"application/json","Content-Length":ne.length}),ee.end(ne)}function J(q,H,ee){if(q!==!1)return function(re){if(re){if(o){let ie=Gwe(P.server,H),ce=Hwe(P,c,H,ie),fe=new e3(ie,null,H,null,ce,P),Ne=new RS(ee,fe,ce);return i===!1&&ce.info({req:fe},"incoming request"),o(new j9t,fe,Ne)}let X='{"error":"Internal Server Error","message":"Unexpected error from async constraint","statusCode":500}';ee.writeHead(500,{"Content-Type":"application/json","Content-Length":X.length}),ee.end(X)}}}function se(q,H){return L('Cannot call "setNotFoundHandler"!'),p.setNotFoundHandler.call(this,q,H,N,f.routeHandler),this}function oe(q){return L('Cannot call "setValidatorCompiler"!'),this[Gp].setValidatorCompiler(q),this}function ue(q){return L('Cannot call "setSchemaErrorFormatter"!'),Jwe(q),this[pj]=q.bind(this),this}function Ce(q){return L('Cannot call "setSerializerCompiler"!'),this[Gp].setSerializerCompiler(q),this}function we(q){L('Cannot call "setSchemaController"!');let H=this[Gp],ee=qwe.buildSchemaController(H,Object.assign({},H.opts,q));return this[Gp]=ee,this.getSchema=ee.getSchema.bind(ee),this.getSchemas=ee.getSchemas.bind(ee),this}function qe(q){return L('Cannot call "setReplySerializer"!'),this[Uwe]=q,this}function Fe(q){return L('Cannot call "setErrorHandler"!'),this[ZP]=Ywe(this[ZP],q.bind(this)),this}function _e(q){return L('Cannot call "setChildLoggerFactory"!'),this[hj]=q,this}function U(q={}){return q.includeMeta=q.includeHooks?q.includeMeta?Aj.concat(q.includeMeta):Aj:q.includeMeta,f.printRoutes(q)}function G(q,{rewriteUrl:H,logger:ee}){let ne;return function(X,ie){if(ne===void 0&&(ne=q.isAsyncConstraint()),H){X.originalUrl=X.url;let ce=H.call(R,X);if(typeof ce=="string")X.url=ce;else{let fe=new eqt(X.url,typeof ce);X.destroy(fe)}}q.routing(X,ie,J(ne,X,ie))}}function z(q){return L('Cannot call "setGenReqId"!'),this[gj]=Vwe(this[fj].requestIdHeader,q),this}}t3.errorCodes=lh;function Jwe(t){if(typeof t!="function")throw new Kwe(typeof t);if(t.constructor.name==="AsyncFunction")throw new Kwe("AsyncFunction")}r3.exports=t3;r3.exports.fastify=t3;r3.exports.default=t3});var p2e=E((eMr,f2e)=>{var d2e=require("stream").Stream,Bqt=require("util");f2e.exports=tu;function tu(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}Bqt.inherits(tu,d2e);tu.create=function(t,e){var r=new this;e=e||{};for(var n in e)r[n]=e[n];r.source=t;var s=t.emit;return t.emit=function(){return r._handleEmit(arguments),s.apply(t,arguments)},t.on("error",function(){}),r.pauseStream&&t.pause(),r};Object.defineProperty(tu.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});tu.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};tu.prototype.resume=function(){this._released||this.release(),this.source.resume()};tu.prototype.pause=function(){this.source.pause()};tu.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(t){this.emit.apply(this,t)}.bind(this)),this._bufferedEvents=[]};tu.prototype.pipe=function(){var t=d2e.prototype.pipe.apply(this,arguments);return this.resume(),t};tu.prototype._handleEmit=function(t){if(this._released){this.emit.apply(this,t);return}t[0]==="data"&&(this.dataSize+=t[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(t)};tu.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(t))}}});var A2e=E((tMr,g2e)=>{var Mqt=require("util"),h2e=require("stream").Stream,m2e=p2e();g2e.exports=Kn;function Kn(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}Mqt.inherits(Kn,h2e);Kn.create=function(t){var e=new this;t=t||{};for(var r in t)e[r]=t[r];return e};Kn.isStreamLike=function(t){return typeof t!="function"&&typeof t!="string"&&typeof t!="boolean"&&typeof t!="number"&&!Buffer.isBuffer(t)};Kn.prototype.append=function(t){var e=Kn.isStreamLike(t);if(e){if(!(t instanceof m2e)){var r=m2e.create(t,{maxDataSize:1/0,pauseStream:this.pauseStreams});t.on("data",this._checkDataSize.bind(this)),t=r}this._handleErrors(t),this.pauseStreams&&t.pause()}return this._streams.push(t),this};Kn.prototype.pipe=function(t,e){return h2e.prototype.pipe.call(this,t,e),this.resume(),t};Kn.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};Kn.prototype._realGetNext=function(){var t=this._streams.shift();if(typeof t>"u"){this.end();return}if(typeof t!="function"){this._pipeNext(t);return}var e=t;e(function(r){var n=Kn.isStreamLike(r);n&&(r.on("data",this._checkDataSize.bind(this)),this._handleErrors(r)),this._pipeNext(r)}.bind(this))};Kn.prototype._pipeNext=function(t){this._currentStream=t;var e=Kn.isStreamLike(t);if(e){t.on("end",this._getNext.bind(this)),t.pipe(this,{end:!1});return}var r=t;this.write(r),this._getNext()};Kn.prototype._handleErrors=function(t){var e=this;t.on("error",function(r){e._emitError(r)})};Kn.prototype.write=function(t){this.emit("data",t)};Kn.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};Kn.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};Kn.prototype.end=function(){this._reset(),this.emit("end")};Kn.prototype.destroy=function(){this._reset(),this.emit("close")};Kn.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};Kn.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(t))}};Kn.prototype._updateDataSize=function(){this.dataSize=0;var t=this;this._streams.forEach(function(e){e.dataSize&&(t.dataSize+=e.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};Kn.prototype._emitError=function(t){this._reset(),this.emit("error",t)}});var y2e=E((rMr,Wqt)=>{Wqt.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var b2e=E((nMr,x2e)=>{x2e.exports=y2e()});var S2e=E(Qa=>{"use strict";var o3=b2e(),$qt=require("path").extname,E2e=/^\s*([^;\s]*)(?:;|\s|$)/,Fqt=/^text\//i;Qa.charset=_2e;Qa.charsets={lookup:_2e};Qa.contentType=Uqt;Qa.extension=qqt;Qa.extensions=Object.create(null);Qa.lookup=jqt;Qa.types=Object.create(null);Hqt(Qa.extensions,Qa.types);function _2e(t){if(!t||typeof t!="string")return!1;var e=E2e.exec(t),r=e&&o3[e[1].toLowerCase()];return r&&r.charset?r.charset:e&&Fqt.test(e[1])?"UTF-8":!1}function Uqt(t){if(!t||typeof t!="string")return!1;var e=t.indexOf("/")===-1?Qa.lookup(t):t;if(!e)return!1;if(e.indexOf("charset")===-1){var r=Qa.charset(e);r&&(e+="; charset="+r.toLowerCase())}return e}function qqt(t){if(!t||typeof t!="string")return!1;var e=E2e.exec(t),r=e&&Qa.extensions[e[1].toLowerCase()];return!r||!r.length?!1:r[0]}function jqt(t){if(!t||typeof t!="string")return!1;var e=$qt("x."+t).toLowerCase().substr(1);return e&&Qa.types[e]||!1}function Hqt(t,e){var r=["nginx","apache",void 0,"iana"];Object.keys(o3).forEach(function(s){var i=o3[s],a=i.extensions;if(!(!a||!a.length)){t[s]=a;for(var o=0;o<a.length;o++){var c=a[o];if(e[c]){var u=r.indexOf(o3[e[c]].source),l=r.indexOf(i.source);if(e[c]!=="application/octet-stream"&&(u>l||u===l&&e[c].substr(0,12)==="application/"))continue}e[c]=s}}})}});var C2e=E((iMr,v2e)=>{v2e.exports=Qqt;function Qqt(t){var e=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;e?e(t):setTimeout(t,0)}});var Ej=E((aMr,T2e)=>{var I2e=C2e();T2e.exports=Gqt;function Gqt(t){var e=!1;return I2e(function(){e=!0}),function(n,s){e?t(n,s):I2e(function(){t(n,s)})}}});var _j=E((oMr,w2e)=>{w2e.exports=Vqt;function Vqt(t){Object.keys(t.jobs).forEach(zqt.bind(t)),t.jobs={}}function zqt(t){typeof this.jobs[t]=="function"&&this.jobs[t]()}});var Sj=E((cMr,N2e)=>{var R2e=Ej(),Kqt=_j();N2e.exports=Yqt;function Yqt(t,e,r,n){var s=r.keyedList?r.keyedList[r.index]:r.index;r.jobs[s]=Jqt(e,s,t[s],function(i,a){s in r.jobs&&(delete r.jobs[s],i?Kqt(r):r.results[s]=a,n(i,r.results))})}function Jqt(t,e,r,n){var s;return t.length==2?s=t(r,R2e(n)):s=t(r,e,R2e(n)),s}});var vj=E((uMr,O2e)=>{O2e.exports=Xqt;function Xqt(t,e){var r=!Array.isArray(t),n={index:0,keyedList:r||e?Object.keys(t):null,jobs:{},results:r?{}:[],size:r?Object.keys(t).length:t.length};return e&&n.keyedList.sort(r?e:function(s,i){return e(t[s],t[i])}),n}});var Cj=E((lMr,P2e)=>{var Zqt=_j(),ejt=Ej();P2e.exports=tjt;function tjt(t){Object.keys(this.jobs).length&&(this.index=this.size,Zqt(this),ejt(t)(null,this.results))}});var k2e=E((dMr,D2e)=>{var rjt=Sj(),njt=vj(),sjt=Cj();D2e.exports=ijt;function ijt(t,e,r){for(var n=njt(t);n.index<(n.keyedList||t).length;)rjt(t,e,n,function(s,i){if(s){r(s,i);return}if(Object.keys(n.jobs).length===0){r(null,n.results);return}}),n.index++;return sjt.bind(n,r)}});var Ij=E((fMr,c3)=>{var L2e=Sj(),ajt=vj(),ojt=Cj();c3.exports=cjt;c3.exports.ascending=B2e;c3.exports.descending=ujt;function cjt(t,e,r,n){var s=ajt(t,r);return L2e(t,e,s,function i(a,o){if(a){n(a,o);return}if(s.index++,s.index<(s.keyedList||t).length){L2e(t,e,s,i);return}n(null,s.results)}),ojt.bind(s,n)}function B2e(t,e){return t<e?-1:t>e?1:0}function ujt(t,e){return-1*B2e(t,e)}});var W2e=E((pMr,M2e)=>{var ljt=Ij();M2e.exports=djt;function djt(t,e,r){return ljt(t,e,null,r)}});var F2e=E((mMr,$2e)=>{$2e.exports={parallel:k2e(),serial:W2e(),serialOrdered:Ij()}});var Tj=E((hMr,U2e)=>{"use strict";U2e.exports=Object});var j2e=E((gMr,q2e)=>{"use strict";q2e.exports=Error});var Q2e=E((AMr,H2e)=>{"use strict";H2e.exports=EvalError});var V2e=E((yMr,G2e)=>{"use strict";G2e.exports=RangeError});var K2e=E((xMr,z2e)=>{"use strict";z2e.exports=ReferenceError});var J2e=E((bMr,Y2e)=>{"use strict";Y2e.exports=SyntaxError});var Vp=E((EMr,X2e)=>{"use strict";X2e.exports=TypeError});var eRe=E((_Mr,Z2e)=>{"use strict";Z2e.exports=URIError});var rRe=E((SMr,tRe)=>{"use strict";tRe.exports=Math.abs});var sRe=E((vMr,nRe)=>{"use strict";nRe.exports=Math.floor});var aRe=E((CMr,iRe)=>{"use strict";iRe.exports=Math.max});var cRe=E((IMr,oRe)=>{"use strict";oRe.exports=Math.min});var lRe=E((TMr,uRe)=>{"use strict";uRe.exports=Math.pow});var fRe=E((wMr,dRe)=>{"use strict";dRe.exports=Math.round});var mRe=E((RMr,pRe)=>{"use strict";pRe.exports=Number.isNaN||function(e){return e!==e}});var gRe=E((NMr,hRe)=>{"use strict";var fjt=mRe();hRe.exports=function(e){return fjt(e)||e===0?e:e<0?-1:1}});var yRe=E((OMr,ARe)=>{"use strict";ARe.exports=Object.getOwnPropertyDescriptor});var wj=E((PMr,xRe)=>{"use strict";var u3=yRe();if(u3)try{u3([],"length")}catch{u3=null}xRe.exports=u3});var ERe=E((DMr,bRe)=>{"use strict";var l3=Object.defineProperty||!1;if(l3)try{l3({},"a",{value:1})}catch{l3=!1}bRe.exports=l3});var Rj=E((kMr,_Re)=>{"use strict";_Re.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var s=42;e[r]=s;for(var i in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,r);if(o.value!==s||o.enumerable!==!0)return!1}return!0}});var CRe=E((LMr,vRe)=>{"use strict";var SRe=typeof Symbol<"u"&&Symbol,pjt=Rj();vRe.exports=function(){return typeof SRe!="function"||typeof Symbol!="function"||typeof SRe("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:pjt()}});var Nj=E((BMr,IRe)=>{"use strict";IRe.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var Oj=E((MMr,TRe)=>{"use strict";var mjt=Tj();TRe.exports=mjt.getPrototypeOf||null});var NRe=E((WMr,RRe)=>{"use strict";var hjt="Function.prototype.bind called on incompatible ",gjt=Object.prototype.toString,Ajt=Math.max,yjt="[object Function]",wRe=function(e,r){for(var n=[],s=0;s<e.length;s+=1)n[s]=e[s];for(var i=0;i<r.length;i+=1)n[i+e.length]=r[i];return n},xjt=function(e,r){for(var n=[],s=r||0,i=0;s<e.length;s+=1,i+=1)n[i]=e[s];return n},bjt=function(t,e){for(var r="",n=0;n<t.length;n+=1)r+=t[n],n+1<t.length&&(r+=e);return r};RRe.exports=function(e){var r=this;if(typeof r!="function"||gjt.apply(r)!==yjt)throw new TypeError(hjt+r);for(var n=xjt(arguments,1),s,i=function(){if(this instanceof s){var l=r.apply(this,wRe(n,arguments));return Object(l)===l?l:this}return r.apply(e,wRe(n,arguments))},a=Ajt(0,r.length-n.length),o=[],c=0;c<a;c++)o[c]="$"+c;if(s=Function("binder","return function ("+bjt(o,",")+"){ return binder.apply(this,arguments); }")(i),r.prototype){var u=function(){};u.prototype=r.prototype,s.prototype=new u,u.prototype=null}return s}});var DS=E(($Mr,ORe)=>{"use strict";var Ejt=NRe();ORe.exports=Function.prototype.bind||Ejt});var d3=E((FMr,PRe)=>{"use strict";PRe.exports=Function.prototype.call});var Pj=E((UMr,DRe)=>{"use strict";DRe.exports=Function.prototype.apply});var LRe=E((qMr,kRe)=>{"use strict";kRe.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var MRe=E((jMr,BRe)=>{"use strict";var _jt=DS(),Sjt=Pj(),vjt=d3(),Cjt=LRe();BRe.exports=Cjt||_jt.call(vjt,Sjt)});var Dj=E((HMr,WRe)=>{"use strict";var Ijt=DS(),Tjt=Vp(),wjt=d3(),Rjt=MRe();WRe.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new Tjt("a function is required");return Rjt(Ijt,wjt,e)}});var HRe=E((QMr,jRe)=>{"use strict";var Njt=Dj(),$Re=wj(),URe;try{URe=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var kj=!!URe&&$Re&&$Re(Object.prototype,"__proto__"),qRe=Object,FRe=qRe.getPrototypeOf;jRe.exports=kj&&typeof kj.get=="function"?Njt([kj.get]):typeof FRe=="function"?function(e){return FRe(e==null?e:qRe(e))}:!1});var KRe=E((GMr,zRe)=>{"use strict";var QRe=Nj(),GRe=Oj(),VRe=HRe();zRe.exports=QRe?function(e){return QRe(e)}:GRe?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return GRe(e)}:VRe?function(e){return VRe(e)}:null});var f3=E((VMr,YRe)=>{"use strict";var Ojt=Function.prototype.call,Pjt=Object.prototype.hasOwnProperty,Djt=DS();YRe.exports=Djt.call(Ojt,Pjt)});var MS=E((zMr,rNe)=>{"use strict";var ur,kjt=Tj(),Ljt=j2e(),Bjt=Q2e(),Mjt=V2e(),Wjt=K2e(),ux=J2e(),cx=Vp(),$jt=eRe(),Fjt=rRe(),Ujt=sRe(),qjt=aRe(),jjt=cRe(),Hjt=lRe(),Qjt=fRe(),Gjt=gRe(),eNe=Function,Lj=function(t){try{return eNe('"use strict"; return ('+t+").constructor;")()}catch{}},kS=wj(),Vjt=ERe(),Bj=function(){throw new cx},zjt=kS?function(){try{return arguments.callee,Bj}catch{try{return kS(arguments,"callee").get}catch{return Bj}}}():Bj,ax=CRe()(),Vs=KRe(),Kjt=Oj(),Yjt=Nj(),tNe=Pj(),LS=d3(),ox={},Jjt=typeof Uint8Array>"u"||!Vs?ur:Vs(Uint8Array),dh={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?ur:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?ur:ArrayBuffer,"%ArrayIteratorPrototype%":ax&&Vs?Vs([][Symbol.iterator]()):ur,"%AsyncFromSyncIteratorPrototype%":ur,"%AsyncFunction%":ox,"%AsyncGenerator%":ox,"%AsyncGeneratorFunction%":ox,"%AsyncIteratorPrototype%":ox,"%Atomics%":typeof Atomics>"u"?ur:Atomics,"%BigInt%":typeof BigInt>"u"?ur:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?ur:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?ur:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?ur:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Ljt,"%eval%":eval,"%EvalError%":Bjt,"%Float16Array%":typeof Float16Array>"u"?ur:Float16Array,"%Float32Array%":typeof Float32Array>"u"?ur:Float32Array,"%Float64Array%":typeof Float64Array>"u"?ur:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?ur:FinalizationRegistry,"%Function%":eNe,"%GeneratorFunction%":ox,"%Int8Array%":typeof Int8Array>"u"?ur:Int8Array,"%Int16Array%":typeof Int16Array>"u"?ur:Int16Array,"%Int32Array%":typeof Int32Array>"u"?ur:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ax&&Vs?Vs(Vs([][Symbol.iterator]())):ur,"%JSON%":typeof JSON=="object"?JSON:ur,"%Map%":typeof Map>"u"?ur:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ax||!Vs?ur:Vs(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":kjt,"%Object.getOwnPropertyDescriptor%":kS,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?ur:Promise,"%Proxy%":typeof Proxy>"u"?ur:Proxy,"%RangeError%":Mjt,"%ReferenceError%":Wjt,"%Reflect%":typeof Reflect>"u"?ur:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?ur:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ax||!Vs?ur:Vs(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?ur:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ax&&Vs?Vs(""[Symbol.iterator]()):ur,"%Symbol%":ax?Symbol:ur,"%SyntaxError%":ux,"%ThrowTypeError%":zjt,"%TypedArray%":Jjt,"%TypeError%":cx,"%Uint8Array%":typeof Uint8Array>"u"?ur:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?ur:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?ur:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?ur:Uint32Array,"%URIError%":$jt,"%WeakMap%":typeof WeakMap>"u"?ur:WeakMap,"%WeakRef%":typeof WeakRef>"u"?ur:WeakRef,"%WeakSet%":typeof WeakSet>"u"?ur:WeakSet,"%Function.prototype.call%":LS,"%Function.prototype.apply%":tNe,"%Object.defineProperty%":Vjt,"%Object.getPrototypeOf%":Kjt,"%Math.abs%":Fjt,"%Math.floor%":Ujt,"%Math.max%":qjt,"%Math.min%":jjt,"%Math.pow%":Hjt,"%Math.round%":Qjt,"%Math.sign%":Gjt,"%Reflect.getPrototypeOf%":Yjt};if(Vs)try{null.error}catch(t){JRe=Vs(Vs(t)),dh["%Error.prototype%"]=JRe}var JRe,Xjt=function t(e){var r;if(e==="%AsyncFunction%")r=Lj("async function () {}");else if(e==="%GeneratorFunction%")r=Lj("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Lj("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var s=t("%AsyncGenerator%");s&&Vs&&(r=Vs(s.prototype))}return dh[e]=r,r},XRe={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},BS=DS(),p3=f3(),Zjt=BS.call(LS,Array.prototype.concat),eHt=BS.call(tNe,Array.prototype.splice),ZRe=BS.call(LS,String.prototype.replace),m3=BS.call(LS,String.prototype.slice),tHt=BS.call(LS,RegExp.prototype.exec),rHt=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,nHt=/\\(\\)?/g,sHt=function(e){var r=m3(e,0,1),n=m3(e,-1);if(r==="%"&&n!=="%")throw new ux("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new ux("invalid intrinsic syntax, expected opening `%`");var s=[];return ZRe(e,rHt,function(i,a,o,c){s[s.length]=o?ZRe(c,nHt,"$1"):a||i}),s},iHt=function(e,r){var n=e,s;if(p3(XRe,n)&&(s=XRe[n],n="%"+s[0]+"%"),p3(dh,n)){var i=dh[n];if(i===ox&&(i=Xjt(n)),typeof i>"u"&&!r)throw new cx("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:s,name:n,value:i}}throw new ux("intrinsic "+e+" does not exist!")};rNe.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new cx("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new cx('"allowMissing" argument must be a boolean');if(tHt(/^%?[^%]*%?$/,e)===null)throw new ux("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=sHt(e),s=n.length>0?n[0]:"",i=iHt("%"+s+"%",r),a=i.name,o=i.value,c=!1,u=i.alias;u&&(s=u[0],eHt(n,Zjt([0,1],u)));for(var l=1,d=!0;l<n.length;l+=1){var f=n[l],p=m3(f,0,1),m=m3(f,-1);if((p==='"'||p==="'"||p==="`"||m==='"'||m==="'"||m==="`")&&p!==m)throw new ux("property names with quotes must have matching quotes");if((f==="constructor"||!d)&&(c=!0),s+="."+f,a="%"+s+"%",p3(dh,a))o=dh[a];else if(o!=null){if(!(f in o)){if(!r)throw new cx("base intrinsic for "+e+" exists, but the property is not available.");return}if(kS&&l+1>=n.length){var h=kS(o,f);d=!!h,d&&"get"in h&&!("originalValue"in h.get)?o=h.get:o=o[f]}else d=p3(o,f),o=o[f];d&&!c&&(dh[a]=o)}}return o}});var sNe=E((KMr,nNe)=>{"use strict";var aHt=Rj();nNe.exports=function(){return aHt()&&!!Symbol.toStringTag}});var oNe=E((YMr,aNe)=>{"use strict";var oHt=MS(),iNe=oHt("%Object.defineProperty%",!0),cHt=sNe()(),uHt=f3(),lHt=Vp(),h3=cHt?Symbol.toStringTag:null;aNe.exports=function(e,r){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,s=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof s<"u"&&typeof s!="boolean")throw new lHt("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");h3&&(n||!uHt(e,h3))&&(iNe?iNe(e,h3,{configurable:!s,enumerable:!1,value:r,writable:!1}):e[h3]=r)}});var uNe=E((JMr,cNe)=>{"use strict";cNe.exports=function(t,e){return Object.keys(e).forEach(function(r){t[r]=t[r]||e[r]}),t}});var dNe=E((XMr,lNe)=>{"use strict";var Fj=A2e(),dHt=require("util"),Mj=require("path"),fHt=require("http"),pHt=require("https"),mHt=require("url").parse,hHt=require("fs"),gHt=require("stream").Stream,AHt=require("crypto"),Wj=S2e(),yHt=F2e(),xHt=oNe(),zp=f3(),$j=uNe();function Tr(t){if(!(this instanceof Tr))return new Tr(t);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],Fj.call(this),t=t||{};for(var e in t)this[e]=t[e]}dHt.inherits(Tr,Fj);Tr.LINE_BREAK=`\r
|
|
`;Tr.DEFAULT_CONTENT_TYPE="application/octet-stream";Tr.prototype.append=function(t,e,r){r=r||{},typeof r=="string"&&(r={filename:r});var n=Fj.prototype.append.bind(this);if((typeof e=="number"||e==null)&&(e=String(e)),Array.isArray(e)){this._error(new Error("Arrays are not supported."));return}var s=this._multiPartHeader(t,e,r),i=this._multiPartFooter();n(s),n(e),n(i),this._trackLength(s,e,r)};Tr.prototype._trackLength=function(t,e,r){var n=0;r.knownLength!=null?n+=Number(r.knownLength):Buffer.isBuffer(e)?n=e.length:typeof e=="string"&&(n=Buffer.byteLength(e)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(t)+Tr.LINE_BREAK.length,!(!e||!e.path&&!(e.readable&&zp(e,"httpVersion"))&&!(e instanceof gHt))&&(r.knownLength||this._valuesToMeasure.push(e))};Tr.prototype._lengthRetriever=function(t,e){zp(t,"fd")?t.end!=null&&t.end!=1/0&&t.start!=null?e(null,t.end+1-(t.start?t.start:0)):hHt.stat(t.path,function(r,n){if(r){e(r);return}var s=n.size-(t.start?t.start:0);e(null,s)}):zp(t,"httpVersion")?e(null,Number(t.headers["content-length"])):zp(t,"httpModule")?(t.on("response",function(r){t.pause(),e(null,Number(r.headers["content-length"]))}),t.resume()):e("Unknown stream")};Tr.prototype._multiPartHeader=function(t,e,r){if(typeof r.header=="string")return r.header;var n=this._getContentDisposition(e,r),s=this._getContentType(e,r),i="",a={"Content-Disposition":["form-data",'name="'+t+'"'].concat(n||[]),"Content-Type":[].concat(s||[])};typeof r.header=="object"&&$j(a,r.header);var o;for(var c in a)if(zp(a,c)){if(o=a[c],o==null)continue;Array.isArray(o)||(o=[o]),o.length&&(i+=c+": "+o.join("; ")+Tr.LINE_BREAK)}return"--"+this.getBoundary()+Tr.LINE_BREAK+i+Tr.LINE_BREAK};Tr.prototype._getContentDisposition=function(t,e){var r;if(typeof e.filepath=="string"?r=Mj.normalize(e.filepath).replace(/\\/g,"/"):e.filename||t&&(t.name||t.path)?r=Mj.basename(e.filename||t&&(t.name||t.path)):t&&t.readable&&zp(t,"httpVersion")&&(r=Mj.basename(t.client._httpMessage.path||"")),r)return'filename="'+r+'"'};Tr.prototype._getContentType=function(t,e){var r=e.contentType;return!r&&t&&t.name&&(r=Wj.lookup(t.name)),!r&&t&&t.path&&(r=Wj.lookup(t.path)),!r&&t&&t.readable&&zp(t,"httpVersion")&&(r=t.headers["content-type"]),!r&&(e.filepath||e.filename)&&(r=Wj.lookup(e.filepath||e.filename)),!r&&t&&typeof t=="object"&&(r=Tr.DEFAULT_CONTENT_TYPE),r};Tr.prototype._multiPartFooter=function(){return function(t){var e=Tr.LINE_BREAK,r=this._streams.length===0;r&&(e+=this._lastBoundary()),t(e)}.bind(this)};Tr.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+Tr.LINE_BREAK};Tr.prototype.getHeaders=function(t){var e,r={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(e in t)zp(t,e)&&(r[e.toLowerCase()]=t[e]);return r};Tr.prototype.setBoundary=function(t){if(typeof t!="string")throw new TypeError("FormData boundary must be a string");this._boundary=t};Tr.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};Tr.prototype.getBuffer=function(){for(var t=new Buffer.alloc(0),e=this.getBoundary(),r=0,n=this._streams.length;r<n;r++)typeof this._streams[r]!="function"&&(Buffer.isBuffer(this._streams[r])?t=Buffer.concat([t,this._streams[r]]):t=Buffer.concat([t,Buffer.from(this._streams[r])]),(typeof this._streams[r]!="string"||this._streams[r].substring(2,e.length+2)!==e)&&(t=Buffer.concat([t,Buffer.from(Tr.LINE_BREAK)])));return Buffer.concat([t,Buffer.from(this._lastBoundary())])};Tr.prototype._generateBoundary=function(){this._boundary="--------------------------"+AHt.randomBytes(12).toString("hex")};Tr.prototype.getLengthSync=function(){var t=this._overheadLength+this._valueLength;return this._streams.length&&(t+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),t};Tr.prototype.hasKnownLength=function(){var t=!0;return this._valuesToMeasure.length&&(t=!1),t};Tr.prototype.getLength=function(t){var e=this._overheadLength+this._valueLength;if(this._streams.length&&(e+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(t.bind(this,null,e));return}yHt.parallel(this._valuesToMeasure,this._lengthRetriever,function(r,n){if(r){t(r);return}n.forEach(function(s){e+=s}),t(null,e)})};Tr.prototype.submit=function(t,e){var r,n,s={method:"post"};return typeof t=="string"?(t=mHt(t),n=$j({port:t.port,path:t.pathname,host:t.hostname,protocol:t.protocol},s)):(n=$j(t,s),n.port||(n.port=n.protocol==="https:"?443:80)),n.headers=this.getHeaders(t.headers),n.protocol==="https:"?r=pHt.request(n):r=fHt.request(n),this.getLength(function(i,a){if(i&&i!=="Unknown stream"){this._error(i);return}if(a&&r.setHeader("Content-Length",a),this.pipe(r),e){var o,c=function(u,l){return r.removeListener("error",c),r.removeListener("response",o),e.call(this,u,l)};o=c.bind(this,null),r.on("error",c),r.on("response",o)}}.bind(this)),r};Tr.prototype._error=function(t){this.error||(this.error=t,this.pause(),this.emit("error",t))};Tr.prototype.toString=function(){return"[object FormData]"};xHt(Tr.prototype,"FormData");lNe.exports=Tr});var TNe=E(INe=>{"use strict";var LHt=require("url").parse,BHt={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},MHt=String.prototype.endsWith||function(t){return t.length<=this.length&&this.indexOf(t,this.length-t.length)!==-1};function WHt(t){var e=typeof t=="string"?LHt(t):t||{},r=e.protocol,n=e.host,s=e.port;if(typeof n!="string"||!n||typeof r!="string"||(r=r.split(":",1)[0],n=n.replace(/:\d*$/,""),s=parseInt(s)||BHt[r]||0,!$Ht(n,s)))return"";var i=px("npm_config_"+r+"_proxy")||px(r+"_proxy")||px("npm_config_proxy")||px("all_proxy");return i&&i.indexOf("://")===-1&&(i=r+"://"+i),i}function $Ht(t,e){var r=(px("npm_config_no_proxy")||px("no_proxy")).toLowerCase();return r?r==="*"?!1:r.split(/[,\s]/).every(function(n){if(!n)return!0;var s=n.match(/^(.+):(\d+)$/),i=s?s[1]:n,a=s?parseInt(s[2]):0;return a&&a!==e?!0:/^[.*]/.test(i)?(i.charAt(0)==="*"&&(i=i.slice(1)),!MHt.call(t,i)):t!==i}):!0}function px(t){return process.env[t.toLowerCase()]||process.env[t.toUpperCase()]||""}INe.getProxyForUrl=WHt});var RNe=E((Z6r,wNe)=>{var mx=1e3,hx=mx*60,gx=hx*60,mh=gx*24,FHt=mh*7,UHt=mh*365.25;wNe.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return qHt(t);if(r==="number"&&isFinite(t))return e.long?HHt(t):jHt(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function qHt(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*UHt;case"weeks":case"week":case"w":return r*FHt;case"days":case"day":case"d":return r*mh;case"hours":case"hour":case"hrs":case"hr":case"h":return r*gx;case"minutes":case"minute":case"mins":case"min":case"m":return r*hx;case"seconds":case"second":case"secs":case"sec":case"s":return r*mx;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function jHt(t){var e=Math.abs(t);return e>=mh?Math.round(t/mh)+"d":e>=gx?Math.round(t/gx)+"h":e>=hx?Math.round(t/hx)+"m":e>=mx?Math.round(t/mx)+"s":t+"ms"}function HHt(t){var e=Math.abs(t);return e>=mh?x3(t,e,mh,"day"):e>=gx?x3(t,e,gx,"hour"):e>=hx?x3(t,e,hx,"minute"):e>=mx?x3(t,e,mx,"second"):t+" ms"}function x3(t,e,r,n){var s=e>=r*1.5;return Math.round(t/r)+" "+n+(s?"s":"")}});var Yj=E((e5r,NNe)=>{function QHt(t){r.debug=r,r.default=r,r.coerce=c,r.disable=a,r.enable=s,r.enabled=o,r.humanize=RNe(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let d=0;for(let f=0;f<l.length;f++)d=(d<<5)-d+l.charCodeAt(f),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=e;function r(l){let d,f=null,p,m;function h(...A){if(!h.enabled)return;let g=h,b=Number(new Date),y=b-(d||b);g.diff=y,g.prev=d,g.curr=b,d=b,A[0]=r.coerce(A[0]),typeof A[0]!="string"&&A.unshift("%O");let x=0;A[0]=A[0].replace(/%([a-zA-Z%])/g,(C,R)=>{if(C==="%%")return"%";x++;let w=r.formatters[R];if(typeof w=="function"){let N=A[x];C=w.call(g,N),A.splice(x,1),x--}return C}),r.formatArgs.call(g,A),(g.log||r.log).apply(g,A)}return h.namespace=l,h.useColors=r.useColors(),h.color=r.selectColor(l),h.extend=n,h.destroy=r.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(p!==r.namespaces&&(p=r.namespaces,m=r.enabled(l)),m),set:A=>{f=A}}),typeof r.init=="function"&&r.init(h),h}function n(l,d){let f=r(this.namespace+(typeof d>"u"?":":d)+l);return f.log=this.log,f}function s(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let d=(typeof l=="string"?l:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of d)f[0]==="-"?r.skips.push(f.slice(1)):r.names.push(f)}function i(l,d){let f=0,p=0,m=-1,h=0;for(;f<l.length;)if(p<d.length&&(d[p]===l[f]||d[p]==="*"))d[p]==="*"?(m=p,h=f,p++):(f++,p++);else if(m!==-1)p=m+1,h++,f=h;else return!1;for(;p<d.length&&d[p]==="*";)p++;return p===d.length}function a(){let l=[...r.names,...r.skips.map(d=>"-"+d)].join(",");return r.enable(""),l}function o(l){for(let d of r.skips)if(i(l,d))return!1;for(let d of r.names)if(i(l,d))return!0;return!1}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}NNe.exports=QHt});var ONe=E((Ga,b3)=>{Ga.formatArgs=VHt;Ga.save=zHt;Ga.load=KHt;Ga.useColors=GHt;Ga.storage=YHt();Ga.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ga.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function GHt(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function VHt(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+b3.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(r++,s==="%c"&&(n=r))}),t.splice(n,0,e)}Ga.log=console.debug||console.log||(()=>{});function zHt(t){try{t?Ga.storage.setItem("debug",t):Ga.storage.removeItem("debug")}catch{}}function KHt(){let t;try{t=Ga.storage.getItem("debug")||Ga.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function YHt(){try{return localStorage}catch{}}b3.exports=Yj()(Ga);var{formatters:JHt}=b3.exports;JHt.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var DNe=E((t5r,PNe)=>{"use strict";PNe.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),s=e.indexOf("--");return n!==-1&&(s===-1||n<s)}});var BNe=E((r5r,LNe)=>{"use strict";var XHt=require("os"),kNe=require("tty"),lc=DNe(),{env:zs}=process,Jp;lc("no-color")||lc("no-colors")||lc("color=false")||lc("color=never")?Jp=0:(lc("color")||lc("colors")||lc("color=true")||lc("color=always"))&&(Jp=1);"FORCE_COLOR"in zs&&(zs.FORCE_COLOR==="true"?Jp=1:zs.FORCE_COLOR==="false"?Jp=0:Jp=zs.FORCE_COLOR.length===0?1:Math.min(parseInt(zs.FORCE_COLOR,10),3));function Jj(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Xj(t,e){if(Jp===0)return 0;if(lc("color=16m")||lc("color=full")||lc("color=truecolor"))return 3;if(lc("color=256"))return 2;if(t&&!e&&Jp===void 0)return 0;let r=Jp||0;if(zs.TERM==="dumb")return r;if(process.platform==="win32"){let n=XHt.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in zs)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in zs)||zs.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in zs)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(zs.TEAMCITY_VERSION)?1:0;if(zs.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in zs){let n=parseInt((zs.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(zs.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(zs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(zs.TERM)||"COLORTERM"in zs?1:r}function ZHt(t){let e=Xj(t,t&&t.isTTY);return Jj(e)}LNe.exports={supportsColor:ZHt,stdout:Jj(Xj(!0,kNe.isatty(1))),stderr:Jj(Xj(!0,kNe.isatty(2)))}});var WNe=E((Ks,_3)=>{var eQt=require("tty"),E3=require("util");Ks.init=oQt;Ks.log=sQt;Ks.formatArgs=rQt;Ks.save=iQt;Ks.load=aQt;Ks.useColors=tQt;Ks.destroy=E3.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ks.colors=[6,2,3,4,5,1];try{let t=BNe();t&&(t.stderr||t).level>=2&&(Ks.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ks.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function tQt(){return"colors"in Ks.inspectOpts?!!Ks.inspectOpts.colors:eQt.isatty(process.stderr.fd)}function rQt(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${e} \x1B[0m`;t[0]=i+t[0].split(`
|
|
`).join(`
|
|
`+i),t.push(s+"m+"+_3.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=nQt()+e+" "+t[0]}function nQt(){return Ks.inspectOpts.hideDate?"":new Date().toISOString()+" "}function sQt(...t){return process.stderr.write(E3.formatWithOptions(Ks.inspectOpts,...t)+`
|
|
`)}function iQt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function aQt(){return process.env.DEBUG}function oQt(t){t.inspectOpts={};let e=Object.keys(Ks.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ks.inspectOpts[e[r]]}_3.exports=Yj()(Ks);var{formatters:MNe}=_3.exports;MNe.o=function(t){return this.inspectOpts.colors=this.useColors,E3.inspect(t,this.inspectOpts).split(`
|
|
`).map(e=>e.trim()).join(" ")};MNe.O=function(t){return this.inspectOpts.colors=this.useColors,E3.inspect(t,this.inspectOpts)}});var $Ne=E((n5r,Zj)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Zj.exports=ONe():Zj.exports=WNe()});var UNe=E((s5r,FNe)=>{var US;FNe.exports=function(){if(!US){try{US=$Ne()("follow-redirects")}catch{}typeof US!="function"&&(US=function(){})}US.apply(null,arguments)}});var GNe=E((i5r,dH)=>{var jS=require("url"),qS=jS.URL,cQt=require("http"),uQt=require("https"),sH=require("stream").Writable,iH=require("assert"),qNe=UNe();(function(){var e=typeof process<"u",r=typeof window<"u"&&typeof document<"u",n=gh(Error.captureStackTrace);!e&&(r||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var aH=!1;try{iH(new qS(""))}catch(t){aH=t.code==="ERR_INVALID_URL"}var lQt=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],oH=["abort","aborted","connect","error","socket","timeout"],cH=Object.create(null);oH.forEach(function(t){cH[t]=function(e,r,n){this._redirectable.emit(t,e,r,n)}});var tH=HS("ERR_INVALID_URL","Invalid URL",TypeError),rH=HS("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),dQt=HS("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",rH),fQt=HS("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),pQt=HS("ERR_STREAM_WRITE_AFTER_END","write after end"),mQt=sH.prototype.destroy||HNe;function Va(t,e){sH.call(this),this._sanitizeOptions(t),this._options=t,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var r=this;this._onNativeResponse=function(n){try{r._processResponse(n)}catch(s){r.emit("error",s instanceof rH?s:new rH({cause:s}))}},this._performRequest()}Va.prototype=Object.create(sH.prototype);Va.prototype.abort=function(){lH(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Va.prototype.destroy=function(t){return lH(this._currentRequest,t),mQt.call(this,t),this};Va.prototype.write=function(t,e,r){if(this._ending)throw new pQt;if(!hh(t)&&!AQt(t))throw new TypeError("data should be a string, Buffer or Uint8Array");if(gh(e)&&(r=e,e=null),t.length===0){r&&r();return}this._requestBodyLength+t.length<=this._options.maxBodyLength?(this._requestBodyLength+=t.length,this._requestBodyBuffers.push({data:t,encoding:e}),this._currentRequest.write(t,e,r)):(this.emit("error",new fQt),this.abort())};Va.prototype.end=function(t,e,r){if(gh(t)?(r=t,t=e=null):gh(e)&&(r=e,e=null),!t)this._ended=this._ending=!0,this._currentRequest.end(null,null,r);else{var n=this,s=this._currentRequest;this.write(t,e,function(){n._ended=!0,s.end(null,null,r)}),this._ending=!0}};Va.prototype.setHeader=function(t,e){this._options.headers[t]=e,this._currentRequest.setHeader(t,e)};Va.prototype.removeHeader=function(t){delete this._options.headers[t],this._currentRequest.removeHeader(t)};Va.prototype.setTimeout=function(t,e){var r=this;function n(a){a.setTimeout(t),a.removeListener("timeout",a.destroy),a.addListener("timeout",a.destroy)}function s(a){r._timeout&&clearTimeout(r._timeout),r._timeout=setTimeout(function(){r.emit("timeout"),i()},t),n(a)}function i(){r._timeout&&(clearTimeout(r._timeout),r._timeout=null),r.removeListener("abort",i),r.removeListener("error",i),r.removeListener("response",i),r.removeListener("close",i),e&&r.removeListener("timeout",e),r.socket||r._currentRequest.removeListener("socket",s)}return e&&this.on("timeout",e),this.socket?s(this.socket):this._currentRequest.once("socket",s),this.on("socket",n),this.on("abort",i),this.on("error",i),this.on("response",i),this.on("close",i),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(t){Va.prototype[t]=function(e,r){return this._currentRequest[t](e,r)}});["aborted","connection","socket"].forEach(function(t){Object.defineProperty(Va.prototype,t,{get:function(){return this._currentRequest[t]}})});Va.prototype._sanitizeOptions=function(t){if(t.headers||(t.headers={}),t.host&&(t.hostname||(t.hostname=t.host),delete t.host),!t.pathname&&t.path){var e=t.path.indexOf("?");e<0?t.pathname=t.path:(t.pathname=t.path.substring(0,e),t.search=t.path.substring(e))}};Va.prototype._performRequest=function(){var t=this._options.protocol,e=this._options.nativeProtocols[t];if(!e)throw new TypeError("Unsupported protocol "+t);if(this._options.agents){var r=t.slice(0,-1);this._options.agent=this._options.agents[r]}var n=this._currentRequest=e.request(this._options,this._onNativeResponse);n._redirectable=this;for(var s of oH)n.on(s,cH[s]);if(this._currentUrl=/^\//.test(this._options.path)?jS.format(this._options):this._options.path,this._isRedirect){var i=0,a=this,o=this._requestBodyBuffers;(function c(u){if(n===a._currentRequest)if(u)a.emit("error",u);else if(i<o.length){var l=o[i++];n.finished||n.write(l.data,l.encoding,c)}else a._ended&&n.end()})()}};Va.prototype._processResponse=function(t){var e=t.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:t.headers,statusCode:e});var r=t.headers.location;if(!r||this._options.followRedirects===!1||e<300||e>=400){t.responseUrl=this._currentUrl,t.redirects=this._redirects,this.emit("response",t),this._requestBodyBuffers=[];return}if(lH(this._currentRequest),t.destroy(),++this._redirectCount>this._options.maxRedirects)throw new dQt;var n,s=this._options.beforeRedirect;s&&(n=Object.assign({Host:t.req.getHeader("host")},this._options.headers));var i=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],eH(/^content-/i,this._options.headers));var a=eH(/^host$/i,this._options.headers),o=uH(this._currentUrl),c=a||o.host,u=/^\w+:/.test(r)?this._currentUrl:jS.format(Object.assign(o,{host:c})),l=hQt(r,u);if(qNe("redirecting to",l.href),this._isRedirect=!0,nH(l,this._options),(l.protocol!==o.protocol&&l.protocol!=="https:"||l.host!==c&&!gQt(l.host,c))&&eH(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),gh(s)){var d={headers:t.headers,statusCode:e},f={url:u,method:i,headers:n};s(this._options,d,f),this._sanitizeOptions(this._options)}this._performRequest()};function jNe(t){var e={maxRedirects:21,maxBodyLength:10485760},r={};return Object.keys(t).forEach(function(n){var s=n+":",i=r[s]=t[n],a=e[n]=Object.create(i);function o(u,l,d){return yQt(u)?u=nH(u):hh(u)?u=nH(uH(u)):(d=l,l=QNe(u),u={protocol:s}),gh(l)&&(d=l,l=null),l=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},u,l),l.nativeProtocols=r,!hh(l.host)&&!hh(l.hostname)&&(l.hostname="::1"),iH.equal(l.protocol,s,"protocol mismatch"),qNe("options",l),new Va(l,d)}function c(u,l,d){var f=a.request(u,l,d);return f.end(),f}Object.defineProperties(a,{request:{value:o,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),e}function HNe(){}function uH(t){var e;if(aH)e=new qS(t);else if(e=QNe(jS.parse(t)),!hh(e.protocol))throw new tH({input:t});return e}function hQt(t,e){return aH?new qS(t,e):uH(jS.resolve(e,t))}function QNe(t){if(/^\[/.test(t.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(t.hostname))throw new tH({input:t.href||t});if(/^\[/.test(t.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(t.host))throw new tH({input:t.href||t});return t}function nH(t,e){var r=e||{};for(var n of lQt)r[n]=t[n];return r.hostname.startsWith("[")&&(r.hostname=r.hostname.slice(1,-1)),r.port!==""&&(r.port=Number(r.port)),r.path=r.search?r.pathname+r.search:r.pathname,r}function eH(t,e){var r;for(var n in e)t.test(n)&&(r=e[n],delete e[n]);return r===null||typeof r>"u"?void 0:String(r).trim()}function HS(t,e,r){function n(s){gh(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,s||{}),this.code=t,this.message=this.cause?e+": "+this.cause.message:e}return n.prototype=new(r||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+t+"]",enumerable:!1}}),n}function lH(t,e){for(var r of oH)t.removeListener(r,cH[r]);t.on("error",HNe),t.destroy(e)}function gQt(t,e){iH(hh(t)&&hh(e));var r=t.length-e.length-1;return r>0&&t[r]==="."&&t.endsWith(e)}function hh(t){return typeof t=="string"||t instanceof String}function gh(t){return typeof t=="function"}function AQt(t){return typeof t=="object"&&"length"in t}function yQt(t){return qS&&t instanceof qS}dH.exports=jNe({http:cQt,https:uQt});dH.exports.wrap=jNe});var z3=E(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.AttributeAction=dl.IgnoreCaseMode=dl.SelectorType=void 0;var FGt;(function(t){t.Attribute="attribute",t.Pseudo="pseudo",t.PseudoElement="pseudo-element",t.Tag="tag",t.Universal="universal",t.Adjacent="adjacent",t.Child="child",t.Descendant="descendant",t.Parent="parent",t.Sibling="sibling",t.ColumnCombinator="column-combinator"})(FGt=dl.SelectorType||(dl.SelectorType={}));dl.IgnoreCaseMode={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var UGt;(function(t){t.Any="any",t.Element="element",t.End="end",t.Equals="equals",t.Exists="exists",t.Hyphen="hyphen",t.Not="not",t.Start="start"})(UGt=dl.AttributeAction||(dl.AttributeAction={}))});var yPe=E(Cx=>{"use strict";Object.defineProperty(Cx,"__esModule",{value:!0});Cx.parse=Cx.isTraversal=void 0;var Qr=z3(),mPe=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,qGt=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,jGt=new Map([[126,Qr.AttributeAction.Element],[94,Qr.AttributeAction.Start],[36,Qr.AttributeAction.End],[42,Qr.AttributeAction.Any],[33,Qr.AttributeAction.Not],[124,Qr.AttributeAction.Hyphen]]),HGt=new Set(["has","not","matches","is","where","host","host-context"]);function gPe(t){switch(t.type){case Qr.SelectorType.Adjacent:case Qr.SelectorType.Child:case Qr.SelectorType.Descendant:case Qr.SelectorType.Parent:case Qr.SelectorType.Sibling:case Qr.SelectorType.ColumnCombinator:return!0;default:return!1}}Cx.isTraversal=gPe;var QGt=new Set(["contains","icontains"]);function GGt(t,e,r){var n=parseInt(e,16)-65536;return n!==n||r?e:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,n&1023|56320)}function iv(t){return t.replace(qGt,GGt)}function jH(t){return t===39||t===34}function hPe(t){return t===32||t===9||t===10||t===12||t===13}function VGt(t){var e=[],r=APe(e,"".concat(t),0);if(r<t.length)throw new Error("Unmatched selector: ".concat(t.slice(r)));return e}Cx.parse=VGt;function APe(t,e,r){var n=[];function s(k){var B=e.slice(r+k).match(mPe);if(!B)throw new Error("Expected name, found ".concat(e.slice(r)));var Z=B[0];return r+=k+Z.length,iv(Z)}function i(k){for(r+=k;r<e.length&&hPe(e.charCodeAt(r));)r++}function a(){r+=1;for(var k=r,B=1;B>0&&r<e.length;r++)e.charCodeAt(r)===40&&!o(r)?B++:e.charCodeAt(r)===41&&!o(r)&&B--;if(B)throw new Error("Parenthesis not matched");return iv(e.slice(k,r-1))}function o(k){for(var B=0;e.charCodeAt(--k)===92;)B++;return(B&1)===1}function c(){if(n.length>0&&gPe(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function u(k){if(n.length>0&&n[n.length-1].type===Qr.SelectorType.Descendant){n[n.length-1].type=k;return}c(),n.push({type:k})}function l(k,B){n.push({type:Qr.SelectorType.Attribute,name:k,action:B,value:s(1),namespace:null,ignoreCase:"quirks"})}function d(){if(n.length&&n[n.length-1].type===Qr.SelectorType.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");t.push(n)}if(i(0),e.length===r)return r;e:for(;r<e.length;){var f=e.charCodeAt(r);switch(f){case 32:case 9:case 10:case 12:case 13:{(n.length===0||n[0].type!==Qr.SelectorType.Descendant)&&(c(),n.push({type:Qr.SelectorType.Descendant})),i(1);break}case 62:{u(Qr.SelectorType.Child),i(1);break}case 60:{u(Qr.SelectorType.Parent),i(1);break}case 126:{u(Qr.SelectorType.Sibling),i(1);break}case 43:{u(Qr.SelectorType.Adjacent),i(1);break}case 46:{l("class",Qr.AttributeAction.Element);break}case 35:{l("id",Qr.AttributeAction.Equals);break}case 91:{i(1);var p=void 0,m=null;e.charCodeAt(r)===124?p=s(1):e.startsWith("*|",r)?(m="*",p=s(2)):(p=s(0),e.charCodeAt(r)===124&&e.charCodeAt(r+1)!==61&&(m=p,p=s(1))),i(0);var h=Qr.AttributeAction.Exists,A=jGt.get(e.charCodeAt(r));if(A){if(h=A,e.charCodeAt(r+1)!==61)throw new Error("Expected `=`");i(2)}else e.charCodeAt(r)===61&&(h=Qr.AttributeAction.Equals,i(1));var g="",b=null;if(h!=="exists"){if(jH(e.charCodeAt(r))){for(var y=e.charCodeAt(r),x=r+1;x<e.length&&(e.charCodeAt(x)!==y||o(x));)x+=1;if(e.charCodeAt(x)!==y)throw new Error("Attribute value didn't end");g=iv(e.slice(r+1,x)),r=x+1}else{for(var v=r;r<e.length&&(!hPe(e.charCodeAt(r))&&e.charCodeAt(r)!==93||o(r));)r+=1;g=iv(e.slice(v,r))}i(0);var C=e.charCodeAt(r)|32;C===115?(b=!1,i(1)):C===105&&(b=!0,i(1))}if(e.charCodeAt(r)!==93)throw new Error("Attribute selector didn't terminate");r+=1;var R={type:Qr.SelectorType.Attribute,name:p,action:h,value:g,namespace:m,ignoreCase:b};n.push(R);break}case 58:{if(e.charCodeAt(r+1)===58){n.push({type:Qr.SelectorType.PseudoElement,name:s(2).toLowerCase(),data:e.charCodeAt(r)===40?a():null});continue}var w=s(1).toLowerCase(),N=null;if(e.charCodeAt(r)===40)if(HGt.has(w)){if(jH(e.charCodeAt(r+1)))throw new Error("Pseudo-selector ".concat(w," cannot be quoted"));if(N=[],r=APe(N,e,r+1),e.charCodeAt(r)!==41)throw new Error("Missing closing parenthesis in :".concat(w," (").concat(e,")"));r+=1}else{if(N=a(),QGt.has(w)){var P=N.charCodeAt(0);P===N.charCodeAt(N.length-1)&&jH(P)&&(N=N.slice(1,-1))}N=iv(N)}n.push({type:Qr.SelectorType.Pseudo,name:w,data:N});break}case 44:{d(),n=[],i(1);break}default:{if(e.startsWith("/*",r)){var L=e.indexOf("*/",r+2);if(L<0)throw new Error("Comment was not terminated");r=L+2,n.length===0&&i(0);break}var m=null,M=void 0;if(f===42)r+=1,M="*";else if(f===124){if(M="",e.charCodeAt(r+1)===124){u(Qr.SelectorType.ColumnCombinator),i(2);break}}else if(mPe.test(e.slice(r)))M=s(0);else break e;e.charCodeAt(r)===124&&e.charCodeAt(r+1)!==124&&(m=M,e.charCodeAt(r+1)===42?(M="*",r+=2):M=s(1)),n.push(M==="*"?{type:Qr.SelectorType.Universal,namespace:m}:{type:Qr.SelectorType.Tag,name:M,namespace:m})}}}return d(),r}});var CPe=E(Tx=>{"use strict";var K3=Tx&&Tx.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var n=0,s=e.length,i;n<s;n++)(i||!(n in e))&&(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))};Object.defineProperty(Tx,"__esModule",{value:!0});Tx.stringify=void 0;var Yn=z3(),EPe=["\\",'"'],_Pe=K3(K3([],EPe,!0),["(",")"],!1),zGt=new Set(EPe.map(function(t){return t.charCodeAt(0)})),xPe=new Set(_Pe.map(function(t){return t.charCodeAt(0)})),Ix=new Set(K3(K3([],_Pe,!0),["~","^","$","*","+","!","|",":","[","]"," ","."],!1).map(function(t){return t.charCodeAt(0)}));function SPe(t){return t.map(function(e){return e.map(KGt).join("")}).join(", ")}Tx.stringify=SPe;function KGt(t,e,r){switch(t.type){case Yn.SelectorType.Child:return e===0?"> ":" > ";case Yn.SelectorType.Parent:return e===0?"< ":" < ";case Yn.SelectorType.Sibling:return e===0?"~ ":" ~ ";case Yn.SelectorType.Adjacent:return e===0?"+ ":" + ";case Yn.SelectorType.Descendant:return" ";case Yn.SelectorType.ColumnCombinator:return e===0?"|| ":" || ";case Yn.SelectorType.Universal:return t.namespace==="*"&&e+1<r.length&&"name"in r[e+1]?"":"".concat(vPe(t.namespace),"*");case Yn.SelectorType.Tag:return bPe(t);case Yn.SelectorType.PseudoElement:return"::".concat(qd(t.name,Ix)).concat(t.data===null?"":"(".concat(qd(t.data,xPe),")"));case Yn.SelectorType.Pseudo:return":".concat(qd(t.name,Ix)).concat(t.data===null?"":"(".concat(typeof t.data=="string"?qd(t.data,xPe):SPe(t.data),")"));case Yn.SelectorType.Attribute:{if(t.name==="id"&&t.action===Yn.AttributeAction.Equals&&t.ignoreCase==="quirks"&&!t.namespace)return"#".concat(qd(t.value,Ix));if(t.name==="class"&&t.action===Yn.AttributeAction.Element&&t.ignoreCase==="quirks"&&!t.namespace)return".".concat(qd(t.value,Ix));var n=bPe(t);return t.action===Yn.AttributeAction.Exists?"[".concat(n,"]"):"[".concat(n).concat(YGt(t.action),'="').concat(qd(t.value,zGt),'"').concat(t.ignoreCase===null?"":t.ignoreCase?" i":" s","]")}}}function YGt(t){switch(t){case Yn.AttributeAction.Equals:return"";case Yn.AttributeAction.Element:return"~";case Yn.AttributeAction.Start:return"^";case Yn.AttributeAction.End:return"$";case Yn.AttributeAction.Any:return"*";case Yn.AttributeAction.Not:return"!";case Yn.AttributeAction.Hyphen:return"|";case Yn.AttributeAction.Exists:throw new Error("Shouldn't be here")}}function bPe(t){return"".concat(vPe(t.namespace)).concat(qd(t.name,Ix))}function vPe(t){return t!==null?"".concat(t==="*"?"*":qd(t,Ix),"|"):""}function qd(t,e){for(var r=0,n="",s=0;s<t.length;s++)e.has(t.charCodeAt(s))&&(n+="".concat(t.slice(r,s),"\\").concat(t.charAt(s)),r=s+1);return n.length>0?n+t.slice(r):t}});var wx=E(So=>{"use strict";var JGt=So&&So.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),XGt=So&&So.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&JGt(e,t,r)};Object.defineProperty(So,"__esModule",{value:!0});So.stringify=So.parse=So.isTraversal=void 0;XGt(z3(),So);var IPe=yPe();Object.defineProperty(So,"isTraversal",{enumerable:!0,get:function(){return IPe.isTraversal}});Object.defineProperty(So,"parse",{enumerable:!0,get:function(){return IPe.parse}});var ZGt=CPe();Object.defineProperty(So,"stringify",{enumerable:!0,get:function(){return ZGt.stringify}})});var s0=E((H$r,TPe)=>{TPe.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}});var Cv=E((OQ,PQ)=>{(function(t,e){typeof OQ=="object"&&typeof PQ<"u"?PQ.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(OQ,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",s="second",i="minute",a="hour",o="day",c="week",u="month",l="quarter",d="year",f="date",p="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,A={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(M){var k=["th","st","nd","rd"],B=M%100;return"["+M+(k[(B-20)%10]||k[B]||k[0])+"]"}},g=function(M,k,B){var Z=String(M);return!Z||Z.length>=k?M:""+Array(k+1-Z.length).join(B)+M},b={s:g,z:function(M){var k=-M.utcOffset(),B=Math.abs(k),Z=Math.floor(B/60),W=B%60;return(k<=0?"+":"-")+g(Z,2,"0")+":"+g(W,2,"0")},m:function M(k,B){if(k.date()<B.date())return-M(B,k);var Z=12*(B.year()-k.year())+(B.month()-k.month()),W=k.clone().add(Z,u),F=B-W<0,V=k.clone().add(Z+(F?-1:1),u);return+(-(Z+(B-W)/(F?W-V:V-W))||0)},a:function(M){return M<0?Math.ceil(M)||0:Math.floor(M)},p:function(M){return{M:u,y:d,w:c,d:o,D:f,h:a,m:i,s,ms:n,Q:l}[M]||String(M||"").toLowerCase().replace(/s$/,"")},u:function(M){return M===void 0}},y="en",x={};x[y]=A;var v="$isDayjsObject",C=function(M){return M instanceof P||!(!M||!M[v])},R=function M(k,B,Z){var W;if(!k)return y;if(typeof k=="string"){var F=k.toLowerCase();x[F]&&(W=F),B&&(x[F]=B,W=F);var V=k.split("-");if(!W&&V.length>1)return M(V[0])}else{var j=k.name;x[j]=k,W=j}return!Z&&W&&(y=W),W||!Z&&y},w=function(M,k){if(C(M))return M.clone();var B=typeof k=="object"?k:{};return B.date=M,B.args=arguments,new P(B)},N=b;N.l=R,N.i=C,N.w=function(M,k){return w(M,{locale:k.$L,utc:k.$u,x:k.$x,$offset:k.$offset})};var P=function(){function M(B){this.$L=R(B.locale,null,!0),this.parse(B),this.$x=this.$x||B.x||{},this[v]=!0}var k=M.prototype;return k.parse=function(B){this.$d=function(Z){var W=Z.date,F=Z.utc;if(W===null)return new Date(NaN);if(N.u(W))return new Date;if(W instanceof Date)return new Date(W);if(typeof W=="string"&&!/Z$/i.test(W)){var V=W.match(m);if(V){var j=V[2]-1||0,J=(V[7]||"0").substring(0,3);return F?new Date(Date.UTC(V[1],j,V[3]||1,V[4]||0,V[5]||0,V[6]||0,J)):new Date(V[1],j,V[3]||1,V[4]||0,V[5]||0,V[6]||0,J)}}return new Date(W)}(B),this.init()},k.init=function(){var B=this.$d;this.$y=B.getFullYear(),this.$M=B.getMonth(),this.$D=B.getDate(),this.$W=B.getDay(),this.$H=B.getHours(),this.$m=B.getMinutes(),this.$s=B.getSeconds(),this.$ms=B.getMilliseconds()},k.$utils=function(){return N},k.isValid=function(){return this.$d.toString()!==p},k.isSame=function(B,Z){var W=w(B);return this.startOf(Z)<=W&&W<=this.endOf(Z)},k.isAfter=function(B,Z){return w(B)<this.startOf(Z)},k.isBefore=function(B,Z){return this.endOf(Z)<w(B)},k.$g=function(B,Z,W){return N.u(B)?this[Z]:this.set(W,B)},k.unix=function(){return Math.floor(this.valueOf()/1e3)},k.valueOf=function(){return this.$d.getTime()},k.startOf=function(B,Z){var W=this,F=!!N.u(Z)||Z,V=N.p(B),j=function(Fe,_e){var U=N.w(W.$u?Date.UTC(W.$y,_e,Fe):new Date(W.$y,_e,Fe),W);return F?U:U.endOf(o)},J=function(Fe,_e){return N.w(W.toDate()[Fe].apply(W.toDate("s"),(F?[0,0,0,0]:[23,59,59,999]).slice(_e)),W)},se=this.$W,oe=this.$M,ue=this.$D,Ce="set"+(this.$u?"UTC":"");switch(V){case d:return F?j(1,0):j(31,11);case u:return F?j(1,oe):j(0,oe+1);case c:var we=this.$locale().weekStart||0,qe=(se<we?se+7:se)-we;return j(F?ue-qe:ue+(6-qe),oe);case o:case f:return J(Ce+"Hours",0);case a:return J(Ce+"Minutes",1);case i:return J(Ce+"Seconds",2);case s:return J(Ce+"Milliseconds",3);default:return this.clone()}},k.endOf=function(B){return this.startOf(B,!1)},k.$set=function(B,Z){var W,F=N.p(B),V="set"+(this.$u?"UTC":""),j=(W={},W[o]=V+"Date",W[f]=V+"Date",W[u]=V+"Month",W[d]=V+"FullYear",W[a]=V+"Hours",W[i]=V+"Minutes",W[s]=V+"Seconds",W[n]=V+"Milliseconds",W)[F],J=F===o?this.$D+(Z-this.$W):Z;if(F===u||F===d){var se=this.clone().set(f,1);se.$d[j](J),se.init(),this.$d=se.set(f,Math.min(this.$D,se.daysInMonth())).$d}else j&&this.$d[j](J);return this.init(),this},k.set=function(B,Z){return this.clone().$set(B,Z)},k.get=function(B){return this[N.p(B)]()},k.add=function(B,Z){var W,F=this;B=Number(B);var V=N.p(Z),j=function(oe){var ue=w(F);return N.w(ue.date(ue.date()+Math.round(oe*B)),F)};if(V===u)return this.set(u,this.$M+B);if(V===d)return this.set(d,this.$y+B);if(V===o)return j(1);if(V===c)return j(7);var J=(W={},W[i]=e,W[a]=r,W[s]=t,W)[V]||1,se=this.$d.getTime()+B*J;return N.w(se,this)},k.subtract=function(B,Z){return this.add(-1*B,Z)},k.format=function(B){var Z=this,W=this.$locale();if(!this.isValid())return W.invalidDate||p;var F=B||"YYYY-MM-DDTHH:mm:ssZ",V=N.z(this),j=this.$H,J=this.$m,se=this.$M,oe=W.weekdays,ue=W.months,Ce=W.meridiem,we=function(_e,U,G,z){return _e&&(_e[U]||_e(Z,F))||G[U].slice(0,z)},qe=function(_e){return N.s(j%12||12,_e,"0")},Fe=Ce||function(_e,U,G){var z=_e<12?"AM":"PM";return G?z.toLowerCase():z};return F.replace(h,function(_e,U){return U||function(G){switch(G){case"YY":return String(Z.$y).slice(-2);case"YYYY":return N.s(Z.$y,4,"0");case"M":return se+1;case"MM":return N.s(se+1,2,"0");case"MMM":return we(W.monthsShort,se,ue,3);case"MMMM":return we(ue,se);case"D":return Z.$D;case"DD":return N.s(Z.$D,2,"0");case"d":return String(Z.$W);case"dd":return we(W.weekdaysMin,Z.$W,oe,2);case"ddd":return we(W.weekdaysShort,Z.$W,oe,3);case"dddd":return oe[Z.$W];case"H":return String(j);case"HH":return N.s(j,2,"0");case"h":return qe(1);case"hh":return qe(2);case"a":return Fe(j,J,!0);case"A":return Fe(j,J,!1);case"m":return String(J);case"mm":return N.s(J,2,"0");case"s":return String(Z.$s);case"ss":return N.s(Z.$s,2,"0");case"SSS":return N.s(Z.$ms,3,"0");case"Z":return V}return null}(_e)||V.replace(":","")})},k.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},k.diff=function(B,Z,W){var F,V=this,j=N.p(Z),J=w(B),se=(J.utcOffset()-this.utcOffset())*e,oe=this-J,ue=function(){return N.m(V,J)};switch(j){case d:F=ue()/12;break;case u:F=ue();break;case l:F=ue()/3;break;case c:F=(oe-se)/6048e5;break;case o:F=(oe-se)/864e5;break;case a:F=oe/r;break;case i:F=oe/e;break;case s:F=oe/t;break;default:F=oe}return W?F:N.a(F)},k.daysInMonth=function(){return this.endOf(u).$D},k.$locale=function(){return x[this.$L]},k.locale=function(B,Z){if(!B)return this.$L;var W=this.clone(),F=R(B,Z,!0);return F&&(W.$L=F),W},k.clone=function(){return N.w(this.$d,this)},k.toDate=function(){return new Date(this.valueOf())},k.toJSON=function(){return this.isValid()?this.toISOString():null},k.toISOString=function(){return this.$d.toISOString()},k.toString=function(){return this.$d.toUTCString()},M}(),L=P.prototype;return w.prototype=L,[["$ms",n],["$s",s],["$m",i],["$H",a],["$W",o],["$M",u],["$y",d],["$D",f]].forEach(function(M){L[M[1]]=function(k){return this.$g(k,M[0],M[1])}}),w.extend=function(M,k){return M.$i||(M(k,P,w),M.$i=!0),w},w.locale=R,w.isDayjs=C,w.unix=function(M){return w(1e3*M)},w.en=x[y],w.Ls=x,w.p={},w})});var pr=E((TD,uDe)=>{(function(t,e){typeof TD=="object"?uDe.exports=TD=e():typeof define=="function"&&define.amd?define([],e):t.CryptoJS=e()})(TD,function(){var t=t||function(e,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof require=="function")try{n=require("crypto")}catch{}var s=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function g(){}return function(b){var y;return g.prototype=b,y=new g,g.prototype=null,y}}(),a={},o=a.lib={},c=o.Base=function(){return{extend:function(g){var b=i(this);return g&&b.mixIn(g),(!b.hasOwnProperty("init")||this.init===b.init)&&(b.init=function(){b.$super.init.apply(this,arguments)}),b.init.prototype=b,b.$super=this,b},create:function(){var g=this.extend();return g.init.apply(g,arguments),g},init:function(){},mixIn:function(g){for(var b in g)g.hasOwnProperty(b)&&(this[b]=g[b]);g.hasOwnProperty("toString")&&(this.toString=g.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),u=o.WordArray=c.extend({init:function(g,b){g=this.words=g||[],b!=r?this.sigBytes=b:this.sigBytes=g.length*4},toString:function(g){return(g||d).stringify(this)},concat:function(g){var b=this.words,y=g.words,x=this.sigBytes,v=g.sigBytes;if(this.clamp(),x%4)for(var C=0;C<v;C++){var R=y[C>>>2]>>>24-C%4*8&255;b[x+C>>>2]|=R<<24-(x+C)%4*8}else for(var w=0;w<v;w+=4)b[x+w>>>2]=y[w>>>2];return this.sigBytes+=v,this},clamp:function(){var g=this.words,b=this.sigBytes;g[b>>>2]&=4294967295<<32-b%4*8,g.length=e.ceil(b/4)},clone:function(){var g=c.clone.call(this);return g.words=this.words.slice(0),g},random:function(g){for(var b=[],y=0;y<g;y+=4)b.push(s());return new u.init(b,g)}}),l=a.enc={},d=l.Hex={stringify:function(g){for(var b=g.words,y=g.sigBytes,x=[],v=0;v<y;v++){var C=b[v>>>2]>>>24-v%4*8&255;x.push((C>>>4).toString(16)),x.push((C&15).toString(16))}return x.join("")},parse:function(g){for(var b=g.length,y=[],x=0;x<b;x+=2)y[x>>>3]|=parseInt(g.substr(x,2),16)<<24-x%8*4;return new u.init(y,b/2)}},f=l.Latin1={stringify:function(g){for(var b=g.words,y=g.sigBytes,x=[],v=0;v<y;v++){var C=b[v>>>2]>>>24-v%4*8&255;x.push(String.fromCharCode(C))}return x.join("")},parse:function(g){for(var b=g.length,y=[],x=0;x<b;x++)y[x>>>2]|=(g.charCodeAt(x)&255)<<24-x%4*8;return new u.init(y,b)}},p=l.Utf8={stringify:function(g){try{return decodeURIComponent(escape(f.stringify(g)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(g){return f.parse(unescape(encodeURIComponent(g)))}},m=o.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(g){typeof g=="string"&&(g=p.parse(g)),this._data.concat(g),this._nDataBytes+=g.sigBytes},_process:function(g){var b,y=this._data,x=y.words,v=y.sigBytes,C=this.blockSize,R=C*4,w=v/R;g?w=e.ceil(w):w=e.max((w|0)-this._minBufferSize,0);var N=w*C,P=e.min(N*4,v);if(N){for(var L=0;L<N;L+=C)this._doProcessBlock(x,L);b=x.splice(0,N),y.sigBytes-=P}return new u.init(b,P)},clone:function(){var g=c.clone.call(this);return g._data=this._data.clone(),g},_minBufferSize:0}),h=o.Hasher=m.extend({cfg:c.extend(),init:function(g){this.cfg=this.cfg.extend(g),this.reset()},reset:function(){m.reset.call(this),this._doReset()},update:function(g){return this._append(g),this._process(),this},finalize:function(g){g&&this._append(g);var b=this._doFinalize();return b},blockSize:512/32,_createHelper:function(g){return function(b,y){return new g.init(y).finalize(b)}},_createHmacHelper:function(g){return function(b,y){return new A.HMAC.init(g,y).finalize(b)}}}),A=a.algo={};return a}(Math);return t})});var Iv=E((wD,lDe)=>{(function(t,e){typeof wD=="object"?lDe.exports=wD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(wD,function(t){return function(e){var r=t,n=r.lib,s=n.Base,i=n.WordArray,a=r.x64={},o=a.Word=s.extend({init:function(u,l){this.high=u,this.low=l}}),c=a.WordArray=s.extend({init:function(u,l){u=this.words=u||[],l!=e?this.sigBytes=l:this.sigBytes=u.length*8},toX32:function(){for(var u=this.words,l=u.length,d=[],f=0;f<l;f++){var p=u[f];d.push(p.high),d.push(p.low)}return i.create(d,this.sigBytes)},clone:function(){for(var u=s.clone.call(this),l=u.words=this.words.slice(0),d=l.length,f=0;f<d;f++)l[f]=l[f].clone();return u}})}(),t})});var fDe=E((RD,dDe)=>{(function(t,e){typeof RD=="object"?dDe.exports=RD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(RD,function(t){return function(){if(typeof ArrayBuffer=="function"){var e=t,r=e.lib,n=r.WordArray,s=n.init,i=n.init=function(a){if(a instanceof ArrayBuffer&&(a=new Uint8Array(a)),(a instanceof Int8Array||typeof Uint8ClampedArray<"u"&&a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array)&&(a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)),a instanceof Uint8Array){for(var o=a.byteLength,c=[],u=0;u<o;u++)c[u>>>2]|=a[u]<<24-u%4*8;s.call(this,c,o)}else s.apply(this,arguments)};i.prototype=n}}(),t.lib.WordArray})});var mDe=E((ND,pDe)=>{(function(t,e){typeof ND=="object"?pDe.exports=ND=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ND,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Utf16=s.Utf16BE={stringify:function(o){for(var c=o.words,u=o.sigBytes,l=[],d=0;d<u;d+=2){var f=c[d>>>2]>>>16-d%4*8&65535;l.push(String.fromCharCode(f))}return l.join("")},parse:function(o){for(var c=o.length,u=[],l=0;l<c;l++)u[l>>>1]|=o.charCodeAt(l)<<16-l%2*16;return n.create(u,c*2)}};s.Utf16LE={stringify:function(o){for(var c=o.words,u=o.sigBytes,l=[],d=0;d<u;d+=2){var f=a(c[d>>>2]>>>16-d%4*8&65535);l.push(String.fromCharCode(f))}return l.join("")},parse:function(o){for(var c=o.length,u=[],l=0;l<c;l++)u[l>>>1]|=a(o.charCodeAt(l)<<16-l%2*16);return n.create(u,c*2)}};function a(o){return o<<8&4278255360|o>>>8&16711935}}(),t.enc.Utf16})});var f0=E((OD,hDe)=>{(function(t,e){typeof OD=="object"?hDe.exports=OD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(OD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Base64={stringify:function(o){var c=o.words,u=o.sigBytes,l=this._map;o.clamp();for(var d=[],f=0;f<u;f+=3)for(var p=c[f>>>2]>>>24-f%4*8&255,m=c[f+1>>>2]>>>24-(f+1)%4*8&255,h=c[f+2>>>2]>>>24-(f+2)%4*8&255,A=p<<16|m<<8|h,g=0;g<4&&f+g*.75<u;g++)d.push(l.charAt(A>>>6*(3-g)&63));var b=l.charAt(64);if(b)for(;d.length%4;)d.push(b);return d.join("")},parse:function(o){var c=o.length,u=this._map,l=this._reverseMap;if(!l){l=this._reverseMap=[];for(var d=0;d<u.length;d++)l[u.charCodeAt(d)]=d}var f=u.charAt(64);if(f){var p=o.indexOf(f);p!==-1&&(c=p)}return a(o,c,l)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function a(o,c,u){for(var l=[],d=0,f=0;f<c;f++)if(f%4){var p=u[o.charCodeAt(f-1)]<<f%4*2,m=u[o.charCodeAt(f)]>>>6-f%4*2,h=p|m;l[d>>>2]|=h<<24-d%4*8,d++}return n.create(l,d)}}(),t.enc.Base64})});var ADe=E((PD,gDe)=>{(function(t,e){typeof PD=="object"?gDe.exports=PD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(PD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,i=s.Base64url={stringify:function(o,c){c===void 0&&(c=!0);var u=o.words,l=o.sigBytes,d=c?this._safe_map:this._map;o.clamp();for(var f=[],p=0;p<l;p+=3)for(var m=u[p>>>2]>>>24-p%4*8&255,h=u[p+1>>>2]>>>24-(p+1)%4*8&255,A=u[p+2>>>2]>>>24-(p+2)%4*8&255,g=m<<16|h<<8|A,b=0;b<4&&p+b*.75<l;b++)f.push(d.charAt(g>>>6*(3-b)&63));var y=d.charAt(64);if(y)for(;f.length%4;)f.push(y);return f.join("")},parse:function(o,c){c===void 0&&(c=!0);var u=o.length,l=c?this._safe_map:this._map,d=this._reverseMap;if(!d){d=this._reverseMap=[];for(var f=0;f<l.length;f++)d[l.charCodeAt(f)]=f}var p=l.charAt(64);if(p){var m=o.indexOf(p);m!==-1&&(u=m)}return a(o,u,d)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function a(o,c,u){for(var l=[],d=0,f=0;f<c;f++)if(f%4){var p=u[o.charCodeAt(f-1)]<<f%4*2,m=u[o.charCodeAt(f)]>>>6-f%4*2,h=p|m;l[d>>>2]|=h<<24-d%4*8,d++}return n.create(l,d)}}(),t.enc.Base64url})});var p0=E((DD,yDe)=>{(function(t,e){typeof DD=="object"?yDe.exports=DD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(DD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=[];(function(){for(var p=0;p<64;p++)o[p]=e.abs(e.sin(p+1))*4294967296|0})();var c=a.MD5=i.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,m){for(var h=0;h<16;h++){var A=m+h,g=p[A];p[A]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360}var b=this._hash.words,y=p[m+0],x=p[m+1],v=p[m+2],C=p[m+3],R=p[m+4],w=p[m+5],N=p[m+6],P=p[m+7],L=p[m+8],M=p[m+9],k=p[m+10],B=p[m+11],Z=p[m+12],W=p[m+13],F=p[m+14],V=p[m+15],j=b[0],J=b[1],se=b[2],oe=b[3];j=u(j,J,se,oe,y,7,o[0]),oe=u(oe,j,J,se,x,12,o[1]),se=u(se,oe,j,J,v,17,o[2]),J=u(J,se,oe,j,C,22,o[3]),j=u(j,J,se,oe,R,7,o[4]),oe=u(oe,j,J,se,w,12,o[5]),se=u(se,oe,j,J,N,17,o[6]),J=u(J,se,oe,j,P,22,o[7]),j=u(j,J,se,oe,L,7,o[8]),oe=u(oe,j,J,se,M,12,o[9]),se=u(se,oe,j,J,k,17,o[10]),J=u(J,se,oe,j,B,22,o[11]),j=u(j,J,se,oe,Z,7,o[12]),oe=u(oe,j,J,se,W,12,o[13]),se=u(se,oe,j,J,F,17,o[14]),J=u(J,se,oe,j,V,22,o[15]),j=l(j,J,se,oe,x,5,o[16]),oe=l(oe,j,J,se,N,9,o[17]),se=l(se,oe,j,J,B,14,o[18]),J=l(J,se,oe,j,y,20,o[19]),j=l(j,J,se,oe,w,5,o[20]),oe=l(oe,j,J,se,k,9,o[21]),se=l(se,oe,j,J,V,14,o[22]),J=l(J,se,oe,j,R,20,o[23]),j=l(j,J,se,oe,M,5,o[24]),oe=l(oe,j,J,se,F,9,o[25]),se=l(se,oe,j,J,C,14,o[26]),J=l(J,se,oe,j,L,20,o[27]),j=l(j,J,se,oe,W,5,o[28]),oe=l(oe,j,J,se,v,9,o[29]),se=l(se,oe,j,J,P,14,o[30]),J=l(J,se,oe,j,Z,20,o[31]),j=d(j,J,se,oe,w,4,o[32]),oe=d(oe,j,J,se,L,11,o[33]),se=d(se,oe,j,J,B,16,o[34]),J=d(J,se,oe,j,F,23,o[35]),j=d(j,J,se,oe,x,4,o[36]),oe=d(oe,j,J,se,R,11,o[37]),se=d(se,oe,j,J,P,16,o[38]),J=d(J,se,oe,j,k,23,o[39]),j=d(j,J,se,oe,W,4,o[40]),oe=d(oe,j,J,se,y,11,o[41]),se=d(se,oe,j,J,C,16,o[42]),J=d(J,se,oe,j,N,23,o[43]),j=d(j,J,se,oe,M,4,o[44]),oe=d(oe,j,J,se,Z,11,o[45]),se=d(se,oe,j,J,V,16,o[46]),J=d(J,se,oe,j,v,23,o[47]),j=f(j,J,se,oe,y,6,o[48]),oe=f(oe,j,J,se,P,10,o[49]),se=f(se,oe,j,J,F,15,o[50]),J=f(J,se,oe,j,w,21,o[51]),j=f(j,J,se,oe,Z,6,o[52]),oe=f(oe,j,J,se,C,10,o[53]),se=f(se,oe,j,J,k,15,o[54]),J=f(J,se,oe,j,x,21,o[55]),j=f(j,J,se,oe,L,6,o[56]),oe=f(oe,j,J,se,V,10,o[57]),se=f(se,oe,j,J,N,15,o[58]),J=f(J,se,oe,j,W,21,o[59]),j=f(j,J,se,oe,R,6,o[60]),oe=f(oe,j,J,se,B,10,o[61]),se=f(se,oe,j,J,v,15,o[62]),J=f(J,se,oe,j,M,21,o[63]),b[0]=b[0]+j|0,b[1]=b[1]+J|0,b[2]=b[2]+se|0,b[3]=b[3]+oe|0},_doFinalize:function(){var p=this._data,m=p.words,h=this._nDataBytes*8,A=p.sigBytes*8;m[A>>>5]|=128<<24-A%32;var g=e.floor(h/4294967296),b=h;m[(A+64>>>9<<4)+15]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,m[(A+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,p.sigBytes=(m.length+1)*4,this._process();for(var y=this._hash,x=y.words,v=0;v<4;v++){var C=x[v];x[v]=(C<<8|C>>>24)&16711935|(C<<24|C>>>8)&4278255360}return y},clone:function(){var p=i.clone.call(this);return p._hash=this._hash.clone(),p}});function u(p,m,h,A,g,b,y){var x=p+(m&h|~m&A)+g+y;return(x<<b|x>>>32-b)+m}function l(p,m,h,A,g,b,y){var x=p+(m&A|h&~A)+g+y;return(x<<b|x>>>32-b)+m}function d(p,m,h,A,g,b,y){var x=p+(m^h^A)+g+y;return(x<<b|x>>>32-b)+m}function f(p,m,h,A,g,b,y){var x=p+(h^(m|~A))+g+y;return(x<<b|x>>>32-b)+m}r.MD5=i._createHelper(c),r.HmacMD5=i._createHmacHelper(c)}(Math),t.MD5})});var DQ=E((kD,xDe)=>{(function(t,e){typeof kD=="object"?xDe.exports=kD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(kD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=r.Hasher,i=e.algo,a=[],o=i.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(c,u){for(var l=this._hash.words,d=l[0],f=l[1],p=l[2],m=l[3],h=l[4],A=0;A<80;A++){if(A<16)a[A]=c[u+A]|0;else{var g=a[A-3]^a[A-8]^a[A-14]^a[A-16];a[A]=g<<1|g>>>31}var b=(d<<5|d>>>27)+h+a[A];A<20?b+=(f&p|~f&m)+1518500249:A<40?b+=(f^p^m)+1859775393:A<60?b+=(f&p|f&m|p&m)-1894007588:b+=(f^p^m)-899497514,h=m,m=p,p=f<<30|f>>>2,f=d,d=b}l[0]=l[0]+d|0,l[1]=l[1]+f|0,l[2]=l[2]+p|0,l[3]=l[3]+m|0,l[4]=l[4]+h|0},_doFinalize:function(){var c=this._data,u=c.words,l=this._nDataBytes*8,d=c.sigBytes*8;return u[d>>>5]|=128<<24-d%32,u[(d+64>>>9<<4)+14]=Math.floor(l/4294967296),u[(d+64>>>9<<4)+15]=l,c.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var c=s.clone.call(this);return c._hash=this._hash.clone(),c}});e.SHA1=s._createHelper(o),e.HmacSHA1=s._createHmacHelper(o)}(),t.SHA1})});var BD=E((LD,bDe)=>{(function(t,e){typeof LD=="object"?bDe.exports=LD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(LD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=[],c=[];(function(){function d(h){for(var A=e.sqrt(h),g=2;g<=A;g++)if(!(h%g))return!1;return!0}function f(h){return(h-(h|0))*4294967296|0}for(var p=2,m=0;m<64;)d(p)&&(m<8&&(o[m]=f(e.pow(p,1/2))),c[m]=f(e.pow(p,1/3)),m++),p++})();var u=[],l=a.SHA256=i.extend({_doReset:function(){this._hash=new s.init(o.slice(0))},_doProcessBlock:function(d,f){for(var p=this._hash.words,m=p[0],h=p[1],A=p[2],g=p[3],b=p[4],y=p[5],x=p[6],v=p[7],C=0;C<64;C++){if(C<16)u[C]=d[f+C]|0;else{var R=u[C-15],w=(R<<25|R>>>7)^(R<<14|R>>>18)^R>>>3,N=u[C-2],P=(N<<15|N>>>17)^(N<<13|N>>>19)^N>>>10;u[C]=w+u[C-7]+P+u[C-16]}var L=b&y^~b&x,M=m&h^m&A^h&A,k=(m<<30|m>>>2)^(m<<19|m>>>13)^(m<<10|m>>>22),B=(b<<26|b>>>6)^(b<<21|b>>>11)^(b<<7|b>>>25),Z=v+B+L+c[C]+u[C],W=k+M;v=x,x=y,y=b,b=g+Z|0,g=A,A=h,h=m,m=Z+W|0}p[0]=p[0]+m|0,p[1]=p[1]+h|0,p[2]=p[2]+A|0,p[3]=p[3]+g|0,p[4]=p[4]+b|0,p[5]=p[5]+y|0,p[6]=p[6]+x|0,p[7]=p[7]+v|0},_doFinalize:function(){var d=this._data,f=d.words,p=this._nDataBytes*8,m=d.sigBytes*8;return f[m>>>5]|=128<<24-m%32,f[(m+64>>>9<<4)+14]=e.floor(p/4294967296),f[(m+64>>>9<<4)+15]=p,d.sigBytes=f.length*4,this._process(),this._hash},clone:function(){var d=i.clone.call(this);return d._hash=this._hash.clone(),d}});r.SHA256=i._createHelper(l),r.HmacSHA256=i._createHmacHelper(l)}(Math),t.SHA256})});var _De=E((MD,EDe)=>{(function(t,e,r){typeof MD=="object"?EDe.exports=MD=e(pr(),BD()):typeof define=="function"&&define.amd?define(["./core","./sha256"],e):e(t.CryptoJS)})(MD,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=e.algo,i=s.SHA256,a=s.SHA224=i.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var o=i._doFinalize.call(this);return o.sigBytes-=4,o}});e.SHA224=i._createHelper(a),e.HmacSHA224=i._createHmacHelper(a)}(),t.SHA224})});var kQ=E((WD,SDe)=>{(function(t,e,r){typeof WD=="object"?SDe.exports=WD=e(pr(),Iv()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(WD,function(t){return function(){var e=t,r=e.lib,n=r.Hasher,s=e.x64,i=s.Word,a=s.WordArray,o=e.algo;function c(){return i.create.apply(i,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];(function(){for(var f=0;f<80;f++)l[f]=c()})();var d=o.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(f,p){for(var m=this._hash.words,h=m[0],A=m[1],g=m[2],b=m[3],y=m[4],x=m[5],v=m[6],C=m[7],R=h.high,w=h.low,N=A.high,P=A.low,L=g.high,M=g.low,k=b.high,B=b.low,Z=y.high,W=y.low,F=x.high,V=x.low,j=v.high,J=v.low,se=C.high,oe=C.low,ue=R,Ce=w,we=N,qe=P,Fe=L,_e=M,U=k,G=B,z=Z,q=W,H=F,ee=V,ne=j,re=J,X=se,ie=oe,ce=0;ce<80;ce++){var fe,Ne,Pe=l[ce];if(ce<16)Ne=Pe.high=f[p+ce*2]|0,fe=Pe.low=f[p+ce*2+1]|0;else{var Ue=l[ce-15],Ke=Ue.high,Ye=Ue.low,Ze=(Ke>>>1|Ye<<31)^(Ke>>>8|Ye<<24)^Ke>>>7,nt=(Ye>>>1|Ke<<31)^(Ye>>>8|Ke<<24)^(Ye>>>7|Ke<<25),ct=l[ce-2],tt=ct.high,Dt=ct.low,lt=(tt>>>19|Dt<<13)^(tt<<3|Dt>>>29)^tt>>>6,De=(Dt>>>19|tt<<13)^(Dt<<3|tt>>>29)^(Dt>>>6|tt<<26),Je=l[ce-7],ft=Je.high,rt=Je.low,bt=l[ce-16],An=bt.high,Ct=bt.low;fe=nt+rt,Ne=Ze+ft+(fe>>>0<nt>>>0?1:0),fe=fe+De,Ne=Ne+lt+(fe>>>0<De>>>0?1:0),fe=fe+Ct,Ne=Ne+An+(fe>>>0<Ct>>>0?1:0),Pe.high=Ne,Pe.low=fe}var Sr=z&H^~z&ne,Us=q&ee^~q&re,Dr=ue&we^ue&Fe^we&Fe,qs=Ce&qe^Ce&_e^qe&_e,js=(ue>>>28|Ce<<4)^(ue<<30|Ce>>>2)^(ue<<25|Ce>>>7),ys=(Ce>>>28|ue<<4)^(Ce<<30|ue>>>2)^(Ce<<25|ue>>>7),Hs=(z>>>14|q<<18)^(z>>>18|q<<14)^(z<<23|q>>>9),Lu=(q>>>14|z<<18)^(q>>>18|z<<14)^(q<<23|z>>>9),go=u[ce],Dc=go.high,Ta=go.low,yn=ie+Lu,wa=X+Hs+(yn>>>0<ie>>>0?1:0),yn=yn+Us,wa=wa+Sr+(yn>>>0<Us>>>0?1:0),yn=yn+Ta,wa=wa+Dc+(yn>>>0<Ta>>>0?1:0),yn=yn+fe,wa=wa+Ne+(yn>>>0<fe>>>0?1:0),rd=ys+qs,Ao=js+Dr+(rd>>>0<ys>>>0?1:0);X=ne,ie=re,ne=H,re=ee,H=z,ee=q,q=G+yn|0,z=U+wa+(q>>>0<G>>>0?1:0)|0,U=Fe,G=_e,Fe=we,_e=qe,we=ue,qe=Ce,Ce=yn+rd|0,ue=wa+Ao+(Ce>>>0<yn>>>0?1:0)|0}w=h.low=w+Ce,h.high=R+ue+(w>>>0<Ce>>>0?1:0),P=A.low=P+qe,A.high=N+we+(P>>>0<qe>>>0?1:0),M=g.low=M+_e,g.high=L+Fe+(M>>>0<_e>>>0?1:0),B=b.low=B+G,b.high=k+U+(B>>>0<G>>>0?1:0),W=y.low=W+q,y.high=Z+z+(W>>>0<q>>>0?1:0),V=x.low=V+ee,x.high=F+H+(V>>>0<ee>>>0?1:0),J=v.low=J+re,v.high=j+ne+(J>>>0<re>>>0?1:0),oe=C.low=oe+ie,C.high=se+X+(oe>>>0<ie>>>0?1:0)},_doFinalize:function(){var f=this._data,p=f.words,m=this._nDataBytes*8,h=f.sigBytes*8;p[h>>>5]|=128<<24-h%32,p[(h+128>>>10<<5)+30]=Math.floor(m/4294967296),p[(h+128>>>10<<5)+31]=m,f.sigBytes=p.length*4,this._process();var A=this._hash.toX32();return A},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f},blockSize:1024/32});e.SHA512=n._createHelper(d),e.HmacSHA512=n._createHmacHelper(d)}(),t.SHA512})});var CDe=E(($D,vDe)=>{(function(t,e,r){typeof $D=="object"?vDe.exports=$D=e(pr(),Iv(),kQ()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],e):e(t.CryptoJS)})($D,function(t){return function(){var e=t,r=e.x64,n=r.Word,s=r.WordArray,i=e.algo,a=i.SHA512,o=i.SHA384=a.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var c=a._doFinalize.call(this);return c.sigBytes-=16,c}});e.SHA384=a._createHelper(o),e.HmacSHA384=a._createHmacHelper(o)}(),t.SHA384})});var TDe=E((FD,IDe)=>{(function(t,e,r){typeof FD=="object"?IDe.exports=FD=e(pr(),Iv()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(FD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.x64,o=a.Word,c=r.algo,u=[],l=[],d=[];(function(){for(var m=1,h=0,A=0;A<24;A++){u[m+5*h]=(A+1)*(A+2)/2%64;var g=h%5,b=(2*m+3*h)%5;m=g,h=b}for(var m=0;m<5;m++)for(var h=0;h<5;h++)l[m+5*h]=h+(2*m+3*h)%5*5;for(var y=1,x=0;x<24;x++){for(var v=0,C=0,R=0;R<7;R++){if(y&1){var w=(1<<R)-1;w<32?C^=1<<w:v^=1<<w-32}y&128?y=y<<1^113:y<<=1}d[x]=o.create(v,C)}})();var f=[];(function(){for(var m=0;m<25;m++)f[m]=o.create()})();var p=c.SHA3=i.extend({cfg:i.cfg.extend({outputLength:512}),_doReset:function(){for(var m=this._state=[],h=0;h<25;h++)m[h]=new o.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(m,h){for(var A=this._state,g=this.blockSize/2,b=0;b<g;b++){var y=m[h+2*b],x=m[h+2*b+1];y=(y<<8|y>>>24)&16711935|(y<<24|y>>>8)&4278255360,x=(x<<8|x>>>24)&16711935|(x<<24|x>>>8)&4278255360;var v=A[b];v.high^=x,v.low^=y}for(var C=0;C<24;C++){for(var R=0;R<5;R++){for(var w=0,N=0,P=0;P<5;P++){var v=A[R+5*P];w^=v.high,N^=v.low}var L=f[R];L.high=w,L.low=N}for(var R=0;R<5;R++)for(var M=f[(R+4)%5],k=f[(R+1)%5],B=k.high,Z=k.low,w=M.high^(B<<1|Z>>>31),N=M.low^(Z<<1|B>>>31),P=0;P<5;P++){var v=A[R+5*P];v.high^=w,v.low^=N}for(var W=1;W<25;W++){var w,N,v=A[W],F=v.high,V=v.low,j=u[W];j<32?(w=F<<j|V>>>32-j,N=V<<j|F>>>32-j):(w=V<<j-32|F>>>64-j,N=F<<j-32|V>>>64-j);var J=f[l[W]];J.high=w,J.low=N}var se=f[0],oe=A[0];se.high=oe.high,se.low=oe.low;for(var R=0;R<5;R++)for(var P=0;P<5;P++){var W=R+5*P,v=A[W],ue=f[W],Ce=f[(R+1)%5+5*P],we=f[(R+2)%5+5*P];v.high=ue.high^~Ce.high&we.high,v.low=ue.low^~Ce.low&we.low}var v=A[0],qe=d[C];v.high^=qe.high,v.low^=qe.low}},_doFinalize:function(){var m=this._data,h=m.words,A=this._nDataBytes*8,g=m.sigBytes*8,b=this.blockSize*32;h[g>>>5]|=1<<24-g%32,h[(e.ceil((g+1)/b)*b>>>5)-1]|=128,m.sigBytes=h.length*4,this._process();for(var y=this._state,x=this.cfg.outputLength/8,v=x/8,C=[],R=0;R<v;R++){var w=y[R],N=w.high,P=w.low;N=(N<<8|N>>>24)&16711935|(N<<24|N>>>8)&4278255360,P=(P<<8|P>>>24)&16711935|(P<<24|P>>>8)&4278255360,C.push(P),C.push(N)}return new s.init(C,x)},clone:function(){for(var m=i.clone.call(this),h=m._state=this._state.slice(0),A=0;A<25;A++)h[A]=h[A].clone();return m}});r.SHA3=i._createHelper(p),r.HmacSHA3=i._createHmacHelper(p)}(Math),t.SHA3})});var RDe=E((UD,wDe)=>{(function(t,e){typeof UD=="object"?wDe.exports=UD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(UD,function(t){return function(e){var r=t,n=r.lib,s=n.WordArray,i=n.Hasher,a=r.algo,o=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),u=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),l=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=s.create([0,1518500249,1859775393,2400959708,2840853838]),f=s.create([1352829926,1548603684,1836072691,2053994217,0]),p=a.RIPEMD160=i.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(x,v){for(var C=0;C<16;C++){var R=v+C,w=x[R];x[R]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360}var N=this._hash.words,P=d.words,L=f.words,M=o.words,k=c.words,B=u.words,Z=l.words,W,F,V,j,J,se,oe,ue,Ce,we;se=W=N[0],oe=F=N[1],ue=V=N[2],Ce=j=N[3],we=J=N[4];for(var qe,C=0;C<80;C+=1)qe=W+x[v+M[C]]|0,C<16?qe+=m(F,V,j)+P[0]:C<32?qe+=h(F,V,j)+P[1]:C<48?qe+=A(F,V,j)+P[2]:C<64?qe+=g(F,V,j)+P[3]:qe+=b(F,V,j)+P[4],qe=qe|0,qe=y(qe,B[C]),qe=qe+J|0,W=J,J=j,j=y(V,10),V=F,F=qe,qe=se+x[v+k[C]]|0,C<16?qe+=b(oe,ue,Ce)+L[0]:C<32?qe+=g(oe,ue,Ce)+L[1]:C<48?qe+=A(oe,ue,Ce)+L[2]:C<64?qe+=h(oe,ue,Ce)+L[3]:qe+=m(oe,ue,Ce)+L[4],qe=qe|0,qe=y(qe,Z[C]),qe=qe+we|0,se=we,we=Ce,Ce=y(ue,10),ue=oe,oe=qe;qe=N[1]+V+Ce|0,N[1]=N[2]+j+we|0,N[2]=N[3]+J+se|0,N[3]=N[4]+W+oe|0,N[4]=N[0]+F+ue|0,N[0]=qe},_doFinalize:function(){var x=this._data,v=x.words,C=this._nDataBytes*8,R=x.sigBytes*8;v[R>>>5]|=128<<24-R%32,v[(R+64>>>9<<4)+14]=(C<<8|C>>>24)&16711935|(C<<24|C>>>8)&4278255360,x.sigBytes=(v.length+1)*4,this._process();for(var w=this._hash,N=w.words,P=0;P<5;P++){var L=N[P];N[P]=(L<<8|L>>>24)&16711935|(L<<24|L>>>8)&4278255360}return w},clone:function(){var x=i.clone.call(this);return x._hash=this._hash.clone(),x}});function m(x,v,C){return x^v^C}function h(x,v,C){return x&v|~x&C}function A(x,v,C){return(x|~v)^C}function g(x,v,C){return x&C|v&~C}function b(x,v,C){return x^(v|~C)}function y(x,v){return x<<v|x>>>32-v}r.RIPEMD160=i._createHelper(p),r.HmacRIPEMD160=i._createHmacHelper(p)}(Math),t.RIPEMD160})});var jD=E((qD,NDe)=>{(function(t,e){typeof qD=="object"?NDe.exports=qD=e(pr()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(qD,function(t){(function(){var e=t,r=e.lib,n=r.Base,s=e.enc,i=s.Utf8,a=e.algo,o=a.HMAC=n.extend({init:function(c,u){c=this._hasher=new c.init,typeof u=="string"&&(u=i.parse(u));var l=c.blockSize,d=l*4;u.sigBytes>d&&(u=c.finalize(u)),u.clamp();for(var f=this._oKey=u.clone(),p=this._iKey=u.clone(),m=f.words,h=p.words,A=0;A<l;A++)m[A]^=1549556828,h[A]^=909522486;f.sigBytes=p.sigBytes=d,this.reset()},reset:function(){var c=this._hasher;c.reset(),c.update(this._iKey)},update:function(c){return this._hasher.update(c),this},finalize:function(c){var u=this._hasher,l=u.finalize(c);u.reset();var d=u.finalize(this._oKey.clone().concat(l));return d}})})()})});var PDe=E((HD,ODe)=>{(function(t,e,r){typeof HD=="object"?ODe.exports=HD=e(pr(),BD(),jD()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(HD,function(t){return function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,i=e.algo,a=i.SHA256,o=i.HMAC,c=i.PBKDF2=n.extend({cfg:n.extend({keySize:128/32,hasher:a,iterations:25e4}),init:function(u){this.cfg=this.cfg.extend(u)},compute:function(u,l){for(var d=this.cfg,f=o.create(d.hasher,u),p=s.create(),m=s.create([1]),h=p.words,A=m.words,g=d.keySize,b=d.iterations;h.length<g;){var y=f.update(l).finalize(m);f.reset();for(var x=y.words,v=x.length,C=y,R=1;R<b;R++){C=f.finalize(C),f.reset();for(var w=C.words,N=0;N<v;N++)x[N]^=w[N]}p.concat(y),A[0]++}return p.sigBytes=g*4,p}});e.PBKDF2=function(u,l,d){return c.create(d).compute(u,l)}}(),t.PBKDF2})});var Vd=E((QD,DDe)=>{(function(t,e,r){typeof QD=="object"?DDe.exports=QD=e(pr(),DQ(),jD()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],e):e(t.CryptoJS)})(QD,function(t){return function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,i=e.algo,a=i.MD5,o=i.EvpKDF=n.extend({cfg:n.extend({keySize:128/32,hasher:a,iterations:1}),init:function(c){this.cfg=this.cfg.extend(c)},compute:function(c,u){for(var l,d=this.cfg,f=d.hasher.create(),p=s.create(),m=p.words,h=d.keySize,A=d.iterations;m.length<h;){l&&f.update(l),l=f.update(c).finalize(u),f.reset();for(var g=1;g<A;g++)l=f.finalize(l),f.reset();p.concat(l)}return p.sigBytes=h*4,p}});e.EvpKDF=function(c,u,l){return o.create(l).compute(c,u)}}(),t.EvpKDF})});var Ns=E((GD,kDe)=>{(function(t,e,r){typeof GD=="object"?kDe.exports=GD=e(pr(),Vd()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],e):e(t.CryptoJS)})(GD,function(t){t.lib.Cipher||function(e){var r=t,n=r.lib,s=n.Base,i=n.WordArray,a=n.BufferedBlockAlgorithm,o=r.enc,c=o.Utf8,u=o.Base64,l=r.algo,d=l.EvpKDF,f=n.Cipher=a.extend({cfg:s.extend(),createEncryptor:function(L,M){return this.create(this._ENC_XFORM_MODE,L,M)},createDecryptor:function(L,M){return this.create(this._DEC_XFORM_MODE,L,M)},init:function(L,M,k){this.cfg=this.cfg.extend(k),this._xformMode=L,this._key=M,this.reset()},reset:function(){a.reset.call(this),this._doReset()},process:function(L){return this._append(L),this._process()},finalize:function(L){L&&this._append(L);var M=this._doFinalize();return M},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function L(M){return typeof M=="string"?P:R}return function(M){return{encrypt:function(k,B,Z){return L(B).encrypt(M,k,B,Z)},decrypt:function(k,B,Z){return L(B).decrypt(M,k,B,Z)}}}}()}),p=n.StreamCipher=f.extend({_doFinalize:function(){var L=this._process(!0);return L},blockSize:1}),m=r.mode={},h=n.BlockCipherMode=s.extend({createEncryptor:function(L,M){return this.Encryptor.create(L,M)},createDecryptor:function(L,M){return this.Decryptor.create(L,M)},init:function(L,M){this._cipher=L,this._iv=M}}),A=m.CBC=function(){var L=h.extend();L.Encryptor=L.extend({processBlock:function(k,B){var Z=this._cipher,W=Z.blockSize;M.call(this,k,B,W),Z.encryptBlock(k,B),this._prevBlock=k.slice(B,B+W)}}),L.Decryptor=L.extend({processBlock:function(k,B){var Z=this._cipher,W=Z.blockSize,F=k.slice(B,B+W);Z.decryptBlock(k,B),M.call(this,k,B,W),this._prevBlock=F}});function M(k,B,Z){var W,F=this._iv;F?(W=F,this._iv=e):W=this._prevBlock;for(var V=0;V<Z;V++)k[B+V]^=W[V]}return L}(),g=r.pad={},b=g.Pkcs7={pad:function(L,M){for(var k=M*4,B=k-L.sigBytes%k,Z=B<<24|B<<16|B<<8|B,W=[],F=0;F<B;F+=4)W.push(Z);var V=i.create(W,B);L.concat(V)},unpad:function(L){var M=L.words[L.sigBytes-1>>>2]&255;L.sigBytes-=M}},y=n.BlockCipher=f.extend({cfg:f.cfg.extend({mode:A,padding:b}),reset:function(){var L;f.reset.call(this);var M=this.cfg,k=M.iv,B=M.mode;this._xformMode==this._ENC_XFORM_MODE?L=B.createEncryptor:(L=B.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==L?this._mode.init(this,k&&k.words):(this._mode=L.call(B,this,k&&k.words),this._mode.__creator=L)},_doProcessBlock:function(L,M){this._mode.processBlock(L,M)},_doFinalize:function(){var L,M=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(M.pad(this._data,this.blockSize),L=this._process(!0)):(L=this._process(!0),M.unpad(L)),L},blockSize:128/32}),x=n.CipherParams=s.extend({init:function(L){this.mixIn(L)},toString:function(L){return(L||this.formatter).stringify(this)}}),v=r.format={},C=v.OpenSSL={stringify:function(L){var M,k=L.ciphertext,B=L.salt;return B?M=i.create([1398893684,1701076831]).concat(B).concat(k):M=k,M.toString(u)},parse:function(L){var M,k=u.parse(L),B=k.words;return B[0]==1398893684&&B[1]==1701076831&&(M=i.create(B.slice(2,4)),B.splice(0,4),k.sigBytes-=16),x.create({ciphertext:k,salt:M})}},R=n.SerializableCipher=s.extend({cfg:s.extend({format:C}),encrypt:function(L,M,k,B){B=this.cfg.extend(B);var Z=L.createEncryptor(k,B),W=Z.finalize(M),F=Z.cfg;return x.create({ciphertext:W,key:k,iv:F.iv,algorithm:L,mode:F.mode,padding:F.padding,blockSize:L.blockSize,formatter:B.format})},decrypt:function(L,M,k,B){B=this.cfg.extend(B),M=this._parse(M,B.format);var Z=L.createDecryptor(k,B).finalize(M.ciphertext);return Z},_parse:function(L,M){return typeof L=="string"?M.parse(L,this):L}}),w=r.kdf={},N=w.OpenSSL={execute:function(L,M,k,B,Z){if(B||(B=i.random(64/8)),Z)var W=d.create({keySize:M+k,hasher:Z}).compute(L,B);else var W=d.create({keySize:M+k}).compute(L,B);var F=i.create(W.words.slice(M),k*4);return W.sigBytes=M*4,x.create({key:W,iv:F,salt:B})}},P=n.PasswordBasedCipher=R.extend({cfg:R.cfg.extend({kdf:N}),encrypt:function(L,M,k,B){B=this.cfg.extend(B);var Z=B.kdf.execute(k,L.keySize,L.ivSize,B.salt,B.hasher);B.iv=Z.iv;var W=R.encrypt.call(this,L,M,Z.key,B);return W.mixIn(Z),W},decrypt:function(L,M,k,B){B=this.cfg.extend(B),M=this._parse(M,B.format);var Z=B.kdf.execute(k,L.keySize,L.ivSize,M.salt,B.hasher);B.iv=Z.iv;var W=R.decrypt.call(this,L,M,Z.key,B);return W}})}()})});var BDe=E((VD,LDe)=>{(function(t,e,r){typeof VD=="object"?LDe.exports=VD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(VD,function(t){return t.mode.CFB=function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize;r.call(this,n,s,a,i),this._prevBlock=n.slice(s,s+a)}}),e.Decryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=n.slice(s,s+a);r.call(this,n,s,a,i),this._prevBlock=o}});function r(n,s,i,a){var o,c=this._iv;c?(o=c.slice(0),this._iv=void 0):o=this._prevBlock,a.encryptBlock(o,0);for(var u=0;u<i;u++)n[s+u]^=o[u]}return e}(),t.mode.CFB})});var WDe=E((zD,MDe)=>{(function(t,e,r){typeof zD=="object"?MDe.exports=zD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(zD,function(t){return t.mode.CTR=function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=this._iv,c=this._counter;o&&(c=this._counter=o.slice(0),this._iv=void 0);var u=c.slice(0);i.encryptBlock(u,0),c[a-1]=c[a-1]+1|0;for(var l=0;l<a;l++)n[s+l]^=u[l]}});return e.Decryptor=r,e}(),t.mode.CTR})});var FDe=E((KD,$De)=>{(function(t,e,r){typeof KD=="object"?$De.exports=KD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(KD,function(t){return t.mode.CTRGladman=function(){var e=t.lib.BlockCipherMode.extend();function r(i){if((i>>24&255)===255){var a=i>>16&255,o=i>>8&255,c=i&255;a===255?(a=0,o===255?(o=0,c===255?c=0:++c):++o):++a,i=0,i+=a<<16,i+=o<<8,i+=c}else i+=1<<24;return i}function n(i){return(i[0]=r(i[0]))===0&&(i[1]=r(i[1])),i}var s=e.Encryptor=e.extend({processBlock:function(i,a){var o=this._cipher,c=o.blockSize,u=this._iv,l=this._counter;u&&(l=this._counter=u.slice(0),this._iv=void 0),n(l);var d=l.slice(0);o.encryptBlock(d,0);for(var f=0;f<c;f++)i[a+f]^=d[f]}});return e.Decryptor=s,e}(),t.mode.CTRGladman})});var qDe=E((YD,UDe)=>{(function(t,e,r){typeof YD=="object"?UDe.exports=YD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(YD,function(t){return t.mode.OFB=function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var i=this._cipher,a=i.blockSize,o=this._iv,c=this._keystream;o&&(c=this._keystream=o.slice(0),this._iv=void 0),i.encryptBlock(c,0);for(var u=0;u<a;u++)n[s+u]^=c[u]}});return e.Decryptor=r,e}(),t.mode.OFB})});var HDe=E((JD,jDe)=>{(function(t,e,r){typeof JD=="object"?jDe.exports=JD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(JD,function(t){return t.mode.ECB=function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(r,n){this._cipher.encryptBlock(r,n)}}),e.Decryptor=e.extend({processBlock:function(r,n){this._cipher.decryptBlock(r,n)}}),e}(),t.mode.ECB})});var GDe=E((XD,QDe)=>{(function(t,e,r){typeof XD=="object"?QDe.exports=XD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(XD,function(t){return t.pad.AnsiX923={pad:function(e,r){var n=e.sigBytes,s=r*4,i=s-n%s,a=n+i-1;e.clamp(),e.words[a>>>2]|=i<<24-a%4*8,e.sigBytes+=i},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Ansix923})});var zDe=E((ZD,VDe)=>{(function(t,e,r){typeof ZD=="object"?VDe.exports=ZD=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(ZD,function(t){return t.pad.Iso10126={pad:function(e,r){var n=r*4,s=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(s-1)).concat(t.lib.WordArray.create([s<<24],1))},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Iso10126})});var YDe=E((ek,KDe)=>{(function(t,e,r){typeof ek=="object"?KDe.exports=ek=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(ek,function(t){return t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})});var XDe=E((tk,JDe)=>{(function(t,e,r){typeof tk=="object"?JDe.exports=tk=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(tk,function(t){return t.pad.ZeroPadding={pad:function(e,r){var n=r*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var r=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},t.pad.ZeroPadding})});var eke=E((rk,ZDe)=>{(function(t,e,r){typeof rk=="object"?ZDe.exports=rk=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(rk,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})});var rke=E((nk,tke)=>{(function(t,e,r){typeof nk=="object"?tke.exports=nk=e(pr(),Ns()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(nk,function(t){return function(e){var r=t,n=r.lib,s=n.CipherParams,i=r.enc,a=i.Hex,o=r.format,c=o.Hex={stringify:function(u){return u.ciphertext.toString(a)},parse:function(u){var l=a.parse(u);return s.create({ciphertext:l})}}}(),t.format.Hex})});var ske=E((sk,nke)=>{(function(t,e,r){typeof sk=="object"?nke.exports=sk=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(sk,function(t){return function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo,i=[],a=[],o=[],c=[],u=[],l=[],d=[],f=[],p=[],m=[];(function(){for(var g=[],b=0;b<256;b++)b<128?g[b]=b<<1:g[b]=b<<1^283;for(var y=0,x=0,b=0;b<256;b++){var v=x^x<<1^x<<2^x<<3^x<<4;v=v>>>8^v&255^99,i[y]=v,a[v]=y;var C=g[y],R=g[C],w=g[R],N=g[v]*257^v*16843008;o[y]=N<<24|N>>>8,c[y]=N<<16|N>>>16,u[y]=N<<8|N>>>24,l[y]=N;var N=w*16843009^R*65537^C*257^y*16843008;d[v]=N<<24|N>>>8,f[v]=N<<16|N>>>16,p[v]=N<<8|N>>>24,m[v]=N,y?(y=C^g[g[g[w^C]]],x^=g[g[x]]):y=x=1}})();var h=[0,1,2,4,8,16,32,64,128,27,54],A=s.AES=n.extend({_doReset:function(){var g;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var b=this._keyPriorReset=this._key,y=b.words,x=b.sigBytes/4,v=this._nRounds=x+6,C=(v+1)*4,R=this._keySchedule=[],w=0;w<C;w++)w<x?R[w]=y[w]:(g=R[w-1],w%x?x>6&&w%x==4&&(g=i[g>>>24]<<24|i[g>>>16&255]<<16|i[g>>>8&255]<<8|i[g&255]):(g=g<<8|g>>>24,g=i[g>>>24]<<24|i[g>>>16&255]<<16|i[g>>>8&255]<<8|i[g&255],g^=h[w/x|0]<<24),R[w]=R[w-x]^g);for(var N=this._invKeySchedule=[],P=0;P<C;P++){var w=C-P;if(P%4)var g=R[w];else var g=R[w-4];P<4||w<=4?N[P]=g:N[P]=d[i[g>>>24]]^f[i[g>>>16&255]]^p[i[g>>>8&255]]^m[i[g&255]]}}},encryptBlock:function(g,b){this._doCryptBlock(g,b,this._keySchedule,o,c,u,l,i)},decryptBlock:function(g,b){var y=g[b+1];g[b+1]=g[b+3],g[b+3]=y,this._doCryptBlock(g,b,this._invKeySchedule,d,f,p,m,a);var y=g[b+1];g[b+1]=g[b+3],g[b+3]=y},_doCryptBlock:function(g,b,y,x,v,C,R,w){for(var N=this._nRounds,P=g[b]^y[0],L=g[b+1]^y[1],M=g[b+2]^y[2],k=g[b+3]^y[3],B=4,Z=1;Z<N;Z++){var W=x[P>>>24]^v[L>>>16&255]^C[M>>>8&255]^R[k&255]^y[B++],F=x[L>>>24]^v[M>>>16&255]^C[k>>>8&255]^R[P&255]^y[B++],V=x[M>>>24]^v[k>>>16&255]^C[P>>>8&255]^R[L&255]^y[B++],j=x[k>>>24]^v[P>>>16&255]^C[L>>>8&255]^R[M&255]^y[B++];P=W,L=F,M=V,k=j}var W=(w[P>>>24]<<24|w[L>>>16&255]<<16|w[M>>>8&255]<<8|w[k&255])^y[B++],F=(w[L>>>24]<<24|w[M>>>16&255]<<16|w[k>>>8&255]<<8|w[P&255])^y[B++],V=(w[M>>>24]<<24|w[k>>>16&255]<<16|w[P>>>8&255]<<8|w[L&255])^y[B++],j=(w[k>>>24]<<24|w[P>>>16&255]<<16|w[L>>>8&255]<<8|w[M&255])^y[B++];g[b]=W,g[b+1]=F,g[b+2]=V,g[b+3]=j},keySize:256/32});e.AES=n._createHelper(A)}(),t.AES})});var ake=E((ik,ike)=>{(function(t,e,r){typeof ik=="object"?ike.exports=ik=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(ik,function(t){return function(){var e=t,r=e.lib,n=r.WordArray,s=r.BlockCipher,i=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],u=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=i.DES=s.extend({_doReset:function(){for(var h=this._key,A=h.words,g=[],b=0;b<56;b++){var y=a[b]-1;g[b]=A[y>>>5]>>>31-y%32&1}for(var x=this._subKeys=[],v=0;v<16;v++){for(var C=x[v]=[],R=c[v],b=0;b<24;b++)C[b/6|0]|=g[(o[b]-1+R)%28]<<31-b%6,C[4+(b/6|0)]|=g[28+(o[b+24]-1+R)%28]<<31-b%6;C[0]=C[0]<<1|C[0]>>>31;for(var b=1;b<7;b++)C[b]=C[b]>>>(b-1)*4+3;C[7]=C[7]<<5|C[7]>>>27}for(var w=this._invSubKeys=[],b=0;b<16;b++)w[b]=x[15-b]},encryptBlock:function(h,A){this._doCryptBlock(h,A,this._subKeys)},decryptBlock:function(h,A){this._doCryptBlock(h,A,this._invSubKeys)},_doCryptBlock:function(h,A,g){this._lBlock=h[A],this._rBlock=h[A+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var b=0;b<16;b++){for(var y=g[b],x=this._lBlock,v=this._rBlock,C=0,R=0;R<8;R++)C|=u[R][((v^y[R])&l[R])>>>0];this._lBlock=v,this._rBlock=x^C}var w=this._lBlock;this._lBlock=this._rBlock,this._rBlock=w,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),h[A]=this._lBlock,h[A+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(h,A){var g=(this._lBlock>>>h^this._rBlock)&A;this._rBlock^=g,this._lBlock^=g<<h}function p(h,A){var g=(this._rBlock>>>h^this._lBlock)&A;this._lBlock^=g,this._rBlock^=g<<h}e.DES=s._createHelper(d);var m=i.TripleDES=s.extend({_doReset:function(){var h=this._key,A=h.words;if(A.length!==2&&A.length!==4&&A.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var g=A.slice(0,2),b=A.length<4?A.slice(0,2):A.slice(2,4),y=A.length<6?A.slice(0,2):A.slice(4,6);this._des1=d.createEncryptor(n.create(g)),this._des2=d.createEncryptor(n.create(b)),this._des3=d.createEncryptor(n.create(y))},encryptBlock:function(h,A){this._des1.encryptBlock(h,A),this._des2.decryptBlock(h,A),this._des3.encryptBlock(h,A)},decryptBlock:function(h,A){this._des3.decryptBlock(h,A),this._des2.encryptBlock(h,A),this._des1.decryptBlock(h,A)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=s._createHelper(m)}(),t.TripleDES})});var cke=E((ak,oke)=>{(function(t,e,r){typeof ak=="object"?oke.exports=ak=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(ak,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=s.RC4=n.extend({_doReset:function(){for(var c=this._key,u=c.words,l=c.sigBytes,d=this._S=[],f=0;f<256;f++)d[f]=f;for(var f=0,p=0;f<256;f++){var m=f%l,h=u[m>>>2]>>>24-m%4*8&255;p=(p+d[f]+h)%256;var A=d[f];d[f]=d[p],d[p]=A}this._i=this._j=0},_doProcessBlock:function(c,u){c[u]^=a.call(this)},keySize:256/32,ivSize:0});function a(){for(var c=this._S,u=this._i,l=this._j,d=0,f=0;f<4;f++){u=(u+1)%256,l=(l+c[u])%256;var p=c[u];c[u]=c[l],c[l]=p,d|=c[(c[u]+c[l])%256]<<24-f*8}return this._i=u,this._j=l,d}e.RC4=n._createHelper(i);var o=s.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var c=this.cfg.drop;c>0;c--)a.call(this)}});e.RC4Drop=n._createHelper(o)}(),t.RC4})});var lke=E((ok,uke)=>{(function(t,e,r){typeof ok=="object"?uke.exports=ok=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(ok,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=[],a=[],o=[],c=s.Rabbit=n.extend({_doReset:function(){for(var l=this._key.words,d=this.cfg.iv,f=0;f<4;f++)l[f]=(l[f]<<8|l[f]>>>24)&16711935|(l[f]<<24|l[f]>>>8)&4278255360;var p=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],m=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var f=0;f<4;f++)u.call(this);for(var f=0;f<8;f++)m[f]^=p[f+4&7];if(d){var h=d.words,A=h[0],g=h[1],b=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,y=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,x=b>>>16|y&4294901760,v=y<<16|b&65535;m[0]^=b,m[1]^=x,m[2]^=y,m[3]^=v,m[4]^=b,m[5]^=x,m[6]^=y,m[7]^=v;for(var f=0;f<4;f++)u.call(this)}},_doProcessBlock:function(l,d){var f=this._X;u.call(this),i[0]=f[0]^f[5]>>>16^f[3]<<16,i[1]=f[2]^f[7]>>>16^f[5]<<16,i[2]=f[4]^f[1]>>>16^f[7]<<16,i[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)i[p]=(i[p]<<8|i[p]>>>24)&16711935|(i[p]<<24|i[p]>>>8)&4278255360,l[d+p]^=i[p]},blockSize:128/32,ivSize:64/32});function u(){for(var l=this._X,d=this._C,f=0;f<8;f++)a[f]=d[f];d[0]=d[0]+1295307597+this._b|0,d[1]=d[1]+3545052371+(d[0]>>>0<a[0]>>>0?1:0)|0,d[2]=d[2]+886263092+(d[1]>>>0<a[1]>>>0?1:0)|0,d[3]=d[3]+1295307597+(d[2]>>>0<a[2]>>>0?1:0)|0,d[4]=d[4]+3545052371+(d[3]>>>0<a[3]>>>0?1:0)|0,d[5]=d[5]+886263092+(d[4]>>>0<a[4]>>>0?1:0)|0,d[6]=d[6]+1295307597+(d[5]>>>0<a[5]>>>0?1:0)|0,d[7]=d[7]+3545052371+(d[6]>>>0<a[6]>>>0?1:0)|0,this._b=d[7]>>>0<a[7]>>>0?1:0;for(var f=0;f<8;f++){var p=l[f]+d[f],m=p&65535,h=p>>>16,A=((m*m>>>17)+m*h>>>15)+h*h,g=((p&4294901760)*p|0)+((p&65535)*p|0);o[f]=A^g}l[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,l[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,l[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,l[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,l[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,l[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,l[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,l[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=n._createHelper(c)}(),t.Rabbit})});var fke=E((ck,dke)=>{(function(t,e,r){typeof ck=="object"?dke.exports=ck=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(ck,function(t){return function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,i=[],a=[],o=[],c=s.RabbitLegacy=n.extend({_doReset:function(){var l=this._key.words,d=this.cfg.iv,f=this._X=[l[0],l[3]<<16|l[2]>>>16,l[1],l[0]<<16|l[3]>>>16,l[2],l[1]<<16|l[0]>>>16,l[3],l[2]<<16|l[1]>>>16],p=this._C=[l[2]<<16|l[2]>>>16,l[0]&4294901760|l[1]&65535,l[3]<<16|l[3]>>>16,l[1]&4294901760|l[2]&65535,l[0]<<16|l[0]>>>16,l[2]&4294901760|l[3]&65535,l[1]<<16|l[1]>>>16,l[3]&4294901760|l[0]&65535];this._b=0;for(var m=0;m<4;m++)u.call(this);for(var m=0;m<8;m++)p[m]^=f[m+4&7];if(d){var h=d.words,A=h[0],g=h[1],b=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,y=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,x=b>>>16|y&4294901760,v=y<<16|b&65535;p[0]^=b,p[1]^=x,p[2]^=y,p[3]^=v,p[4]^=b,p[5]^=x,p[6]^=y,p[7]^=v;for(var m=0;m<4;m++)u.call(this)}},_doProcessBlock:function(l,d){var f=this._X;u.call(this),i[0]=f[0]^f[5]>>>16^f[3]<<16,i[1]=f[2]^f[7]>>>16^f[5]<<16,i[2]=f[4]^f[1]>>>16^f[7]<<16,i[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)i[p]=(i[p]<<8|i[p]>>>24)&16711935|(i[p]<<24|i[p]>>>8)&4278255360,l[d+p]^=i[p]},blockSize:128/32,ivSize:64/32});function u(){for(var l=this._X,d=this._C,f=0;f<8;f++)a[f]=d[f];d[0]=d[0]+1295307597+this._b|0,d[1]=d[1]+3545052371+(d[0]>>>0<a[0]>>>0?1:0)|0,d[2]=d[2]+886263092+(d[1]>>>0<a[1]>>>0?1:0)|0,d[3]=d[3]+1295307597+(d[2]>>>0<a[2]>>>0?1:0)|0,d[4]=d[4]+3545052371+(d[3]>>>0<a[3]>>>0?1:0)|0,d[5]=d[5]+886263092+(d[4]>>>0<a[4]>>>0?1:0)|0,d[6]=d[6]+1295307597+(d[5]>>>0<a[5]>>>0?1:0)|0,d[7]=d[7]+3545052371+(d[6]>>>0<a[6]>>>0?1:0)|0,this._b=d[7]>>>0<a[7]>>>0?1:0;for(var f=0;f<8;f++){var p=l[f]+d[f],m=p&65535,h=p>>>16,A=((m*m>>>17)+m*h>>>15)+h*h,g=((p&4294901760)*p|0)+((p&65535)*p|0);o[f]=A^g}l[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,l[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,l[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,l[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,l[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,l[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,l[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,l[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=n._createHelper(c)}(),t.RabbitLegacy})});var mke=E((uk,pke)=>{(function(t,e,r){typeof uk=="object"?pke.exports=uk=e(pr(),f0(),p0(),Vd(),Ns()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(uk,function(t){return function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo;let i=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(m,h){let A=h>>24&255,g=h>>16&255,b=h>>8&255,y=h&255,x=m.sbox[0][A]+m.sbox[1][g];return x=x^m.sbox[2][b],x=x+m.sbox[3][y],x}function l(m,h,A){let g=h,b=A,y;for(let x=0;x<i;++x)g=g^m.pbox[x],b=u(m,g)^b,y=g,g=b,b=y;return y=g,g=b,b=y,b=b^m.pbox[i],g=g^m.pbox[i+1],{left:g,right:b}}function d(m,h,A){let g=h,b=A,y;for(let x=i+1;x>1;--x)g=g^m.pbox[x],b=u(m,g)^b,y=g,g=b,b=y;return y=g,g=b,b=y,b=b^m.pbox[1],g=g^m.pbox[0],{left:g,right:b}}function f(m,h,A){for(let v=0;v<4;v++){m.sbox[v]=[];for(let C=0;C<256;C++)m.sbox[v][C]=o[v][C]}let g=0;for(let v=0;v<i+2;v++)m.pbox[v]=a[v]^h[g],g++,g>=A&&(g=0);let b=0,y=0,x=0;for(let v=0;v<i+2;v+=2)x=l(m,b,y),b=x.left,y=x.right,m.pbox[v]=b,m.pbox[v+1]=y;for(let v=0;v<4;v++)for(let C=0;C<256;C+=2)x=l(m,b,y),b=x.left,y=x.right,m.sbox[v][C]=b,m.sbox[v][C+1]=y;return!0}var p=s.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var m=this._keyPriorReset=this._key,h=m.words,A=m.sigBytes/4;f(c,h,A)}},encryptBlock:function(m,h){var A=l(c,m[h],m[h+1]);m[h]=A.left,m[h+1]=A.right},decryptBlock:function(m,h){var A=d(c,m[h],m[h+1]);m[h]=A.left,m[h+1]=A.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=n._createHelper(p)}(),t.Blowfish})});var Jn=E((lk,hke)=>{(function(t,e,r){typeof lk=="object"?hke.exports=lk=e(pr(),Iv(),fDe(),mDe(),f0(),ADe(),p0(),DQ(),BD(),_De(),kQ(),CDe(),TDe(),RDe(),jD(),PDe(),Vd(),Ns(),BDe(),WDe(),FDe(),qDe(),HDe(),GDe(),zDe(),YDe(),XDe(),eke(),rke(),ske(),ake(),cke(),lke(),fke(),mke()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],e):t.CryptoJS=e(t.CryptoJS)})(lk,function(t){return t})});var Rv=E(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.getOptions=ir.setOptions=ir.hasOwnProp=ir.formatDate=ir.camelify=ir.splitByCommaWithPreservingQuotes=ir.trim=ir.splitAt=ir.tryCatch=ir.byteSequenceToHex=ir.hexToByteSequence=ir.toNumber=ir.INVALIDPLAYLIST=ir.CONDITIONALPARAMCHECK=ir.PARAMCHECK=ir.CONDITIONALASSERT=ir.ASSERT=ir.THROW=void 0;var wv={};function Nh(t){if(!wv.strictMode){wv.silent||console.error(t.message);return}throw t}ir.THROW=Nh;function fJt(t,...e){for(let[r,n]of e.entries())n||Nh(new Error(`${t} : Failed at [${r}]`))}ir.ASSERT=fJt;function pJt(...t){for(let[e,[r,n]]of t.entries())r&&(n||Nh(new Error(`Conditional Assert : Failed at [${e}]`)))}ir.CONDITIONALASSERT=pJt;function mJt(...t){for(let[e,r]of t.entries())r===void 0&&Nh(new Error(`Param Check : Failed at [${e}]`))}ir.PARAMCHECK=mJt;function hJt(...t){for(let[e,[r,n]]of t.entries())r&&n===void 0&&Nh(new Error(`Conditional Param Check : Failed at [${e}]`))}ir.CONDITIONALPARAMCHECK=hJt;function gJt(t){Nh(new Error(`Invalid Playlist : ${t}`))}ir.INVALIDPLAYLIST=gJt;function xke(t,e=10){if(typeof t=="number")return t;let r=e===10?Number.parseFloat(t):Number.parseInt(t,e);return Number.isNaN(r)?0:r}ir.toNumber=xke;function AJt(t){(t.startsWith("0x")||t.startsWith("0X"))&&(t=t.slice(2));let e=[];for(let r=0;r<t.length;r+=2)e.push(xke(t.slice(r,r+2),16));return Buffer.from(e)}ir.hexToByteSequence=AJt;function yJt(t,e=0,r=t.length){r<=e&&Nh(new Error(`end must be larger than start : start=${e}, end=${r}`));let n=[];for(let s=e;s<r;s++)n.push(`0${(t[s]&255).toString(16).toUpperCase()}`.slice(-2));return`0x${n.join("")}`}ir.byteSequenceToHex=yJt;function xJt(t,e){try{return t()}catch(r){return e(r)}}ir.tryCatch=xJt;function bJt(t,e,r=0){let n=-1;for(let s=0,i=0;s<t.length;s++)if(t[s]===e){if(i++===r)return[t.slice(0,s),t.slice(s+1)];n=s}return n!==-1?[t.slice(0,n),t.slice(n+1)]:[t]}ir.splitAt=bJt;function EJt(t,e=" "){return!t||(t=t.trim(),e===" ")||(t.startsWith(e)&&(t=t.slice(1)),t.endsWith(e)&&(t=t.slice(0,-1))),t}ir.trim=EJt;function _Jt(t){let e=[],r=!0,n=0,s=[];for(let i=0;i<t.length;i++){let a=t[i];if(r&&a===","){e.push(t.slice(n,i).trim()),n=i+1;continue}(a==='"'||a==="'")&&(r?(s.push(a),r=!1):a===s.at(-1)?(s.pop(),r=!0):s.push(a))}return e.push(t.slice(n).trim()),e}ir.splitByCommaWithPreservingQuotes=_Jt;function SJt(t){let e=[],r=!1;for(let n of t){if(n==="-"||n==="_"){r=!0;continue}if(r){e.push(n.toUpperCase()),r=!1;continue}e.push(n.toLowerCase())}return e.join("")}ir.camelify=SJt;function vJt(t){let e=t.getUTCFullYear(),r=("0"+(t.getUTCMonth()+1)).slice(-2),n=("0"+t.getUTCDate()).slice(-2),s=("0"+t.getUTCHours()).slice(-2),i=("0"+t.getUTCMinutes()).slice(-2),a=("0"+t.getUTCSeconds()).slice(-2),o=("00"+t.getUTCMilliseconds()).slice(-3);return`${e}-${r}-${n}T${s}:${i}:${a}.${o}Z`}ir.formatDate=vJt;function CJt(t,e){return Object.hasOwnProperty.call(t,e)}ir.hasOwnProp=CJt;function IJt(t={}){wv=Object.assign(wv,t)}ir.setOptions=IJt;function TJt(){return Object.assign({},wv)}ir.getOptions=TJt});var KQ=E(mr=>{"use strict";var wJt=mr&&mr.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),RJt=mr&&mr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),NJt=mr&&mr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&wJt(e,t,r);return RJt(e,t),e};Object.defineProperty(mr,"__esModule",{value:!0});mr.RenditionReport=mr.PrefetchSegment=mr.PartialSegment=mr.Segment=mr.MediaPlaylist=mr.MasterPlaylist=mr.Playlist=mr.SpliceInfo=mr.DateRange=mr.MediaInitializationSection=mr.Key=mr.SessionData=mr.Variant=mr.Rendition=void 0;var Es=NJt(Rv()),BQ=class{constructor({type:e,uri:r,groupId:n,language:s,assocLanguage:i,name:a,isDefault:o,autoselect:c,forced:u,instreamId:l,characteristics:d,channels:f}){Es.PARAMCHECK(e,n,a),Es.CONDITIONALASSERT([e==="SUBTITLES",r],[e==="CLOSED-CAPTIONS",l],[e==="CLOSED-CAPTIONS",!r],[u,e==="SUBTITLES"]),this.type=e,this.uri=r,this.groupId=n,this.language=s,this.assocLanguage=i,this.name=a,this.isDefault=o,this.autoselect=c,this.forced=u,this.instreamId=l,this.characteristics=d,this.channels=f}};mr.Rendition=BQ;var MQ=class{constructor({uri:e,isIFrameOnly:r=!1,bandwidth:n,averageBandwidth:s,score:i,codecs:a,resolution:o,frameRate:c,hdcpLevel:u,allowedCpc:l,videoRange:d,stableVariantId:f,programId:p,audio:m=[],video:h=[],subtitles:A=[],closedCaptions:g=[],currentRenditions:b={audio:0,video:0,subtitles:0,closedCaptions:0}}){Es.PARAMCHECK(e,n),this.uri=e,this.isIFrameOnly=r,this.bandwidth=n,this.averageBandwidth=s,this.score=i,this.codecs=a,this.resolution=o,this.frameRate=c,this.hdcpLevel=u,this.allowedCpc=l,this.videoRange=d,this.stableVariantId=f,this.programId=p,this.audio=m,this.video=h,this.subtitles=A,this.closedCaptions=g,this.currentRenditions=b}};mr.Variant=MQ;var WQ=class{constructor({id:e,value:r,uri:n,language:s}){Es.PARAMCHECK(e,r||n),Es.ASSERT("SessionData cannot have both value and uri, shoud be either.",!(r&&n)),this.id=e,this.value=r,this.uri=n,this.language=s}};mr.SessionData=WQ;var $Q=class{constructor({method:e,uri:r,iv:n,format:s,formatVersion:i}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([e!=="NONE",r]),Es.CONDITIONALASSERT([e==="NONE",!(r||n||s||i)]),this.method=e,this.uri=r,this.iv=n,this.format=s,this.formatVersion=i}};mr.Key=$Q;var FQ=class{constructor({hint:e=!1,uri:r,mimeType:n,byterange:s}){Es.PARAMCHECK(r),this.hint=e,this.uri=r,this.mimeType=n,this.byterange=s}};mr.MediaInitializationSection=FQ;var UQ=class{constructor({id:e,classId:r,start:n,end:s,duration:i,plannedDuration:a,endOnNext:o,attributes:c={}}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([o===!0,r]),Es.CONDITIONALASSERT([s,n],[s,n<=s],[i,i>=0],[a,a>=0]),this.id=e,this.classId=r,this.start=n,this.end=s,this.duration=i,this.plannedDuration=a,this.endOnNext=o,this.attributes=c}};mr.DateRange=UQ;var qQ=class{constructor({type:e,duration:r,tagName:n,value:s}){Es.PARAMCHECK(e),Es.CONDITIONALPARAMCHECK([e==="OUT",r]),Es.CONDITIONALPARAMCHECK([e==="RAW",n]),this.type=e,this.duration=r,this.tagName=n,this.value=s}};mr.SpliceInfo=qQ;var $x=class{constructor(e){Es.PARAMCHECK(e),this.type=e}},Nv=class extends $x{constructor({isMasterPlaylist:e,uri:r,version:n,independentSegments:s=!1,start:i,source:a}){super("playlist"),Es.PARAMCHECK(e),this.isMasterPlaylist=e,this.uri=r,this.version=n,this.independentSegments=s,this.start=i,this.source=a}};mr.Playlist=Nv;var jQ=class extends Nv{constructor(e={}){super({...e,isMasterPlaylist:!0});let{variants:r=[],currentVariant:n,sessionDataList:s=[],sessionKeyList:i=[]}=e;this.variants=r,this.currentVariant=n,this.sessionDataList=s,this.sessionKeyList=i}};mr.MasterPlaylist=jQ;var HQ=class extends Nv{constructor(e={}){super({...e,isMasterPlaylist:!1});let{targetDuration:r,mediaSequenceBase:n=0,discontinuitySequenceBase:s=0,endlist:i=!1,playlistType:a,isIFrame:o,segments:c=[],prefetchSegments:u=[],lowLatencyCompatibility:l,partTargetDuration:d,renditionReports:f=[],skip:p=0,hash:m}=e;this.targetDuration=r,this.mediaSequenceBase=n,this.discontinuitySequenceBase=s,this.endlist=i,this.playlistType=a,this.isIFrame=o,this.segments=c,this.prefetchSegments=u,this.lowLatencyCompatibility=l,this.partTargetDuration=d,this.renditionReports=f,this.skip=p,this.hash=m}};mr.MediaPlaylist=HQ;var QQ=class extends $x{constructor({uri:e,mimeType:r,data:n,duration:s,title:i,byterange:a,discontinuity:o,mediaSequenceNumber:c=0,discontinuitySequence:u=0,key:l,map:d,programDateTime:f,dateRange:p,markers:m=[],parts:h=[]}){super("segment"),this.uri=e,this.mimeType=r,this.data=n,this.duration=s,this.title=i,this.byterange=a,this.discontinuity=o,this.mediaSequenceNumber=c,this.discontinuitySequence=u,this.key=l,this.map=d,this.programDateTime=f,this.dateRange=p,this.markers=m,this.parts=h}};mr.Segment=QQ;var GQ=class extends $x{constructor({hint:e=!1,uri:r,duration:n,independent:s,byterange:i,gap:a}){super("part"),Es.PARAMCHECK(r),this.hint=e,this.uri=r,this.duration=n,this.independent=s,this.duration=n,this.byterange=i,this.gap=a}};mr.PartialSegment=GQ;var VQ=class extends $x{constructor({uri:e,discontinuity:r,mediaSequenceNumber:n=0,discontinuitySequence:s=0,key:i}){super("prefetch"),Es.PARAMCHECK(e),this.uri=e,this.discontinuity=r,this.mediaSequenceNumber=n,this.discontinuitySequence=s,this.key=i}};mr.PrefetchSegment=VQ;var zQ=class{constructor({uri:e,lastMSN:r,lastPart:n}){Es.PARAMCHECK(e),this.uri=e,this.lastMSN=r,this.lastPart=n}};mr.RenditionReport=zQ});var Tke=E(zd=>{"use strict";var OJt=zd&&zd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),PJt=zd&&zd.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),DJt=zd&&zd.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&OJt(e,t,r);return PJt(e,t),e};Object.defineProperty(zd,"__esModule",{value:!0});var We=DJt(Rv()),ei=KQ();function Cke(t){return We.trim(t,'"')}function kJt(t){switch(t){case"EXTM3U":case"EXT-X-VERSION":return"Basic";case"EXTINF":case"EXT-X-BYTERANGE":case"EXT-X-DISCONTINUITY":case"EXT-X-PREFETCH-DISCONTINUITY":case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-PROGRAM-DATE-TIME":case"EXT-X-DATERANGE":case"EXT-X-CUE-OUT":case"EXT-X-CUE-IN":case"EXT-X-CUE-OUT-CONT":case"EXT-X-CUE":case"EXT-OATCLS-SCTE35":case"EXT-X-ASSET":case"EXT-X-SCTE35":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":return"Segment";case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":case"EXT-X-ENDLIST":case"EXT-X-PLAYLIST-TYPE":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PREFETCH":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return"MediaPlaylist";case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":return"MasterPlaylist";case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-START":return"MediaorMasterPlaylist";default:return"Unknown"}}function LJt(t){let e=We.splitAt(t,",");return{duration:We.toNumber(e[0]),title:decodeURIComponent(escape(e[1]))}}function Ike(t){let e=We.splitAt(t,"@");return{length:We.toNumber(e[0]),offset:e[1]?We.toNumber(e[1]):-1}}function BJt(t){let e=We.splitAt(t,"x");return{width:We.toNumber(e[0]),height:We.toNumber(e[1])}}function MJt(t){let e="ALLOWED-CPC: Each entry must consit of KEYFORMAT and Content Protection Configuration",r=t.split(",");r.length===0&&We.INVALIDPLAYLIST(e);let n=[];for(let s of r){let[i,a]=We.splitAt(s,":");if(!i||!a){We.INVALIDPLAYLIST(e);continue}n.push({format:i,cpcList:a.split("/")})}return n}function WJt(t){let e=We.hexToByteSequence(t);return e.length!==16&&We.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),e}function $Jt(t){return t.startsWith('"')?Cke(t):t.startsWith("0x")||t.startsWith("0X")?We.hexToByteSequence(t):We.toNumber(t)}function YQ(t,e){e.IV&&t.compatibleVersion<2&&(t.compatibleVersion=2),(e.KEYFORMAT||e.KEYFORMATVERSIONS)&&t.compatibleVersion<5&&(t.compatibleVersion=5)}function bke(t){let e={};for(let r of We.splitByCommaWithPreservingQuotes(t)){let[n,s]=We.splitAt(r,"="),i=Cke(s);switch(n){case"URI":e[n]=i;break;case"START-DATE":case"END-DATE":e[n]=new Date(i);break;case"IV":e[n]=WJt(i);break;case"BYTERANGE":e[n]=Ike(i);break;case"RESOLUTION":e[n]=BJt(i);break;case"ALLOWED-CPC":e[n]=MJt(i);break;case"END-ON-NEXT":case"DEFAULT":case"AUTOSELECT":case"FORCED":case"PRECISE":case"CAN-BLOCK-RELOAD":case"INDEPENDENT":case"GAP":e[n]=i==="YES";break;case"DURATION":case"PLANNED-DURATION":case"BANDWIDTH":case"AVERAGE-BANDWIDTH":case"FRAME-RATE":case"TIME-OFFSET":case"CAN-SKIP-UNTIL":case"HOLD-BACK":case"PART-HOLD-BACK":case"PART-TARGET":case"BYTERANGE-START":case"BYTERANGE-LENGTH":case"LAST-MSN":case"LAST-PART":case"SKIPPED-SEGMENTS":case"SCORE":case"PROGRAM-ID":e[n]=We.toNumber(i);break;default:n.startsWith("SCTE35-")?e[n]=We.hexToByteSequence(i):n.startsWith("X-")?e[n]=$Jt(s):(n==="VIDEO-RANGE"&&i!=="SDR"&&i!=="HLG"&&i!=="PQ"&&We.INVALIDPLAYLIST(`VIDEO-RANGE: unknown value "${i}"`),e[n]=i)}}return e}function FJt(t,e){switch(t){case"EXTM3U":case"EXT-X-DISCONTINUITY":case"EXT-X-ENDLIST":case"EXT-X-I-FRAMES-ONLY":case"EXT-X-INDEPENDENT-SEGMENTS":case"EXT-X-CUE-IN":return[null,null];case"EXT-X-VERSION":case"EXT-X-TARGETDURATION":case"EXT-X-MEDIA-SEQUENCE":case"EXT-X-DISCONTINUITY-SEQUENCE":return[We.toNumber(e),null];case"EXT-X-CUE-OUT":return Number.isNaN(Number(e))?[null,bke(e)]:[We.toNumber(e),null];case"EXT-X-KEY":case"EXT-X-MAP":case"EXT-X-DATERANGE":case"EXT-X-MEDIA":case"EXT-X-STREAM-INF":case"EXT-X-I-FRAME-STREAM-INF":case"EXT-X-SESSION-DATA":case"EXT-X-SESSION-KEY":case"EXT-X-START":case"EXT-X-SERVER-CONTROL":case"EXT-X-PART-INF":case"EXT-X-PART":case"EXT-X-PRELOAD-HINT":case"EXT-X-RENDITION-REPORT":case"EXT-X-SKIP":return[null,bke(e)];case"EXTINF":return[LJt(e),null];case"EXT-X-BYTERANGE":return[Ike(e),null];case"EXT-X-PROGRAM-DATE-TIME":return[new Date(e),null];case"EXT-X-PLAYLIST-TYPE":return[e,null];default:return[e,null]}}function Eke(){We.INVALIDPLAYLIST("The file contains both media and master playlist tags.")}function UJt(t){let e=t.indexOf(":");return e===-1?[t.slice(1).trim(),null]:[t.slice(1,e).trim(),t.slice(e+1).trim()]}function qJt({attributes:t}){return new ei.Rendition({type:t.TYPE,uri:t.URI,groupId:t["GROUP-ID"],language:t.LANGUAGE,assocLanguage:t["ASSOC-LANGUAGE"],name:t.NAME,isDefault:t.DEFAULT,autoselect:t.AUTOSELECT,forced:t.FORCED,instreamId:t["INSTREAM-ID"],characteristics:t.CHARACTERISTICS,channels:t.CHANNELS})}function jJt(t,e){let r=!1;for(let n of t){if(n.name===e.name)return"All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.";n.isDefault&&(r=!0)}return r&&e.isDefault?"EXT-X-MEDIA A Group MUST NOT have more than one member with a DEFAULT attribute of YES.":""}function HJt(t,e,r){let n=qJt(e),s=t[We.camelify(r)],i=jJt(s,n);i&&We.INVALIDPLAYLIST(i),s.push(n),n.isDefault&&(t.currentRenditions[We.camelify(r)]=s.length-1)}function QJt(t,e,r){for(let n of["AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS"])n==="CLOSED-CAPTIONS"&&t[n]==="NONE"?(r.isClosedCaptionsNone=!0,e.closedCaptions=[]):t[n]&&!e[We.camelify(n)].some(s=>s.groupId===t[n])&&We.INVALIDPLAYLIST(`${n} attribute MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag whose TYPE attribute is ${n}.`)}function _ke(t,e,r,n,s){let i=new ei.Variant({uri:r,bandwidth:e.BANDWIDTH,averageBandwidth:e["AVERAGE-BANDWIDTH"],score:e.SCORE,codecs:e.CODECS,resolution:e.RESOLUTION,frameRate:e["FRAME-RATE"],hdcpLevel:e["HDCP-LEVEL"],allowedCpc:e["ALLOWED-CPC"],videoRange:e["VIDEO-RANGE"],stableVariantId:e["STABLE-VARIANT-ID"],programId:e["PROGRAM-ID"]});for(let a of t)if(a.name==="EXT-X-MEDIA"){let o=a.attributes,c=o.TYPE;if((!c||!o["GROUP-ID"])&&We.INVALIDPLAYLIST("EXT-X-MEDIA TYPE attribute is REQUIRED."),e[c]===o["GROUP-ID"]&&(HJt(i,a,c),c==="CLOSED-CAPTIONS")){for(let{instreamId:u}of i.closedCaptions)if(u&&u.startsWith("SERVICE")&&s.compatibleVersion<7){s.compatibleVersion=7;break}}}return QJt(e,i,s),i.isIFrameOnly=n,i}function GJt(t,e){if(t.method!==e.method||t.uri!==e.uri)return!1;if(t.iv){if(!e.iv||t.iv.length!==e.iv.length)return!1;for(let r=0;r<t.iv.length;r++)if(t.iv[r]!==e.iv[r])return!1}else if(e.iv)return!1;return!(t.format!==e.format||t.formatVersion!==e.formatVersion)}function VJt(t,e){let r=new ei.MasterPlaylist,n=!1;for(let[s,{name:i,value:a,attributes:o}]of t.entries())if(i==="EXT-X-VERSION")r.version=a;else if(i==="EXT-X-STREAM-INF"){let c=t[s+1];(typeof c!="string"||c.startsWith("#EXT"))&&We.INVALIDPLAYLIST("EXT-X-STREAM-INF must be followed by a URI line");let u=_ke(t,o,c,!1,e);u&&(typeof u.score=="number"&&(n=!0,u.score<0&&We.INVALIDPLAYLIST("SCORE attribute on EXT-X-STREAM-INF must be positive decimal-floating-point number.")),r.variants.push(u))}else if(i==="EXT-X-I-FRAME-STREAM-INF"){let c=_ke(t,o,o.URI,!0,e);c&&r.variants.push(c)}else if(i==="EXT-X-SESSION-DATA"){let c=new ei.SessionData({id:o["DATA-ID"],value:o.VALUE,uri:o.URI,language:o.LANGUAGE});r.sessionDataList.some(u=>u.id===c.id&&u.language===c.language)&&We.INVALIDPLAYLIST("A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute."),r.sessionDataList.push(c)}else if(i==="EXT-X-SESSION-KEY"){o.METHOD==="NONE"&&We.INVALIDPLAYLIST("EXT-X-SESSION-KEY: The value of the METHOD attribute MUST NOT be NONE");let c=new ei.Key({method:o.METHOD,uri:o.URI,iv:o.IV,format:o.KEYFORMAT,formatVersion:o.KEYFORMATVERSIONS});r.sessionKeyList.some(u=>GJt(u,c))&&We.INVALIDPLAYLIST("A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values."),YQ(e,o),r.sessionKeyList.push(c)}else i==="EXT-X-INDEPENDENT-SEGMENTS"?(r.independentSegments&&We.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),r.independentSegments=!0):i==="EXT-X-START"&&(r.start&&We.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof o["TIME-OFFSET"]!="number"&&We.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),r.start={offset:o["TIME-OFFSET"],precise:o.PRECISE||!1});if(n)for(let s of r.variants)typeof s.score!="number"&&We.INVALIDPLAYLIST("If any Variant Stream contains the SCORE attribute, then all Variant Streams in the Master Playlist SHOULD have a SCORE attribute");if(e.isClosedCaptionsNone)for(let s of r.variants)s.closedCaptions.length>0&&We.INVALIDPLAYLIST("If there is a variant with CLOSED-CAPTIONS attribute of NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE");return r}function Ske(t,e,r,n,s,i,a){let o=new ei.Segment({uri:e,mediaSequenceNumber:s,discontinuitySequence:i}),c=!1,u=!1;for(let l=r;l<=n;l++){let{name:d,value:f,attributes:p}=t[l];if(d==="EXTINF")!Number.isInteger(f.duration)&&a.compatibleVersion<3&&(a.compatibleVersion=3),Math.round(f.duration)>a.targetDuration&&We.INVALIDPLAYLIST("EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration"),o.duration=f.duration,o.title=f.title;else if(d==="EXT-X-BYTERANGE")a.compatibleVersion<4&&(a.compatibleVersion=4),o.byterange=f;else if(d==="EXT-X-DISCONTINUITY")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-DISCONTINUITY must appear before the first EXT-X-PART tag of the Parent Segment."),o.discontinuity=!0;else if(d==="EXT-X-KEY")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-KEY must appear before the first EXT-X-PART tag of the Parent Segment."),YQ(a,p),o.key=new ei.Key({method:p.METHOD,uri:p.URI,iv:p.IV,format:p.KEYFORMAT,formatVersion:p.KEYFORMATVERSIONS});else if(d==="EXT-X-MAP")o.parts.length>0&&We.INVALIDPLAYLIST("EXT-X-MAP must appear before the first EXT-X-PART tag of the Parent Segment."),a.compatibleVersion<5&&(a.compatibleVersion=5),a.hasMap=!0,o.map=new ei.MediaInitializationSection({uri:p.URI,byterange:p.BYTERANGE});else if(d==="EXT-X-PROGRAM-DATE-TIME")o.programDateTime=f;else if(d==="EXT-X-DATERANGE"){let m={};for(let h of Object.keys(p))(h.startsWith("SCTE35-")||h.startsWith("X-"))&&(m[h]=p[h]);o.dateRange=new ei.DateRange({id:p.ID,classId:p.CLASS,start:p["START-DATE"],end:p["END-DATE"],duration:p.DURATION,plannedDuration:p["PLANNED-DURATION"],endOnNext:p["END-ON-NEXT"],attributes:m})}else if(d==="EXT-X-CUE-OUT")o.markers.push(new ei.SpliceInfo({type:"OUT",duration:p&&p.DURATION||f}));else if(d==="EXT-X-CUE-IN")o.markers.push(new ei.SpliceInfo({type:"IN"}));else if(d==="EXT-X-CUE-OUT-CONT"||d==="EXT-X-CUE"||d==="EXT-OATCLS-SCTE35"||d==="EXT-X-ASSET"||d==="EXT-X-SCTE35")o.markers.push(new ei.SpliceInfo({type:"RAW",tagName:d,value:f}));else if(d==="EXT-X-PRELOAD-HINT"&&!p.TYPE)We.INVALIDPLAYLIST("EXT-X-PRELOAD-HINT: TYPE attribute is mandatory");else if(d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="PART"&&u)We.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist.");else if((d==="EXT-X-PART"||d==="EXT-X-PRELOAD-HINT")&&!p.URI)We.INVALIDPLAYLIST("EXT-X-PART / EXT-X-PRELOAD-HINT: URI attribute is mandatory");else if(d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="MAP")c&&We.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist."),c=!0,a.hasMap=!0,o.map=new ei.MediaInitializationSection({hint:!0,uri:p.URI,byterange:{length:p["BYTERANGE-LENGTH"],offset:p["BYTERANGE-START"]||0}});else if(d==="EXT-X-PART"||d==="EXT-X-PRELOAD-HINT"&&p.TYPE==="PART"){d==="EXT-X-PART"&&!p.DURATION&&We.INVALIDPLAYLIST("EXT-X-PART: DURATION attribute is mandatory"),d==="EXT-X-PRELOAD-HINT"&&(u=!0);let m=new ei.PartialSegment({hint:d==="EXT-X-PRELOAD-HINT",uri:p.URI,byterange:d==="EXT-X-PART"?p.BYTERANGE:{length:p["BYTERANGE-LENGTH"],offset:p["BYTERANGE-START"]||0},duration:p.DURATION,independent:p.INDEPENDENT,gap:p.GAP});o.parts.push(m)}}return o}function zJt(t,e,r,n,s,i,a){let o=new ei.PrefetchSegment({uri:e,mediaSequenceNumber:s,discontinuitySequence:i});for(let c=r;c<=n;c++){let{name:u,attributes:l}=t[c];u==="EXTINF"?We.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXTINF tag."):u==="EXT-X-DISCONTINUITY"?We.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXT-X-DISCONTINUITY tag."):u==="EXT-X-PREFETCH-DISCONTINUITY"?o.discontinuity=!0:u==="EXT-X-KEY"?(YQ(a,l),o.key=new ei.Key({method:l.METHOD,uri:l.URI,iv:l.IV,format:l.KEYFORMAT,formatVersion:l.KEYFORMATVERSIONS})):u==="EXT-X-MAP"&&We.INVALIDPLAYLIST("Prefetch segments must not be advertised with an EXT-X-MAP tag.")}return o}function KJt(t,e){let r=new ei.MediaPlaylist,n=-1,s=0,i=!1,a=!1,o=0,c=null,u=null,l=!1;for(let[d,f]of t.entries()){let{name:p,value:m,attributes:h,category:A}=f;if(A==="Segment"){n===-1&&(n=d),p==="EXT-X-DISCONTINUITY"&&(i=!0);continue}if(p==="EXT-X-VERSION")r.version===void 0?r.version=m:We.INVALIDPLAYLIST("A Playlist file MUST NOT contain more than one EXT-X-VERSION tag.");else if(p==="EXT-X-TARGETDURATION")r.targetDuration=e.targetDuration=m;else if(p==="EXT-X-MEDIA-SEQUENCE")r.segments.length>0&&We.INVALIDPLAYLIST("The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),r.mediaSequenceBase=s=m;else if(p==="EXT-X-DISCONTINUITY-SEQUENCE")r.segments.length>0&&We.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."),i&&We.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before any EXT-X-DISCONTINUITY tag."),r.discontinuitySequenceBase=o=m;else if(p==="EXT-X-ENDLIST")r.endlist=!0;else if(p==="EXT-X-PLAYLIST-TYPE")r.playlistType=m;else if(p==="EXT-X-I-FRAMES-ONLY")e.compatibleVersion<4&&(e.compatibleVersion=4),r.isIFrame=!0;else if(p==="EXT-X-INDEPENDENT-SEGMENTS")r.independentSegments&&We.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"),r.independentSegments=!0;else if(p==="EXT-X-START")r.start&&We.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"),typeof h["TIME-OFFSET"]!="number"&&We.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"),r.start={offset:h["TIME-OFFSET"],precise:h.PRECISE||!1};else if(p==="EXT-X-SERVER-CONTROL")h["CAN-BLOCK-RELOAD"]||We.INVALIDPLAYLIST("EXT-X-SERVER-CONTROL: CAN-BLOCK-RELOAD=YES is mandatory for Low-Latency HLS"),r.lowLatencyCompatibility={canBlockReload:h["CAN-BLOCK-RELOAD"],canSkipUntil:h["CAN-SKIP-UNTIL"],holdBack:h["HOLD-BACK"],partHoldBack:h["PART-HOLD-BACK"]};else if(p==="EXT-X-PART-INF")h["PART-TARGET"]||We.INVALIDPLAYLIST("EXT-X-PART-INF: PART-TARGET attribute is mandatory"),r.partTargetDuration=h["PART-TARGET"];else if(p==="EXT-X-RENDITION-REPORT")h.URI||We.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI attribute is mandatory"),h.URI.search(/^[a-z]+:/)===0&&We.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI must be relative to the playlist uri"),r.renditionReports.push(new ei.RenditionReport({uri:h.URI,lastMSN:h["LAST-MSN"],lastPart:h["LAST-PART"]}));else if(p==="EXT-X-SKIP")h["SKIPPED-SEGMENTS"]||We.INVALIDPLAYLIST("EXT-X-SKIP: SKIPPED-SEGMENTS attribute is mandatory"),e.compatibleVersion<9&&(e.compatibleVersion=9),r.skip=h["SKIPPED-SEGMENTS"],s+=r.skip;else if(p==="EXT-X-PREFETCH"){let g=zJt(t,m,n===-1?d:n,d-1,s++,o,e);g&&(g.discontinuity&&(g.discontinuitySequence++,o=g.discontinuitySequence),g.key?c=g.key:g.key=c,r.prefetchSegments.push(g)),a=!0,n=-1}else if(typeof f=="string"){n===-1&&We.INVALIDPLAYLIST("A URI line is not preceded by any segment tags"),r.targetDuration||We.INVALIDPLAYLIST("The EXT-X-TARGETDURATION tag is REQUIRED"),a&&We.INVALIDPLAYLIST("These segments must appear after all complete segments.");let g=Ske(t,f,n,d-1,s++,o,e);g&&([o,c,u]=vke(r,g,o,c,u),!l&&g.parts.length>0&&(l=!0)),n=-1}}if(n!==-1){let d=Ske(t,"",n,t.length-1,s++,o,e);if(d){let{parts:f}=d;f.length>0&&!r.endlist&&!f.at(-1)?.hint&&We.INVALIDPLAYLIST("If the Playlist contains EXT-X-PART tags and does not contain an EXT-X-ENDLIST tag, the Playlist must contain an EXT-X-PRELOAD-HINT tag with a TYPE=PART attribute"),vke(r,d,c,u),!l&&d.parts.length>0&&(l=!0)}}return YJt(r.segments),r.lowLatencyCompatibility&&JJt(r,l),r}function vke(t,e,r,n,s){let{discontinuity:i,key:a,map:o,byterange:c,uri:u}=e;if(i&&(e.discontinuitySequence=r+1),a||(e.key=n),o||(e.map=s),c&&c.offset===-1){let{segments:l}=t;if(l.length>0){let d=l.at(-1);d.byterange&&d.uri===u?c.offset=d.byterange.offset+d.byterange.length:We.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST be a sub-range of the same media resource")}else We.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST appear in the Playlist file")}return t.segments.push(e),[e.discontinuitySequence,e.key,e.map]}function YJt(t){let e=new Map,r=new Map,n=!1,s=!1;for(let i=t.length-1;i>=0;i--){let{programDateTime:a,dateRange:o}=t[i];if(a&&(s=!0),o&&o.start){n=!0,o.endOnNext&&(o.end||o.duration)&&We.INVALIDPLAYLIST("An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.");let c=o.start.getTime(),u=o.duration||0;o.end&&o.duration&&c+u*1e3!==o.end.getTime()&&We.INVALIDPLAYLIST("END-DATE MUST be equal to the value of the START-DATE attribute plus the value of the DURATION"),o.endOnNext&&(o.end=e.get(o.classId)),e.set(o.classId,o.start);let l=o.end?o.end.getTime():o.start.getTime()+(o.duration||0)*1e3,d=r.get(o.classId);if(d){for(let f of d)(f.start<=c&&f.end>c||f.start>=c&&f.start<l)&&We.INVALIDPLAYLIST("DATERANGE tags with the same CLASS should not overlap");d.push({start:c,end:l})}else o.classId&&r.set(o.classId,[{start:c,end:l}])}}n&&!s&&We.INVALIDPLAYLIST("If a Playlist contains an EXT-X-DATERANGE tag, it MUST also contain at least one EXT-X-PROGRAM-DATE-TIME tag.")}function JJt({lowLatencyCompatibility:t,targetDuration:e,partTargetDuration:r,segments:n,renditionReports:s},i){let{canSkipUntil:a,holdBack:o,partHoldBack:c}=t;if(a<e*6&&We.INVALIDPLAYLIST("The Skip Boundary must be at least six times the EXT-X-TARGETDURATION."),o<e*3&&We.INVALIDPLAYLIST("HOLD-BACK must be at least three times the EXT-X-TARGETDURATION."),i){r===void 0&&We.INVALIDPLAYLIST("EXT-X-PART-INF is required if a Playlist contains one or more EXT-X-PART tags"),c===void 0&&We.INVALIDPLAYLIST("EXT-X-PART: PART-HOLD-BACK attribute is mandatory"),c<r&&We.INVALIDPLAYLIST("PART-HOLD-BACK must be at least PART-TARGET");for(let[u,{parts:l}]of n.entries()){l.length>0&&u<n.length-3&&We.INVALIDPLAYLIST("Remove EXT-X-PART tags from the Playlist after they are greater than three target durations from the end of the Playlist.");for(let[d,{duration:f}]of l.entries())f!==void 0&&(f>r&&We.INVALIDPLAYLIST("PART-TARGET is the maximum duration of any Partial Segment"),d<l.length-1&&f<r*.85&&We.INVALIDPLAYLIST("All Partial Segments except the last part of a segment must have a duration of at least 85% of PART-TARGET"))}}for(let u of s){let l=n.at(-1);(u.lastMSN===null||u.lastMSN===void 0)&&(u.lastMSN=l.mediaSequenceNumber),(u.lastPart===null||u.lastPart===void 0)&&l.parts.length>0&&(u.lastPart=l.parts.length-1)}}function XJt(t,e){if(t==="Segment"||t==="MediaPlaylist"){if(e.isMasterPlaylist===void 0){e.isMasterPlaylist=!1;return}e.isMasterPlaylist&&Eke();return}if(t==="MasterPlaylist"){if(e.isMasterPlaylist===void 0){e.isMasterPlaylist=!0;return}e.isMasterPlaylist===!1&&Eke()}}function ZJt(t,e){let[r,n]=UJt(t),s=kJt(r);if(XJt(s,e),s==="Unknown")return null;s==="MediaPlaylist"&&r!=="EXT-X-RENDITION-REPORT"&&r!=="EXT-X-PREFETCH"&&(e.hash[r]&&We.INVALIDPLAYLIST("There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist"),e.hash[r]=!0);let[i,a]=FJt(r,n);return{name:r,category:s,value:i,attributes:a}}function eXt(t,e){let r=[];for(let n of t.split(`
|
|
`)){let s=Buffer.from(n.trim()).toString();if(s){if(s.startsWith("#")){if(s.startsWith("#EXT")){let i=ZJt(s,e);i&&r.push(i)}continue}r.push(s)}}return(r.length===0||r[0].name!=="EXTM3U")&&We.INVALIDPLAYLIST("The EXTM3U tag MUST be the first line."),r}function tXt(t,e){let r;return e.isMasterPlaylist?r=VJt(t,e):(r=KJt(t,e),!r.isIFrame&&e.hasMap&&e.compatibleVersion<6&&(e.compatibleVersion=6)),e.compatibleVersion>1&&(!r.version||r.version<e.compatibleVersion)&&We.INVALIDPLAYLIST(`EXT-X-VERSION needs to be ${e.compatibleVersion} or higher.`),r}function rXt(t){let e={version:void 0,isMasterPlaylist:void 0,hasMap:!1,targetDuration:0,compatibleVersion:1,isClosedCaptionsNone:!1,hash:{}},r=eXt(t,e),n=tXt(r,e);return n.source=t,n}zd.default=rXt});var Rke=E(Kd=>{"use strict";var nXt=Kd&&Kd.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),sXt=Kd&&Kd.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),iXt=Kd&&Kd.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&nXt(e,t,r);return sXt(e,t),e};Object.defineProperty(Kd,"__esModule",{value:!0});var cu=iXt(Rv()),aXt=["#EXTINF","#EXT-X-BYTERANGE","#EXT-X-DISCONTINUITY","#EXT-X-STREAM-INF","#EXT-X-CUE-OUT","#EXT-X-CUE-IN","#EXT-X-KEY","#EXT-X-MAP"],oXt=["#EXT-X-MEDIA"],JQ=class extends Array{constructor(e){super(),this.baseUri=e}push(...e){for(let r of e){if(!r.startsWith("#")){super.push(r);continue}if(aXt.some(n=>r.startsWith(n))){super.push(r);continue}if(this.includes(r)){if(oXt.some(n=>r.startsWith(n)))continue;cu.INVALIDPLAYLIST(`Redundant item (${r})`)}super.push(r)}return this.length}};function XQ(t,e){let r=1e3;e&&(r=10**e);let n=Math.round(t*r)/r;return e?n.toFixed(e):n}function cXt(t){let e=t.toString(10),r=e.indexOf(".");return r===-1?0:e.length-r-1}function uXt(t,e){for(let r of e.sessionDataList)t.push(lXt(r));for(let r of e.sessionKeyList)t.push(wke(r,!0));for(let r of e.variants)dXt(t,r)}function lXt(t){let e=[`DATA-ID="${t.id}"`];return t.language&&e.push(`LANGUAGE="${t.language}"`),t.value?e.push(`VALUE="${t.value}"`):t.uri&&e.push(`URI="${t.uri}"`),`#EXT-X-SESSION-DATA:${e.join(",")}`}function wke(t,e){let r=e?"#EXT-X-SESSION-KEY":"#EXT-X-KEY",n=[`METHOD=${t.method}`];return t.uri&&n.push(`URI="${t.uri}"`),t.iv&&(t.iv.length!==16&&cu.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"),n.push(`IV=${cu.byteSequenceToHex(t.iv)}`)),t.format&&n.push(`KEYFORMAT="${t.format}"`),t.formatVersion&&n.push(`KEYFORMATVERSIONS="${t.formatVersion}"`),`${r}:${n.join(",")}`}function dXt(t,e){let r=e.isIFrameOnly?"#EXT-X-I-FRAME-STREAM-INF":"#EXT-X-STREAM-INF",n=[`BANDWIDTH=${e.bandwidth}`];if(e.averageBandwidth&&n.push(`AVERAGE-BANDWIDTH=${e.averageBandwidth}`),e.isIFrameOnly&&n.push(`URI="${e.uri}"`),e.codecs&&n.push(`CODECS="${e.codecs}"`),e.resolution&&n.push(`RESOLUTION=${e.resolution.width}x${e.resolution.height}`),e.frameRate&&n.push(`FRAME-RATE=${XQ(e.frameRate,3)}`),e.hdcpLevel&&n.push(`HDCP-LEVEL=${e.hdcpLevel}`),e.audio.length>0){n.push(`AUDIO="${e.audio[0].groupId}"`);for(let s of e.audio)t.push(dk(s))}if(e.video.length>0){n.push(`VIDEO="${e.video[0].groupId}"`);for(let s of e.video)t.push(dk(s))}if(e.subtitles.length>0){n.push(`SUBTITLES="${e.subtitles[0].groupId}"`);for(let s of e.subtitles)t.push(dk(s))}if(cu.getOptions().allowClosedCaptionsNone&&e.closedCaptions.length===0)n.push("CLOSED-CAPTIONS=NONE");else if(e.closedCaptions.length>0){n.push(`CLOSED-CAPTIONS="${e.closedCaptions[0].groupId}"`);for(let s of e.closedCaptions)t.push(dk(s))}if(e.score&&n.push(`SCORE=${e.score}`),e.allowedCpc){let s=[];for(let{format:i,cpcList:a}of e.allowedCpc)s.push(`${i}:${a.join("/")}`);n.push(`ALLOWED-CPC="${s.join(",")}"`)}e.videoRange&&n.push(`VIDEO-RANGE=${e.videoRange}`),e.stableVariantId&&n.push(`STABLE-VARIANT-ID="${e.stableVariantId}"`),e.programId&&n.push(`PROGRAM-ID=${e.programId}`),t.push(`${r}:${n.join(",")}`),e.isIFrameOnly||t.push(`${e.uri}`)}function dk(t){let e=[`TYPE=${t.type}`,`GROUP-ID="${t.groupId}"`,`NAME="${t.name}"`];return t.isDefault!==void 0&&e.push(`DEFAULT=${t.isDefault?"YES":"NO"}`),t.autoselect!==void 0&&e.push(`AUTOSELECT=${t.autoselect?"YES":"NO"}`),t.forced!==void 0&&e.push(`FORCED=${t.forced?"YES":"NO"}`),t.language&&e.push(`LANGUAGE="${t.language}"`),t.assocLanguage&&e.push(`ASSOC-LANGUAGE="${t.assocLanguage}"`),t.instreamId&&e.push(`INSTREAM-ID="${t.instreamId}"`),t.characteristics&&e.push(`CHARACTERISTICS="${t.characteristics}"`),t.channels&&e.push(`CHANNELS="${t.channels}"`),t.uri&&e.push(`URI="${t.uri}"`),`#EXT-X-MEDIA:${e.join(",")}`}function fXt(t,e){let r="",n="",s=!1;if(e.targetDuration&&t.push(`#EXT-X-TARGETDURATION:${e.targetDuration}`),e.lowLatencyCompatibility){let{canBlockReload:i,canSkipUntil:a,holdBack:o,partHoldBack:c}=e.lowLatencyCompatibility,u=[];u.push(`CAN-BLOCK-RELOAD=${i?"YES":"NO"}`),a!==void 0&&u.push(`CAN-SKIP-UNTIL=${a}`),o!==void 0&&u.push(`HOLD-BACK=${o}`),c!==void 0&&u.push(`PART-HOLD-BACK=${c}`),t.push(`#EXT-X-SERVER-CONTROL:${u.join(",")}`)}e.partTargetDuration&&t.push(`#EXT-X-PART-INF:PART-TARGET=${e.partTargetDuration}`),e.mediaSequenceBase&&t.push(`#EXT-X-MEDIA-SEQUENCE:${e.mediaSequenceBase}`),e.discontinuitySequenceBase&&t.push(`#EXT-X-DISCONTINUITY-SEQUENCE:${e.discontinuitySequenceBase}`),e.playlistType&&t.push(`#EXT-X-PLAYLIST-TYPE:${e.playlistType}`),e.isIFrame&&t.push("#EXT-X-I-FRAMES-ONLY"),e.skip>0&&t.push(`#EXT-X-SKIP:SKIPPED-SEGMENTS=${e.skip}`);for(let i of e.segments){let a="";[r,n,a]=pXt(t,i,r,n,e.version),a==="OUT"?s=!0:a==="IN"&&s&&(s=!1)}e.playlistType==="VOD"&&s&&t.push("#EXT-X-CUE-IN"),e.prefetchSegments.length>2&&cu.INVALIDPLAYLIST("The server must deliver no more than two prefetch segments");for(let i of e.prefetchSegments)i.discontinuity&&t.push("#EXT-X-PREFETCH-DISCONTINUITY"),t.push(`#EXT-X-PREFETCH:${i.uri}`);e.endlist&&t.push("#EXT-X-ENDLIST");for(let i of e.renditionReports){let a=[];a.push(`URI="${i.uri}"`,`LAST-MSN=${i.lastMSN}`),i.lastPart!==void 0&&a.push(`LAST-PART=${i.lastPart}`),t.push(`#EXT-X-RENDITION-REPORT:${a.join(",")}`)}}function pXt(t,e,r,n,s=1){let i=!1,a="";if(e.discontinuity&&t.push("#EXT-X-DISCONTINUITY"),e.key){let c=wke(e.key);c!==r&&(t.push(c),r=c)}if(e.map){let c=mXt(e.map);c!==n&&(t.push(c),n=c)}if(e.programDateTime&&t.push(`#EXT-X-PROGRAM-DATE-TIME:${cu.formatDate(e.programDateTime)}`),e.dateRange&&t.push(hXt(e.dateRange)),e.markers.length>0&&(a=gXt(t,e.markers)),e.parts.length>0&&(i=AXt(t,e.parts)),i)return[r,n];let o=s<3?Math.round(e.duration):XQ(e.duration,cXt(e.duration));return t.push(`#EXTINF:${o},${unescape(encodeURIComponent(e.title||""))}`),e.byterange&&t.push(`#EXT-X-BYTERANGE:${ZQ(e.byterange)}`),Array.prototype.push.call(t,`${e.uri}`),[r,n,a]}function mXt(t){let e=[`URI="${t.uri}"`];return t.byterange&&e.push(`BYTERANGE="${ZQ(t.byterange)}"`),`#EXT-X-MAP:${e.join(",")}`}function ZQ({offset:t,length:e}){return`${e}@${t}`}function hXt(t){let e=[`ID="${t.id}"`];t.start&&e.push(`START-DATE="${cu.formatDate(t.start)}"`),t.end&&e.push(`END-DATE="${cu.formatDate(t.end)}"`),t.duration&&e.push(`DURATION=${t.duration}`),t.plannedDuration&&e.push(`PLANNED-DURATION=${t.plannedDuration}`),t.classId&&e.push(`CLASS="${t.classId}"`),t.endOnNext&&e.push("END-ON-NEXT=YES");for(let r of Object.keys(t.attributes))r.startsWith("X-")?typeof t.attributes[r]=="number"?e.push(`${r}=${t.attributes[r]}`):e.push(`${r}="${t.attributes[r]}"`):r.startsWith("SCTE35-")&&e.push(`${r}=${cu.byteSequenceToHex(t.attributes[r])}`);return`#EXT-X-DATERANGE:${e.join(",")}`}function gXt(t,e){let r="";for(let n of e)if(n.type==="OUT")r="OUT",t.push(`#EXT-X-CUE-OUT:DURATION=${n.duration}`);else if(n.type==="IN")r="IN",t.push("#EXT-X-CUE-IN");else if(n.type==="RAW"){let s=n.value?`:${n.value}`:"";t.push(`#${n.tagName}${s}`)}return r}function AXt(t,e){let r=!1;for(let n of e)if(n.hint){let s=[];if(s.push("TYPE=PART",`URI="${n.uri}"`),n.byterange){let{offset:i,length:a}=n.byterange;s.push(`BYTERANGE-START=${i}`),a&&s.push(`BYTERANGE-LENGTH=${a}`)}t.push(`#EXT-X-PRELOAD-HINT:${s.join(",")}`),r=!0}else{let s=[];s.push(`DURATION=${n.duration}`,`URI="${n.uri}"`),n.byterange&&s.push(`BYTERANGE=${ZQ(n.byterange)}`),n.independent&&s.push("INDEPENDENT=YES"),n.gap&&s.push("GAP=YES"),t.push(`#EXT-X-PART:${s.join(",")}`)}return r}function yXt(t){cu.PARAMCHECK(t),cu.ASSERT("Not a playlist",t.type==="playlist");let e=new JQ(t.uri);return e.push("#EXTM3U"),t.version&&e.push(`#EXT-X-VERSION:${t.version}`),t.independentSegments&&e.push("#EXT-X-INDEPENDENT-SEGMENTS"),t.start&&e.push(`#EXT-X-START:TIME-OFFSET=${XQ(t.start.offset)}${t.start.precise?",PRECISE=YES":""}`),t.isMasterPlaylist?uXt(e,t):fXt(e,t),e.join(`
|
|
`)}Kd.default=yXt});var Pke=E(_s=>{"use strict";var xXt=_s&&_s.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),bXt=_s&&_s.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),EXt=_s&&_s.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&xXt(e,t,r);return bXt(e,t),e},Nke=_s&&_s.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_s,"__esModule",{value:!0});_s.setOptions=_s.getOptions=_s.types=_s.stringify=_s.parse=void 0;var Oke=Rv();Object.defineProperty(_s,"getOptions",{enumerable:!0,get:function(){return Oke.getOptions}});Object.defineProperty(_s,"setOptions",{enumerable:!0,get:function(){return Oke.setOptions}});var _Xt=Nke(Tke());_s.parse=_Xt.default;var SXt=Nke(Rke());_s.stringify=SXt.default;var vXt=EXt(KQ());_s.types=vXt});var pG=E((j7r,bLe)=>{bLe.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var A0=E(Bh=>{var mG,nZt=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];Bh.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return e*4+17};Bh.getSymbolTotalCodewords=function(e){return nZt[e]};Bh.getBCHDigit=function(t){let e=0;for(;t!==0;)e++,t>>>=1;return e};Bh.setToSJISFunction=function(e){if(typeof e!="function")throw new Error('"toSJISFunc" is not a valid function.');mG=e};Bh.isKanjiModeEnabled=function(){return typeof mG<"u"};Bh.toSJIS=function(e){return mG(e)}});var Ck=E(yc=>{yc.L={bit:1};yc.M={bit:0};yc.Q={bit:3};yc.H={bit:2};function sZt(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return yc.L;case"m":case"medium":return yc.M;case"q":case"quartile":return yc.Q;case"h":case"high":return yc.H;default:throw new Error("Unknown EC Level: "+t)}}yc.isValid=function(e){return e&&typeof e.bit<"u"&&e.bit>=0&&e.bit<4};yc.from=function(e,r){if(yc.isValid(e))return e;try{return sZt(e)}catch{return r}}});var SLe=E((G7r,_Le)=>{function ELe(){this.buffer=[],this.length=0}ELe.prototype={get:function(t){let e=Math.floor(t/8);return(this.buffer[e]>>>7-t%8&1)===1},put:function(t,e){for(let r=0;r<e;r++)this.putBit((t>>>e-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){let e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};_Le.exports=ELe});var CLe=E((V7r,vLe)=>{function Lv(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}Lv.prototype.set=function(t,e,r,n){let s=t*this.size+e;this.data[s]=r,n&&(this.reservedBit[s]=!0)};Lv.prototype.get=function(t,e){return this.data[t*this.size+e]};Lv.prototype.xor=function(t,e,r){this.data[t*this.size+e]^=r};Lv.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]};vLe.exports=Lv});var ILe=E(Ik=>{var iZt=A0().getSymbolSize;Ik.getRowColCoords=function(e){if(e===1)return[];let r=Math.floor(e/7)+2,n=iZt(e),s=n===145?26:Math.ceil((n-13)/(2*r-2))*2,i=[n-7];for(let a=1;a<r-1;a++)i[a]=i[a-1]-s;return i.push(6),i.reverse()};Ik.getPositions=function(e){let r=[],n=Ik.getRowColCoords(e),s=n.length;for(let i=0;i<s;i++)for(let a=0;a<s;a++)i===0&&a===0||i===0&&a===s-1||i===s-1&&a===0||r.push([n[i],n[a]]);return r}});var RLe=E(wLe=>{var aZt=A0().getSymbolSize,TLe=7;wLe.getPositions=function(e){let r=aZt(e);return[[0,0],[r-TLe,0],[0,r-TLe]]}});var NLe=E(Sn=>{Sn.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var Mh={N1:3,N2:3,N3:40,N4:10};Sn.isValid=function(e){return e!=null&&e!==""&&!isNaN(e)&&e>=0&&e<=7};Sn.from=function(e){return Sn.isValid(e)?parseInt(e,10):void 0};Sn.getPenaltyN1=function(e){let r=e.size,n=0,s=0,i=0,a=null,o=null;for(let c=0;c<r;c++){s=i=0,a=o=null;for(let u=0;u<r;u++){let l=e.get(c,u);l===a?s++:(s>=5&&(n+=Mh.N1+(s-5)),a=l,s=1),l=e.get(u,c),l===o?i++:(i>=5&&(n+=Mh.N1+(i-5)),o=l,i=1)}s>=5&&(n+=Mh.N1+(s-5)),i>=5&&(n+=Mh.N1+(i-5))}return n};Sn.getPenaltyN2=function(e){let r=e.size,n=0;for(let s=0;s<r-1;s++)for(let i=0;i<r-1;i++){let a=e.get(s,i)+e.get(s,i+1)+e.get(s+1,i)+e.get(s+1,i+1);(a===4||a===0)&&n++}return n*Mh.N2};Sn.getPenaltyN3=function(e){let r=e.size,n=0,s=0,i=0;for(let a=0;a<r;a++){s=i=0;for(let o=0;o<r;o++)s=s<<1&2047|e.get(a,o),o>=10&&(s===1488||s===93)&&n++,i=i<<1&2047|e.get(o,a),o>=10&&(i===1488||i===93)&&n++}return n*Mh.N3};Sn.getPenaltyN4=function(e){let r=0,n=e.data.length;for(let i=0;i<n;i++)r+=e.data[i];return Math.abs(Math.ceil(r*100/n/5)-10)*Mh.N4};function oZt(t,e,r){switch(t){case Sn.Patterns.PATTERN000:return(e+r)%2===0;case Sn.Patterns.PATTERN001:return e%2===0;case Sn.Patterns.PATTERN010:return r%3===0;case Sn.Patterns.PATTERN011:return(e+r)%3===0;case Sn.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2===0;case Sn.Patterns.PATTERN101:return e*r%2+e*r%3===0;case Sn.Patterns.PATTERN110:return(e*r%2+e*r%3)%2===0;case Sn.Patterns.PATTERN111:return(e*r%3+(e+r)%2)%2===0;default:throw new Error("bad maskPattern:"+t)}}Sn.applyMask=function(e,r){let n=r.size;for(let s=0;s<n;s++)for(let i=0;i<n;i++)r.isReserved(i,s)||r.xor(i,s,oZt(e,i,s))};Sn.getBestMask=function(e,r){let n=Object.keys(Sn.Patterns).length,s=0,i=1/0;for(let a=0;a<n;a++){r(a),Sn.applyMask(a,e);let o=Sn.getPenaltyN1(e)+Sn.getPenaltyN2(e)+Sn.getPenaltyN3(e)+Sn.getPenaltyN4(e);Sn.applyMask(a,e),o<i&&(i=o,s=a)}return s}});var gG=E(hG=>{var y0=Ck(),Tk=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],wk=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];hG.getBlocksCount=function(e,r){switch(r){case y0.L:return Tk[(e-1)*4+0];case y0.M:return Tk[(e-1)*4+1];case y0.Q:return Tk[(e-1)*4+2];case y0.H:return Tk[(e-1)*4+3];default:return}};hG.getTotalCodewordsCount=function(e,r){switch(r){case y0.L:return wk[(e-1)*4+0];case y0.M:return wk[(e-1)*4+1];case y0.Q:return wk[(e-1)*4+2];case y0.H:return wk[(e-1)*4+3];default:return}}});var OLe=E(Nk=>{var Bv=new Uint8Array(512),Rk=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)Bv[r]=e,Rk[e]=r,e<<=1,e&256&&(e^=285);for(let r=255;r<512;r++)Bv[r]=Bv[r-255]})();Nk.log=function(e){if(e<1)throw new Error("log("+e+")");return Rk[e]};Nk.exp=function(e){return Bv[e]};Nk.mul=function(e,r){return e===0||r===0?0:Bv[Rk[e]+Rk[r]]}});var PLe=E(Mv=>{var AG=OLe();Mv.mul=function(e,r){let n=new Uint8Array(e.length+r.length-1);for(let s=0;s<e.length;s++)for(let i=0;i<r.length;i++)n[s+i]^=AG.mul(e[s],r[i]);return n};Mv.mod=function(e,r){let n=new Uint8Array(e);for(;n.length-r.length>=0;){let s=n[0];for(let a=0;a<r.length;a++)n[a]^=AG.mul(r[a],s);let i=0;for(;i<n.length&&n[i]===0;)i++;n=n.slice(i)}return n};Mv.generateECPolynomial=function(e){let r=new Uint8Array([1]);for(let n=0;n<e;n++)r=Mv.mul(r,new Uint8Array([1,AG.exp(n)]));return r}});var LLe=E((e9r,kLe)=>{var DLe=PLe();function yG(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}yG.prototype.initialize=function(e){this.degree=e,this.genPoly=DLe.generateECPolynomial(this.degree)};yG.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");let r=new Uint8Array(e.length+this.degree);r.set(e);let n=DLe.mod(r,this.genPoly),s=this.degree-n.length;if(s>0){let i=new Uint8Array(this.degree);return i.set(n,s),i}return n};kLe.exports=yG});var xG=E(BLe=>{BLe.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}});var bG=E(Jd=>{var MLe="[0-9]+",cZt="[A-Z $%*+\\-./:]+",Wv="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";Wv=Wv.replace(/u/g,"\\u");var uZt="(?:(?![A-Z0-9 $%*+\\-./:]|"+Wv+`)(?:.|[\r
|
|
]))+`;Jd.KANJI=new RegExp(Wv,"g");Jd.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");Jd.BYTE=new RegExp(uZt,"g");Jd.NUMERIC=new RegExp(MLe,"g");Jd.ALPHANUMERIC=new RegExp(cZt,"g");var lZt=new RegExp("^"+Wv+"$"),dZt=new RegExp("^"+MLe+"$"),fZt=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");Jd.testKanji=function(e){return lZt.test(e)};Jd.testNumeric=function(e){return dZt.test(e)};Jd.testAlphanumeric=function(e){return fZt.test(e)}});var x0=E(vs=>{var pZt=xG(),EG=bG();vs.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]};vs.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]};vs.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]};vs.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]};vs.MIXED={bit:-1};vs.getCharCountIndicator=function(e,r){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!pZt.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?e.ccBits[0]:r<27?e.ccBits[1]:e.ccBits[2]};vs.getBestModeForData=function(e){return EG.testNumeric(e)?vs.NUMERIC:EG.testAlphanumeric(e)?vs.ALPHANUMERIC:EG.testKanji(e)?vs.KANJI:vs.BYTE};vs.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")};vs.isValid=function(e){return e&&e.bit&&e.ccBits};function mZt(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return vs.NUMERIC;case"alphanumeric":return vs.ALPHANUMERIC;case"kanji":return vs.KANJI;case"byte":return vs.BYTE;default:throw new Error("Unknown mode: "+t)}}vs.from=function(e,r){if(vs.isValid(e))return e;try{return mZt(e)}catch{return r}}});var qLe=E(Wh=>{var Ok=A0(),hZt=gG(),WLe=Ck(),b0=x0(),_G=xG(),FLe=7973,$Le=Ok.getBCHDigit(FLe);function gZt(t,e,r){for(let n=1;n<=40;n++)if(e<=Wh.getCapacity(n,r,t))return n}function ULe(t,e){return b0.getCharCountIndicator(t,e)+4}function AZt(t,e){let r=0;return t.forEach(function(n){let s=ULe(n.mode,e);r+=s+n.getBitsLength()}),r}function yZt(t,e){for(let r=1;r<=40;r++)if(AZt(t,r)<=Wh.getCapacity(r,e,b0.MIXED))return r}Wh.from=function(e,r){return _G.isValid(e)?parseInt(e,10):r};Wh.getCapacity=function(e,r,n){if(!_G.isValid(e))throw new Error("Invalid QR Code version");typeof n>"u"&&(n=b0.BYTE);let s=Ok.getSymbolTotalCodewords(e),i=hZt.getTotalCodewordsCount(e,r),a=(s-i)*8;if(n===b0.MIXED)return a;let o=a-ULe(n,e);switch(n){case b0.NUMERIC:return Math.floor(o/10*3);case b0.ALPHANUMERIC:return Math.floor(o/11*2);case b0.KANJI:return Math.floor(o/13);case b0.BYTE:default:return Math.floor(o/8)}};Wh.getBestVersionForData=function(e,r){let n,s=WLe.from(r,WLe.M);if(Array.isArray(e)){if(e.length>1)return yZt(e,s);if(e.length===0)return 1;n=e[0]}else n=e;return gZt(n.mode,n.getLength(),s)};Wh.getEncodedBits=function(e){if(!_G.isValid(e)||e<7)throw new Error("Invalid QR Code version");let r=e<<12;for(;Ok.getBCHDigit(r)-$Le>=0;)r^=FLe<<Ok.getBCHDigit(r)-$Le;return e<<12|r}});var GLe=E(QLe=>{var SG=A0(),HLe=1335,xZt=21522,jLe=SG.getBCHDigit(HLe);QLe.getEncodedBits=function(e,r){let n=e.bit<<3|r,s=n<<10;for(;SG.getBCHDigit(s)-jLe>=0;)s^=HLe<<SG.getBCHDigit(s)-jLe;return(n<<10|s)^xZt}});var zLe=E((a9r,VLe)=>{var bZt=x0();function jx(t){this.mode=bZt.NUMERIC,this.data=t.toString()}jx.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)};jx.prototype.getLength=function(){return this.data.length};jx.prototype.getBitsLength=function(){return jx.getBitsLength(this.data.length)};jx.prototype.write=function(e){let r,n,s;for(r=0;r+3<=this.data.length;r+=3)n=this.data.substr(r,3),s=parseInt(n,10),e.put(s,10);let i=this.data.length-r;i>0&&(n=this.data.substr(r),s=parseInt(n,10),e.put(s,i*3+1))};VLe.exports=jx});var YLe=E((o9r,KLe)=>{var EZt=x0(),vG=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function Hx(t){this.mode=EZt.ALPHANUMERIC,this.data=t}Hx.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)};Hx.prototype.getLength=function(){return this.data.length};Hx.prototype.getBitsLength=function(){return Hx.getBitsLength(this.data.length)};Hx.prototype.write=function(e){let r;for(r=0;r+2<=this.data.length;r+=2){let n=vG.indexOf(this.data[r])*45;n+=vG.indexOf(this.data[r+1]),e.put(n,11)}this.data.length%2&&e.put(vG.indexOf(this.data[r]),6)};KLe.exports=Hx});var XLe=E((c9r,JLe)=>{var _Zt=x0();function Qx(t){this.mode=_Zt.BYTE,typeof t=="string"?this.data=new TextEncoder().encode(t):this.data=new Uint8Array(t)}Qx.getBitsLength=function(e){return e*8};Qx.prototype.getLength=function(){return this.data.length};Qx.prototype.getBitsLength=function(){return Qx.getBitsLength(this.data.length)};Qx.prototype.write=function(t){for(let e=0,r=this.data.length;e<r;e++)t.put(this.data[e],8)};JLe.exports=Qx});var eBe=E((u9r,ZLe)=>{var SZt=x0(),vZt=A0();function Gx(t){this.mode=SZt.KANJI,this.data=t}Gx.getBitsLength=function(e){return e*13};Gx.prototype.getLength=function(){return this.data.length};Gx.prototype.getBitsLength=function(){return Gx.getBitsLength(this.data.length)};Gx.prototype.write=function(t){let e;for(e=0;e<this.data.length;e++){let r=vZt.toSJIS(this.data[e]);if(r>=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[e]+`
|
|
Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),t.put(r,13)}};ZLe.exports=Gx});var tBe=E((l9r,CG)=>{"use strict";var $v={single_source_shortest_paths:function(t,e,r){var n={},s={};s[e]=0;var i=$v.PriorityQueue.make();i.push(e,0);for(var a,o,c,u,l,d,f,p,m;!i.empty();){a=i.pop(),o=a.value,u=a.cost,l=t[o]||{};for(c in l)l.hasOwnProperty(c)&&(d=l[c],f=u+d,p=s[c],m=typeof s[c]>"u",(m||p>f)&&(s[c]=f,i.push(c,f),n[c]=o))}if(typeof r<"u"&&typeof s[r]>"u"){var h=["Could not find a path from ",e," to ",r,"."].join("");throw new Error(h)}return n},extract_shortest_path_from_predecessor_list:function(t,e){for(var r=[],n=e,s;n;)r.push(n),s=t[n],n=t[n];return r.reverse(),r},find_path:function(t,e,r){var n=$v.single_source_shortest_paths(t,e,r);return $v.extract_shortest_path_from_predecessor_list(n,r)},PriorityQueue:{make:function(t){var e=$v.PriorityQueue,r={},n;t=t||{};for(n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return r.queue=[],r.sorter=t.sorter||e.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var r={value:t,cost:e};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof CG<"u"&&(CG.exports=$v)});var uBe=E(Vx=>{var zr=x0(),sBe=zLe(),iBe=YLe(),aBe=XLe(),oBe=eBe(),Fv=bG(),Pk=A0(),CZt=tBe();function rBe(t){return unescape(encodeURIComponent(t)).length}function Uv(t,e,r){let n=[],s;for(;(s=t.exec(r))!==null;)n.push({data:s[0],index:s.index,mode:e,length:s[0].length});return n}function cBe(t){let e=Uv(Fv.NUMERIC,zr.NUMERIC,t),r=Uv(Fv.ALPHANUMERIC,zr.ALPHANUMERIC,t),n,s;return Pk.isKanjiModeEnabled()?(n=Uv(Fv.BYTE,zr.BYTE,t),s=Uv(Fv.KANJI,zr.KANJI,t)):(n=Uv(Fv.BYTE_KANJI,zr.BYTE,t),s=[]),e.concat(r,n,s).sort(function(a,o){return a.index-o.index}).map(function(a){return{data:a.data,mode:a.mode,length:a.length}})}function IG(t,e){switch(e){case zr.NUMERIC:return sBe.getBitsLength(t);case zr.ALPHANUMERIC:return iBe.getBitsLength(t);case zr.KANJI:return oBe.getBitsLength(t);case zr.BYTE:return aBe.getBitsLength(t)}}function IZt(t){return t.reduce(function(e,r){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===r.mode?(e[e.length-1].data+=r.data,e):(e.push(r),e)},[])}function TZt(t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];switch(n.mode){case zr.NUMERIC:e.push([n,{data:n.data,mode:zr.ALPHANUMERIC,length:n.length},{data:n.data,mode:zr.BYTE,length:n.length}]);break;case zr.ALPHANUMERIC:e.push([n,{data:n.data,mode:zr.BYTE,length:n.length}]);break;case zr.KANJI:e.push([n,{data:n.data,mode:zr.BYTE,length:rBe(n.data)}]);break;case zr.BYTE:e.push([{data:n.data,mode:zr.BYTE,length:rBe(n.data)}])}}return e}function wZt(t,e){let r={},n={start:{}},s=["start"];for(let i=0;i<t.length;i++){let a=t[i],o=[];for(let c=0;c<a.length;c++){let u=a[c],l=""+i+c;o.push(l),r[l]={node:u,lastCount:0},n[l]={};for(let d=0;d<s.length;d++){let f=s[d];r[f]&&r[f].node.mode===u.mode?(n[f][l]=IG(r[f].lastCount+u.length,u.mode)-IG(r[f].lastCount,u.mode),r[f].lastCount+=u.length):(r[f]&&(r[f].lastCount=u.length),n[f][l]=IG(u.length,u.mode)+4+zr.getCharCountIndicator(u.mode,e))}}s=o}for(let i=0;i<s.length;i++)n[s[i]].end=0;return{map:n,table:r}}function nBe(t,e){let r,n=zr.getBestModeForData(t);if(r=zr.from(e,n),r!==zr.BYTE&&r.bit<n.bit)throw new Error('"'+t+'" cannot be encoded with mode '+zr.toString(r)+`.
|
|
Suggested mode is: `+zr.toString(n));switch(r===zr.KANJI&&!Pk.isKanjiModeEnabled()&&(r=zr.BYTE),r){case zr.NUMERIC:return new sBe(t);case zr.ALPHANUMERIC:return new iBe(t);case zr.KANJI:return new oBe(t);case zr.BYTE:return new aBe(t)}}Vx.fromArray=function(e){return e.reduce(function(r,n){return typeof n=="string"?r.push(nBe(n,null)):n.data&&r.push(nBe(n.data,n.mode)),r},[])};Vx.fromString=function(e,r){let n=cBe(e,Pk.isKanjiModeEnabled()),s=TZt(n),i=wZt(s,r),a=CZt.find_path(i.map,"start","end"),o=[];for(let c=1;c<a.length-1;c++)o.push(i.table[a[c]].node);return Vx.fromArray(IZt(o))};Vx.rawSplit=function(e){return Vx.fromArray(cBe(e,Pk.isKanjiModeEnabled()))}});var PG=E(lBe=>{var kk=A0(),TG=Ck(),RZt=SLe(),NZt=CLe(),OZt=ILe(),PZt=RLe(),NG=NLe(),OG=gG(),DZt=LLe(),Dk=qLe(),kZt=GLe(),LZt=x0(),wG=uBe();function BZt(t,e){let r=t.size,n=PZt.getPositions(e);for(let s=0;s<n.length;s++){let i=n[s][0],a=n[s][1];for(let o=-1;o<=7;o++)if(!(i+o<=-1||r<=i+o))for(let c=-1;c<=7;c++)a+c<=-1||r<=a+c||(o>=0&&o<=6&&(c===0||c===6)||c>=0&&c<=6&&(o===0||o===6)||o>=2&&o<=4&&c>=2&&c<=4?t.set(i+o,a+c,!0,!0):t.set(i+o,a+c,!1,!0))}}function MZt(t){let e=t.size;for(let r=8;r<e-8;r++){let n=r%2===0;t.set(r,6,n,!0),t.set(6,r,n,!0)}}function WZt(t,e){let r=OZt.getPositions(e);for(let n=0;n<r.length;n++){let s=r[n][0],i=r[n][1];for(let a=-2;a<=2;a++)for(let o=-2;o<=2;o++)a===-2||a===2||o===-2||o===2||a===0&&o===0?t.set(s+a,i+o,!0,!0):t.set(s+a,i+o,!1,!0)}}function $Zt(t,e){let r=t.size,n=Dk.getEncodedBits(e),s,i,a;for(let o=0;o<18;o++)s=Math.floor(o/3),i=o%3+r-8-3,a=(n>>o&1)===1,t.set(s,i,a,!0),t.set(i,s,a,!0)}function RG(t,e,r){let n=t.size,s=kZt.getEncodedBits(e,r),i,a;for(i=0;i<15;i++)a=(s>>i&1)===1,i<6?t.set(i,8,a,!0):i<8?t.set(i+1,8,a,!0):t.set(n-15+i,8,a,!0),i<8?t.set(8,n-i-1,a,!0):i<9?t.set(8,15-i-1+1,a,!0):t.set(8,15-i-1,a,!0);t.set(n-8,8,1,!0)}function FZt(t,e){let r=t.size,n=-1,s=r-1,i=7,a=0;for(let o=r-1;o>0;o-=2)for(o===6&&o--;;){for(let c=0;c<2;c++)if(!t.isReserved(s,o-c)){let u=!1;a<e.length&&(u=(e[a]>>>i&1)===1),t.set(s,o-c,u),i--,i===-1&&(a++,i=7)}if(s+=n,s<0||r<=s){s-=n,n=-n;break}}}function UZt(t,e,r){let n=new RZt;r.forEach(function(c){n.put(c.mode.bit,4),n.put(c.getLength(),LZt.getCharCountIndicator(c.mode,t)),c.write(n)});let s=kk.getSymbolTotalCodewords(t),i=OG.getTotalCodewordsCount(t,e),a=(s-i)*8;for(n.getLengthInBits()+4<=a&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);let o=(a-n.getLengthInBits())/8;for(let c=0;c<o;c++)n.put(c%2?17:236,8);return qZt(n,t,e)}function qZt(t,e,r){let n=kk.getSymbolTotalCodewords(e),s=OG.getTotalCodewordsCount(e,r),i=n-s,a=OG.getBlocksCount(e,r),o=n%a,c=a-o,u=Math.floor(n/a),l=Math.floor(i/a),d=l+1,f=u-l,p=new DZt(f),m=0,h=new Array(a),A=new Array(a),g=0,b=new Uint8Array(t.buffer);for(let R=0;R<a;R++){let w=R<c?l:d;h[R]=b.slice(m,m+w),A[R]=p.encode(h[R]),m+=w,g=Math.max(g,w)}let y=new Uint8Array(n),x=0,v,C;for(v=0;v<g;v++)for(C=0;C<a;C++)v<h[C].length&&(y[x++]=h[C][v]);for(v=0;v<f;v++)for(C=0;C<a;C++)y[x++]=A[C][v];return y}function jZt(t,e,r,n){let s;if(Array.isArray(t))s=wG.fromArray(t);else if(typeof t=="string"){let u=e;if(!u){let l=wG.rawSplit(t);u=Dk.getBestVersionForData(l,r)}s=wG.fromString(t,u||40)}else throw new Error("Invalid data");let i=Dk.getBestVersionForData(s,r);if(!i)throw new Error("The amount of data is too big to be stored in a QR Code");if(!e)e=i;else if(e<i)throw new Error(`
|
|
The chosen QR Code version cannot contain this amount of data.
|
|
Minimum version required to store current data is: `+i+`.
|
|
`);let a=UZt(e,r,s),o=kk.getSymbolSize(e),c=new NZt(o);return BZt(c,e),MZt(c),WZt(c,e),RG(c,r,0),e>=7&&$Zt(c,e),FZt(c,a),isNaN(n)&&(n=NG.getBestMask(c,RG.bind(null,c,r))),NG.applyMask(n,c),RG(c,r,n),{modules:c,version:e,errorCorrectionLevel:r,maskPattern:n,segments:s}}lBe.create=function(e,r){if(typeof e>"u"||e==="")throw new Error("No input text");let n=TG.M,s,i;return typeof r<"u"&&(n=TG.from(r.errorCorrectionLevel,TG.M),s=Dk.from(r.version),i=NG.from(r.maskPattern),r.toSJISFunc&&kk.setToSJISFunction(r.toSJISFunc)),jZt(e,s,n,i)}});var DG=E((p9r,fBe)=>{"use strict";var HZt=require("util"),dBe=require("stream"),du=fBe.exports=function(){dBe.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};HZt.inherits(du,dBe);du.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))};du.prototype.write=function(t,e){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let r;return Buffer.isBuffer(t)?r=t:r=Buffer.from(t,e||this._encoding),this._buffers.push(r),this._buffered+=r.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused};du.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))};du.prototype.destroySoon=du.prototype.end;du.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()};du.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))};du.prototype._processReadAllowingLess=function(t){this._reads.shift();let e=this._buffers[0];e.length>t.length?(this._buffered-=t.length,this._buffers[0]=e.slice(t.length),t.func.call(this,e.slice(0,t.length))):(this._buffered-=e.length,this._buffers.shift(),t.func.call(this,e))};du.prototype._processRead=function(t){this._reads.shift();let e=0,r=0,n=Buffer.alloc(t.length);for(;e<t.length;){let s=this._buffers[r++],i=Math.min(s.length,t.length-e);s.copy(n,e,0,i),e+=i,i!==s.length&&(this._buffers[--r]=s.slice(i))}r>0&&this._buffers.splice(0,r),this._buffered-=t.length,t.func.call(this,n)};du.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let t=this._reads[0];if(t.allowLess)this._processReadAllowingLess(t);else if(this._buffered>=t.length)this._processRead(t);else break}this._buffers&&!this.writable&&this._end()}catch(t){this.emit("error",t)}}});var LG=E(kG=>{"use strict";var E0=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];kG.getImagePasses=function(t,e){let r=[],n=t%8,s=e%8,i=(t-n)/8,a=(e-s)/8;for(let o=0;o<E0.length;o++){let c=E0[o],u=i*c.x.length,l=a*c.y.length;for(let d=0;d<c.x.length&&c.x[d]<n;d++)u++;for(let d=0;d<c.y.length&&c.y[d]<s;d++)l++;u>0&&l>0&&r.push({width:u,height:l,index:o})}return r};kG.getInterlaceIterator=function(t){return function(e,r,n){let s=e%E0[n].x.length,i=(e-s)/E0[n].x.length*8+E0[n].x[s],a=r%E0[n].y.length,o=(r-a)/E0[n].y.length*8+E0[n].y[a];return i*4+o*t*4}}});var BG=E((h9r,pBe)=>{"use strict";pBe.exports=function(e,r,n){let s=e+r-n,i=Math.abs(s-e),a=Math.abs(s-r),o=Math.abs(s-n);return i<=a&&i<=o?e:a<=o?r:n}});var MG=E((g9r,hBe)=>{"use strict";var QZt=LG(),GZt=BG();function mBe(t,e,r){let n=t*e;return r!==8&&(n=Math.ceil(n/(8/r))),n}var zx=hBe.exports=function(t,e){let r=t.width,n=t.height,s=t.interlace,i=t.bpp,a=t.depth;if(this.read=e.read,this.write=e.write,this.complete=e.complete,this._imageIndex=0,this._images=[],s){let o=QZt.getImagePasses(r,n);for(let c=0;c<o.length;c++)this._images.push({byteWidth:mBe(o[c].width,i,a),height:o[c].height,lineIndex:0})}else this._images.push({byteWidth:mBe(r,i,a),height:n,lineIndex:0});a===8?this._xComparison=i:a===16?this._xComparison=i*2:this._xComparison=1};zx.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))};zx.prototype._unFilterType1=function(t,e,r){let n=this._xComparison,s=n-1;for(let i=0;i<r;i++){let a=t[1+i],o=i>s?e[i-n]:0;e[i]=a+o}};zx.prototype._unFilterType2=function(t,e,r){let n=this._lastLine;for(let s=0;s<r;s++){let i=t[1+s],a=n?n[s]:0;e[s]=i+a}};zx.prototype._unFilterType3=function(t,e,r){let n=this._xComparison,s=n-1,i=this._lastLine;for(let a=0;a<r;a++){let o=t[1+a],c=i?i[a]:0,u=a>s?e[a-n]:0,l=Math.floor((u+c)/2);e[a]=o+l}};zx.prototype._unFilterType4=function(t,e,r){let n=this._xComparison,s=n-1,i=this._lastLine;for(let a=0;a<r;a++){let o=t[1+a],c=i?i[a]:0,u=a>s?e[a-n]:0,l=a>s&&i?i[a-n]:0,d=GZt(u,c,l);e[a]=o+d}};zx.prototype._reverseFilterLine=function(t){let e=t[0],r,n=this._images[this._imageIndex],s=n.byteWidth;if(e===0)r=t.slice(1,s+1);else switch(r=Buffer.alloc(s),e){case 1:this._unFilterType1(t,r,s);break;case 2:this._unFilterType2(t,r,s);break;case 3:this._unFilterType3(t,r,s);break;case 4:this._unFilterType4(t,r,s);break;default:throw new Error("Unrecognised filter type - "+e)}this.write(r),n.lineIndex++,n.lineIndex>=n.height?(this._lastLine=null,this._imageIndex++,n=this._images[this._imageIndex]):this._lastLine=r,n?this.read(n.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}});var yBe=E((A9r,ABe)=>{"use strict";var VZt=require("util"),gBe=DG(),zZt=MG(),KZt=ABe.exports=function(t){gBe.call(this);let e=[],r=this;this._filter=new zZt(t,{read:this.read.bind(this),write:function(n){e.push(n)},complete:function(){r.emit("complete",Buffer.concat(e))}}),this._filter.start()};VZt.inherits(KZt,gBe)});var Kx=E((y9r,xBe)=>{"use strict";xBe.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}});var FG=E((x9r,bBe)=>{"use strict";var WG=[];(function(){for(let t=0;t<256;t++){let e=t;for(let r=0;r<8;r++)e&1?e=3988292384^e>>>1:e=e>>>1;WG[t]=e}})();var $G=bBe.exports=function(){this._crc=-1};$G.prototype.write=function(t){for(let e=0;e<t.length;e++)this._crc=WG[(this._crc^t[e])&255]^this._crc>>>8;return!0};$G.prototype.crc32=function(){return this._crc^-1};$G.crc32=function(t){let e=-1;for(let r=0;r<t.length;r++)e=WG[(e^t[r])&255]^e>>>8;return e^-1}});var UG=E((b9r,EBe)=>{"use strict";var Ps=Kx(),YZt=FG(),ti=EBe.exports=function(t,e){this._options=t,t.checkCRC=t.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[Ps.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[Ps.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[Ps.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[Ps.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[Ps.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[Ps.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.finished=e.finished,this.simpleTransparency=e.simpleTransparency,this.headersFinished=e.headersFinished||function(){}};ti.prototype.start=function(){this.read(Ps.PNG_SIGNATURE.length,this._parseSignature.bind(this))};ti.prototype._parseSignature=function(t){let e=Ps.PNG_SIGNATURE;for(let r=0;r<e.length;r++)if(t[r]!==e[r]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))};ti.prototype._parseChunkBegin=function(t){let e=t.readUInt32BE(0),r=t.readUInt32BE(4),n="";for(let i=4;i<8;i++)n+=String.fromCharCode(t[i]);let s=!!(t[4]&32);if(!this._hasIHDR&&r!==Ps.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new YZt,this._crc.write(Buffer.from(n)),this._chunks[r])return this._chunks[r](e);if(!s){this.error(new Error("Unsupported critical chunk type "+n));return}this.read(e+4,this._skipChunk.bind(this))};ti.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))};ti.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))};ti.prototype._parseChunkEnd=function(t){let e=t.readInt32BE(0),r=this._crc.crc32();if(this._options.checkCRC&&r!==e){this.error(new Error("Crc error - "+e+" - "+r));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))};ti.prototype._handleIHDR=function(t){this.read(t,this._parseIHDR.bind(this))};ti.prototype._parseIHDR=function(t){this._crc.write(t);let e=t.readUInt32BE(0),r=t.readUInt32BE(4),n=t[8],s=t[9],i=t[10],a=t[11],o=t[12];if(n!==8&&n!==4&&n!==2&&n!==1&&n!==16){this.error(new Error("Unsupported bit depth "+n));return}if(!(s in Ps.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(i!==0){this.error(new Error("Unsupported compression method"));return}if(a!==0){this.error(new Error("Unsupported filter method"));return}if(o!==0&&o!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=s;let c=Ps.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:e,height:r,depth:n,interlace:!!o,palette:!!(s&Ps.COLORTYPE_PALETTE),color:!!(s&Ps.COLORTYPE_COLOR),alpha:!!(s&Ps.COLORTYPE_ALPHA),bpp:c,colorType:s}),this._handleChunkEnd()};ti.prototype._handlePLTE=function(t){this.read(t,this._parsePLTE.bind(this))};ti.prototype._parsePLTE=function(t){this._crc.write(t);let e=Math.floor(t.length/3);for(let r=0;r<e;r++)this._palette.push([t[r*3],t[r*3+1],t[r*3+2],255]);this.palette(this._palette),this._handleChunkEnd()};ti.prototype._handleTRNS=function(t){this.simpleTransparency(),this.read(t,this._parseTRNS.bind(this))};ti.prototype._parseTRNS=function(t){if(this._crc.write(t),this._colorType===Ps.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(t.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let e=0;e<t.length;e++)this._palette[e][3]=t[e];this.palette(this._palette)}this._colorType===Ps.COLORTYPE_GRAYSCALE&&this.transColor([t.readUInt16BE(0)]),this._colorType===Ps.COLORTYPE_COLOR&&this.transColor([t.readUInt16BE(0),t.readUInt16BE(2),t.readUInt16BE(4)]),this._handleChunkEnd()};ti.prototype._handleGAMA=function(t){this.read(t,this._parseGAMA.bind(this))};ti.prototype._parseGAMA=function(t){this._crc.write(t),this.gamma(t.readUInt32BE(0)/Ps.GAMMA_DIVISION),this._handleChunkEnd()};ti.prototype._handleIDAT=function(t){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-t,this._parseIDAT.bind(this,t))};ti.prototype._parseIDAT=function(t,e){if(this._crc.write(e),this._colorType===Ps.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(e);let r=t-e.length;r>0?this._handleIDAT(r):this._handleChunkEnd()};ti.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))};ti.prototype._parseIEND=function(t){this._crc.write(t),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}});var qG=E(SBe=>{"use strict";var _Be=LG(),JZt=[function(){},function(t,e,r,n){if(n===e.length)throw new Error("Ran out of data");let s=e[n];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=255},function(t,e,r,n){if(n+1>=e.length)throw new Error("Ran out of data");let s=e[n];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=e[n+1]},function(t,e,r,n){if(n+2>=e.length)throw new Error("Ran out of data");t[r]=e[n],t[r+1]=e[n+1],t[r+2]=e[n+2],t[r+3]=255},function(t,e,r,n){if(n+3>=e.length)throw new Error("Ran out of data");t[r]=e[n],t[r+1]=e[n+1],t[r+2]=e[n+2],t[r+3]=e[n+3]}],XZt=[function(){},function(t,e,r,n){let s=e[0];t[r]=s,t[r+1]=s,t[r+2]=s,t[r+3]=n},function(t,e,r){let n=e[0];t[r]=n,t[r+1]=n,t[r+2]=n,t[r+3]=e[1]},function(t,e,r,n){t[r]=e[0],t[r+1]=e[1],t[r+2]=e[2],t[r+3]=n},function(t,e,r){t[r]=e[0],t[r+1]=e[1],t[r+2]=e[2],t[r+3]=e[3]}];function ZZt(t,e){let r=[],n=0;function s(){if(n===t.length)throw new Error("Ran out of data");let i=t[n];n++;let a,o,c,u,l,d,f,p;switch(e){default:throw new Error("unrecognised depth");case 16:f=t[n],n++,r.push((i<<8)+f);break;case 4:f=i&15,p=i>>4,r.push(p,f);break;case 2:l=i&3,d=i>>2&3,f=i>>4&3,p=i>>6&3,r.push(p,f,d,l);break;case 1:a=i&1,o=i>>1&1,c=i>>2&1,u=i>>3&1,l=i>>4&1,d=i>>5&1,f=i>>6&1,p=i>>7&1,r.push(p,f,d,l,u,c,o,a);break}}return{get:function(i){for(;r.length<i;)s();let a=r.slice(0,i);return r=r.slice(i),a},resetAfterLine:function(){r.length=0},end:function(){if(n!==t.length)throw new Error("extra data found")}}}function eer(t,e,r,n,s,i){let a=t.width,o=t.height,c=t.index;for(let u=0;u<o;u++)for(let l=0;l<a;l++){let d=r(l,u,c);JZt[n](e,s,d,i),i+=n}return i}function ter(t,e,r,n,s,i){let a=t.width,o=t.height,c=t.index;for(let u=0;u<o;u++){for(let l=0;l<a;l++){let d=s.get(n),f=r(l,u,c);XZt[n](e,d,f,i)}s.resetAfterLine()}}SBe.dataToBitMap=function(t,e){let r=e.width,n=e.height,s=e.depth,i=e.bpp,a=e.interlace,o;s!==8&&(o=ZZt(t,s));let c;s<=8?c=Buffer.alloc(r*n*4):c=new Uint16Array(r*n*4);let u=Math.pow(2,s)-1,l=0,d,f;if(a)d=_Be.getImagePasses(r,n),f=_Be.getInterlaceIterator(r,n);else{let p=0;f=function(){let m=p;return p+=4,m},d=[{width:r,height:n}]}for(let p=0;p<d.length;p++)s===8?l=eer(d[p],c,f,i,t,l):ter(d[p],c,f,i,o,u);if(s===8){if(l!==t.length)throw new Error("extra data found")}else o.end();return c}});var jG=E((_9r,vBe)=>{"use strict";function rer(t,e,r,n,s){let i=0;for(let a=0;a<n;a++)for(let o=0;o<r;o++){let c=s[t[i]];if(!c)throw new Error("index "+t[i]+" not in palette");for(let u=0;u<4;u++)e[i+u]=c[u];i+=4}}function ner(t,e,r,n,s){let i=0;for(let a=0;a<n;a++)for(let o=0;o<r;o++){let c=!1;if(s.length===1?s[0]===t[i]&&(c=!0):s[0]===t[i]&&s[1]===t[i+1]&&s[2]===t[i+2]&&(c=!0),c)for(let u=0;u<4;u++)e[i+u]=0;i+=4}}function ser(t,e,r,n,s){let i=255,a=Math.pow(2,s)-1,o=0;for(let c=0;c<n;c++)for(let u=0;u<r;u++){for(let l=0;l<4;l++)e[o+l]=Math.floor(t[o+l]*i/a+.5);o+=4}}vBe.exports=function(t,e){let r=e.depth,n=e.width,s=e.height,i=e.colorType,a=e.transColor,o=e.palette,c=t;return i===3?rer(t,c,n,s,o):(a&&ner(t,c,n,s,a),r!==8&&(r===16&&(c=Buffer.alloc(n*s*4)),ser(t,c,n,s,r))),c}});var TBe=E((S9r,IBe)=>{"use strict";var ier=require("util"),HG=require("zlib"),CBe=DG(),aer=yBe(),oer=UG(),cer=qG(),uer=jG(),yl=IBe.exports=function(t){CBe.call(this),this._parser=new oer(t,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=t,this.writable=!0,this._parser.start()};ier.inherits(yl,CBe);yl.prototype._handleError=function(t){this.emit("error",t),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0};yl.prototype._inflateData=function(t){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=HG.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let r=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,n=Math.max(r,HG.Z_MIN_CHUNK);this._inflate=HG.createInflate({chunkSize:n});let s=r,i=this.emit.bind(this,"error");this._inflate.on("error",function(o){s&&i(o)}),this._filter.on("complete",this._complete.bind(this));let a=this._filter.write.bind(this._filter);this._inflate.on("data",function(o){s&&(o.length>s&&(o=o.slice(0,s)),s-=o.length,a(o))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(t)};yl.prototype._handleMetaData=function(t){this._metaData=t,this._bitmapInfo=Object.create(t),this._filter=new aer(this._bitmapInfo)};yl.prototype._handleTransColor=function(t){this._bitmapInfo.transColor=t};yl.prototype._handlePalette=function(t){this._bitmapInfo.palette=t};yl.prototype._simpleTransparency=function(){this._metaData.alpha=!0};yl.prototype._headersFinished=function(){this.emit("metadata",this._metaData)};yl.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))};yl.prototype._complete=function(t){if(this.errord)return;let e;try{let r=cer.dataToBitMap(t,this._bitmapInfo);e=uer(r,this._bitmapInfo),r=null}catch(r){this._handleError(r);return}this.emit("parsed",e)}});var RBe=E((v9r,wBe)=>{"use strict";var xc=Kx();wBe.exports=function(t,e,r,n){let s=[xc.COLORTYPE_COLOR_ALPHA,xc.COLORTYPE_ALPHA].indexOf(n.colorType)!==-1;if(n.colorType===n.inputColorType){let m=function(){let h=new ArrayBuffer(2);return new DataView(h).setInt16(0,256,!0),new Int16Array(h)[0]!==256}();if(n.bitDepth===8||n.bitDepth===16&&m)return t}let i=n.bitDepth!==16?t:new Uint16Array(t.buffer),a=255,o=xc.COLORTYPE_TO_BPP_MAP[n.inputColorType];o===4&&!n.inputHasAlpha&&(o=3);let c=xc.COLORTYPE_TO_BPP_MAP[n.colorType];n.bitDepth===16&&(a=65535,c*=2);let u=Buffer.alloc(e*r*c),l=0,d=0,f=n.bgColor||{};f.red===void 0&&(f.red=a),f.green===void 0&&(f.green=a),f.blue===void 0&&(f.blue=a);function p(){let m,h,A,g=a;switch(n.inputColorType){case xc.COLORTYPE_COLOR_ALPHA:g=i[l+3],m=i[l],h=i[l+1],A=i[l+2];break;case xc.COLORTYPE_COLOR:m=i[l],h=i[l+1],A=i[l+2];break;case xc.COLORTYPE_ALPHA:g=i[l+1],m=i[l],h=m,A=m;break;case xc.COLORTYPE_GRAYSCALE:m=i[l],h=m,A=m;break;default:throw new Error("input color type:"+n.inputColorType+" is not supported at present")}return n.inputHasAlpha&&(s||(g/=a,m=Math.min(Math.max(Math.round((1-g)*f.red+g*m),0),a),h=Math.min(Math.max(Math.round((1-g)*f.green+g*h),0),a),A=Math.min(Math.max(Math.round((1-g)*f.blue+g*A),0),a))),{red:m,green:h,blue:A,alpha:g}}for(let m=0;m<r;m++)for(let h=0;h<e;h++){let A=p(i,l);switch(n.colorType){case xc.COLORTYPE_COLOR_ALPHA:case xc.COLORTYPE_COLOR:n.bitDepth===8?(u[d]=A.red,u[d+1]=A.green,u[d+2]=A.blue,s&&(u[d+3]=A.alpha)):(u.writeUInt16BE(A.red,d),u.writeUInt16BE(A.green,d+2),u.writeUInt16BE(A.blue,d+4),s&&u.writeUInt16BE(A.alpha,d+6));break;case xc.COLORTYPE_ALPHA:case xc.COLORTYPE_GRAYSCALE:{let g=(A.red+A.green+A.blue)/3;n.bitDepth===8?(u[d]=g,s&&(u[d+1]=A.alpha)):(u.writeUInt16BE(g,d),s&&u.writeUInt16BE(A.alpha,d+2));break}default:throw new Error("unrecognised color Type "+n.colorType)}l+=o,d+=c}return u}});var PBe=E((C9r,OBe)=>{"use strict";var NBe=BG();function ler(t,e,r,n,s){for(let i=0;i<r;i++)n[s+i]=t[e+i]}function der(t,e,r){let n=0,s=e+r;for(let i=e;i<s;i++)n+=Math.abs(t[i]);return n}function fer(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=t[e+a]-o;n[s+a]=c}}function per(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=t[e+i]-a;s+=Math.abs(o)}return s}function mer(t,e,r,n,s){for(let i=0;i<r;i++){let a=e>0?t[e+i-r]:0,o=t[e+i]-a;n[s+i]=o}}function her(t,e,r){let n=0,s=e+r;for(let i=e;i<s;i++){let a=e>0?t[i-r]:0,o=t[i]-a;n+=Math.abs(o)}return n}function ger(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=e>0?t[e+a-r]:0,u=t[e+a]-(o+c>>1);n[s+a]=u}}function Aer(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=e>0?t[e+i-r]:0,c=t[e+i]-(a+o>>1);s+=Math.abs(c)}return s}function yer(t,e,r,n,s,i){for(let a=0;a<r;a++){let o=a>=i?t[e+a-i]:0,c=e>0?t[e+a-r]:0,u=e>0&&a>=i?t[e+a-(r+i)]:0,l=t[e+a]-NBe(o,c,u);n[s+a]=l}}function xer(t,e,r,n){let s=0;for(let i=0;i<r;i++){let a=i>=n?t[e+i-n]:0,o=e>0?t[e+i-r]:0,c=e>0&&i>=n?t[e+i-(r+n)]:0,u=t[e+i]-NBe(a,o,c);s+=Math.abs(u)}return s}var ber={0:ler,1:fer,2:mer,3:ger,4:yer},Eer={0:der,1:per,2:her,3:Aer,4:xer};OBe.exports=function(t,e,r,n,s){let i;if(!("filterType"in n)||n.filterType===-1)i=[0,1,2,3,4];else if(typeof n.filterType=="number")i=[n.filterType];else throw new Error("unrecognised filter types");n.bitDepth===16&&(s*=2);let a=e*s,o=0,c=0,u=Buffer.alloc((a+1)*r),l=i[0];for(let d=0;d<r;d++){if(i.length>1){let f=1/0;for(let p=0;p<i.length;p++){let m=Eer[i[p]](t,c,a,s);m<f&&(l=i[p],f=m)}}u[o]=l,o++,ber[l](t,c,a,u,o,s),o+=a,c+=a}return u}});var QG=E((I9r,DBe)=>{"use strict";var Hi=Kx(),_er=FG(),Ser=RBe(),ver=PBe(),Cer=require("zlib"),_0=DBe.exports=function(t){if(this._options=t,t.deflateChunkSize=t.deflateChunkSize||32*1024,t.deflateLevel=t.deflateLevel!=null?t.deflateLevel:9,t.deflateStrategy=t.deflateStrategy!=null?t.deflateStrategy:3,t.inputHasAlpha=t.inputHasAlpha!=null?t.inputHasAlpha:!0,t.deflateFactory=t.deflateFactory||Cer.createDeflate,t.bitDepth=t.bitDepth||8,t.colorType=typeof t.colorType=="number"?t.colorType:Hi.COLORTYPE_COLOR_ALPHA,t.inputColorType=typeof t.inputColorType=="number"?t.inputColorType:Hi.COLORTYPE_COLOR_ALPHA,[Hi.COLORTYPE_GRAYSCALE,Hi.COLORTYPE_COLOR,Hi.COLORTYPE_COLOR_ALPHA,Hi.COLORTYPE_ALPHA].indexOf(t.colorType)===-1)throw new Error("option color type:"+t.colorType+" is not supported at present");if([Hi.COLORTYPE_GRAYSCALE,Hi.COLORTYPE_COLOR,Hi.COLORTYPE_COLOR_ALPHA,Hi.COLORTYPE_ALPHA].indexOf(t.inputColorType)===-1)throw new Error("option input color type:"+t.inputColorType+" is not supported at present");if(t.bitDepth!==8&&t.bitDepth!==16)throw new Error("option bit depth:"+t.bitDepth+" is not supported at present")};_0.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}};_0.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())};_0.prototype.filterData=function(t,e,r){let n=Ser(t,e,r,this._options),s=Hi.COLORTYPE_TO_BPP_MAP[this._options.colorType];return ver(n,e,r,this._options,s)};_0.prototype._packChunk=function(t,e){let r=e?e.length:0,n=Buffer.alloc(r+12);return n.writeUInt32BE(r,0),n.writeUInt32BE(t,4),e&&e.copy(n,8),n.writeInt32BE(_er.crc32(n.slice(4,n.length-4)),n.length-4),n};_0.prototype.packGAMA=function(t){let e=Buffer.alloc(4);return e.writeUInt32BE(Math.floor(t*Hi.GAMMA_DIVISION),0),this._packChunk(Hi.TYPE_gAMA,e)};_0.prototype.packIHDR=function(t,e){let r=Buffer.alloc(13);return r.writeUInt32BE(t,0),r.writeUInt32BE(e,4),r[8]=this._options.bitDepth,r[9]=this._options.colorType,r[10]=0,r[11]=0,r[12]=0,this._packChunk(Hi.TYPE_IHDR,r)};_0.prototype.packIDAT=function(t){return this._packChunk(Hi.TYPE_IDAT,t)};_0.prototype.packIEND=function(){return this._packChunk(Hi.TYPE_IEND,null)}});var MBe=E((T9r,BBe)=>{"use strict";var Ier=require("util"),kBe=require("stream"),Ter=Kx(),wer=QG(),LBe=BBe.exports=function(t){kBe.call(this);let e=t||{};this._packer=new wer(e),this._deflate=this._packer.createDeflate(),this.readable=!0};Ier.inherits(LBe,kBe);LBe.prototype.pack=function(t,e,r,n){this.emit("data",Buffer.from(Ter.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,r)),n&&this.emit("data",this._packer.packGAMA(n));let s=this._packer.filterData(t,e,r);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(i){this.emit("data",this._packer.packIDAT(i))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(s)}});var jBe=E((qv,qBe)=>{"use strict";var WBe=require("assert").ok,Yx=require("zlib"),Rer=require("util"),$Be=require("buffer").kMaxLength;function $h(t){if(!(this instanceof $h))return new $h(t);t&&t.chunkSize<Yx.Z_MIN_CHUNK&&(t.chunkSize=Yx.Z_MIN_CHUNK),Yx.Inflate.call(this,t),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,t&&t.maxLength!=null&&(this._maxLength=t.maxLength)}function Ner(t){return new $h(t)}function FBe(t,e){e&&process.nextTick(e),t._handle&&(t._handle.close(),t._handle=null)}$h.prototype._processChunk=function(t,e,r){if(typeof r=="function")return Yx.Inflate._processChunk.call(this,t,e,r);let n=this,s=t&&t.length,i=this._chunkSize-this._offset,a=this._maxLength,o=0,c=[],u=0,l;this.on("error",function(m){l=m});function d(m,h){if(n._hadError)return;let A=i-h;if(WBe(A>=0,"have should not go down"),A>0){let g=n._buffer.slice(n._offset,n._offset+A);if(n._offset+=A,g.length>a&&(g=g.slice(0,a)),c.push(g),u+=g.length,a-=g.length,a===0)return!1}return(h===0||n._offset>=n._chunkSize)&&(i=n._chunkSize,n._offset=0,n._buffer=Buffer.allocUnsafe(n._chunkSize)),h===0?(o+=s-m,s=m,!0):!1}WBe(this._handle,"zlib binding closed");let f;do f=this._handle.writeSync(e,t,o,s,this._buffer,this._offset,i),f=f||this._writeState;while(!this._hadError&&d(f[0],f[1]));if(this._hadError)throw l;if(u>=$Be)throw FBe(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+$Be.toString(16)+" bytes");let p=Buffer.concat(c,u);return FBe(this),p};Rer.inherits($h,Yx.Inflate);function Oer(t,e){if(typeof e=="string"&&(e=Buffer.from(e)),!(e instanceof Buffer))throw new TypeError("Not a string or buffer");let r=t._finishFlushFlag;return r==null&&(r=Yx.Z_FINISH),t._processChunk(e,r)}function UBe(t,e){return Oer(new $h(e),t)}qBe.exports=qv=UBe;qv.Inflate=$h;qv.createInflate=Ner;qv.inflateSync=UBe});var GG=E((w9r,QBe)=>{"use strict";var HBe=QBe.exports=function(t){this._buffer=t,this._reads=[]};HBe.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e})};HBe.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let t=this._reads[0];if(this._buffer.length&&(this._buffer.length>=t.length||t.allowLess)){this._reads.shift();let e=this._buffer;this._buffer=e.slice(t.length),t.func.call(this,e.slice(0,t.length))}else break}if(this._reads.length>0)return new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)return new Error("unrecognised content at end of stream")}});var VBe=E(GBe=>{"use strict";var Per=GG(),Der=MG();GBe.process=function(t,e){let r=[],n=new Per(t);return new Der(e,{read:n.read.bind(n),write:function(i){r.push(i)},complete:function(){}}).start(),n.process(),Buffer.concat(r)}});var JBe=E((N9r,YBe)=>{"use strict";var zBe=!0,KBe=require("zlib"),ker=jBe();KBe.deflateSync||(zBe=!1);var Ler=GG(),Ber=VBe(),Mer=UG(),Wer=qG(),$er=jG();YBe.exports=function(t,e){if(!zBe)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let r;function n(x){r=x}let s;function i(x){s=x}function a(x){s.transColor=x}function o(x){s.palette=x}function c(){s.alpha=!0}let u;function l(x){u=x}let d=[];function f(x){d.push(x)}let p=new Ler(t);if(new Mer(e,{read:p.read.bind(p),error:n,metadata:i,gamma:l,palette:o,transColor:a,inflateData:f,simpleTransparency:c}).start(),p.process(),r)throw r;let h=Buffer.concat(d);d.length=0;let A;if(s.interlace)A=KBe.inflateSync(h);else{let v=((s.width*s.bpp*s.depth+7>>3)+1)*s.height;A=ker(h,{chunkSize:v,maxLength:v})}if(h=null,!A||!A.length)throw new Error("bad png - invalid inflate data response");let g=Ber.process(A,s);h=null;let b=Wer.dataToBitMap(g,s);g=null;let y=$er(b,s);return s.data=y,s.gamma=u||0,s}});var t4e=E((O9r,e4e)=>{"use strict";var XBe=!0,ZBe=require("zlib");ZBe.deflateSync||(XBe=!1);var Fer=Kx(),Uer=QG();e4e.exports=function(t,e){if(!XBe)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let r=e||{},n=new Uer(r),s=[];s.push(Buffer.from(Fer.PNG_SIGNATURE)),s.push(n.packIHDR(t.width,t.height)),t.gamma&&s.push(n.packGAMA(t.gamma));let i=n.filterData(t.data,t.width,t.height),a=ZBe.deflateSync(i,n.getDeflateOptions());if(i=null,!a||!a.length)throw new Error("bad png - invalid compressed data response");return s.push(n.packIDAT(a)),s.push(n.packIEND()),Buffer.concat(s)}});var r4e=E(VG=>{"use strict";var qer=JBe(),jer=t4e();VG.read=function(t,e){return qer(t,e||{})};VG.write=function(t,e){return jer(t,e)}});var i4e=E(s4e=>{"use strict";var Her=require("util"),n4e=require("stream"),Qer=TBe(),Ger=MBe(),Ver=r4e(),da=s4e.PNG=function(t){n4e.call(this),t=t||{},this.width=t.width|0,this.height=t.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new Qer(t),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(e){this.data=e,this.emit("parsed",e)}.bind(this)),this._packer=new Ger(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};Her.inherits(da,n4e);da.sync=Ver;da.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)};da.prototype.parse=function(t,e){if(e){let r,n;r=function(s){this.removeListener("error",n),this.data=s,e(null,this)}.bind(this),n=function(s){this.removeListener("parsed",r),e(s,null)}.bind(this),this.once("parsed",r),this.once("error",n)}return this.end(t),this};da.prototype.write=function(t){return this._parser.write(t),!0};da.prototype.end=function(t){this._parser.end(t)};da.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.emit("metadata",t)};da.prototype._gamma=function(t){this.gamma=t};da.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")};da.bitblt=function(t,e,r,n,s,i,a,o){if(r|=0,n|=0,s|=0,i|=0,a|=0,o|=0,r>t.width||n>t.height||r+s>t.width||n+i>t.height)throw new Error("bitblt reading outside image");if(a>e.width||o>e.height||a+s>e.width||o+i>e.height)throw new Error("bitblt writing outside image");for(let c=0;c<i;c++)t.data.copy(e.data,(o+c)*e.width+a<<2,(n+c)*t.width+r<<2,(n+c)*t.width+r+s<<2)};da.prototype.bitblt=function(t,e,r,n,s,i,a){return da.bitblt(this,t,e,r,n,s,i,a),this};da.adjustGamma=function(t){if(t.gamma){for(let e=0;e<t.height;e++)for(let r=0;r<t.width;r++){let n=t.width*e+r<<2;for(let s=0;s<3;s++){let i=t.data[n+s]/255;i=Math.pow(i,1/2.2/t.gamma),t.data[n+s]=Math.round(i*255)}}t.gamma=0}};da.prototype.adjustGamma=function(){da.adjustGamma(this)}});var jv=E(Fh=>{function a4e(t){if(typeof t=="number"&&(t=t.toString()),typeof t!="string")throw new Error("Color should be defined as hex string");let e=t.slice().replace("#","").split("");if(e.length<3||e.length===5||e.length>8)throw new Error("Invalid hex color: "+t);(e.length===3||e.length===4)&&(e=Array.prototype.concat.apply([],e.map(function(n){return[n,n]}))),e.length===6&&e.push("F","F");let r=parseInt(e.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+e.slice(0,6).join("")}}Fh.getOptions=function(e){e||(e={}),e.color||(e.color={});let r=typeof e.margin>"u"||e.margin===null||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,s=e.scale||4;return{width:n,scale:n?4:s,margin:r,color:{dark:a4e(e.color.dark||"#000000ff"),light:a4e(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}};Fh.getScale=function(e,r){return r.width&&r.width>=e+r.margin*2?r.width/(e+r.margin*2):r.scale};Fh.getImageWidth=function(e,r){let n=Fh.getScale(e,r);return Math.floor((e+r.margin*2)*n)};Fh.qrToImageData=function(e,r,n){let s=r.modules.size,i=r.modules.data,a=Fh.getScale(s,n),o=Math.floor((s+n.margin*2)*a),c=n.margin*a,u=[n.color.light,n.color.dark];for(let l=0;l<o;l++)for(let d=0;d<o;d++){let f=(l*o+d)*4,p=n.color.light;if(l>=c&&d>=c&&l<o-c&&d<o-c){let m=Math.floor((l-c)/a),h=Math.floor((d-c)/a);p=u[i[m*s+h]?1:0]}e[f++]=p.r,e[f++]=p.g,e[f++]=p.b,e[f]=p.a}}});var o4e=E(xl=>{var zer=require("fs"),Ker=i4e().PNG,zG=jv();xl.render=function(e,r){let n=zG.getOptions(r),s=n.rendererOpts,i=zG.getImageWidth(e.modules.size,n);s.width=i,s.height=i;let a=new Ker(s);return zG.qrToImageData(a.data,e,n),a};xl.renderToDataURL=function(e,r,n){typeof n>"u"&&(n=r,r=void 0),xl.renderToBuffer(e,r,function(s,i){s&&n(s);let a="data:image/png;base64,";a+=i.toString("base64"),n(null,a)})};xl.renderToBuffer=function(e,r,n){typeof n>"u"&&(n=r,r=void 0);let s=xl.render(e,r),i=[];s.on("error",n),s.on("data",function(a){i.push(a)}),s.on("end",function(){n(null,Buffer.concat(i))}),s.pack()};xl.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=!1,a=(...c)=>{i||(i=!0,s.apply(null,c))},o=zer.createWriteStream(e);o.on("error",a),o.on("close",a),xl.renderToFileStream(o,r,n)};xl.renderToFileStream=function(e,r,n){xl.render(r,n).pack().pipe(e)}});var c4e=E(Lk=>{var Yer=jv(),Jer={WW:" ",WB:"\u2584",BB:"\u2588",BW:"\u2580"},Xer={BB:" ",BW:"\u2584",WW:"\u2588",WB:"\u2580"};function Zer(t,e,r){return t&&e?r.BB:t&&!e?r.BW:!t&&e?r.WB:r.WW}Lk.render=function(t,e,r){let n=Yer.getOptions(e),s=Jer;(n.color.dark.hex==="#ffffff"||n.color.light.hex==="#000000")&&(s=Xer);let i=t.modules.size,a=t.modules.data,o="",c=Array(i+n.margin*2+1).join(s.WW);c=Array(n.margin/2+1).join(c+`
|
|
`);let u=Array(n.margin+1).join(s.WW);o+=c;for(let l=0;l<i;l+=2){o+=u;for(let d=0;d<i;d++){let f=a[l*i+d],p=a[(l+1)*i+d];o+=Zer(f,p,s)}o+=u+`
|
|
`}return o+=c.slice(0,-1),typeof r=="function"&&r(null,o),o};Lk.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=require("fs"),a=Lk.render(r,n);i.writeFile(e,a,s)}});var l4e=E(u4e=>{u4e.render=function(t,e,r){let n=t.modules.size,s=t.modules.data,i="\x1B[40m \x1B[0m",a="\x1B[47m \x1B[0m",o="",c=Array(n+3).join(a),u=Array(2).join(a);o+=c+`
|
|
`;for(let l=0;l<n;++l){o+=a;for(let d=0;d<n;d++)o+=s[l*n+d]?i:a;o+=u+`
|
|
`}return o+=c+`
|
|
`,typeof r=="function"&&r(null,o),o}});var m4e=E(p4e=>{var etr="\x1B[47m",ttr="\x1B[40m",KG="\x1B[37m",YG="\x1B[30m",Uh="\x1B[0m",rtr=etr+YG,ntr=ttr+KG,str=function(t,e,r){return{"00":Uh+" "+t,"01":Uh+e+"\u2584"+t,"02":Uh+r+"\u2584"+t,10:Uh+e+"\u2580"+t,11:" ",12:"\u2584",20:Uh+r+"\u2580"+t,21:"\u2580",22:"\u2588"}},d4e=function(t,e,r,n){let s=e+1;if(r>=s||n>=s||n<-1||r<-1)return"0";if(r>=e||n>=e||n<0||r<0)return"1";let i=n*e+r;return t[i]?"2":"1"},f4e=function(t,e,r,n){return d4e(t,e,r,n)+d4e(t,e,r,n+1)};p4e.render=function(t,e,r){let n=t.modules.size,s=t.modules.data,i=!!(e&&e.inverse),a=e&&e.inverse?ntr:rtr,u=str(a,i?YG:KG,i?KG:YG),l=Uh+`
|
|
`+a,d=a;for(let f=-1;f<n+1;f+=2){for(let p=-1;p<n;p++)d+=u[f4e(s,n,p,f)];d+=u[f4e(s,n,n,f)]+l}return d+=Uh,typeof r=="function"&&r(null,d),d}});var g4e=E(h4e=>{var itr=l4e(),atr=m4e();h4e.render=function(t,e,r){return e&&e.small?atr.render(t,e,r):itr.render(t,e,r)}});var XG=E(y4e=>{var otr=jv();function A4e(t,e){let r=t.a/255,n=e+'="'+t.hex+'"';return r<1?n+" "+e+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function JG(t,e,r){let n=t+e;return typeof r<"u"&&(n+=" "+r),n}function ctr(t,e,r){let n="",s=0,i=!1,a=0;for(let o=0;o<t.length;o++){let c=Math.floor(o%e),u=Math.floor(o/e);!c&&!i&&(i=!0),t[o]?(a++,o>0&&c>0&&t[o-1]||(n+=i?JG("M",c+r,.5+u+r):JG("m",s,0),s=0,i=!1),c+1<e&&t[o+1]||(n+=JG("h",a),a=0)):s++}return n}y4e.render=function(e,r,n){let s=otr.getOptions(r),i=e.modules.size,a=e.modules.data,o=i+s.margin*2,c=s.color.light.a?"<path "+A4e(s.color.light,"fill")+' d="M0 0h'+o+"v"+o+'H0z"/>':"",u="<path "+A4e(s.color.dark,"stroke")+' d="'+ctr(a,i,s.margin)+'"/>',l='viewBox="0 0 '+o+" "+o+'"',f='<svg xmlns="http://www.w3.org/2000/svg" '+(s.width?'width="'+s.width+'" height="'+s.width+'" ':"")+l+' shape-rendering="crispEdges">'+c+u+`</svg>
|
|
`;return typeof n=="function"&&n(null,f),f}});var x4e=E(Bk=>{var utr=XG();Bk.render=utr.render;Bk.renderToFile=function(e,r,n,s){typeof s>"u"&&(s=n,n=void 0);let i=require("fs"),o='<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+Bk.render(r,n);i.writeFile(e,o,s)}});var b4e=E(Mk=>{var ZG=jv();function ltr(t,e,r){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=r,e.width=r,e.style.height=r+"px",e.style.width=r+"px"}function dtr(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}Mk.render=function(e,r,n){let s=n,i=r;typeof s>"u"&&(!r||!r.getContext)&&(s=r,r=void 0),r||(i=dtr()),s=ZG.getOptions(s);let a=ZG.getImageWidth(e.modules.size,s),o=i.getContext("2d"),c=o.createImageData(a,a);return ZG.qrToImageData(c.data,e,s),ltr(o,i,a),o.putImageData(c,0,0),i};Mk.renderToDataURL=function(e,r,n){let s=n;typeof s>"u"&&(!r||!r.getContext)&&(s=r,r=void 0),s||(s={});let i=Mk.render(e,r,s),a=s.type||"image/png",o=s.rendererOpts||{};return i.toDataURL(a,o.quality)}});var _4e=E(Hv=>{var ftr=pG(),eV=PG(),E4e=b4e(),ptr=XG();function tV(t,e,r,n,s){let i=[].slice.call(arguments,1),a=i.length,o=typeof i[a-1]=="function";if(!o&&!ftr())throw new Error("Callback required as last argument");if(o){if(a<2)throw new Error("Too few arguments provided");a===2?(s=r,r=e,e=n=void 0):a===3&&(e.getContext&&typeof s>"u"?(s=n,n=void 0):(s=n,n=r,r=e,e=void 0))}else{if(a<1)throw new Error("Too few arguments provided");return a===1?(r=e,e=n=void 0):a===2&&!e.getContext&&(n=r,r=e,e=void 0),new Promise(function(c,u){try{let l=eV.create(r,n);c(t(l,e,n))}catch(l){u(l)}})}try{let c=eV.create(r,n);s(null,t(c,e,n))}catch(c){s(c)}}Hv.create=eV.create;Hv.toCanvas=tV.bind(null,E4e.render);Hv.toDataURL=tV.bind(null,E4e.renderToDataURL);Hv.toString=tV.bind(null,function(t,e,r){return ptr.render(t,r)})});var I4e=E(S0=>{var S4e=pG(),rV=PG(),mtr=o4e(),v4e=c4e(),htr=g4e(),C4e=x4e();function Qv(t,e,r){if(typeof t>"u")throw new Error("String required as first argument");if(typeof r>"u"&&(r=e,e={}),typeof r!="function")if(S4e())e=r||{},r=null;else throw new Error("Callback required as last argument");return{opts:e,cb:r}}function gtr(t){return t.slice((t.lastIndexOf(".")-1>>>0)+2).toLowerCase()}function Wk(t){switch(t){case"svg":return C4e;case"txt":case"utf8":return v4e;case"png":case"image/png":default:return mtr}}function Atr(t){switch(t){case"svg":return C4e;case"terminal":return htr;case"utf8":default:return v4e}}function Gv(t,e,r){if(!r.cb)return new Promise(function(n,s){try{let i=rV.create(e,r.opts);return t(i,r.opts,function(a,o){return a?s(a):n(o)})}catch(i){s(i)}});try{let n=rV.create(e,r.opts);return t(n,r.opts,r.cb)}catch(n){r.cb(n)}}S0.create=rV.create;S0.toCanvas=_4e().toCanvas;S0.toString=function(e,r,n){let s=Qv(e,r,n),i=s.opts?s.opts.type:void 0,a=Atr(i);return Gv(a.render,e,s)};S0.toDataURL=function(e,r,n){let s=Qv(e,r,n),i=Wk(s.opts.type);return Gv(i.renderToDataURL,e,s)};S0.toBuffer=function(e,r,n){let s=Qv(e,r,n),i=Wk(s.opts.type);return Gv(i.renderToBuffer,e,s)};S0.toFile=function(e,r,n,s){if(typeof e!="string"||!(typeof r=="string"||typeof r=="object"))throw new Error("Invalid argument");if(arguments.length<3&&!S4e())throw new Error("Too few arguments provided");let i=Qv(r,n,s),a=i.opts.type||gtr(e),c=Wk(a).renderToFile.bind(null,e);return Gv(c,r,i)};S0.toFileStream=function(e,r,n){if(arguments.length<2)throw new Error("Too few arguments provided");let s=Qv(r,n,e.emit.bind(e,"error")),a=Wk("png").renderToFileStream.bind(null,e);Gv(a,r,s)}});var v0=E((Q9r,T4e)=>{T4e.exports=I4e()});var H4e=E((rqr,j4e)=>{j4e.exports=require("util").inspect});var eC=E((nqr,lMe)=>{var xV=typeof Map=="function"&&Map.prototype,lV=Object.getOwnPropertyDescriptor&&xV?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Qk=xV&&lV&&typeof lV.get=="function"?lV.get:null,Q4e=xV&&Map.prototype.forEach,bV=typeof Set=="function"&&Set.prototype,dV=Object.getOwnPropertyDescriptor&&bV?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Gk=bV&&dV&&typeof dV.get=="function"?dV.get:null,G4e=bV&&Set.prototype.forEach,Ttr=typeof WeakMap=="function"&&WeakMap.prototype,Jv=Ttr?WeakMap.prototype.has:null,wtr=typeof WeakSet=="function"&&WeakSet.prototype,Xv=wtr?WeakSet.prototype.has:null,Rtr=typeof WeakRef=="function"&&WeakRef.prototype,V4e=Rtr?WeakRef.prototype.deref:null,Ntr=Boolean.prototype.valueOf,Otr=Object.prototype.toString,Ptr=Function.prototype.toString,Dtr=String.prototype.match,EV=String.prototype.slice,I0=String.prototype.replace,ktr=String.prototype.toUpperCase,z4e=String.prototype.toLowerCase,nMe=RegExp.prototype.test,K4e=Array.prototype.concat,_l=Array.prototype.join,Ltr=Array.prototype.slice,Y4e=Math.floor,mV=typeof BigInt=="function"?BigInt.prototype.valueOf:null,fV=Object.getOwnPropertySymbols,hV=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Jx=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Zv=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Jx||!0)?Symbol.toStringTag:null,sMe=Object.prototype.propertyIsEnumerable,J4e=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function X4e(t,e){if(t===1/0||t===-1/0||t!==t||t&&t>-1e3&&t<1e3||nMe.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof t=="number"){var n=t<0?-Y4e(-t):Y4e(t);if(n!==t){var s=String(n),i=EV.call(e,s.length+1);return I0.call(s,r,"$&_")+"."+I0.call(I0.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return I0.call(e,r,"$&_")}var gV=H4e(),Z4e=gV.custom,eMe=oMe(Z4e)?Z4e:null,iMe={__proto__:null,double:'"',single:"'"},Btr={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};lMe.exports=function t(e,r,n,s){var i=r||{};if(tf(i,"quoteStyle")&&!tf(iMe,i.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(tf(i,"maxStringLength")&&(typeof i.maxStringLength=="number"?i.maxStringLength<0&&i.maxStringLength!==1/0:i.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var a=tf(i,"customInspect")?i.customInspect:!0;if(typeof a!="boolean"&&a!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(tf(i,"indent")&&i.indent!==null&&i.indent!==" "&&!(parseInt(i.indent,10)===i.indent&&i.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(tf(i,"numericSeparator")&&typeof i.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var o=i.numericSeparator;if(typeof e>"u")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return uMe(e,i);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var c=String(e);return o?X4e(e,c):c}if(typeof e=="bigint"){var u=String(e)+"n";return o?X4e(e,u):u}var l=typeof i.depth>"u"?5:i.depth;if(typeof n>"u"&&(n=0),n>=l&&l>0&&typeof e=="object")return AV(e)?"[Array]":"[Object]";var d=err(i,n);if(typeof s>"u")s=[];else if(cMe(s,e)>=0)return"[Circular]";function f(k,B,Z){if(B&&(s=Ltr.call(s),s.push(B)),Z){var W={depth:i.depth};return tf(i,"quoteStyle")&&(W.quoteStyle=i.quoteStyle),t(k,W,n+1,s)}return t(k,i,n+1,s)}if(typeof e=="function"&&!tMe(e)){var p=Qtr(e),m=Hk(e,f);return"[Function"+(p?": "+p:" (anonymous)")+"]"+(m.length>0?" { "+_l.call(m,", ")+" }":"")}if(oMe(e)){var h=Jx?I0.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):hV.call(e);return typeof e=="object"&&!Jx?Yv(h):h}if(Jtr(e)){for(var A="<"+z4e.call(String(e.nodeName)),g=e.attributes||[],b=0;b<g.length;b++)A+=" "+g[b].name+"="+aMe(Mtr(g[b].value),"double",i);return A+=">",e.childNodes&&e.childNodes.length&&(A+="..."),A+="</"+z4e.call(String(e.nodeName))+">",A}if(AV(e)){if(e.length===0)return"[]";var y=Hk(e,f);return d&&!Ztr(y)?"["+yV(y,d)+"]":"[ "+_l.call(y,", ")+" ]"}if($tr(e)){var x=Hk(e,f);return!("cause"in Error.prototype)&&"cause"in e&&!sMe.call(e,"cause")?"{ ["+String(e)+"] "+_l.call(K4e.call("[cause]: "+f(e.cause),x),", ")+" }":x.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+_l.call(x,", ")+" }"}if(typeof e=="object"&&a){if(eMe&&typeof e[eMe]=="function"&&gV)return gV(e,{depth:l-n});if(a!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(Gtr(e)){var v=[];return Q4e&&Q4e.call(e,function(k,B){v.push(f(B,e,!0)+" => "+f(k,e))}),rMe("Map",Qk.call(e),v,d)}if(Ktr(e)){var C=[];return G4e&&G4e.call(e,function(k){C.push(f(k,e))}),rMe("Set",Gk.call(e),C,d)}if(Vtr(e))return pV("WeakMap");if(Ytr(e))return pV("WeakSet");if(ztr(e))return pV("WeakRef");if(Utr(e))return Yv(f(Number(e)));if(jtr(e))return Yv(f(mV.call(e)));if(qtr(e))return Yv(Ntr.call(e));if(Ftr(e))return Yv(f(String(e)));if(typeof window<"u"&&e===window)return"{ [object Window] }";if(typeof globalThis<"u"&&e===globalThis||typeof global<"u"&&e===global)return"{ [object globalThis] }";if(!Wtr(e)&&!tMe(e)){var R=Hk(e,f),w=J4e?J4e(e)===Object.prototype:e instanceof Object||e.constructor===Object,N=e instanceof Object?"":"null prototype",P=!w&&Zv&&Object(e)===e&&Zv in e?EV.call(T0(e),8,-1):N?"Object":"",L=w||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",M=L+(P||N?"["+_l.call(K4e.call([],P||[],N||[]),": ")+"] ":"");return R.length===0?M+"{}":d?M+"{"+yV(R,d)+"}":M+"{ "+_l.call(R,", ")+" }"}return String(e)};function aMe(t,e,r){var n=r.quoteStyle||e,s=iMe[n];return s+t+s}function Mtr(t){return I0.call(String(t),/"/g,""")}function jh(t){return!Zv||!(typeof t=="object"&&(Zv in t||typeof t[Zv]<"u"))}function AV(t){return T0(t)==="[object Array]"&&jh(t)}function Wtr(t){return T0(t)==="[object Date]"&&jh(t)}function tMe(t){return T0(t)==="[object RegExp]"&&jh(t)}function $tr(t){return T0(t)==="[object Error]"&&jh(t)}function Ftr(t){return T0(t)==="[object String]"&&jh(t)}function Utr(t){return T0(t)==="[object Number]"&&jh(t)}function qtr(t){return T0(t)==="[object Boolean]"&&jh(t)}function oMe(t){if(Jx)return t&&typeof t=="object"&&t instanceof Symbol;if(typeof t=="symbol")return!0;if(!t||typeof t!="object"||!hV)return!1;try{return hV.call(t),!0}catch{}return!1}function jtr(t){if(!t||typeof t!="object"||!mV)return!1;try{return mV.call(t),!0}catch{}return!1}var Htr=Object.prototype.hasOwnProperty||function(t){return t in this};function tf(t,e){return Htr.call(t,e)}function T0(t){return Otr.call(t)}function Qtr(t){if(t.name)return t.name;var e=Dtr.call(Ptr.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function cMe(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}function Gtr(t){if(!Qk||!t||typeof t!="object")return!1;try{Qk.call(t);try{Gk.call(t)}catch{return!0}return t instanceof Map}catch{}return!1}function Vtr(t){if(!Jv||!t||typeof t!="object")return!1;try{Jv.call(t,Jv);try{Xv.call(t,Xv)}catch{return!0}return t instanceof WeakMap}catch{}return!1}function ztr(t){if(!V4e||!t||typeof t!="object")return!1;try{return V4e.call(t),!0}catch{}return!1}function Ktr(t){if(!Gk||!t||typeof t!="object")return!1;try{Gk.call(t);try{Qk.call(t)}catch{return!0}return t instanceof Set}catch{}return!1}function Ytr(t){if(!Xv||!t||typeof t!="object")return!1;try{Xv.call(t,Xv);try{Jv.call(t,Jv)}catch{return!0}return t instanceof WeakSet}catch{}return!1}function Jtr(t){return!t||typeof t!="object"?!1:typeof HTMLElement<"u"&&t instanceof HTMLElement?!0:typeof t.nodeName=="string"&&typeof t.getAttribute=="function"}function uMe(t,e){if(t.length>e.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return uMe(EV.call(t,0,e.maxStringLength),e)+n}var s=Btr[e.quoteStyle||"single"];s.lastIndex=0;var i=I0.call(I0.call(t,s,"\\$1"),/[\x00-\x1f]/g,Xtr);return aMe(i,"single",e)}function Xtr(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+ktr.call(e.toString(16))}function Yv(t){return"Object("+t+")"}function pV(t){return t+" { ? }"}function rMe(t,e,r,n){var s=n?yV(r,n):_l.call(r,", ");return t+" ("+e+") {"+s+"}"}function Ztr(t){for(var e=0;e<t.length;e++)if(cMe(t[e],`
|
|
`)>=0)return!1;return!0}function err(t,e){var r;if(t.indent===" ")r=" ";else if(typeof t.indent=="number"&&t.indent>0)r=_l.call(Array(t.indent+1)," ");else return null;return{base:r,prev:_l.call(Array(e+1),r)}}function yV(t,e){if(t.length===0)return"";var r=`
|
|
`+e.prev+e.base;return r+_l.call(t,","+r)+`
|
|
`+e.prev}function Hk(t,e){var r=AV(t),n=[];if(r){n.length=t.length;for(var s=0;s<t.length;s++)n[s]=tf(t,s)?e(t[s],t):""}var i=typeof fV=="function"?fV(t):[],a;if(Jx){a={};for(var o=0;o<i.length;o++)a["$"+i[o]]=i[o]}for(var c in t)tf(t,c)&&(r&&String(Number(c))===c&&c<t.length||Jx&&a["$"+c]instanceof Symbol||(nMe.call(/[^\w$]/,c)?n.push(e(c,t)+": "+e(t[c],t)):n.push(c+": "+e(t[c],t))));if(typeof fV=="function")for(var u=0;u<i.length;u++)sMe.call(t,i[u])&&n.push("["+e(i[u])+"]: "+e(t[i[u]],t));return n}});var fMe=E((sqr,dMe)=>{"use strict";var trr=eC(),rrr=Vp(),Vk=function(t,e,r){for(var n=t,s;(s=n.next)!=null;n=s)if(s.key===e)return n.next=s.next,r||(s.next=t.next,t.next=s),s},nrr=function(t,e){if(t){var r=Vk(t,e);return r&&r.value}},srr=function(t,e,r){var n=Vk(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}},irr=function(t,e){return t?!!Vk(t,e):!1},arr=function(t,e){if(t)return Vk(t,e,!0)};dMe.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new rrr("Side channel does not contain "+trr(n))},delete:function(n){var s=e&&e.next,i=arr(e,n);return i&&s&&s===i&&(e=void 0),!!i},get:function(n){return nrr(e,n)},has:function(n){return irr(e,n)},set:function(n,s){e||(e={next:void 0}),srr(e,n,s)}};return r}});var _V=E((iqr,hMe)=>{"use strict";var pMe=MS(),mMe=Dj(),orr=mMe([pMe("%String.prototype.indexOf%")]);hMe.exports=function(e,r){var n=pMe(e,!!r);return typeof n=="function"&&orr(e,".prototype.")>-1?mMe([n]):n}});var SV=E((aqr,AMe)=>{"use strict";var crr=MS(),tC=_V(),urr=eC(),lrr=Vp(),gMe=crr("%Map%",!0),drr=tC("Map.prototype.get",!0),frr=tC("Map.prototype.set",!0),prr=tC("Map.prototype.has",!0),mrr=tC("Map.prototype.delete",!0),hrr=tC("Map.prototype.size",!0);AMe.exports=!!gMe&&function(){var e,r={assert:function(n){if(!r.has(n))throw new lrr("Side channel does not contain "+urr(n))},delete:function(n){if(e){var s=mrr(e,n);return hrr(e)===0&&(e=void 0),s}return!1},get:function(n){if(e)return drr(e,n)},has:function(n){return e?prr(e,n):!1},set:function(n,s){e||(e=new gMe),frr(e,n,s)}};return r}});var xMe=E((oqr,yMe)=>{"use strict";var grr=MS(),Kk=_V(),Arr=eC(),zk=SV(),yrr=Vp(),Xx=grr("%WeakMap%",!0),xrr=Kk("WeakMap.prototype.get",!0),brr=Kk("WeakMap.prototype.set",!0),Err=Kk("WeakMap.prototype.has",!0),_rr=Kk("WeakMap.prototype.delete",!0);yMe.exports=Xx?function(){var e,r,n={assert:function(s){if(!n.has(s))throw new yrr("Side channel does not contain "+Arr(s))},delete:function(s){if(Xx&&s&&(typeof s=="object"||typeof s=="function")){if(e)return _rr(e,s)}else if(zk&&r)return r.delete(s);return!1},get:function(s){return Xx&&s&&(typeof s=="object"||typeof s=="function")&&e?xrr(e,s):r&&r.get(s)},has:function(s){return Xx&&s&&(typeof s=="object"||typeof s=="function")&&e?Err(e,s):!!r&&r.has(s)},set:function(s,i){Xx&&s&&(typeof s=="object"||typeof s=="function")?(e||(e=new Xx),brr(e,s,i)):zk&&(r||(r=zk()),r.set(s,i))}};return n}:zk});var EMe=E((cqr,bMe)=>{"use strict";var Srr=Vp(),vrr=eC(),Crr=fMe(),Irr=SV(),Trr=xMe(),wrr=Trr||Irr||Crr;bMe.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new Srr("Side channel does not contain "+vrr(n))},delete:function(n){return!!e&&e.delete(n)},get:function(n){return e&&e.get(n)},has:function(n){return!!e&&e.has(n)},set:function(n,s){e||(e=wrr()),e.set(n,s)}};return r}});var Yk=E((uqr,_Me)=>{"use strict";var Rrr=String.prototype.replace,Nrr=/%20/g,vV={RFC1738:"RFC1738",RFC3986:"RFC3986"};_Me.exports={default:vV.RFC3986,formatters:{RFC1738:function(t){return Rrr.call(t,Nrr,"+")},RFC3986:function(t){return String(t)}},RFC1738:vV.RFC1738,RFC3986:vV.RFC3986}});var TV=E((lqr,vMe)=>{"use strict";var Orr=Yk(),CV=Object.prototype.hasOwnProperty,Hh=Array.isArray,Sl=function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t}(),Prr=function(e){for(;e.length>1;){var r=e.pop(),n=r.obj[r.prop];if(Hh(n)){for(var s=[],i=0;i<n.length;++i)typeof n[i]<"u"&&s.push(n[i]);r.obj[r.prop]=s}}},SMe=function(e,r){for(var n=r&&r.plainObjects?{__proto__:null}:{},s=0;s<e.length;++s)typeof e[s]<"u"&&(n[s]=e[s]);return n},Drr=function t(e,r,n){if(!r)return e;if(typeof r!="object"&&typeof r!="function"){if(Hh(e))e.push(r);else if(e&&typeof e=="object")(n&&(n.plainObjects||n.allowPrototypes)||!CV.call(Object.prototype,r))&&(e[r]=!0);else return[e,r];return e}if(!e||typeof e!="object")return[e].concat(r);var s=e;return Hh(e)&&!Hh(r)&&(s=SMe(e,n)),Hh(e)&&Hh(r)?(r.forEach(function(i,a){if(CV.call(e,a)){var o=e[a];o&&typeof o=="object"&&i&&typeof i=="object"?e[a]=t(o,i,n):e.push(i)}else e[a]=i}),e):Object.keys(r).reduce(function(i,a){var o=r[a];return CV.call(i,a)?i[a]=t(i[a],o,n):i[a]=o,i},s)},krr=function(e,r){return Object.keys(r).reduce(function(n,s){return n[s]=r[s],n},e)},Lrr=function(t,e,r){var n=t.replace(/\+/g," ");if(r==="iso-8859-1")return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch{return n}},IV=1024,Brr=function(e,r,n,s,i){if(e.length===0)return e;var a=e;if(typeof e=="symbol"?a=Symbol.prototype.toString.call(e):typeof e!="string"&&(a=String(e)),n==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(p){return"%26%23"+parseInt(p.slice(2),16)+"%3B"});for(var o="",c=0;c<a.length;c+=IV){for(var u=a.length>=IV?a.slice(c,c+IV):a,l=[],d=0;d<u.length;++d){var f=u.charCodeAt(d);if(f===45||f===46||f===95||f===126||f>=48&&f<=57||f>=65&&f<=90||f>=97&&f<=122||i===Orr.RFC1738&&(f===40||f===41)){l[l.length]=u.charAt(d);continue}if(f<128){l[l.length]=Sl[f];continue}if(f<2048){l[l.length]=Sl[192|f>>6]+Sl[128|f&63];continue}if(f<55296||f>=57344){l[l.length]=Sl[224|f>>12]+Sl[128|f>>6&63]+Sl[128|f&63];continue}d+=1,f=65536+((f&1023)<<10|u.charCodeAt(d)&1023),l[l.length]=Sl[240|f>>18]+Sl[128|f>>12&63]+Sl[128|f>>6&63]+Sl[128|f&63]}o+=l.join("")}return o},Mrr=function(e){for(var r=[{obj:{o:e},prop:"o"}],n=[],s=0;s<r.length;++s)for(var i=r[s],a=i.obj[i.prop],o=Object.keys(a),c=0;c<o.length;++c){var u=o[c],l=a[u];typeof l=="object"&&l!==null&&n.indexOf(l)===-1&&(r.push({obj:a,prop:u}),n.push(l))}return Prr(r),e},Wrr=function(e){return Object.prototype.toString.call(e)==="[object RegExp]"},$rr=function(e){return!e||typeof e!="object"?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},Frr=function(e,r){return[].concat(e,r)},Urr=function(e,r){if(Hh(e)){for(var n=[],s=0;s<e.length;s+=1)n.push(r(e[s]));return n}return r(e)};vMe.exports={arrayToObject:SMe,assign:krr,combine:Frr,compact:Mrr,decode:Lrr,encode:Brr,isBuffer:$rr,isRegExp:Wrr,maybeMap:Urr,merge:Drr}});var NMe=E((dqr,RMe)=>{"use strict";var IMe=EMe(),Jk=TV(),rC=Yk(),qrr=Object.prototype.hasOwnProperty,TMe={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,r){return e+"["+r+"]"},repeat:function(e){return e}},vl=Array.isArray,jrr=Array.prototype.push,wMe=function(t,e){jrr.apply(t,vl(e)?e:[e])},Hrr=Date.prototype.toISOString,CMe=rC.default,Ds={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:Jk.encode,encodeValuesOnly:!1,filter:void 0,format:CMe,formatter:rC.formatters[CMe],indices:!1,serializeDate:function(e){return Hrr.call(e)},skipNulls:!1,strictNullHandling:!1},Qrr=function(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"},wV={},Grr=function t(e,r,n,s,i,a,o,c,u,l,d,f,p,m,h,A,g,b){for(var y=e,x=b,v=0,C=!1;(x=x.get(wV))!==void 0&&!C;){var R=x.get(e);if(v+=1,typeof R<"u"){if(R===v)throw new RangeError("Cyclic object value");C=!0}typeof x.get(wV)>"u"&&(v=0)}if(typeof l=="function"?y=l(r,y):y instanceof Date?y=p(y):n==="comma"&&vl(y)&&(y=Jk.maybeMap(y,function(J){return J instanceof Date?p(J):J})),y===null){if(a)return u&&!A?u(r,Ds.encoder,g,"key",m):r;y=""}if(Qrr(y)||Jk.isBuffer(y)){if(u){var w=A?r:u(r,Ds.encoder,g,"key",m);return[h(w)+"="+h(u(y,Ds.encoder,g,"value",m))]}return[h(r)+"="+h(String(y))]}var N=[];if(typeof y>"u")return N;var P;if(n==="comma"&&vl(y))A&&u&&(y=Jk.maybeMap(y,u)),P=[{value:y.length>0?y.join(",")||null:void 0}];else if(vl(l))P=l;else{var L=Object.keys(y);P=d?L.sort(d):L}var M=c?String(r).replace(/\./g,"%2E"):String(r),k=s&&vl(y)&&y.length===1?M+"[]":M;if(i&&vl(y)&&y.length===0)return k+"[]";for(var B=0;B<P.length;++B){var Z=P[B],W=typeof Z=="object"&&Z&&typeof Z.value<"u"?Z.value:y[Z];if(!(o&&W===null)){var F=f&&c?String(Z).replace(/\./g,"%2E"):String(Z),V=vl(y)?typeof n=="function"?n(k,F):k:k+(f?"."+F:"["+F+"]");b.set(e,v);var j=IMe();j.set(wV,b),wMe(N,t(W,V,n,s,i,a,o,c,n==="comma"&&A&&vl(y)?null:u,l,d,f,p,m,h,A,g,j))}}return N},Vrr=function(e){if(!e)return Ds;if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.encodeDotInKeys<"u"&&typeof e.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&typeof e.encoder<"u"&&typeof e.encoder!="function")throw new TypeError("Encoder has to be a function.");var r=e.charset||Ds.charset;if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=rC.default;if(typeof e.format<"u"){if(!qrr.call(rC.formatters,e.format))throw new TypeError("Unknown format option provided.");n=e.format}var s=rC.formatters[n],i=Ds.filter;(typeof e.filter=="function"||vl(e.filter))&&(i=e.filter);var a;if(e.arrayFormat in TMe?a=e.arrayFormat:"indices"in e?a=e.indices?"indices":"repeat":a=Ds.arrayFormat,"commaRoundTrip"in e&&typeof e.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var o=typeof e.allowDots>"u"?e.encodeDotInKeys===!0?!0:Ds.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:Ds.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:Ds.allowEmptyArrays,arrayFormat:a,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:Ds.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?Ds.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:Ds.encode,encodeDotInKeys:typeof e.encodeDotInKeys=="boolean"?e.encodeDotInKeys:Ds.encodeDotInKeys,encoder:typeof e.encoder=="function"?e.encoder:Ds.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:Ds.encodeValuesOnly,filter:i,format:n,formatter:s,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:Ds.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:Ds.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:Ds.strictNullHandling}};RMe.exports=function(t,e){var r=t,n=Vrr(e),s,i;typeof n.filter=="function"?(i=n.filter,r=i("",r)):vl(n.filter)&&(i=n.filter,s=i);var a=[];if(typeof r!="object"||r===null)return"";var o=TMe[n.arrayFormat],c=o==="comma"&&n.commaRoundTrip;s||(s=Object.keys(r)),n.sort&&s.sort(n.sort);for(var u=IMe(),l=0;l<s.length;++l){var d=s[l],f=r[d];n.skipNulls&&f===null||wMe(a,Grr(f,d,o,c,n.allowEmptyArrays,n.strictNullHandling,n.skipNulls,n.encodeDotInKeys,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,u))}var p=a.join(n.delimiter),m=n.addQueryPrefix===!0?"?":"";return n.charsetSentinel&&(n.charset==="iso-8859-1"?m+="utf8=%26%2310003%3B&":m+="utf8=%E2%9C%93&"),p.length>0?m+p:""}});var kMe=E((fqr,DMe)=>{"use strict";var Qh=TV(),RV=Object.prototype.hasOwnProperty,OMe=Array.isArray,Zn={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:Qh.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},zrr=function(t){return t.replace(/&#(\d+);/g,function(e,r){return String.fromCharCode(parseInt(r,10))})},PMe=function(t,e,r){if(t&&typeof t=="string"&&e.comma&&t.indexOf(",")>-1)return t.split(",");if(e.throwOnLimitExceeded&&r>=e.arrayLimit)throw new RangeError("Array limit exceeded. Only "+e.arrayLimit+" element"+(e.arrayLimit===1?"":"s")+" allowed in an array.");return t},Krr="utf8=%26%2310003%3B",Yrr="utf8=%E2%9C%93",Jrr=function(e,r){var n={__proto__:null},s=r.ignoreQueryPrefix?e.replace(/^\?/,""):e;s=s.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var i=r.parameterLimit===1/0?void 0:r.parameterLimit,a=s.split(r.delimiter,r.throwOnLimitExceeded?i+1:i);if(r.throwOnLimitExceeded&&a.length>i)throw new RangeError("Parameter limit exceeded. Only "+i+" parameter"+(i===1?"":"s")+" allowed.");var o=-1,c,u=r.charset;if(r.charsetSentinel)for(c=0;c<a.length;++c)a[c].indexOf("utf8=")===0&&(a[c]===Yrr?u="utf-8":a[c]===Krr&&(u="iso-8859-1"),o=c,c=a.length);for(c=0;c<a.length;++c)if(c!==o){var l=a[c],d=l.indexOf("]="),f=d===-1?l.indexOf("="):d+1,p,m;f===-1?(p=r.decoder(l,Zn.decoder,u,"key"),m=r.strictNullHandling?null:""):(p=r.decoder(l.slice(0,f),Zn.decoder,u,"key"),m=Qh.maybeMap(PMe(l.slice(f+1),r,OMe(n[p])?n[p].length:0),function(A){return r.decoder(A,Zn.decoder,u,"value")})),m&&r.interpretNumericEntities&&u==="iso-8859-1"&&(m=zrr(String(m))),l.indexOf("[]=")>-1&&(m=OMe(m)?[m]:m);var h=RV.call(n,p);h&&r.duplicates==="combine"?n[p]=Qh.combine(n[p],m):(!h||r.duplicates==="last")&&(n[p]=m)}return n},Xrr=function(t,e,r,n){var s=0;if(t.length>0&&t[t.length-1]==="[]"){var i=t.slice(0,-1).join("");s=Array.isArray(e)&&e[i]?e[i].length:0}for(var a=n?e:PMe(e,r,s),o=t.length-1;o>=0;--o){var c,u=t[o];if(u==="[]"&&r.parseArrays)c=r.allowEmptyArrays&&(a===""||r.strictNullHandling&&a===null)?[]:Qh.combine([],a);else{c=r.plainObjects?{__proto__:null}:{};var l=u.charAt(0)==="["&&u.charAt(u.length-1)==="]"?u.slice(1,-1):u,d=r.decodeDotInKeys?l.replace(/%2E/g,"."):l,f=parseInt(d,10);!r.parseArrays&&d===""?c={0:a}:!isNaN(f)&&u!==d&&String(f)===d&&f>=0&&r.parseArrays&&f<=r.arrayLimit?(c=[],c[f]=a):d!=="__proto__"&&(c[d]=a)}a=c}return a},Zrr=function(e,r,n,s){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/,o=/(\[[^[\]]*])/g,c=n.depth>0&&a.exec(i),u=c?i.slice(0,c.index):i,l=[];if(u){if(!n.plainObjects&&RV.call(Object.prototype,u)&&!n.allowPrototypes)return;l.push(u)}for(var d=0;n.depth>0&&(c=o.exec(i))!==null&&d<n.depth;){if(d+=1,!n.plainObjects&&RV.call(Object.prototype,c[1].slice(1,-1))&&!n.allowPrototypes)return;l.push(c[1])}if(c){if(n.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+n.depth+" and strictDepth is true");l.push("["+i.slice(c.index)+"]")}return Xrr(l,r,n,s)}},enr=function(e){if(!e)return Zn;if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.decodeDotInKeys<"u"&&typeof e.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(e.decoder!==null&&typeof e.decoder<"u"&&typeof e.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");if(typeof e.throwOnLimitExceeded<"u"&&typeof e.throwOnLimitExceeded!="boolean")throw new TypeError("`throwOnLimitExceeded` option must be a boolean");var r=typeof e.charset>"u"?Zn.charset:e.charset,n=typeof e.duplicates>"u"?Zn.duplicates:e.duplicates;if(n!=="combine"&&n!=="first"&&n!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var s=typeof e.allowDots>"u"?e.decodeDotInKeys===!0?!0:Zn.allowDots:!!e.allowDots;return{allowDots:s,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:Zn.allowEmptyArrays,allowPrototypes:typeof e.allowPrototypes=="boolean"?e.allowPrototypes:Zn.allowPrototypes,allowSparse:typeof e.allowSparse=="boolean"?e.allowSparse:Zn.allowSparse,arrayLimit:typeof e.arrayLimit=="number"?e.arrayLimit:Zn.arrayLimit,charset:r,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:Zn.charsetSentinel,comma:typeof e.comma=="boolean"?e.comma:Zn.comma,decodeDotInKeys:typeof e.decodeDotInKeys=="boolean"?e.decodeDotInKeys:Zn.decodeDotInKeys,decoder:typeof e.decoder=="function"?e.decoder:Zn.decoder,delimiter:typeof e.delimiter=="string"||Qh.isRegExp(e.delimiter)?e.delimiter:Zn.delimiter,depth:typeof e.depth=="number"||e.depth===!1?+e.depth:Zn.depth,duplicates:n,ignoreQueryPrefix:e.ignoreQueryPrefix===!0,interpretNumericEntities:typeof e.interpretNumericEntities=="boolean"?e.interpretNumericEntities:Zn.interpretNumericEntities,parameterLimit:typeof e.parameterLimit=="number"?e.parameterLimit:Zn.parameterLimit,parseArrays:e.parseArrays!==!1,plainObjects:typeof e.plainObjects=="boolean"?e.plainObjects:Zn.plainObjects,strictDepth:typeof e.strictDepth=="boolean"?!!e.strictDepth:Zn.strictDepth,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:Zn.strictNullHandling,throwOnLimitExceeded:typeof e.throwOnLimitExceeded=="boolean"?e.throwOnLimitExceeded:!1}};DMe.exports=function(t,e){var r=enr(e);if(t===""||t===null||typeof t>"u")return r.plainObjects?{__proto__:null}:{};for(var n=typeof t=="string"?Jrr(t,r):t,s=r.plainObjects?{__proto__:null}:{},i=Object.keys(n),a=0;a<i.length;++a){var o=i[a],c=Zrr(o,n[o],r,typeof t=="string");s=Qh.merge(s,c,r)}return r.allowSparse===!0?s:Qh.compact(s)}});var nC=E((pqr,LMe)=>{"use strict";var tnr=NMe(),rnr=kMe(),nnr=Yk();LMe.exports={formats:nnr,parse:rnr,stringify:tnr}});var NV=E((BMe,Xk)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,s=Math.floor,i="[BigNumber Error] ",a=i+"Number primitive has more than 15 significant digits: ",o=1e14,c=14,u=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],d=1e7,f=1e9;function p(v){var C,R,w,N=ue.prototype={constructor:ue,toString:null,valueOf:null},P=new ue(1),L=20,M=4,k=-7,B=21,Z=-1e7,W=1e7,F=!1,V=1,j=0,J={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},se="0123456789abcdefghijklmnopqrstuvwxyz",oe=!0;function ue(U,G){var z,q,H,ee,ne,re,X,ie,ce=this;if(!(ce instanceof ue))return new ue(U,G);if(G==null){if(U&&U._isBigNumber===!0){ce.s=U.s,!U.c||U.e>W?ce.c=ce.e=null:U.e<Z?ce.c=[ce.e=0]:(ce.e=U.e,ce.c=U.c.slice());return}if((re=typeof U=="number")&&U*0==0){if(ce.s=1/U<0?(U=-U,-1):1,U===~~U){for(ee=0,ne=U;ne>=10;ne/=10,ee++);ee>W?ce.c=ce.e=null:(ce.e=ee,ce.c=[U]);return}ie=String(U)}else{if(!r.test(ie=String(U)))return w(ce,ie,re);ce.s=ie.charCodeAt(0)==45?(ie=ie.slice(1),-1):1}(ee=ie.indexOf("."))>-1&&(ie=ie.replace(".","")),(ne=ie.search(/e/i))>0?(ee<0&&(ee=ne),ee+=+ie.slice(ne+1),ie=ie.substring(0,ne)):ee<0&&(ee=ie.length)}else{if(g(G,2,se.length,"Base"),G==10&&oe)return ce=new ue(U),Fe(ce,L+ce.e+1,M);if(ie=String(U),re=typeof U=="number"){if(U*0!=0)return w(ce,ie,re,G);if(ce.s=1/U<0?(ie=ie.slice(1),-1):1,ue.DEBUG&&ie.replace(/^0\.0*|\./,"").length>15)throw Error(a+U)}else ce.s=ie.charCodeAt(0)===45?(ie=ie.slice(1),-1):1;for(z=se.slice(0,G),ee=ne=0,X=ie.length;ne<X;ne++)if(z.indexOf(q=ie.charAt(ne))<0){if(q=="."){if(ne>ee){ee=X;continue}}else if(!H&&(ie==ie.toUpperCase()&&(ie=ie.toLowerCase())||ie==ie.toLowerCase()&&(ie=ie.toUpperCase()))){H=!0,ne=-1,ee=0;continue}return w(ce,String(U),re,G)}re=!1,ie=R(ie,G,10,ce.s),(ee=ie.indexOf("."))>-1?ie=ie.replace(".",""):ee=ie.length}for(ne=0;ie.charCodeAt(ne)===48;ne++);for(X=ie.length;ie.charCodeAt(--X)===48;);if(ie=ie.slice(ne,++X)){if(X-=ne,re&&ue.DEBUG&&X>15&&(U>u||U!==s(U)))throw Error(a+ce.s*U);if((ee=ee-ne-1)>W)ce.c=ce.e=null;else if(ee<Z)ce.c=[ce.e=0];else{if(ce.e=ee,ce.c=[],ne=(ee+1)%c,ee<0&&(ne+=c),ne<X){for(ne&&ce.c.push(+ie.slice(0,ne)),X-=c;ne<X;)ce.c.push(+ie.slice(ne,ne+=c));ne=c-(ie=ie.slice(ne)).length}else ne-=X;for(;ne--;ie+="0");ce.c.push(+ie)}}else ce.c=[ce.e=0]}ue.clone=p,ue.ROUND_UP=0,ue.ROUND_DOWN=1,ue.ROUND_CEIL=2,ue.ROUND_FLOOR=3,ue.ROUND_HALF_UP=4,ue.ROUND_HALF_DOWN=5,ue.ROUND_HALF_EVEN=6,ue.ROUND_HALF_CEIL=7,ue.ROUND_HALF_FLOOR=8,ue.EUCLID=9,ue.config=ue.set=function(U){var G,z;if(U!=null)if(typeof U=="object"){if(U.hasOwnProperty(G="DECIMAL_PLACES")&&(z=U[G],g(z,0,f,G),L=z),U.hasOwnProperty(G="ROUNDING_MODE")&&(z=U[G],g(z,0,8,G),M=z),U.hasOwnProperty(G="EXPONENTIAL_AT")&&(z=U[G],z&&z.pop?(g(z[0],-f,0,G),g(z[1],0,f,G),k=z[0],B=z[1]):(g(z,-f,f,G),k=-(B=z<0?-z:z))),U.hasOwnProperty(G="RANGE"))if(z=U[G],z&&z.pop)g(z[0],-f,-1,G),g(z[1],1,f,G),Z=z[0],W=z[1];else if(g(z,-f,f,G),z)Z=-(W=z<0?-z:z);else throw Error(i+G+" cannot be zero: "+z);if(U.hasOwnProperty(G="CRYPTO"))if(z=U[G],z===!!z)if(z)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))F=z;else throw F=!z,Error(i+"crypto unavailable");else F=z;else throw Error(i+G+" not true or false: "+z);if(U.hasOwnProperty(G="MODULO_MODE")&&(z=U[G],g(z,0,9,G),V=z),U.hasOwnProperty(G="POW_PRECISION")&&(z=U[G],g(z,0,f,G),j=z),U.hasOwnProperty(G="FORMAT"))if(z=U[G],typeof z=="object")J=z;else throw Error(i+G+" not an object: "+z);if(U.hasOwnProperty(G="ALPHABET"))if(z=U[G],typeof z=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(z))oe=z.slice(0,10)=="0123456789",se=z;else throw Error(i+G+" invalid: "+z)}else throw Error(i+"Object expected: "+U);return{DECIMAL_PLACES:L,ROUNDING_MODE:M,EXPONENTIAL_AT:[k,B],RANGE:[Z,W],CRYPTO:F,MODULO_MODE:V,POW_PRECISION:j,FORMAT:J,ALPHABET:se}},ue.isBigNumber=function(U){if(!U||U._isBigNumber!==!0)return!1;if(!ue.DEBUG)return!0;var G,z,q=U.c,H=U.e,ee=U.s;e:if({}.toString.call(q)=="[object Array]"){if((ee===1||ee===-1)&&H>=-f&&H<=f&&H===s(H)){if(q[0]===0){if(H===0&&q.length===1)return!0;break e}if(G=(H+1)%c,G<1&&(G+=c),String(q[0]).length==G){for(G=0;G<q.length;G++)if(z=q[G],z<0||z>=o||z!==s(z))break e;if(z!==0)return!0}}}else if(q===null&&H===null&&(ee===null||ee===1||ee===-1))return!0;throw Error(i+"Invalid BigNumber: "+U)},ue.maximum=ue.max=function(){return we(arguments,-1)},ue.minimum=ue.min=function(){return we(arguments,1)},ue.random=function(){var U=9007199254740992,G=Math.random()*U&2097151?function(){return s(Math.random()*U)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(z){var q,H,ee,ne,re,X=0,ie=[],ce=new ue(P);if(z==null?z=L:g(z,0,f),ne=n(z/c),F)if(crypto.getRandomValues){for(q=crypto.getRandomValues(new Uint32Array(ne*=2));X<ne;)re=q[X]*131072+(q[X+1]>>>11),re>=9e15?(H=crypto.getRandomValues(new Uint32Array(2)),q[X]=H[0],q[X+1]=H[1]):(ie.push(re%1e14),X+=2);X=ne/2}else if(crypto.randomBytes){for(q=crypto.randomBytes(ne*=7);X<ne;)re=(q[X]&31)*281474976710656+q[X+1]*1099511627776+q[X+2]*4294967296+q[X+3]*16777216+(q[X+4]<<16)+(q[X+5]<<8)+q[X+6],re>=9e15?crypto.randomBytes(7).copy(q,X):(ie.push(re%1e14),X+=7);X=ne/7}else throw F=!1,Error(i+"crypto unavailable");if(!F)for(;X<ne;)re=G(),re<9e15&&(ie[X++]=re%1e14);for(ne=ie[--X],z%=c,ne&&z&&(re=l[c-z],ie[X]=s(ne/re)*re);ie[X]===0;ie.pop(),X--);if(X<0)ie=[ee=0];else{for(ee=-1;ie[0]===0;ie.splice(0,1),ee-=c);for(X=1,re=ie[0];re>=10;re/=10,X++);X<c&&(ee-=c-X)}return ce.e=ee,ce.c=ie,ce}}(),ue.sum=function(){for(var U=1,G=arguments,z=new ue(G[0]);U<G.length;)z=z.plus(G[U++]);return z},R=function(){var U="0123456789";function G(z,q,H,ee){for(var ne,re=[0],X,ie=0,ce=z.length;ie<ce;){for(X=re.length;X--;re[X]*=q);for(re[0]+=ee.indexOf(z.charAt(ie++)),ne=0;ne<re.length;ne++)re[ne]>H-1&&(re[ne+1]==null&&(re[ne+1]=0),re[ne+1]+=re[ne]/H|0,re[ne]%=H)}return re.reverse()}return function(z,q,H,ee,ne){var re,X,ie,ce,fe,Ne,Pe,Ue,Ke=z.indexOf("."),Ye=L,Ze=M;for(Ke>=0&&(ce=j,j=0,z=z.replace(".",""),Ue=new ue(q),Ne=Ue.pow(z.length-Ke),j=ce,Ue.c=G(x(h(Ne.c),Ne.e,"0"),10,H,U),Ue.e=Ue.c.length),Pe=G(z,q,H,ne?(re=se,U):(re=U,se)),ie=ce=Pe.length;Pe[--ce]==0;Pe.pop());if(!Pe[0])return re.charAt(0);if(Ke<0?--ie:(Ne.c=Pe,Ne.e=ie,Ne.s=ee,Ne=C(Ne,Ue,Ye,Ze,H),Pe=Ne.c,fe=Ne.r,ie=Ne.e),X=ie+Ye+1,Ke=Pe[X],ce=H/2,fe=fe||X<0||Pe[X+1]!=null,fe=Ze<4?(Ke!=null||fe)&&(Ze==0||Ze==(Ne.s<0?3:2)):Ke>ce||Ke==ce&&(Ze==4||fe||Ze==6&&Pe[X-1]&1||Ze==(Ne.s<0?8:7)),X<1||!Pe[0])z=fe?x(re.charAt(1),-Ye,re.charAt(0)):re.charAt(0);else{if(Pe.length=X,fe)for(--H;++Pe[--X]>H;)Pe[X]=0,X||(++ie,Pe=[1].concat(Pe));for(ce=Pe.length;!Pe[--ce];);for(Ke=0,z="";Ke<=ce;z+=re.charAt(Pe[Ke++]));z=x(z,ie,re.charAt(0))}return z}}(),C=function(){function U(q,H,ee){var ne,re,X,ie,ce=0,fe=q.length,Ne=H%d,Pe=H/d|0;for(q=q.slice();fe--;)X=q[fe]%d,ie=q[fe]/d|0,ne=Pe*X+ie*Ne,re=Ne*X+ne%d*d+ce,ce=(re/ee|0)+(ne/d|0)+Pe*ie,q[fe]=re%ee;return ce&&(q=[ce].concat(q)),q}function G(q,H,ee,ne){var re,X;if(ee!=ne)X=ee>ne?1:-1;else for(re=X=0;re<ee;re++)if(q[re]!=H[re]){X=q[re]>H[re]?1:-1;break}return X}function z(q,H,ee,ne){for(var re=0;ee--;)q[ee]-=re,re=q[ee]<H[ee]?1:0,q[ee]=re*ne+q[ee]-H[ee];for(;!q[0]&&q.length>1;q.splice(0,1));}return function(q,H,ee,ne,re){var X,ie,ce,fe,Ne,Pe,Ue,Ke,Ye,Ze,nt,ct,tt,Dt,lt,De,Je,ft=q.s==H.s?1:-1,rt=q.c,bt=H.c;if(!rt||!rt[0]||!bt||!bt[0])return new ue(!q.s||!H.s||(rt?bt&&rt[0]==bt[0]:!bt)?NaN:rt&&rt[0]==0||!bt?ft*0:ft/0);for(Ke=new ue(ft),Ye=Ke.c=[],ie=q.e-H.e,ft=ee+ie+1,re||(re=o,ie=m(q.e/c)-m(H.e/c),ft=ft/c|0),ce=0;bt[ce]==(rt[ce]||0);ce++);if(bt[ce]>(rt[ce]||0)&&ie--,ft<0)Ye.push(1),fe=!0;else{for(Dt=rt.length,De=bt.length,ce=0,ft+=2,Ne=s(re/(bt[0]+1)),Ne>1&&(bt=U(bt,Ne,re),rt=U(rt,Ne,re),De=bt.length,Dt=rt.length),tt=De,Ze=rt.slice(0,De),nt=Ze.length;nt<De;Ze[nt++]=0);Je=bt.slice(),Je=[0].concat(Je),lt=bt[0],bt[1]>=re/2&<++;do{if(Ne=0,X=G(bt,Ze,De,nt),X<0){if(ct=Ze[0],De!=nt&&(ct=ct*re+(Ze[1]||0)),Ne=s(ct/lt),Ne>1)for(Ne>=re&&(Ne=re-1),Pe=U(bt,Ne,re),Ue=Pe.length,nt=Ze.length;G(Pe,Ze,Ue,nt)==1;)Ne--,z(Pe,De<Ue?Je:bt,Ue,re),Ue=Pe.length,X=1;else Ne==0&&(X=Ne=1),Pe=bt.slice(),Ue=Pe.length;if(Ue<nt&&(Pe=[0].concat(Pe)),z(Ze,Pe,nt,re),nt=Ze.length,X==-1)for(;G(bt,Ze,De,nt)<1;)Ne++,z(Ze,De<nt?Je:bt,nt,re),nt=Ze.length}else X===0&&(Ne++,Ze=[0]);Ye[ce++]=Ne,Ze[0]?Ze[nt++]=rt[tt]||0:(Ze=[rt[tt]],nt=1)}while((tt++<Dt||Ze[0]!=null)&&ft--);fe=Ze[0]!=null,Ye[0]||Ye.splice(0,1)}if(re==o){for(ce=1,ft=Ye[0];ft>=10;ft/=10,ce++);Fe(Ke,ee+(Ke.e=ce+ie*c-1)+1,ne,fe)}else Ke.e=ie,Ke.r=+fe;return Ke}}();function Ce(U,G,z,q){var H,ee,ne,re,X;if(z==null?z=M:g(z,0,8),!U.c)return U.toString();if(H=U.c[0],ne=U.e,G==null)X=h(U.c),X=q==1||q==2&&(ne<=k||ne>=B)?y(X,ne):x(X,ne,"0");else if(U=Fe(new ue(U),G,z),ee=U.e,X=h(U.c),re=X.length,q==1||q==2&&(G<=ee||ee<=k)){for(;re<G;X+="0",re++);X=y(X,ee)}else if(G-=ne+(q===2&&ee>ne),X=x(X,ee,"0"),ee+1>re){if(--G>0)for(X+=".";G--;X+="0");}else if(G+=ee-re,G>0)for(ee+1==re&&(X+=".");G--;X+="0");return U.s<0&&H?"-"+X:X}function we(U,G){for(var z,q,H=1,ee=new ue(U[0]);H<U.length;H++)q=new ue(U[H]),(!q.s||(z=A(ee,q))===G||z===0&&ee.s===G)&&(ee=q);return ee}function qe(U,G,z){for(var q=1,H=G.length;!G[--H];G.pop());for(H=G[0];H>=10;H/=10,q++);return(z=q+z*c-1)>W?U.c=U.e=null:z<Z?U.c=[U.e=0]:(U.e=z,U.c=G),U}w=function(){var U=/^(-?)0([xbo])(?=\w[\w.]*$)/i,G=/^([^.]+)\.$/,z=/^\.([^.]+)$/,q=/^-?(Infinity|NaN)$/,H=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(ee,ne,re,X){var ie,ce=re?ne:ne.replace(H,"");if(q.test(ce))ee.s=isNaN(ce)?null:ce<0?-1:1;else{if(!re&&(ce=ce.replace(U,function(fe,Ne,Pe){return ie=(Pe=Pe.toLowerCase())=="x"?16:Pe=="b"?2:8,!X||X==ie?Ne:fe}),X&&(ie=X,ce=ce.replace(G,"$1").replace(z,"0.$1")),ne!=ce))return new ue(ce,ie);if(ue.DEBUG)throw Error(i+"Not a"+(X?" base "+X:"")+" number: "+ne);ee.s=null}ee.c=ee.e=null}}();function Fe(U,G,z,q){var H,ee,ne,re,X,ie,ce,fe=U.c,Ne=l;if(fe){e:{for(H=1,re=fe[0];re>=10;re/=10,H++);if(ee=G-H,ee<0)ee+=c,ne=G,X=fe[ie=0],ce=s(X/Ne[H-ne-1]%10);else if(ie=n((ee+1)/c),ie>=fe.length)if(q){for(;fe.length<=ie;fe.push(0));X=ce=0,H=1,ee%=c,ne=ee-c+1}else break e;else{for(X=re=fe[ie],H=1;re>=10;re/=10,H++);ee%=c,ne=ee-c+H,ce=ne<0?0:s(X/Ne[H-ne-1]%10)}if(q=q||G<0||fe[ie+1]!=null||(ne<0?X:X%Ne[H-ne-1]),q=z<4?(ce||q)&&(z==0||z==(U.s<0?3:2)):ce>5||ce==5&&(z==4||q||z==6&&(ee>0?ne>0?X/Ne[H-ne]:0:fe[ie-1])%10&1||z==(U.s<0?8:7)),G<1||!fe[0])return fe.length=0,q?(G-=U.e+1,fe[0]=Ne[(c-G%c)%c],U.e=-G||0):fe[0]=U.e=0,U;if(ee==0?(fe.length=ie,re=1,ie--):(fe.length=ie+1,re=Ne[c-ee],fe[ie]=ne>0?s(X/Ne[H-ne]%Ne[ne])*re:0),q)for(;;)if(ie==0){for(ee=1,ne=fe[0];ne>=10;ne/=10,ee++);for(ne=fe[0]+=re,re=1;ne>=10;ne/=10,re++);ee!=re&&(U.e++,fe[0]==o&&(fe[0]=1));break}else{if(fe[ie]+=re,fe[ie]!=o)break;fe[ie--]=0,re=1}for(ee=fe.length;fe[--ee]===0;fe.pop());}U.e>W?U.c=U.e=null:U.e<Z&&(U.c=[U.e=0])}return U}function _e(U){var G,z=U.e;return z===null?U.toString():(G=h(U.c),G=z<=k||z>=B?y(G,z):x(G,z,"0"),U.s<0?"-"+G:G)}return N.absoluteValue=N.abs=function(){var U=new ue(this);return U.s<0&&(U.s=1),U},N.comparedTo=function(U,G){return A(this,new ue(U,G))},N.decimalPlaces=N.dp=function(U,G){var z,q,H,ee=this;if(U!=null)return g(U,0,f),G==null?G=M:g(G,0,8),Fe(new ue(ee),U+ee.e+1,G);if(!(z=ee.c))return null;if(q=((H=z.length-1)-m(this.e/c))*c,H=z[H])for(;H%10==0;H/=10,q--);return q<0&&(q=0),q},N.dividedBy=N.div=function(U,G){return C(this,new ue(U,G),L,M)},N.dividedToIntegerBy=N.idiv=function(U,G){return C(this,new ue(U,G),0,1)},N.exponentiatedBy=N.pow=function(U,G){var z,q,H,ee,ne,re,X,ie,ce,fe=this;if(U=new ue(U),U.c&&!U.isInteger())throw Error(i+"Exponent not an integer: "+_e(U));if(G!=null&&(G=new ue(G)),re=U.e>14,!fe.c||!fe.c[0]||fe.c[0]==1&&!fe.e&&fe.c.length==1||!U.c||!U.c[0])return ce=new ue(Math.pow(+_e(fe),re?U.s*(2-b(U)):+_e(U))),G?ce.mod(G):ce;if(X=U.s<0,G){if(G.c?!G.c[0]:!G.s)return new ue(NaN);q=!X&&fe.isInteger()&&G.isInteger(),q&&(fe=fe.mod(G))}else{if(U.e>9&&(fe.e>0||fe.e<-1||(fe.e==0?fe.c[0]>1||re&&fe.c[1]>=24e7:fe.c[0]<8e13||re&&fe.c[0]<=9999975e7)))return ee=fe.s<0&&b(U)?-0:0,fe.e>-1&&(ee=1/ee),new ue(X?1/ee:ee);j&&(ee=n(j/c+2))}for(re?(z=new ue(.5),X&&(U.s=1),ie=b(U)):(H=Math.abs(+_e(U)),ie=H%2),ce=new ue(P);;){if(ie){if(ce=ce.times(fe),!ce.c)break;ee?ce.c.length>ee&&(ce.c.length=ee):q&&(ce=ce.mod(G))}if(H){if(H=s(H/2),H===0)break;ie=H%2}else if(U=U.times(z),Fe(U,U.e+1,1),U.e>14)ie=b(U);else{if(H=+_e(U),H===0)break;ie=H%2}fe=fe.times(fe),ee?fe.c&&fe.c.length>ee&&(fe.c.length=ee):q&&(fe=fe.mod(G))}return q?ce:(X&&(ce=P.div(ce)),G?ce.mod(G):ee?Fe(ce,j,M,ne):ce)},N.integerValue=function(U){var G=new ue(this);return U==null?U=M:g(U,0,8),Fe(G,G.e+1,U)},N.isEqualTo=N.eq=function(U,G){return A(this,new ue(U,G))===0},N.isFinite=function(){return!!this.c},N.isGreaterThan=N.gt=function(U,G){return A(this,new ue(U,G))>0},N.isGreaterThanOrEqualTo=N.gte=function(U,G){return(G=A(this,new ue(U,G)))===1||G===0},N.isInteger=function(){return!!this.c&&m(this.e/c)>this.c.length-2},N.isLessThan=N.lt=function(U,G){return A(this,new ue(U,G))<0},N.isLessThanOrEqualTo=N.lte=function(U,G){return(G=A(this,new ue(U,G)))===-1||G===0},N.isNaN=function(){return!this.s},N.isNegative=function(){return this.s<0},N.isPositive=function(){return this.s>0},N.isZero=function(){return!!this.c&&this.c[0]==0},N.minus=function(U,G){var z,q,H,ee,ne=this,re=ne.s;if(U=new ue(U,G),G=U.s,!re||!G)return new ue(NaN);if(re!=G)return U.s=-G,ne.plus(U);var X=ne.e/c,ie=U.e/c,ce=ne.c,fe=U.c;if(!X||!ie){if(!ce||!fe)return ce?(U.s=-G,U):new ue(fe?ne:NaN);if(!ce[0]||!fe[0])return fe[0]?(U.s=-G,U):new ue(ce[0]?ne:M==3?-0:0)}if(X=m(X),ie=m(ie),ce=ce.slice(),re=X-ie){for((ee=re<0)?(re=-re,H=ce):(ie=X,H=fe),H.reverse(),G=re;G--;H.push(0));H.reverse()}else for(q=(ee=(re=ce.length)<(G=fe.length))?re:G,re=G=0;G<q;G++)if(ce[G]!=fe[G]){ee=ce[G]<fe[G];break}if(ee&&(H=ce,ce=fe,fe=H,U.s=-U.s),G=(q=fe.length)-(z=ce.length),G>0)for(;G--;ce[z++]=0);for(G=o-1;q>re;){if(ce[--q]<fe[q]){for(z=q;z&&!ce[--z];ce[z]=G);--ce[z],ce[q]+=o}ce[q]-=fe[q]}for(;ce[0]==0;ce.splice(0,1),--ie);return ce[0]?qe(U,ce,ie):(U.s=M==3?-1:1,U.c=[U.e=0],U)},N.modulo=N.mod=function(U,G){var z,q,H=this;return U=new ue(U,G),!H.c||!U.s||U.c&&!U.c[0]?new ue(NaN):!U.c||H.c&&!H.c[0]?new ue(H):(V==9?(q=U.s,U.s=1,z=C(H,U,0,3),U.s=q,z.s*=q):z=C(H,U,0,V),U=H.minus(z.times(U)),!U.c[0]&&V==1&&(U.s=H.s),U)},N.multipliedBy=N.times=function(U,G){var z,q,H,ee,ne,re,X,ie,ce,fe,Ne,Pe,Ue,Ke,Ye,Ze=this,nt=Ze.c,ct=(U=new ue(U,G)).c;if(!nt||!ct||!nt[0]||!ct[0])return!Ze.s||!U.s||nt&&!nt[0]&&!ct||ct&&!ct[0]&&!nt?U.c=U.e=U.s=null:(U.s*=Ze.s,!nt||!ct?U.c=U.e=null:(U.c=[0],U.e=0)),U;for(q=m(Ze.e/c)+m(U.e/c),U.s*=Ze.s,X=nt.length,fe=ct.length,X<fe&&(Ue=nt,nt=ct,ct=Ue,H=X,X=fe,fe=H),H=X+fe,Ue=[];H--;Ue.push(0));for(Ke=o,Ye=d,H=fe;--H>=0;){for(z=0,Ne=ct[H]%Ye,Pe=ct[H]/Ye|0,ne=X,ee=H+ne;ee>H;)ie=nt[--ne]%Ye,ce=nt[ne]/Ye|0,re=Pe*ie+ce*Ne,ie=Ne*ie+re%Ye*Ye+Ue[ee]+z,z=(ie/Ke|0)+(re/Ye|0)+Pe*ce,Ue[ee--]=ie%Ke;Ue[ee]=z}return z?++q:Ue.splice(0,1),qe(U,Ue,q)},N.negated=function(){var U=new ue(this);return U.s=-U.s||null,U},N.plus=function(U,G){var z,q=this,H=q.s;if(U=new ue(U,G),G=U.s,!H||!G)return new ue(NaN);if(H!=G)return U.s=-G,q.minus(U);var ee=q.e/c,ne=U.e/c,re=q.c,X=U.c;if(!ee||!ne){if(!re||!X)return new ue(H/0);if(!re[0]||!X[0])return X[0]?U:new ue(re[0]?q:H*0)}if(ee=m(ee),ne=m(ne),re=re.slice(),H=ee-ne){for(H>0?(ne=ee,z=X):(H=-H,z=re),z.reverse();H--;z.push(0));z.reverse()}for(H=re.length,G=X.length,H-G<0&&(z=X,X=re,re=z,G=H),H=0;G;)H=(re[--G]=re[G]+X[G]+H)/o|0,re[G]=o===re[G]?0:re[G]%o;return H&&(re=[H].concat(re),++ne),qe(U,re,ne)},N.precision=N.sd=function(U,G){var z,q,H,ee=this;if(U!=null&&U!==!!U)return g(U,1,f),G==null?G=M:g(G,0,8),Fe(new ue(ee),U,G);if(!(z=ee.c))return null;if(H=z.length-1,q=H*c+1,H=z[H]){for(;H%10==0;H/=10,q--);for(H=z[0];H>=10;H/=10,q++);}return U&&ee.e+1>q&&(q=ee.e+1),q},N.shiftedBy=function(U){return g(U,-u,u),this.times("1e"+U)},N.squareRoot=N.sqrt=function(){var U,G,z,q,H,ee=this,ne=ee.c,re=ee.s,X=ee.e,ie=L+4,ce=new ue("0.5");if(re!==1||!ne||!ne[0])return new ue(!re||re<0&&(!ne||ne[0])?NaN:ne?ee:1/0);if(re=Math.sqrt(+_e(ee)),re==0||re==1/0?(G=h(ne),(G.length+X)%2==0&&(G+="0"),re=Math.sqrt(+G),X=m((X+1)/2)-(X<0||X%2),re==1/0?G="5e"+X:(G=re.toExponential(),G=G.slice(0,G.indexOf("e")+1)+X),z=new ue(G)):z=new ue(re+""),z.c[0]){for(X=z.e,re=X+ie,re<3&&(re=0);;)if(H=z,z=ce.times(H.plus(C(ee,H,ie,1))),h(H.c).slice(0,re)===(G=h(z.c)).slice(0,re))if(z.e<X&&--re,G=G.slice(re-3,re+1),G=="9999"||!q&&G=="4999"){if(!q&&(Fe(H,H.e+L+2,0),H.times(H).eq(ee))){z=H;break}ie+=4,re+=4,q=1}else{(!+G||!+G.slice(1)&&G.charAt(0)=="5")&&(Fe(z,z.e+L+2,1),U=!z.times(z).eq(ee));break}}return Fe(z,z.e+L+1,M,U)},N.toExponential=function(U,G){return U!=null&&(g(U,0,f),U++),Ce(this,U,G,1)},N.toFixed=function(U,G){return U!=null&&(g(U,0,f),U=U+this.e+1),Ce(this,U,G)},N.toFormat=function(U,G,z){var q,H=this;if(z==null)U!=null&&G&&typeof G=="object"?(z=G,G=null):U&&typeof U=="object"?(z=U,U=G=null):z=J;else if(typeof z!="object")throw Error(i+"Argument not an object: "+z);if(q=H.toFixed(U,G),H.c){var ee,ne=q.split("."),re=+z.groupSize,X=+z.secondaryGroupSize,ie=z.groupSeparator||"",ce=ne[0],fe=ne[1],Ne=H.s<0,Pe=Ne?ce.slice(1):ce,Ue=Pe.length;if(X&&(ee=re,re=X,X=ee,Ue-=ee),re>0&&Ue>0){for(ee=Ue%re||re,ce=Pe.substr(0,ee);ee<Ue;ee+=re)ce+=ie+Pe.substr(ee,re);X>0&&(ce+=ie+Pe.slice(ee)),Ne&&(ce="-"+ce)}q=fe?ce+(z.decimalSeparator||"")+((X=+z.fractionGroupSize)?fe.replace(new RegExp("\\d{"+X+"}\\B","g"),"$&"+(z.fractionGroupSeparator||"")):fe):ce}return(z.prefix||"")+q+(z.suffix||"")},N.toFraction=function(U){var G,z,q,H,ee,ne,re,X,ie,ce,fe,Ne,Pe=this,Ue=Pe.c;if(U!=null&&(re=new ue(U),!re.isInteger()&&(re.c||re.s!==1)||re.lt(P)))throw Error(i+"Argument "+(re.isInteger()?"out of range: ":"not an integer: ")+_e(re));if(!Ue)return new ue(Pe);for(G=new ue(P),ie=z=new ue(P),q=X=new ue(P),Ne=h(Ue),ee=G.e=Ne.length-Pe.e-1,G.c[0]=l[(ne=ee%c)<0?c+ne:ne],U=!U||re.comparedTo(G)>0?ee>0?G:ie:re,ne=W,W=1/0,re=new ue(Ne),X.c[0]=0;ce=C(re,G,0,1),H=z.plus(ce.times(q)),H.comparedTo(U)!=1;)z=q,q=H,ie=X.plus(ce.times(H=ie)),X=H,G=re.minus(ce.times(H=G)),re=H;return H=C(U.minus(z),q,0,1),X=X.plus(H.times(ie)),z=z.plus(H.times(q)),X.s=ie.s=Pe.s,ee=ee*2,fe=C(ie,q,ee,M).minus(Pe).abs().comparedTo(C(X,z,ee,M).minus(Pe).abs())<1?[ie,q]:[X,z],W=ne,fe},N.toNumber=function(){return+_e(this)},N.toPrecision=function(U,G){return U!=null&&g(U,1,f),Ce(this,U,G,2)},N.toString=function(U){var G,z=this,q=z.s,H=z.e;return H===null?q?(G="Infinity",q<0&&(G="-"+G)):G="NaN":(U==null?G=H<=k||H>=B?y(h(z.c),H):x(h(z.c),H,"0"):U===10&&oe?(z=Fe(new ue(z),L+H+1,M),G=x(h(z.c),z.e,"0")):(g(U,2,se.length,"Base"),G=R(x(h(z.c),H,"0"),10,U,q,!0)),q<0&&z.c[0]&&(G="-"+G)),G},N.valueOf=N.toJSON=function(){return _e(this)},N._isBigNumber=!0,v!=null&&ue.set(v),ue}function m(v){var C=v|0;return v>0||v===C?C:C-1}function h(v){for(var C,R,w=1,N=v.length,P=v[0]+"";w<N;){for(C=v[w++]+"",R=c-C.length;R--;C="0"+C);P+=C}for(N=P.length;P.charCodeAt(--N)===48;);return P.slice(0,N+1||1)}function A(v,C){var R,w,N=v.c,P=C.c,L=v.s,M=C.s,k=v.e,B=C.e;if(!L||!M)return null;if(R=N&&!N[0],w=P&&!P[0],R||w)return R?w?0:-M:L;if(L!=M)return L;if(R=L<0,w=k==B,!N||!P)return w?0:!N^R?1:-1;if(!w)return k>B^R?1:-1;for(M=(k=N.length)<(B=P.length)?k:B,L=0;L<M;L++)if(N[L]!=P[L])return N[L]>P[L]^R?1:-1;return k==B?0:k>B^R?1:-1}function g(v,C,R,w){if(v<C||v>R||v!==s(v))throw Error(i+(w||"Argument")+(typeof v=="number"?v<C||v>R?" out of range: ":" not an integer: ":" not a primitive number: ")+String(v))}function b(v){var C=v.c.length-1;return m(v.e/c)==C&&v.c[C]%2!=0}function y(v,C){return(v.length>1?v.charAt(0)+"."+v.slice(1):v)+(C<0?"e":"e+")+C}function x(v,C,R){var w,N;if(C<0){for(N=R+".";++C;N+=R);v=N+v}else if(w=v.length,++C>w){for(N=R,C-=w;--C;N+=R);v+=N}else C<w&&(v=v.slice(0,C)+"."+v.slice(C));return v}e=p(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Xk<"u"&&Xk.exports?Xk.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(BMe)});var FMe=E((mqr,$Me)=>{var MMe=NV(),WMe=$Me.exports;(function(){"use strict";function t(u){return u<10?"0"+u:u}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,s,i={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function o(u){return r.lastIndex=0,r.test(u)?'"'+u.replace(r,function(l){var d=i[l];return typeof d=="string"?d:"\\u"+("0000"+l.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+u+'"'}function c(u,l){var d,f,p,m,h=n,A,g=l[u],b=g!=null&&(g instanceof MMe||MMe.isBigNumber(g));switch(g&&typeof g=="object"&&typeof g.toJSON=="function"&&(g=g.toJSON(u)),typeof a=="function"&&(g=a.call(l,u,g)),typeof g){case"string":return b?g:o(g);case"number":return isFinite(g)?String(g):"null";case"boolean":case"null":case"bigint":return String(g);case"object":if(!g)return"null";if(n+=s,A=[],Object.prototype.toString.apply(g)==="[object Array]"){for(m=g.length,d=0;d<m;d+=1)A[d]=c(d,g)||"null";return p=A.length===0?"[]":n?`[
|
|
`+n+A.join(`,
|
|
`+n)+`
|
|
`+h+"]":"["+A.join(",")+"]",n=h,p}if(a&&typeof a=="object")for(m=a.length,d=0;d<m;d+=1)typeof a[d]=="string"&&(f=a[d],p=c(f,g),p&&A.push(o(f)+(n?": ":":")+p));else Object.keys(g).forEach(function(y){var x=c(y,g);x&&A.push(o(y)+(n?": ":":")+x)});return p=A.length===0?"{}":n?`{
|
|
`+n+A.join(`,
|
|
`+n)+`
|
|
`+h+"}":"{"+A.join(",")+"}",n=h,p}}typeof WMe.stringify!="function"&&(WMe.stringify=function(u,l,d){var f;if(n="",s="",typeof d=="number")for(f=0;f<d;f+=1)s+=" ";else typeof d=="string"&&(s=d);if(a=l,l&&typeof l!="function"&&(typeof l!="object"||typeof l.length!="number"))throw new Error("JSON.stringify");return c("",{"":u})})})()});var qMe=E((hqr,UMe)=>{var Zk=null,snr=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,inr=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,anr=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var r,n,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
`,r:"\r",t:" "},i,a=function(h){throw{name:"SyntaxError",message:h,at:r,text:i}},o=function(h){return h&&h!==n&&a("Expected '"+h+"' instead of '"+n+"'"),n=i.charAt(r),r+=1,n},c=function(){var h,A="";for(n==="-"&&(A="-",o("-"));n>="0"&&n<="9";)A+=n,o();if(n===".")for(A+=".";o()&&n>="0"&&n<="9";)A+=n;if(n==="e"||n==="E")for(A+=n,o(),(n==="-"||n==="+")&&(A+=n,o());n>="0"&&n<="9";)A+=n,o();if(h=+A,!isFinite(h))a("Bad number");else return Zk==null&&(Zk=NV()),A.length>15?e.storeAsString?A:e.useNativeBigInt?BigInt(A):new Zk(A):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(h):new Zk(h):h},u=function(){var h,A,g="",b;if(n==='"')for(var y=r;o();){if(n==='"')return r-1>y&&(g+=i.substring(y,r-1)),o(),g;if(n==="\\"){if(r-1>y&&(g+=i.substring(y,r-1)),o(),n==="u"){for(b=0,A=0;A<4&&(h=parseInt(o(),16),!!isFinite(h));A+=1)b=b*16+h;g+=String.fromCharCode(b)}else if(typeof s[n]=="string")g+=s[n];else break;y=r}}a("Bad string")},l=function(){for(;n&&n<=" ";)o()},d=function(){switch(n){case"t":return o("t"),o("r"),o("u"),o("e"),!0;case"f":return o("f"),o("a"),o("l"),o("s"),o("e"),!1;case"n":return o("n"),o("u"),o("l"),o("l"),null}a("Unexpected '"+n+"'")},f,p=function(){var h=[];if(n==="["){if(o("["),l(),n==="]")return o("]"),h;for(;n;){if(h.push(f()),l(),n==="]")return o("]"),h;o(","),l()}}a("Bad array")},m=function(){var h,A=Object.create(null);if(n==="{"){if(o("{"),l(),n==="}")return o("}"),A;for(;n;){if(h=u(),l(),o(":"),e.strict===!0&&Object.hasOwnProperty.call(A,h)&&a('Duplicate key "'+h+'"'),snr.test(h)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?f():A[h]=f():inr.test(h)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?f():A[h]=f():A[h]=f(),l(),n==="}")return o("}"),A;o(","),l()}}a("Bad object")};return f=function(){switch(l(),n){case"{":return m();case"[":return p();case'"':return u();case"-":return c();default:return n>="0"&&n<="9"?c():d()}},function(h,A){var g;return i=h+"",r=0,n=" ",g=f(),l(),n&&a("Syntax error"),typeof A=="function"?function b(y,x){var v,C,R=y[x];return R&&typeof R=="object"&&Object.keys(R).forEach(function(w){C=b(R,w),C!==void 0?R[w]=C:delete R[w]}),A.call(y,x,R)}({"":g},""):g}};UMe.exports=anr});var QMe=E((gqr,eL)=>{var jMe=FMe().stringify,HMe=qMe();eL.exports=function(t){return{parse:HMe(t),stringify:jMe}};eL.exports.parse=HMe();eL.exports.stringify=jMe});function I5e(t){let e=t.match(/^S(\d+)$/i);if(e)return`S${String(parseInt(e[1])).padStart(2,"0")}`;let r=t.match(/^E(\d+)$/i);return r?`E${String(parseInt(r[1])).padStart(2,"0")}`:t}function T5e(t){return!t||typeof t!="string"?[]:t.split(",").map(e=>{let r=e.trim(),n=r.lastIndexOf(":");if(n===-1)return null;let s=r.substring(0,n),i=r.substring(n+1);if(!s||i==="")return null;let a=parseFloat(i);if(!Number.isFinite(a))return null;let o=!1,c=s.trim();c.endsWith("%")&&(o=!0,c=c.slice(0,-1).trim());let u=c.lastIndexOf("@"),l,d,f;if(u!==-1){l=c.substring(0,u);let g=c.substring(u+1).trim().toLowerCase();if(g==="all"||g==="*")d=null,f=!0;else if(d=g.split("&").map(b=>b.trim()).filter(Boolean),f=!1,d.length===0)return null}else l=c,d=null,f=!1;let p=l.trim().split("/"),m=p[0]||null;if(!m)return null;let h=p[1]?I5e(p[1]):null,A=p[2]?I5e(p[2]):null;return{anime:m,season:h,episode:A,sources:d,all:f,offset:a,usePercent:o}}).filter(Boolean)}function Ez(t,{anime:e,season:r,episode:n,source:s}){if(!Array.isArray(t)||t.length===0||!e)return null;let i=new Set;if(s)for(let o of s.split("&")){let c=o.trim().toLowerCase();c&&(i.add(c),C5e[c]&&i.add(C5e[c]))}let a=[{matchSeason:!0,matchEpisode:!0},{matchSeason:!0,matchEpisode:!1},{matchSeason:!1,matchEpisode:!1}];for(let o of a){let c=null,u=null,l=null;for(let d of t)if(d.anime===e){if(o.matchEpisode){if(!d.season||!d.episode||d.season!==r||d.episode!==n)continue}else if(o.matchSeason){if(!d.season||d.episode||d.season!==r)continue}else if(d.season||d.episode)continue;d.sources?i.size>0&&d.sources.some(f=>i.has(f))&&(c=d):d.all?u=d:l=d}if(c!==null)return c;if(u!==null)return u;if(l!==null)return l}return null}function _z(t,e,r={}){let n=Number(e);if(!n||!Array.isArray(t)||t.length===0)return t;let s=r?.usePercent===!0,i=Number(r?.videoDuration||0),a=m=>{if(!m||typeof m!="object")return null;if(typeof m.p=="string"){let h=m.p.split(","),A=parseFloat(h[0]);if(Number.isFinite(A))return A}if(m.t!==void 0&&m.t!==null){let h=Number(m.t);if(Number.isFinite(h))return h}if(m.progress!==void 0&&m.progress!==null){let h=Number(m.progress);if(Number.isFinite(h))return h/1e3}if(m.timepoint!==void 0&&m.timepoint!==null){let h=Number(m.timepoint);if(Number.isFinite(h))return h}return null},o=i>0?i:a(t[t.length-1])||0,c=s&&Number.isFinite(o)&&o>0?(o+n)/o:null;if(s&&c===null)return t;let u=n*1e3,l=m=>Math.max(0,m),d=(m,h=2)=>Number(m.toFixed(h)),f=m=>{let h=l(c!==null?m*c:m+n);return c!==null?d(h,2):h},p=m=>{let h=l(c!==null?m*c:m+u);return c!==null?Math.round(h):h};return t.map(m=>{if(!m||typeof m!="object")return m;let h={...m};if(typeof h.p=="string"){let A=h.p.split(","),g=parseFloat(A[0]);Number.isFinite(g)&&(A[0]=f(g).toFixed(2),h.p=A.join(","))}if(h.t!==void 0&&h.t!==null){let A=Number(h.t);Number.isFinite(A)&&(h.t=f(A))}if(h.progress!==void 0&&h.progress!==null){let A=Number(h.progress);Number.isFinite(A)&&(h.progress=p(A))}if(h.timepoint!==void 0&&h.timepoint!==null){let A=Number(h.timepoint);Number.isFinite(A)&&(h.timepoint=f(A))}return h})}var C5e,Sz=dr(()=>{C5e={tencent:"qq",iqiyi:"qiyi",bilibili:"bilibili1"}});var sf,w5e=dr(()=>{Sz();sf=class{static env;static originalEnvVars=new Map;static accessedEnvVars=new Map;static VOD_ALLOWED_PLATFORMS=["qiyi","bilibili1","imgo","youku","qq","migu","sohu","leshi","xigua","maiduidui","aiyifan"];static ALLOWED_PLATFORMS=["qiyi","bilibili1","imgo","youku","qq","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko","custom"];static ALLOWED_SOURCES=["360","vod","tmdb","douban","tencent","youku","iqiyi","imgo","bilibili","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko","custom"];static MERGE_ALLOWED_SOURCES=["tencent","youku","iqiyi","imgo","bilibili","migu","renren","hanjutv","bahamut","dandan","sohu","leshi","xigua","maiduidui","aiyifan","animeko"];static DEFAULT_AI_MATCH_PROMPT=`\u4F60\u662F\u4E00\u4E2A\u4E13\u4E1A\u7684\u5F71\u89C6\u5339\u914D\u4E13\u5BB6\uFF0C\u4F60\u7684\u7684\u4EFB\u52A1\u662F\u6839\u636E\u7528\u6237\u63D0\u4F9B\u7684 JSON \u6570\u636E\uFF0C\u4ECE\u5019\u9009\u52A8\u6F2B\u5217\u8868\u4E2D\u5339\u914D\u6700\u7B26\u5408\u6761\u4EF6\u7684\u52A8\u6F2B\u53CA\u96C6\u6570\u3002
|
|
|
|
\u8F93\u5165\u5B57\u6BB5\u8BF4\u660E\uFF1A
|
|
- title: \u67E5\u8BE2\u6807\u9898
|
|
- season: \u5B63\u6570\uFF08\u53EF\u4E3A null\uFF09
|
|
- episode: \u96C6\u6570\uFF08\u53EF\u4E3A null\uFF09
|
|
- year: \u5E74\u4EFD\uFF08\u53EF\u4E3A null\uFF09
|
|
- dynamicPlatformOrder: \u5E73\u53F0\u504F\u597D\u5217\u8868\uFF08\u53EF\u4E3A null\uFF09
|
|
- preferAnimeId: \u504F\u597D\u52A8\u6F2B ID\uFF08\u53EF\u4E3A null\uFF09
|
|
- animes: \u5019\u9009\u52A8\u6F2B\u5217\u8868
|
|
- animeId: \u52A8\u6F2Bid
|
|
animeTitle: \u52A8\u6F2B\u6807\u9898\uFF0C(\u5E74\u4EFD)\u524D\u9762\u624D\u662F\u771F\u5B9E\u7684\u6807\u9898
|
|
aliases: \u52A8\u6F2B\u6807\u9898\u7684\u522B\u540D\uFF0C\u89C6\u60C5\u51B5\u53EF\u4EE5\u4F5C\u4E3A(\u52A8\u6F2B\u6807\u9898)\u770B\u5F85
|
|
type: \u7C7B\u578B
|
|
startDate: \u53D1\u5E03\u65E5\u671F\uFF0C\u6709\u5E74\u4EFD
|
|
episodeCount: \u603B\u96C6\u6570
|
|
source: \u5F39\u5E55\u6765\u6E90
|
|
|
|
\u5339\u914D\u89C4\u5219 (\u6309\u4F18\u5148\u7EA7\u6392\u5E8F):
|
|
1. \u5982\u679CpreferAnimeId\u975E\u7A7A\uFF0C\u4E14animes\u5B58\u5728\u8BE5animeId\uFF0C\u5219\u8FD4\u56DE\u8BE5id\u5BF9\u5E94\u7684anime\u548Cepisode
|
|
2. \u6807\u9898\u76F8\u4F3C\u5EA6: \u4F18\u5148\u5339\u914D\u6807\u9898\u76F8\u4F3C\u5EA6\u6700\u9AD8\u7684\u6761\u76EE
|
|
3. \u5B63\u5EA6\u4E25\u683C\u5339\u914D: \u5982\u679C\u6307\u5B9A\u4E86\u5B63\u5EA6,\u5FC5\u987B\u4E25\u683C\u5339\u914D
|
|
4. \u7C7B\u578B\u5339\u914D: episode\u4E3A\u7A7A\u5219\u4F18\u5148\u5339\u914D\u7535\u5F71\uFF0C\u975E\u7A7A\u5219\u5339\u914D\u7535\u89C6\u5267\u7B49
|
|
5. \u5E74\u4EFD\u63A5\u8FD1: \u4F18\u5148\u9009\u62E9\u5E74\u4EFD\u63A5\u8FD1\u7684
|
|
6. \u5E73\u53F0\u5339\u914D\uFF1A\u5982\u679C\u6709\u591A\u4E2A\u9AD8\u5EA6\u76F8\u4F3C\u7684\u7ED3\u679C\u4E14dynamicPlatformOrder\u975E\u7A7A\uFF0C\u5219\u4ECE\u524D\u5F80\u540E\u9009\u62E9\u76F8\u5BF9\u5E94\u7684\u5E73\u53F0
|
|
7. \u96C6\u6570\u5B8C\u6574: \u5982\u679C\u6709\u591A\u4E2A\u9AD8\u5EA6\u76F8\u4F3C\u7684\u7ED3\u679C,\u9009\u62E9\u96C6\u6570\u6700\u5B8C\u6574\u7684
|
|
|
|
\u8BF7\u5206\u6790\u54EA\u4E2A\u52A8\u6F2B\u6700\u7B26\u5408\u67E5\u8BE2\u6761\u4EF6\uFF0C\u5982\u679C\u6307\u5B9A\u4E86\u5B63\u6570\u548C\u96C6\u6570\uFF0C\u8BF7\u4E5F\u8FD4\u56DE\u5BF9\u5E94\u7684\u96C6\u4FE1\u606F\u3002
|
|
\u8BF7\u4E25\u683C\u6309\u7167\u4EE5\u4E0B JSON \u683C\u5F0F\u8FD4\u56DE\u7ED3\u679C\uFF0C\u4E0D\u8981\u5305\u542B\u4EFB\u4F55\u5176\u4ED6\u5185\u5BB9\uFF1A
|
|
{
|
|
"animeIndex": \u5339\u914D\u7684\u52A8\u6F2B\u5728\u5217\u8868\u4E2D\u7684\u7D22\u5F15(\u4ECE0\u5F00\u59CB) \u6216 null
|
|
}
|
|
|
|
\u5982\u679C\u6CA1\u6709\u627E\u5230\u5408\u9002\u7684\u5339\u914D\uFF0C\u8FD4\u56DE\uFF1A
|
|
{
|
|
"animeIndex": null
|
|
}`;static get(e,r,n="string",s=!1){let i;typeof this.env<"u"&&this.env[e]?(i=this.env[e],this.originalEnvVars.set(e,i)):typeof process<"u"&&process.env?.[e]?(i=process.env[e],this.originalEnvVars.set(e,i)):(i=r,this.originalEnvVars.set(e,""));let a;switch(n){case"number":if(a=Number(i),isNaN(a))throw new Error(`Environment variable ${e} must be a valid number`);break;case"boolean":a=i===!0||i==="true"||i===1||i==="1";break;case"string":default:a=String(i);break}let o=s?this.encryptStr(a):a;return this.accessedEnvVars.set(e,o),a}static set(e,r){typeof process<"u"&&(process.env[e]=String(r)),this.accessedEnvVars.set(e,r)}static encryptStr(e){return"*".repeat(e.length)}static resolveVodServers(){let r=this.get("VOD_SERVERS","\u91D1\u8749@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,\u542C\u98CE@https://gctf.tfdh.top","string");return!r||r.trim()===""?[]:r.split(",").map(n=>n.trim()).filter(n=>n.length>0).map((n,s)=>{if(n.includes("@")){let[i,a]=n.split("@").map(o=>o.trim());return{name:i||`vod-${s+1}`,url:a}}return{name:`vod-${s+1}`,url:n}}).filter(n=>n.url&&n.url.length>0)}static resolveSourceOrder(){let r=this.get("SOURCE_ORDER","douban,360,renren,hanjutv","string").split(",").map(n=>n.trim()).filter(n=>this.ALLOWED_SOURCES.includes(n));return this.accessedEnvVars.set("SOURCE_ORDER",r),r.length>0?r:["douban","360","renren","hanjutv"]}static resolvePlatformOrder(){let r=this.get("PLATFORM_ORDER","","string").split(",").map(n=>n.trim()).filter(n=>n?n.includes("&")?n.split("&").map(i=>i.trim()).every(i=>this.ALLOWED_PLATFORMS.includes(i)):this.ALLOWED_PLATFORMS.includes(n):!1);return this.accessedEnvVars.set("PLATFORM_ORDER",r),r.length>0?[...r,null]:[null]}static resolveMergeSourcePairs(){let e=this.get("MERGE_SOURCE_PAIRS","","string");return e?e.split(/[,;]/).map(r=>{if(!r)return null;let n=r.split("&").map(o=>o.trim()).filter(o=>o);if(n.length<1)return null;let s=n[0],i=n.slice(1);if(!this.MERGE_ALLOWED_SOURCES.includes(s))return null;let a=i.filter(o=>o!==s&&this.MERGE_ALLOWED_SOURCES.includes(o));return{primary:s,secondaries:a}}).filter(Boolean):[]}static resolveCustomMergeRules(){let e=this.get("CUSTOM_MERGE_RULES","","string").trim();if(!e)return[];let r=[],n=e.split(";");for(let s of n)if(s.trim())try{let i=s.split("|"),a=i[0],o=i[1]||"",c,u,l="merge";if(a.includes("->"))[c,u]=a.split("->").map(A=>A.trim());else if(a.includes("\xD7"))[c,u]=a.split("\xD7").map(A=>A.trim()),l="block";else continue;if(!c||!u)continue;let d=A=>{let g=A.match(/^(.+?)(?:\/S(\d+))?@([a-zA-Z0-9_&]+)$/i);return g?{title:g[1].trim(),season:g[2]?parseInt(g[2],10):null,source:g[3].toLowerCase()}:null},f=d(c),p=d(u);if(!f||!p)continue;let m=[],h=!1;if(l==="merge"&&o.trim()){h=!0;let A=o.split(",");for(let g of A){if(!g.trim())continue;let[b,y]=g.split(">").map(R=>R.trim());if(!b||!y)continue;let x=R=>{let w=R.match(/^E(\d+)(?:~E(\d+))?$/i);return w?{start:parseInt(w[1],10),end:w[2]?parseInt(w[2],10):parseInt(w[1],10)}:null},v=x(b),C=x(y);v&&C&&m.push({sec:v,prim:C})}}r.push({action:l,secondary:f,primary:p,routes:m,hasRoutes:h})}catch(i){console.warn(`[Envs] \u89E3\u6790\u5408\u5E76\u6620\u5C04\u8868\u89C4\u5219\u5931\u8D25: ${s}`,i)}return this.accessedEnvVars.set("CUSTOM_MERGE_RULES",e),r}static resolveEpisodeTitleFilter(){let e="(\u7279\u522B|\u60CA\u559C|\u7EB3\u51C9)?\u4F01\u5212(?!(\u4E66|\u6848|\u90E8))|\u5408\u4F19\u4EBA\u624B\u8BB0|\u8D85\u524D(\u8425\u4E1A|vlog)?|\u901F\u89C8|vlog|(?<!(Chain|Chemical|Nuclear|\u8FDE\u9501|\u5316\u5B66|\u6838|\u751F\u5316|\u751F\u7406|\u5E94\u6FC0))reaction|(?<!(\u5355))\u7EAF\u4EAB|\u52A0\u66F4(\u7248|\u7BC7)?|\u62A2\u5148(\u770B|\u7248|\u96C6|\u7BC7)?|(?<!(\u88AB|\u4E89|\u8C01))\u62A2[\u5148\u9C9C](?!(\u4E00\u6B65|\u624B|\u653B|\u4E86|\u544A|\u8A00|\u673A|\u8BDD))|\u62A2\u9C9C|\u9884\u544A(?!(\u51FD|\u4FE1|\u4E66|\u72AF))|(?<!(\u6B7B\u4EA1|\u6050\u6016|\u7075\u5F02|\u602A\u8C08))\u82B1\u7D6E(\u72EC\u5BB6)?|(?<!(\u4E00|\u76F4))\u76F4\u62CD|(\u5236\u4F5C|\u62CD\u6444|\u5E55\u540E|\u82B1\u7D6E|\u672A\u64AD|\u72EC\u5BB6|\u6F14\u5458|\u5BFC\u6F14|\u4E3B\u521B|\u6740\u9752|\u63A2\u73ED|\u6536\u5B98|\u5F00\u64AD|\u5148\u5BFC|\u5F69\u86CB|NG|\u56DE\u987E|\u9AD8\u5149|\u4E2A\u4EBA|\u4E3B\u521B)\u7279\u8F91|(?<!(\u884C\u52A8|\u8BA1\u5212|\u6E38\u620F|\u4EFB\u52A1|\u5371\u673A|\u795E\u79D8|\u9EC4\u91D1))\u5F69\u86CB|(?<!(\u5ACC\u7591\u4EBA|\u8BC1\u4EBA|\u5BB6\u5C5E|\u5F8B\u5E08|\u8B66\u65B9|\u51F6\u624B|\u6B7B\u8005))\u4E13\u8BBF|(?<!(\u8BC1\u4EBA))\u91C7\u8BBF(?!(\u5438\u8840\u9B3C|\u9B3C))|(\u6B63\u5F0F|\u89D2\u8272|\u5148\u5BFC|\u6982\u5FF5|\u9996\u66DD|\u5B9A\u6863|\u5267\u60C5|\u52A8\u753B|\u5BA3\u4F20|\u4E3B\u9898\u66F2|\u5370\u8C61)[\\s\\.]*[Pp\uFF30\uFF50][Vv\uFF36\uFF56]|(?<!(\u9E26|\u96EA|\u7EB8|\u76F8|\u7167|\u56FE|\u540D|\u5927))\u7247\u82B1|(?<!(\u9000\u5C45|\u56DE\u5F52|\u8D70\u5411|\u8F6C\u6218|\u9690\u8EAB|\u85CF\u8EAB|\u7684))\u5E55\u540E(?!(\u4E3B\u8C0B|\u4E3B\u4F7F|\u9ED1\u624B|\u771F\u51F6|\u73A9\u5BB6|\u8001\u677F|\u91D1\u4E3B|\u82F1\u96C4|\u529F\u81E3|\u63A8\u624B|\u5927\u4F6C|\u64CD\u7EB5|\u4EA4\u6613|\u7B56\u5212|\u535A\u5F08|BOSS|\u771F\u76F8))(\u6545\u4E8B|\u82B1\u7D6E|\u72EC\u5BB6)?|\u884D\u751F(?!(\u54C1|\u7269|\u517D))|\u756A\u5916(?!(\u5730|\u4EBA))|\u76F4\u64AD(\u966A\u770B|\u56DE\u987E)?|\u76F4\u64AD(?!(.*(\u4E8B\u4EF6|\u6740\u4EBA|\u81EA\u6740|\u8C0B\u6740|\u72AF\u7F6A|\u73B0\u573A|\u6E38\u620F|\u6311\u6218)))|\u672A\u64AD(\u7247\u6BB5)?|\u4F1A\u5458(\u4E13\u4EAB|\u52A0\u957F|\u5C0A\u4EAB|\u4E13\u5C5E|\u7248)?|(?<!(\u63D0\u53D6|\u5438\u6536|\u751F\u547D|\u9B54\u6CD5|\u4FEE\u62A4|\u7F8E\u767D))\u7CBE\u534E|\u770B\u70B9|\u901F\u770B|\u89E3\u8BFB(?!.*(\u5BC6\u6587|\u5BC6\u7801|\u5BC6\u7535|\u7535\u62A5|\u6863\u6848|\u4E66\u4FE1|\u9057\u4E66|\u7891\u6587|\u4EE3\u7801|\u4FE1\u53F7|\u6697\u53F7|\u8BAF\u606F|\u8C1C\u9898|\u4EBA\u5FC3|\u5507\u8BED|\u771F\u76F8|\u8C1C\u56E2|\u68A6\u5883))|(?<!(\u6848\u60C5|\u4EBA\u751F|\u6B7B\u524D|\u5386\u53F2|\u4E16\u7EAA))\u56DE\u987E|\u5F71\u8BC4|\u89E3\u8BF4|\u5410\u69FD|(?<!(\u5E74\u7EC8|\u5B63\u5EA6|\u5E93\u5B58|\u8D44\u4EA7|\u7269\u8D44|\u8D22\u52A1|\u6536\u83B7|\u6218\u5229))\u76D8\u70B9|\u62CD\u6444\u82B1\u7D6E|\u5236\u4F5C\u82B1\u7D6E|\u5E55\u540E\u82B1\u7D6E|\u672A\u64AD\u82B1\u7D6E|\u72EC\u5BB6\u82B1\u7D6E|\u82B1\u7D6E\u7279\u8F91|\u5148\u5BFC\u9884\u544A|\u7EC8\u6781\u9884\u544A|\u6B63\u5F0F\u9884\u544A|\u5B98\u65B9\u9884\u544A|\u5F69\u86CB\u7247\u6BB5|\u5220\u51CF\u7247\u6BB5|\u672A\u64AD\u7247\u6BB5|\u756A\u5916\u5F69\u86CB|\u7CBE\u5F69\u7247\u6BB5|\u7CBE\u5F69\u770B\u70B9|\u7CBE\u5F69\u96C6\u9526|\u770B\u70B9\u89E3\u6790|\u770B\u70B9\u9884\u544A|NG\u955C\u5934|NG\u82B1\u7D6E|\u756A\u5916\u7BC7|\u756A\u5916\u7279\u8F91|\u5236\u4F5C\u7279\u8F91|\u62CD\u6444\u7279\u8F91|\u5E55\u540E\u7279\u8F91|\u5BFC\u6F14\u7279\u8F91|\u6F14\u5458\u7279\u8F91|\u7247\u5C3E\u66F2|(?<!(\u751F\u547D|\u751F\u6D3B|\u60C5\u611F|\u7231\u60C5|\u4E00\u6BB5|\u5C0F|\u610F\u5916))\u63D2\u66F2|\u9AD8\u5149\u56DE\u987E|\u80CC\u666F\u97F3\u4E50|OST|\u97F3\u4E50MV|\u6B4C\u66F2MV|\u524D\u5B63\u56DE\u987E|\u5267\u60C5\u56DE\u987E|\u5F80\u671F\u56DE\u987E|\u5185\u5BB9\u603B\u7ED3|\u5267\u60C5\u76D8\u70B9|\u7CBE\u9009\u5408\u96C6|\u526A\u8F91\u5408\u96C6|\u6DF7\u526A\u89C6\u9891|\u72EC\u5BB6\u4E13\u8BBF|\u6F14\u5458\u8BBF\u8C08|\u5BFC\u6F14\u8BBF\u8C08|\u4E3B\u521B\u8BBF\u8C08|\u5A92\u4F53\u91C7\u8BBF|\u53D1\u5E03\u4F1A\u91C7\u8BBF|\u966A\u770B(\u8BB0)?|\u8BD5\u770B\u7248|\u77ED\u5267|\u7CBE\u7F16|(?<!(Love|Disney|One|C|Note|S\\d+|\\+|&|\\s))Plus|\u72EC\u5BB6\u7248|(?<!(\u5BFC\u6F14|\u52A0\u957F|\u5468\u5E74))\u7279\u522B\u7248(?!(\u56FE|\u753B))|\u77ED\u7247|(?<!(\u65B0\u95FB|\u7D27\u6025|\u4E34\u65F6|\u53EC\u5F00|\u7834\u574F|\u5927\u95F9|\u6F84\u6E05|\u9053\u6B49|\u65B0\u54C1|\u4EA7\u54C1|\u4E8B\u6545))\u53D1\u5E03\u4F1A|\u89E3\u5FE7\u5C40|\u8D70\u5FC3\u5C40|\u706B\u9505\u5C40|\u5DC5\u5CF0\u65F6\u523B|\u575E\u91CC\u90FD\u77E5\u9053|\u798F\u6301\u76EE\u6807\u575E\u6C11|\u798F\u5229(?!(\u9662|\u4F1A|\u4E3B\u4E49|\u8BFE))\u7BC7|(\u798F\u5229|\u52A0\u66F4|\u756A\u5916|\u5F69\u86CB|\u884D\u751F|\u7279\u522B|\u6536\u5B98|\u6E38\u620F|\u6574\u86CA|\u65E5\u5E38)\u7BC7|\u72EC\u5BB6(?!(\u8BB0\u5FC6|\u8BD5\u7231|\u62A5\u9053|\u79D8\u65B9|\u5360\u6709|\u5BA0\u7231|\u6069\u5BA0))|.{2,}(?<!(\u5E02|\u5206|\u8B66|\u603B|\u7701|\u536B|\u836F|\u653F|\u76D1|\u7ED3|\u5927|\u5F00|\u7834|\u5E03|\u50F5|\u56F0|\u9A97|\u8D4C|\u80DC|\u8D25|\u5B9A|\u4E71|\u5371|\u8FF7|\u8C1C|\u5165|\u6405|\u8BBE|\u4E2D|\u6B8B|\u5E73|\u548C|\u7EC8|\u53D8|\u5BF9|\u5B89|\u505A|\u4E66|\u753B|\u5BDF|\u52A1|\u6848|\u901A|\u4FE1|\u80B2|\u5546|\u8C61|\u6E90|\u4E1A|\u51B0))\u5C40(?!(\u957F|\u5EA7|\u52BF|\u9762|\u90E8|\u5185|\u5916|\u4E2D|\u9650|\u4FC3|\u6C14))|(?<!(\u91CD\u75C7|\u9694\u79BB|\u5B9E\u9A8C|\u5FC3\u7406|\u5BA1\u8BAF|\u5355\u5411|\u672F\u540E))\u89C2\u5BDF\u5BA4|\u4E0A\u73ED\u90A3\u70B9\u4E8B\u513F|\u5468top|\u8D5B\u6BB5|VLOG|(?<!(\u5927\u6848|\u8981\u6848|\u5211\u4FA6|\u4FA6\u67E5|\u7834\u6848|\u6863\u6848|\u98CE\u4E91|\u5386\u53F2|\u6218\u4E89|\u63A2\u6848|\u81EA\u7136|\u4EBA\u6587|\u79D1\u5B66|\u533B\u5B66|\u5730\u7406|\u5B87\u5B99|\u8D5B\u4E8B|\u4E16\u754C\u676F|\u5965\u8FD0))\u5168\u7EAA\u5F55|\u5F00\u64AD|\u5148\u5BFC|\u603B\u5BA3|\u5C55\u6F14|\u96C6\u9526|\u65C5\u884C\u65E5\u8BB0|\u7CBE\u5F69\u5206\u4EAB|\u5267\u60C5\u63ED\u79D8(?!(\u8005|\u4EBA))|(?:^|\u3011\\s*|\\]\\s*)(?:[SC]|SP|OP|ED|PV)\\d+(?:[\\s:\uFF1A\\.\\-]|$)",n=this.get("EPISODE_TITLE_FILTER","","string",!1).trim()||e;this.accessedEnvVars.set("EPISODE_TITLE_FILTER",n);try{return new RegExp(`^(.*?)(?:${n})(.*?)$`,"i")}catch{return console.warn("Invalid EPISODE_TITLE_FILTER format, using default."),new RegExp(`^(.*?)(?:${e})(.*?)$`,"i")}}static resolveIpBlacklist(){let e=this.get("IP_BLACKLIST","","string",!1).trim();if(!e)return this.accessedEnvVars.set("IP_BLACKLIST",[]),[];let r=e.split(/[\n,;]+/).map(s=>s.trim()).filter(Boolean),n=[];for(let s of r)try{if(s.startsWith("/")&&s.lastIndexOf("/")>0){let a=s.lastIndexOf("/"),o=s.slice(1,a),c=s.slice(a+1);n.push({type:"regex",value:new RegExp(o,c)});continue}if(s.includes("/")){let[a,o]=s.split("/").map(d=>d.trim()),c=Number(o),u=this.isValidIpv4(a),l=this.isValidIpv6(a);if(Number.isInteger(c)){if(u&&c>=0&&c<=32){n.push({type:"cidr",ip:a,prefix:c});continue}if(l&&c>=0&&c<=128){n.push({type:"cidr",ip:a,prefix:c});continue}}}if(this.isValidIpv4(s)||this.isValidIpv6(s)){n.push({type:"exact",value:s});continue}let i=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");n.push({type:"regex",value:new RegExp(`^${i}$`)})}catch{console.warn(`Invalid IP_BLACKLIST entry: ${s}, skipped.`)}return this.accessedEnvVars.set("IP_BLACKLIST",r),n}static isValidIpv4(e){if(!e||typeof e!="string")return!1;let r=e.split(".");return r.length!==4?!1:r.every(n=>{if(!/^(\d{1,3})$/.test(n))return!1;let s=Number(n);return s>=0&&s<=255})}static isValidIpv6(e){if(!e||typeof e!="string")return!1;let r=e.trim();if(!r.includes(":"))return!1;let[n,s]=r.split("::");if(r.split("::").length>2)return!1;let i=n?n.split(":").filter(Boolean):[],a=s?s.split(":").filter(Boolean):[],o=d=>{if(d.length===0)return d;let f=d[d.length-1];if(!f.includes("."))return d;if(!this.isValidIpv4(f))return null;let p=f.split(".").map(A=>Number(A)),m=(p[0]<<8|p[1]).toString(16),h=(p[2]<<8|p[3]).toString(16);return[...d.slice(0,-1),m,h]},c=o(i);if(!c||(a=o(a),!a)||c.length+a.length>8)return!1;let l=d=>/^[0-9a-fA-F]{1,4}$/.test(d);return!(!c.every(l)||!a.every(l))}static resolveAnimeTitleFilter(){let e=this.get("ANIME_TITLE_FILTER","","string",!1).trim();if(!e)return this.accessedEnvVars.set("ANIME_TITLE_FILTER",""),null;this.accessedEnvVars.set("ANIME_TITLE_FILTER",e);try{return new RegExp(`^(.*?)(?:${e})(.*?)$`,"i")}catch{return console.warn("Invalid ANIME_TITLE_FILTER format, returning null."),null}}static getOriginalEnvVars(){return this.originalEnvVars}static resolveTitleMappingTable(){let e=this.get("TITLE_MAPPING_TABLE","","string").trim(),r=new Map;if(!e)return r;let n=e.split(";");for(let s of n)if(s.includes("->")){let[i,a]=s.split("->").map(o=>o.trim());i&&a&&r.set(i,a)}return r}static getAccessedEnvVars(){return this.accessedEnvVars}static load(e={}){this.env=e;let r={TOKEN:{category:"api",type:"text",description:"API\u8BBF\u95EE\u4EE4\u724C"},ADMIN_TOKEN:{category:"api",type:"text",description:"\u7CFB\u7EDF\u7BA1\u7406\u8BBF\u95EE\u4EE4\u724C"},RATE_LIMIT_MAX_REQUESTS:{category:"api",type:"number",description:"\u9650\u6D41\u914D\u7F6E\uFF1A1\u5206\u949F\u5185\u6700\u5927\u8BF7\u6C42\u6B21\u6570\uFF0C0\u8868\u793A\u4E0D\u9650\u6D41\uFF0C\u9ED8\u8BA43",min:0,max:50},SOURCE_ORDER:{category:"source",type:"multi-select",options:this.ALLOWED_SOURCES,description:"\u6E90\u6392\u5E8F\u914D\u7F6E\uFF0C\u9ED8\u8BA4douban,360,renren,hanjutv"},MERGE_SOURCE_PAIRS:{category:"source",type:"multi-select",options:this.MERGE_ALLOWED_SOURCES,description:`\u6E90\u5408\u5E76\u914D\u7F6E\uFF0C\u914D\u7F6E\u540E\u5C06\u5BF9\u5E94\u6E90\u5408\u5E76\u540C\u65F6\u4E00\u8D77\u83B7\u53D6\u5F39\u5E55\u8FD4\u56DE\uFF0C\u5141\u8BB8\u591A\u7EC4\uFF0C\u5141\u8BB8\u591A\u6E90\uFF0C\u5141\u8BB8\u586B\u5355\u6E90\u8868\u793A\u4FDD\u7559\u539F\u7ED3\u679C\uFF0C\u4E00\u7EC4\u4E2D\u7B2C\u4E00\u4E2A\u4E3A\u4E3B\u6E90\u5176\u4F59\u4E3A\u526F\u6E90\uFF0C\u526F\u6E90\u5F80\u4E3B\u6E90\u5408\u5E76\uFF0C\u4E3B\u6E90\u5982\u679C\u6CA1\u6709\u7ED3\u679C\u4F1A\u8F6E\u66FF\u4E0B\u4E00\u4E2A\u4F5C\u4E3A\u4E3B\u6E90\u3002
|
|
\u683C\u5F0F\uFF1A\u6E901&\u6E902&\u6E903 \uFF0C\u591A\u7EC4\u7528\u9017\u53F7\u5206\u9694\u3002
|
|
\u793A\u4F8B\uFF1Adandan&animeko&bahamut,bilibili&animeko,dandan`},CUSTOM_MERGE_RULES:{category:"source",type:"text",sources:this.MERGE_ALLOWED_SOURCES,description:`\u5408\u5E76\u6620\u5C04\u8868\uFF0C\u7528\u4E8E\u81EA\u5B9A\u4E49\u6E90\u5408\u5E76\u884C\u4E3A\u3002
|
|
\u683C\u5F0F1(\u5408\u5E76)\uFF1A\u526F\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 -> \u4E3B\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 | E\u526F\u6E90\u96C6\u6570>E\u4E3B\u6E90\u96C6\u6570
|
|
\u683C\u5F0F2(\u963B\u65AD)\uFF1A\u526F\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90 \xD7 \u4E3B\u6E90\u5267\u540D/S\u5B63\u6570@\u6765\u6E90
|
|
\u8BF4\u660E\uFF1A[/S\u5B63\u6570] \u4E0E [|\u8DEF\u7531\u89C4\u5219] \u4E3A\u53EF\u9009\u9879\uFF0C\u7559\u7A7A\u5219\u4EA4\u7531\u7A0B\u5E8F\u5224\u65AD\u3002\u591A\u4E2A\u89C4\u5219\u7528\u5206\u53F7\u9694\u5F00\uFF0C\u591A\u6BB5\u8DEF\u7531\u7528\u9017\u53F7\u5206\u9694\u3002
|
|
\u793A\u4F8B\uFF1A
|
|
1. \u5E38\u89C4\u5408\u5E76\uFF1A\u5929\u6C14\u4E4B\u5B50@bilibili -> \u5929\u6C14\u4E4B\u5B50@dandan
|
|
2. \u591A\u96C6\u8DEF\u7531\uFF1A\u6211\u63A8\u7684\u5B69\u5B50/S01@bahamut -> \u6211\u63A8\u7684\u5B69\u5B50/S03@dandan | E25~E35>E25~E35
|
|
3. \u963B\u65AD\u5408\u5E76\uFF1A\u8F89\u591C\u5927\u5C0F\u59D0\u60F3\u8BA9\u6211\u544A\u767D\uFF1F\uFF5E\u5929\u624D\u4EEC\u7684\u604B\u7231\u5934\u8111\u6218\uFF5E(2020)@bilibili \xD7 \u8F89\u591C\u5927\u5C0F\u59D0\u60F3\u8BA9\u6211\u544A\u767D\uFF5E\u5929\u624D\u4EEC\u7684\u604B\u7231\u5934\u8111\u6218\uFF5E OVA(2021)\u3010OVA\u3011@dandan`},OTHER_SERVER:{category:"source",type:"text",description:"\u7B2C\u4E09\u65B9\u5F39\u5E55\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4https://api.danmu.icu"},CUSTOM_SOURCE_API_URL:{category:"source",type:"text",description:"\u81EA\u5B9A\u4E49\u5F39\u5E55\u6E90API\u5730\u5740\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\uFF0C\u914D\u7F6E\u540E\u8FD8\u9700\u5728SOURCE_ORDER\u6DFB\u52A0custom\u6E90"},VOD_SERVERS:{category:"source",type:"text",description:"VOD\u7AD9\u70B9\u914D\u7F6E\uFF0C\u683C\u5F0F\uFF1A\u540D\u79F0@URL,\u540D\u79F0@URL\uFF0C\u9ED8\u8BA4\u91D1\u8749@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,\u542C\u98CE@https://gctf.tfdh.top"},VOD_RETURN_MODE:{category:"source",type:"select",options:["all","fastest"],description:"VOD\u8FD4\u56DE\u6A21\u5F0F\uFF1Aall\uFF08\u6240\u6709\u7AD9\u70B9\uFF09\u6216 fastest\uFF08\u6700\u5FEB\u7684\u7AD9\u70B9\uFF09\uFF0C\u9ED8\u8BA4fastest"},VOD_REQUEST_TIMEOUT:{category:"source",type:"number",description:"VOD\u8BF7\u6C42\u8D85\u65F6\u65F6\u95F4\uFF0C\u9ED8\u8BA410000",min:5e3,max:3e4},BILIBILI_COOKIE:{category:"source",type:"text",description:"B\u7AD9Cookie"},DOUBAN_COOKIE:{category:"source",type:"text",description:"\u8C46\u74E3Cookie"},YOUKU_CONCURRENCY:{category:"source",type:"number",description:"\u4F18\u9177\u5E76\u53D1\u914D\u7F6E\uFF0C\u9ED8\u8BA48",min:1,max:16},PLATFORM_ORDER:{category:"match",type:"multi-select",options:this.ALLOWED_PLATFORMS,description:`\u5E73\u53F0\u6392\u5E8F\u914D\u7F6E\uFF0C\u53EF\u4EE5\u914D\u7F6E\u81EA\u52A8\u5339\u914D\u65F6\u7684\u4F18\u9009\u5E73\u53F0\u3002
|
|
\u5F53\u914D\u7F6E\u5408\u5E76\u5E73\u53F0\u7684\u65F6\u5019\uFF0C\u53EF\u4EE5\u6307\u5B9A\u671F\u671B\u7684\u5408\u5E76\u6E90\uFF0C
|
|
\u793A\u4F8B\uFF1A\u4E00\u4E2A\u7ED3\u679C\u8FD4\u56DE\u4E86"dandan&bilibili1&animeko"\u548C"youku"\u65F6\uFF0C
|
|
\u5F53\u914D\u7F6E"youku"\u65F6\u8FD4\u56DE"youku"
|
|
\u5F53\u914D\u7F6E"dandan&animeko"\u65F6\u8FD4\u56DE"dandan&bilibili1&animeko"`},ANIME_TITLE_FILTER:{category:"match",type:"text",description:"\u5267\u540D\u8FC7\u6EE4\u89C4\u5219"},EPISODE_TITLE_FILTER:{category:"match",type:"text",description:"\u5267\u96C6\u6807\u9898\u8FC7\u6EE4\u89C4\u5219"},ENABLE_ANIME_EPISODE_FILTER:{category:"match",type:"boolean",description:"\u63A7\u5236\u624B\u52A8\u641C\u7D22\u7684\u65F6\u5019\u662F\u5426\u6839\u636EANIME_TITLE_FILTER\u8FDB\u884C\u5267\u540D\u8FC7\u6EE4\u4EE5\u53CA\u6839\u636EEPISODE_TITLE_FILTER\u8FDB\u884C\u96C6\u6807\u9898\u8FC7\u6EE4"},STRICT_TITLE_MATCH:{category:"match",type:"boolean",description:"\u4E25\u683C\u6807\u9898\u5339\u914D\u6A21\u5F0F"},TITLE_TO_CHINESE:{category:"match",type:"boolean",description:"\u5916\u8BED\u6807\u9898\u8F6C\u6362\u4E2D\u6587\u5F00\u5173"},ANIME_TITLE_SIMPLIFIED:{category:"match",type:"boolean",description:"\u641C\u7D22\u7684\u5267\u540D\u6807\u9898\u81EA\u52A8\u7E41\u8F6C\u7B80"},TITLE_MAPPING_TABLE:{category:"match",type:"map",description:'\u5267\u540D\u6620\u5C04\u8868\uFF0C\u7528\u4E8E\u81EA\u52A8\u5339\u914D\u65F6\u66FF\u6362\u6807\u9898\u8FDB\u884C\u641C\u7D22\uFF0C\u683C\u5F0F\uFF1A\u539F\u59CB\u6807\u9898->\u6620\u5C04\u6807\u9898;\u539F\u59CB\u6807\u9898->\u6620\u5C04\u6807\u9898;... \uFF0C\u4F8B\u5982\uFF1A"\u5510\u671D\u8BE1\u4E8B\u5F55->\u5510\u671D\u8BE1\u4E8B\u5F55\u4E4B\u897F\u884C;\u56FD\u8272\u82B3\u534E->\u9526\u7EE3\u82B3\u534E"'},AI_BASE_URL:{category:"match",type:"text",description:"AI\u670D\u52A1\u57FA\u7840URL\uFF0C\u4E0D\u586B\u9ED8\u8BA4\u4E3Ahttps://api.openai.com/v1"},AI_MODEL:{category:"match",type:"text",description:"AI\u6A21\u578B\u540D\u79F0\uFF0C\u4E0D\u586B\u9ED8\u8BA4\u4E3Agpt-4o"},AI_API_KEY:{category:"match",type:"text",description:"AI\u670D\u52A1API\u5BC6\u94A5\uFF0C\u9ED8\u8BA4\u4E3A\u7A7A\uFF0C\u9700\u624B\u52A8\u586B\u5199"},AI_MATCH_PROMPT:{category:"match",type:"text",description:"AI\u81EA\u52A8\u5339\u914D\u63D0\u793A\u8BCD\u6A21\u677F\uFF0C\u4E0D\u586B\u63D0\u4F9B\u9ED8\u8BA4\u63D0\u793A\u8BCD\uFF0C\u9ED8\u8BA4\u63D0\u793A\u8BCD\u8BF7\u67E5\u770BREADME"},USE_BANGUMI_DATA:{category:"match",type:"boolean",description:`Bangumi Data \u52A0\u901F\u5339\u914D\u5F00\u5173\uFF0C\u5F00\u542F\u540E\u5C06\u52A8\u753B\u5143\u6570\u636E\u7F13\u5B58\u81F3\u672C\u5730\u6216\u5185\u5B58\u4E2D\u7ED9\u6E90\u8C03\u7528\uFF0C\u63D0\u5347\u52A8\u753B\u6E90\u7684\u68C0\u7D22\u4E0E\u5339\u914D\u901F\u5EA6\u5E76\u89E3\u9501\u9690\u85CF/\u533A\u57DF\u756A\u5267\u3002
|
|
\u672C\u5730\u548CDocker\u90E8\u7F72\u4F7F\u7528\u65F6\u8BF7\u5148\u6302\u8F7D.cache\u76EE\u5F55\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\uFF0C\u4E91\u90E8\u7F72\u4F7F\u7528\u65F6\u4F1A\u5C06\u6570\u636E\u7F13\u5B58\u81F3\u4E34\u65F6\u5185\u5B58\u4E2D\u5982\u679C\u4F53\u9A8C\u4E0D\u4F73\u8BF7\u5173\u95ED\u3002`},BLOCKED_WORDS:{category:"danmu",type:"text",description:"\u5C4F\u853D\u8BCD\u5217\u8868"},GROUP_MINUTE:{category:"danmu",type:"number",description:"\u5206\u949F\u5185\u5408\u5E76\u53BB\u91CD\uFF080\u8868\u793A\u4E0D\u53BB\u91CD\uFF09\uFF0C\u9ED8\u8BA41",min:0,max:30},DANMU_LIMIT:{category:"danmu",type:"number",description:"\u5F39\u5E55\u6570\u91CF\u9650\u5236\uFF0C\u5355\u4F4D\u4E3Ak\uFF0C\u5373\u5343\uFF1A\u9ED8\u8BA4 0\uFF0C\u8868\u793A\u4E0D\u9650\u5236\u5F39\u5E55\u6570",min:0,max:100},DANMU_SIMPLIFIED_TRADITIONAL:{category:"danmu",type:"select",options:["default","simplified","traditional"],description:"\u5F39\u5E55\u7B80\u7E41\u4F53\u8F6C\u6362\u8BBE\u7F6E\uFF1Adefault\uFF08\u9ED8\u8BA4\u4E0D\u8F6C\u6362\uFF09\u3001simplified\uFF08\u7E41\u8F6C\u7B80\uFF09\u3001traditional\uFF08\u7B80\u8F6C\u7E41\uFF09"},CONVERT_TOP_BOTTOM_TO_SCROLL:{category:"danmu",type:"boolean",description:"\u9876\u90E8/\u5E95\u90E8\u5F39\u5E55\u8F6C\u6362\u4E3A\u6D6E\u52A8\u5F39\u5E55"},CONVERT_COLOR:{category:"danmu",type:"select",options:["default","white","color"],description:"\u5F39\u5E55\u8F6C\u6362\u989C\u8272\u914D\u7F6E"},COLOR_POOL:{category:"danmu",type:"text",description:"\u81EA\u5B9A\u4E49\u989C\u8272\u6C60\uFF08CONVERT_COLOR\u4E3Acolor\u65F6\u751F\u6548\uFF09\uFF0C\u4E0D\u914D\u7F6E\u4F7F\u7528\u9ED8\u8BA4\u989C\u8272\u6C60\uFF0C\u683C\u5F0F\uFF1A\u5341\u8FDB\u5236\u989C\u8272\u503C\u9017\u53F7\u5206\u9694"},DANMU_OUTPUT_FORMAT:{category:"danmu",type:"select",options:["json","xml"],description:"\u5F39\u5E55\u8F93\u51FA\u683C\u5F0F\uFF0C\u9ED8\u8BA4json"},DANMU_PUSH_URL:{category:"danmu",type:"text",description:"\u5F39\u5E55\u63A8\u9001\u5730\u5740\uFF0C\u793A\u4F8B http://127.0.0.1:9978/action?do=refresh&type=danmaku&path= "},LIKE_SWITCH:{category:"danmu",type:"boolean",description:"\u5F39\u5E55\u70B9\u8D5E\u6570\u663E\u793A\u5F00\u5173\uFF0C\u9ED8\u8BA4\u5F00\u542F"},DANMU_OFFSET:{category:"danmu",type:"text",sources:this.ALLOWED_SOURCES,description:"\u5F39\u5E55\u65F6\u95F4\u504F\u79FB\u914D\u7F6E\uFF0C\u683C\u5F0F\uFF1A\u5267\u540D:\u79D2 \u6216 \u5267\u540D/\u5B63:\u79D2 \u6216 \u5267\u540D/\u5B63/\u96C6:\u79D2\uFF0C\u652F\u6301\u6307\u5B9A\u6765\u6E90\uFF1A\u5267\u540D@\u6765\u6E90:\u79D2 \u6216 \u5267\u540D/\u5B63@\u6765\u6E901&\u6765\u6E902:\u79D2\uFF0C\u591A\u6761\u7528\u9017\u53F7\u5206\u9694\uFF0C\u6B63\u6570\u8868\u793A\u5F39\u5E55\u5EF6\u540E\uFF08\u5411\u53F3\uFF09\uFF0C\u8D1F\u6570\u8868\u793A\u5F39\u5E55\u63D0\u524D\uFF08\u5411\u5DE6\uFF09\u3002\u652F\u6301\u767E\u5206\u6BD4\u6A21\u5F0F\uFF1A\u5728\u8DEF\u5F84\u6216\u6765\u6E90\u672B\u5C3E\u8FFD\u52A0 %\uFF0C\u5982 \u4E1C\u65B9/S03/E02@tencent%:11\uFF0C\u6309\u516C\u5F0F \u539F\u65F6\u95F4 * (\u89C6\u9891\u65F6\u957F + \u504F\u79FB\u79D2\u6570) / \u89C6\u9891\u65F6\u957F \u7F29\u653E\u5168\u90E8\u5F39\u5E55\u65F6\u95F4\u3002\u793A\u4F8B\uFF1Aoverlord/S01:90,re-zero/S02@bilibili:120,re-zero/S02/E03@dandan&bilibili:10,\u4E1C\u65B9/S03/E02@tencent%:11"},SEARCH_CACHE_MINUTES:{category:"cache",type:"number",description:"\u641C\u7D22\u7ED3\u679C\u7F13\u5B58\u65F6\u95F4(\u5206\u949F)\uFF0C\u9ED8\u8BA43",min:1,max:120},COMMENT_CACHE_MINUTES:{category:"cache",type:"number",description:"\u5F39\u5E55\u7F13\u5B58\u65F6\u95F4(\u5206\u949F)\uFF0C\u9ED8\u8BA43",min:1,max:120},REMEMBER_LAST_SELECT:{category:"cache",type:"boolean",description:"\u8BB0\u4F4F\u624B\u52A8\u9009\u62E9\u7ED3\u679C"},MAX_LAST_SELECT_MAP:{category:"cache",type:"number",description:"\u8BB0\u4F4F\u4E0A\u6B21\u9009\u62E9\u6620\u5C04\u7F13\u5B58\u5927\u5C0F\u9650\u5236\uFF0C\u9ED8\u8BA4100",min:10,max:1e3},MAX_ANIMES:{category:"cache",type:"number",description:"\u52A8\u6F2B\u6807\u9898\u7F13\u5B58\u6700\u5927\u6570\u91CF\uFF0C\u9ED8\u8BA4100",min:100,max:1e3},UPSTASH_REDIS_REST_URL:{category:"cache",type:"text",description:"Upstash Redis\u8BF7\u6C42\u94FE\u63A5"},UPSTASH_REDIS_REST_TOKEN:{category:"cache",type:"text",description:"Upstash Redis\u8BBF\u95EE\u4EE4\u724C"},LOCAL_REDIS_URL:{category:"cache",type:"text",description:"\u672C\u5730 Redis \u8FDE\u63A5URL\uFF0C\u793A\u4F8B\uFF1Aredis://:[email protected]:6379/0\uFF0C\u53EA\u652F\u6301\u672C\u5730\u90E8\u7F72\u548Cdocker\u90E8\u7F72"},BANGUMI_DATA_CACHE_DAYS:{category:"cache",type:"number",description:"Bangumi Data \u7F13\u5B58\u6709\u6548\u671F(\u5929)\uFF0C\u8BBE\u7F6E0\u5219\u6BCF\u6B21\u8BF7\u6C42\u65F6\u5F3A\u5236\u5F02\u6B65\u66F4\u65B0\uFF0C\u9ED8\u8BA47\u5929",min:0,max:30},PROXY_URL:{category:"system",type:"text",description:"\u4EE3\u7406/\u53CD\u4EE3\u5730\u5740"},TMDB_API_KEY:{category:"system",type:"text",description:"TMDB API\u5BC6\u94A5"},LOG_LEVEL:{category:"system",type:"select",options:["debug","info","warn","error"],description:"\u65E5\u5FD7\u7EA7\u522B\u914D\u7F6E"},DEPLOY_PLATFROM_ACCOUNT:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u8D26\u53F7ID"},DEPLOY_PLATFROM_PROJECT:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u9879\u76EE\u540D\u79F0"},DEPLOY_PLATFROM_TOKEN:{category:"system",type:"text",description:"\u90E8\u7F72\u5E73\u53F0\u8BBF\u95EE\u4EE4\u724C"},NODE_TLS_REJECT_UNAUTHORIZED:{category:"system",type:"number",description:"\u5728\u5EFA\u7ACB HTTPS \u8FDE\u63A5\u65F6\u662F\u5426\u9A8C\u8BC1\u670D\u52A1\u5668\u7684 SSL/TLS \u8BC1\u4E66\uFF0C0\u8868\u793A\u5FFD\u7565\uFF0C\u9ED8\u8BA4\u4E3A1",min:0,max:1},IP_BLACKLIST:{category:"system",type:"text",description:"IP \u9ED1\u540D\u5355\u5217\u8868\uFF0C\u652F\u6301\u9017\u53F7/\u5206\u53F7/\u6362\u884C\u5206\u9694\uFF0C\u652F\u6301 /regex/ \u6216 /regex/i \u6B63\u5219\uFF0C\u652F\u6301 IPv4/IPv6 CIDR\uFF08\u5982 10.0.0.0/4\u30012001:db8::/64\uFF09\u3002\u547D\u4E2D\u5219\u62D2\u7EDD\u8BF7\u6C42"}};return{vodAllowedPlatforms:this.VOD_ALLOWED_PLATFORMS,allowedPlatforms:this.ALLOWED_PLATFORMS,token:this.get("TOKEN","87654321","string",!0),adminToken:this.get("ADMIN_TOKEN","","string",!0),sourceOrderArr:this.resolveSourceOrder(),mergeSourcePairs:this.resolveMergeSourcePairs(),customMergeRules:this.resolveCustomMergeRules(),otherServer:this.get("OTHER_SERVER","https://api.danmu.icu","string"),customSourceApiUrl:this.get("CUSTOM_SOURCE_API_URL","","string",!0),vodServers:this.resolveVodServers(),vodReturnMode:this.get("VOD_RETURN_MODE","fastest","string").toLowerCase(),vodRequestTimeout:this.get("VOD_REQUEST_TIMEOUT","10000","string"),bilibliCookie:this.get("BILIBILI_COOKIE","","string",!0),doubanCookie:this.get("DOUBAN_COOKIE","","string",!0),youkuConcurrency:Math.min(this.get("YOUKU_CONCURRENCY",8,"number"),16),platformOrderArr:this.resolvePlatformOrder(),animeTitleFilter:this.resolveAnimeTitleFilter(),episodeTitleFilter:this.resolveEpisodeTitleFilter(),blockedWords:this.get("BLOCKED_WORDS","","string"),groupMinute:Math.min(this.get("GROUP_MINUTE",1,"number"),30),danmuLimit:this.get("DANMU_LIMIT",0,"number"),proxyUrl:this.get("PROXY_URL","","string",!0),danmuSimplifiedTraditional:this.get("DANMU_SIMPLIFIED_TRADITIONAL","default","string"),danmuPushUrl:this.get("DANMU_PUSH_URL","","string"),likeSwitch:this.get("LIKE_SWITCH",!0,"boolean"),danmuOffset:this.get("DANMU_OFFSET","","string"),danmuOffsetRules:T5e(this.get("DANMU_OFFSET","","string")),tmdbApiKey:this.get("TMDB_API_KEY","","string",!0),redisUrl:this.get("UPSTASH_REDIS_REST_URL","","string",!0),redisToken:this.get("UPSTASH_REDIS_REST_TOKEN","","string",!0),localRedisUrl:this.get("LOCAL_REDIS_URL","","string",!0),rateLimitMaxRequests:this.get("RATE_LIMIT_MAX_REQUESTS",3,"number"),enableAnimeEpisodeFilter:this.get("ENABLE_ANIME_EPISODE_FILTER",!1,"boolean"),logLevel:this.get("LOG_LEVEL","info","string"),searchCacheMinutes:this.get("SEARCH_CACHE_MINUTES",3,"number"),commentCacheMinutes:this.get("COMMENT_CACHE_MINUTES",3,"number"),convertTopBottomToScroll:this.get("CONVERT_TOP_BOTTOM_TO_SCROLL",!1,"boolean"),convertColor:this.get("CONVERT_COLOR","default","string"),colorPool:this.get("COLOR_POOL","16777215,16777215,16777215,16777215,16777215,16777215,16777215,16777215,16744319,16752762,16774799,9498256,8388564,8900346,14204888,16758465","string"),danmuOutputFormat:this.get("DANMU_OUTPUT_FORMAT","json","string"),strictTitleMatch:this.get("STRICT_TITLE_MATCH",!1,"boolean"),titleToChinese:this.get("TITLE_TO_CHINESE",!1,"boolean"),animeTitleSimplified:this.get("ANIME_TITLE_SIMPLIFIED",!1,"boolean"),titleMappingTable:this.resolveTitleMappingTable(),ipBlacklist:this.resolveIpBlacklist(),aiBaseUrl:this.get("AI_BASE_URL","https://api.openai.com/v1","string"),aiModel:this.get("AI_MODEL","gpt-4o","string"),aiApiKey:this.get("AI_API_KEY","","string",!0),aiMatchPrompt:this.get("AI_MATCH_PROMPT",this.DEFAULT_AI_MATCH_PROMPT,"string"),useBangumiData:this.get("USE_BANGUMI_DATA",!1,"boolean"),rememberLastSelect:this.get("REMEMBER_LAST_SELECT",!0,"boolean"),MAX_LAST_SELECT_MAP:this.get("MAX_LAST_SELECT_MAP",100,"number"),MAX_ANIMES:this.get("MAX_ANIMES",100,"number"),bangumiDataCacheDays:this.get("BANGUMI_DATA_CACHE_DAYS",7,"number"),deployPlatformAccount:this.get("DEPLOY_PLATFROM_ACCOUNT","","string",!0),deployPlatformProject:this.get("DEPLOY_PLATFROM_PROJECT","","string",!0),deployPlatformToken:this.get("DEPLOY_PLATFROM_TOKEN","","string",!0),NODE_TLS_REJECT_UNAUTHORIZED:this.get("NODE_TLS_REJECT_UNAUTHORIZED",1,"number"),envVarConfig:r}}}});var Kh,O,Pt=dr(()=>{w5e();Kh={env:{},envs:{},originalEnvVars:{},accessedEnvVars:{},VERSION:"1.19.13",MAX_LOGS:1e3,MAX_RECORDS:100,animes:[],episodeIds:[],episodeNum:10001,logBuffer:[],requestHistory:new Map,localCacheValid:!1,localCacheInitialized:!1,redisValid:!1,localRedisValid:!1,aiValid:!1,redisCacheInitialized:!1,lastSelectMap:new Map,reqRecords:[],todayReqNum:0,lastHashes:{animes:null,episodeIds:null,episodeNum:null,lastSelectMap:null,reqRecords:null,todayReqNum:null},searchCache:new Map,commentCache:new Map,deployPlatform:"",currentToken:"",init(t={}){return this.env=t,this.envs=sf.load(this.env),this.originalEnvVars=Object.fromEntries(sf.getOriginalEnvVars()),this.accessedEnvVars=Object.fromEntries(sf.getAccessedEnvVars()),this.getConfig()},reInit(){return this.envs=sf.load(this.env),this.originalEnvVars=Object.fromEntries(sf.getOriginalEnvVars()),this.accessedEnvVars=Object.fromEntries(sf.getAccessedEnvVars()),this.getConfig()},makeProxyUrl(t){let e=this.envs.proxyUrl||"";if(!e||!t)return t;let r=e.split(",").map(c=>c.trim()).filter(c=>c),n=null,s=null,i=null,a;try{a=new URL(t)}catch{return t}let o=a.hostname;for(let c of r)if(c.startsWith("bahamut@")&&o.includes("gamer.com.tw")){s=c.substring(8);break}else if(c.startsWith("tmdb@")&&o.includes("tmdb")){s=c.substring(5);break}else if(c.startsWith("bilibili@")&&o.includes("bilibili")){s=c.substring(9);break}else if(c.startsWith("animeko@")&&(o.includes("animeko")||o.includes("bgm.tv"))){s=c.substring(8);break}else c.startsWith("@")&&!i?i=c.substring(1):!c.includes("@")&&!n&&(n=c);if(s)try{let c=new URL(s);return a.protocol=c.protocol,a.host=c.host,a.port=c.port,c.pathname!=="/"&&(a.pathname=c.pathname.replace(/\/$/,"")+a.pathname),a.toString()}catch{return t}return i?`${i.replace(/\/$/,"")}/${t}`:n?`http://127.0.0.1:5321/proxy?url=${encodeURIComponent(t)}`:t},getConfig(){if(this._configProxy)return this._configProxy;let t=this;return this._configProxy=new Proxy({},{get(e,r){return r in t.envs?t.envs[r]:r==="version"?t.VERSION:r==="maxLogs"?t.MAX_LOGS:r==="maxAnimes"?t.envs.MAX_ANIMES:r==="maxRecords"?t.MAX_RECORDS:r==="maxLastSelectMap"?t.MAX_LAST_SELECT_MAP:r==="makeProxyUrl"?t.makeProxyUrl.bind(t):t[r]},set(e,r,n){return r in t.envs?t.envs[r]=n:t[r]=n,!0}}),this._configProxy}},O=new Proxy({},{get(t,e){return Kh.getConfig()[e]},set(t,e,r){return Kh.getConfig()[e]=r,!0},has(t,e){return e in Kh.getConfig()},ownKeys(t){return Reflect.ownKeys(Kh.getConfig())},getOwnPropertyDescriptor(t,e){return Object.getOwnPropertyDescriptor(Kh.getConfig(),e)}})});function _(t,...e){let r={error:0,warn:1,info:2},n=r[O.logLevel]!==void 0?r[O.logLevel]:1;if((r[t]||0)>n)return;let s=e.map(u=>{if(typeof u=="object"){let l=JSON.stringify(u);return R5e(l)}else return typeof u=="string"?R5e(u):u}),i=s.map(u=>typeof u=="object"?JSON.stringify(u):u).join(" "),a=new Date,c=new Date(a.getTime()+8*60*60*1e3).toISOString().replace("Z","+08:00");O.logBuffer.push({timestamp:c,level:t,message:i}),O.logBuffer.length>O.MAX_LOGS&&O.logBuffer.shift(),console[t](...s)}function R5e(t){let e=t;if(O.originalEnvVars&&O.accessedEnvVars)for(let[r,n]of Object.entries(O.originalEnvVars)){let s=O.accessedEnvVars[r];if(n&&typeof n=="string"&&n.length>0&&s&&typeof s=="string"&&s.match(/^\*+$/)&&s.length===n.length){let i="*".repeat(n.length),a=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g");e=e.replace(a,i)}}return e}function N5e(t){try{let e=JSON.parse(t);return JSON.stringify(e,null,2).replace(/\n/g,`
|
|
`)}catch{return t}}var St=dr(()=>{Pt()});function eir(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",s=!1,i=r[0]||"text/plain",a=i;for(let l=1;l<r.length;l++)r[l]==="base64"?s=!0:r[l]&&(a+=`;${r[l]}`,r[l].indexOf("charset=")===0&&(n=r[l].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let o=s?"base64":"ascii",c=unescape(t.substring(e+1)),u=Buffer.from(c,o);return u.type=i,u.typeFull=a,u.charset=n,u}var O5e,P5e=dr(()=>{O5e=eir});var k5e=E((gL,D5e)=>{(function(t,e){typeof gL=="object"&&typeof D5e<"u"?e(gL):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(gL,function(t){"use strict";function e(){}function r(S){return typeof S=="object"&&S!==null||typeof S=="function"}let n=e;function s(S,T){try{Object.defineProperty(S,"name",{value:T,configurable:!0})}catch{}}let i=Promise,a=Promise.prototype.then,o=Promise.reject.bind(i);function c(S){return new i(S)}function u(S){return c(T=>T(S))}function l(S){return o(S)}function d(S,T,D){return a.call(S,T,D)}function f(S,T,D){d(d(S,T,D),void 0,n)}function p(S,T){f(S,T)}function m(S,T){f(S,void 0,T)}function h(S,T,D){return d(S,T,D)}function A(S){d(S,void 0,n)}let g=S=>{if(typeof queueMicrotask=="function")g=queueMicrotask;else{let T=u(void 0);g=D=>d(T,D)}return g(S)};function b(S,T,D){if(typeof S!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(S,T,D)}function y(S,T,D){try{return u(b(S,T,D))}catch(K){return l(K)}}let x=16384;class v{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(T){let D=this._back,K=D;D._elements.length===x-1&&(K={_elements:[],_next:void 0}),D._elements.push(T),K!==D&&(this._back=K,D._next=K),++this._size}shift(){let T=this._front,D=T,K=this._cursor,ae=K+1,pe=T._elements,xe=pe[K];return ae===x&&(D=T._next,ae=0),--this._size,this._cursor=ae,T!==D&&(this._front=D),pe[K]=void 0,xe}forEach(T){let D=this._cursor,K=this._front,ae=K._elements;for(;(D!==ae.length||K._next!==void 0)&&!(D===ae.length&&(K=K._next,ae=K._elements,D=0,ae.length===0));)T(ae[D]),++D}peek(){let T=this._front,D=this._cursor;return T._elements[D]}}let C=Symbol("[[AbortSteps]]"),R=Symbol("[[ErrorSteps]]"),w=Symbol("[[CancelSteps]]"),N=Symbol("[[PullSteps]]"),P=Symbol("[[ReleaseSteps]]");function L(S,T){S._ownerReadableStream=T,T._reader=S,T._state==="readable"?Z(S):T._state==="closed"?F(S):W(S,T._storedError)}function M(S,T){let D=S._ownerReadableStream;return Lc(D,T)}function k(S){let T=S._ownerReadableStream;T._state==="readable"?V(S,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):j(S,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),T._readableStreamController[P](),T._reader=void 0,S._ownerReadableStream=void 0}function B(S){return new TypeError("Cannot "+S+" a stream using a released reader")}function Z(S){S._closedPromise=c((T,D)=>{S._closedPromise_resolve=T,S._closedPromise_reject=D})}function W(S,T){Z(S),V(S,T)}function F(S){Z(S),J(S)}function V(S,T){S._closedPromise_reject!==void 0&&(A(S._closedPromise),S._closedPromise_reject(T),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0)}function j(S,T){W(S,T)}function J(S){S._closedPromise_resolve!==void 0&&(S._closedPromise_resolve(void 0),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0)}let se=Number.isFinite||function(S){return typeof S=="number"&&isFinite(S)},oe=Math.trunc||function(S){return S<0?Math.ceil(S):Math.floor(S)};function ue(S){return typeof S=="object"||typeof S=="function"}function Ce(S,T){if(S!==void 0&&!ue(S))throw new TypeError(`${T} is not an object.`)}function we(S,T){if(typeof S!="function")throw new TypeError(`${T} is not a function.`)}function qe(S){return typeof S=="object"&&S!==null||typeof S=="function"}function Fe(S,T){if(!qe(S))throw new TypeError(`${T} is not an object.`)}function _e(S,T,D){if(S===void 0)throw new TypeError(`Parameter ${T} is required in '${D}'.`)}function U(S,T,D){if(S===void 0)throw new TypeError(`${T} is required in '${D}'.`)}function G(S){return Number(S)}function z(S){return S===0?0:S}function q(S){return z(oe(S))}function H(S,T){let K=Number.MAX_SAFE_INTEGER,ae=Number(S);if(ae=z(ae),!se(ae))throw new TypeError(`${T} is not a finite number`);if(ae=q(ae),ae<0||ae>K)throw new TypeError(`${T} is outside the accepted range of 0 to ${K}, inclusive`);return!se(ae)||ae===0?0:ae}function ee(S,T){if(!sp(S))throw new TypeError(`${T} is not a ReadableStream.`)}function ne(S){return new fe(S)}function re(S,T){S._reader._readRequests.push(T)}function X(S,T,D){let ae=S._reader._readRequests.shift();D?ae._closeSteps():ae._chunkSteps(T)}function ie(S){return S._reader._readRequests.length}function ce(S){let T=S._reader;return!(T===void 0||!Ne(T))}class fe{constructor(T){if(_e(T,1,"ReadableStreamDefaultReader"),ee(T,"First parameter"),ip(T))throw new TypeError("This stream has already been locked for exclusive reading by another reader");L(this,T),this._readRequests=new v}get closed(){return Ne(this)?this._closedPromise:l(Ye("closed"))}cancel(T=void 0){return Ne(this)?this._ownerReadableStream===void 0?l(B("cancel")):M(this,T):l(Ye("cancel"))}read(){if(!Ne(this))return l(Ye("read"));if(this._ownerReadableStream===void 0)return l(B("read from"));let T,D,K=c((pe,xe)=>{T=pe,D=xe});return Pe(this,{_chunkSteps:pe=>T({value:pe,done:!1}),_closeSteps:()=>T({value:void 0,done:!0}),_errorSteps:pe=>D(pe)}),K}releaseLock(){if(!Ne(this))throw Ye("releaseLock");this._ownerReadableStream!==void 0&&Ue(this)}}Object.defineProperties(fe.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(fe.prototype.cancel,"cancel"),s(fe.prototype.read,"read"),s(fe.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fe.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function Ne(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readRequests")?!1:S instanceof fe}function Pe(S,T){let D=S._ownerReadableStream;D._disturbed=!0,D._state==="closed"?T._closeSteps():D._state==="errored"?T._errorSteps(D._storedError):D._readableStreamController[N](T)}function Ue(S){k(S);let T=new TypeError("Reader was released");Ke(S,T)}function Ke(S,T){let D=S._readRequests;S._readRequests=new v,D.forEach(K=>{K._errorSteps(T)})}function Ye(S){return new TypeError(`ReadableStreamDefaultReader.prototype.${S} can only be used on a ReadableStreamDefaultReader`)}let Ze=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class nt{constructor(T,D){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=T,this._preventCancel=D}next(){let T=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?h(this._ongoingPromise,T,T):T(),this._ongoingPromise}return(T){let D=()=>this._returnSteps(T);return this._ongoingPromise?h(this._ongoingPromise,D,D):D()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let T=this._reader,D,K,ae=c((xe,Qe)=>{D=xe,K=Qe});return Pe(T,{_chunkSteps:xe=>{this._ongoingPromise=void 0,g(()=>D({value:xe,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,k(T),D({value:void 0,done:!0})},_errorSteps:xe=>{this._ongoingPromise=void 0,this._isFinished=!0,k(T),K(xe)}}),ae}_returnSteps(T){if(this._isFinished)return Promise.resolve({value:T,done:!0});this._isFinished=!0;let D=this._reader;if(!this._preventCancel){let K=M(D,T);return k(D),h(K,()=>({value:T,done:!0}))}return k(D),u({value:T,done:!0})}}let ct={next(){return Dt(this)?this._asyncIteratorImpl.next():l(lt("next"))},return(S){return Dt(this)?this._asyncIteratorImpl.return(S):l(lt("return"))}};Object.setPrototypeOf(ct,Ze);function tt(S,T){let D=ne(S),K=new nt(D,T),ae=Object.create(ct);return ae._asyncIteratorImpl=K,ae}function Dt(S){if(!r(S)||!Object.prototype.hasOwnProperty.call(S,"_asyncIteratorImpl"))return!1;try{return S._asyncIteratorImpl instanceof nt}catch{return!1}}function lt(S){return new TypeError(`ReadableStreamAsyncIterator.${S} can only be used on a ReadableSteamAsyncIterator`)}let De=Number.isNaN||function(S){return S!==S};var Je,ft,rt;function bt(S){return S.slice()}function An(S,T,D,K,ae){new Uint8Array(S).set(new Uint8Array(D,K,ae),T)}let Ct=S=>(typeof S.transfer=="function"?Ct=T=>T.transfer():typeof structuredClone=="function"?Ct=T=>structuredClone(T,{transfer:[T]}):Ct=T=>T,Ct(S)),Sr=S=>(typeof S.detached=="boolean"?Sr=T=>T.detached:Sr=T=>T.byteLength===0,Sr(S));function Us(S,T,D){if(S.slice)return S.slice(T,D);let K=D-T,ae=new ArrayBuffer(K);return An(ae,0,S,T,K),ae}function Dr(S,T){let D=S[T];if(D!=null){if(typeof D!="function")throw new TypeError(`${String(T)} is not a function`);return D}}function qs(S){let T={[Symbol.iterator]:()=>S.iterator},D=async function*(){return yield*T}(),K=D.next;return{iterator:D,nextMethod:K,done:!1}}let js=(rt=(Je=Symbol.asyncIterator)!==null&&Je!==void 0?Je:(ft=Symbol.for)===null||ft===void 0?void 0:ft.call(Symbol,"Symbol.asyncIterator"))!==null&&rt!==void 0?rt:"@@asyncIterator";function ys(S,T="sync",D){if(D===void 0)if(T==="async"){if(D=Dr(S,js),D===void 0){let pe=Dr(S,Symbol.iterator),xe=ys(S,"sync",pe);return qs(xe)}}else D=Dr(S,Symbol.iterator);if(D===void 0)throw new TypeError("The object is not iterable");let K=b(D,S,[]);if(!r(K))throw new TypeError("The iterator method must return an object");let ae=K.next;return{iterator:K,nextMethod:ae,done:!1}}function Hs(S){let T=b(S.nextMethod,S.iterator,[]);if(!r(T))throw new TypeError("The iterator.next() method must return an object");return T}function Lu(S){return!!S.done}function go(S){return S.value}function Dc(S){return!(typeof S!="number"||De(S)||S<0)}function Ta(S){let T=Us(S.buffer,S.byteOffset,S.byteOffset+S.byteLength);return new Uint8Array(T)}function yn(S){let T=S._queue.shift();return S._queueTotalSize-=T.size,S._queueTotalSize<0&&(S._queueTotalSize=0),T.value}function wa(S,T,D){if(!Dc(D)||D===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");S._queue.push({value:T,size:D}),S._queueTotalSize+=D}function rd(S){return S._queue.peek().value}function Ao(S){S._queue=new v,S._queueTotalSize=0}function bA(S){return S===DataView}function l6(S){return bA(S.constructor)}function gpt(S){return bA(S)?1:S.BYTES_PER_ELEMENT}class dm{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!d6(this))throw g6("view");return this._view}respond(T){if(!d6(this))throw g6("respond");if(_e(T,1,"respond"),T=H(T,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Sr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");w2(this._associatedReadableByteStreamController,T)}respondWithNewView(T){if(!d6(this))throw g6("respondWithNewView");if(_e(T,1,"respondWithNewView"),!ArrayBuffer.isView(T))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Sr(T.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");R2(this._associatedReadableByteStreamController,T)}}Object.defineProperties(dm.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),s(dm.prototype.respond,"respond"),s(dm.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(dm.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class nd{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!fm(this))throw VE("byobRequest");return h6(this)}get desiredSize(){if(!fm(this))throw VE("desiredSize");return jle(this)}close(){if(!fm(this))throw VE("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let T=this._controlledReadableByteStream._state;if(T!=="readable")throw new TypeError(`The stream (in ${T} state) is not in the readable state and cannot be closed`);GE(this)}enqueue(T){if(!fm(this))throw VE("enqueue");if(_e(T,1,"enqueue"),!ArrayBuffer.isView(T))throw new TypeError("chunk must be an array buffer view");if(T.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(T.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let D=this._controlledReadableByteStream._state;if(D!=="readable")throw new TypeError(`The stream (in ${D} state) is not in the readable state and cannot be enqueued to`);T2(this,T)}error(T=void 0){if(!fm(this))throw VE("error");Uo(this,T)}[w](T){kle(this),Ao(this);let D=this._cancelAlgorithm(T);return I2(this),D}[N](T){let D=this._controlledReadableByteStream;if(this._queueTotalSize>0){qle(this,T);return}let K=this._autoAllocateChunkSize;if(K!==void 0){let ae;try{ae=new ArrayBuffer(K)}catch(xe){T._errorSteps(xe);return}let pe={buffer:ae,bufferByteLength:K,byteOffset:0,byteLength:K,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(pe)}re(D,T),pm(this)}[P](){if(this._pendingPullIntos.length>0){let T=this._pendingPullIntos.peek();T.readerType="none",this._pendingPullIntos=new v,this._pendingPullIntos.push(T)}}}Object.defineProperties(nd.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),s(nd.prototype.close,"close"),s(nd.prototype.enqueue,"enqueue"),s(nd.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(nd.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function fm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledReadableByteStream")?!1:S instanceof nd}function d6(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_associatedReadableByteStreamController")?!1:S instanceof dm}function pm(S){if(!Ept(S))return;if(S._pulling){S._pullAgain=!0;return}S._pulling=!0;let D=S._pullAlgorithm();f(D,()=>(S._pulling=!1,S._pullAgain&&(S._pullAgain=!1,pm(S)),null),K=>(Uo(S,K),null))}function kle(S){p6(S),S._pendingPullIntos=new v}function f6(S,T){let D=!1;S._state==="closed"&&(D=!0);let K=Lle(T);T.readerType==="default"?X(S,K,D):Tpt(S,K,D)}function Lle(S){let T=S.bytesFilled,D=S.elementSize;return new S.viewConstructor(S.buffer,S.byteOffset,T/D)}function C2(S,T,D,K){S._queue.push({buffer:T,byteOffset:D,byteLength:K}),S._queueTotalSize+=K}function Ble(S,T,D,K){let ae;try{ae=Us(T,D,D+K)}catch(pe){throw Uo(S,pe),pe}C2(S,ae,0,K)}function Mle(S,T){T.bytesFilled>0&&Ble(S,T.buffer,T.byteOffset,T.bytesFilled),EA(S)}function Wle(S,T){let D=Math.min(S._queueTotalSize,T.byteLength-T.bytesFilled),K=T.bytesFilled+D,ae=D,pe=!1,xe=K%T.elementSize,Qe=K-xe;Qe>=T.minimumFill&&(ae=Qe-T.bytesFilled,pe=!0);let It=S._queue;for(;ae>0;){let dt=It.peek(),Bt=Math.min(ae,dt.byteLength),Jt=T.byteOffset+T.bytesFilled;An(T.buffer,Jt,dt.buffer,dt.byteOffset,Bt),dt.byteLength===Bt?It.shift():(dt.byteOffset+=Bt,dt.byteLength-=Bt),S._queueTotalSize-=Bt,$le(S,Bt,T),ae-=Bt}return pe}function $le(S,T,D){D.bytesFilled+=T}function Fle(S){S._queueTotalSize===0&&S._closeRequested?(I2(S),ZE(S._controlledReadableByteStream)):pm(S)}function p6(S){S._byobRequest!==null&&(S._byobRequest._associatedReadableByteStreamController=void 0,S._byobRequest._view=null,S._byobRequest=null)}function m6(S){for(;S._pendingPullIntos.length>0;){if(S._queueTotalSize===0)return;let T=S._pendingPullIntos.peek();Wle(S,T)&&(EA(S),f6(S._controlledReadableByteStream,T))}}function Apt(S){let T=S._controlledReadableByteStream._reader;for(;T._readRequests.length>0;){if(S._queueTotalSize===0)return;let D=T._readRequests.shift();qle(S,D)}}function ypt(S,T,D,K){let ae=S._controlledReadableByteStream,pe=T.constructor,xe=gpt(pe),{byteOffset:Qe,byteLength:It}=T,dt=D*xe,Bt;try{Bt=Ct(T.buffer)}catch(un){K._errorSteps(un);return}let Jt={buffer:Bt,bufferByteLength:Bt.byteLength,byteOffset:Qe,byteLength:It,bytesFilled:0,minimumFill:dt,elementSize:xe,viewConstructor:pe,readerType:"byob"};if(S._pendingPullIntos.length>0){S._pendingPullIntos.push(Jt),Gle(ae,K);return}if(ae._state==="closed"){let un=new pe(Jt.buffer,Jt.byteOffset,0);K._closeSteps(un);return}if(S._queueTotalSize>0){if(Wle(S,Jt)){let un=Lle(Jt);Fle(S),K._chunkSteps(un);return}if(S._closeRequested){let un=new TypeError("Insufficient bytes to fill elements in the given buffer");Uo(S,un),K._errorSteps(un);return}}S._pendingPullIntos.push(Jt),Gle(ae,K),pm(S)}function xpt(S,T){T.readerType==="none"&&EA(S);let D=S._controlledReadableByteStream;if(A6(D))for(;Vle(D)>0;){let K=EA(S);f6(D,K)}}function bpt(S,T,D){if($le(S,T,D),D.readerType==="none"){Mle(S,D),m6(S);return}if(D.bytesFilled<D.minimumFill)return;EA(S);let K=D.bytesFilled%D.elementSize;if(K>0){let ae=D.byteOffset+D.bytesFilled;Ble(S,D.buffer,ae-K,K)}D.bytesFilled-=K,f6(S._controlledReadableByteStream,D),m6(S)}function Ule(S,T){let D=S._pendingPullIntos.peek();p6(S),S._controlledReadableByteStream._state==="closed"?xpt(S,D):bpt(S,T,D),pm(S)}function EA(S){return S._pendingPullIntos.shift()}function Ept(S){let T=S._controlledReadableByteStream;return T._state!=="readable"||S._closeRequested||!S._started?!1:!!(ce(T)&&ie(T)>0||A6(T)&&Vle(T)>0||jle(S)>0)}function I2(S){S._pullAlgorithm=void 0,S._cancelAlgorithm=void 0}function GE(S){let T=S._controlledReadableByteStream;if(!(S._closeRequested||T._state!=="readable")){if(S._queueTotalSize>0){S._closeRequested=!0;return}if(S._pendingPullIntos.length>0){let D=S._pendingPullIntos.peek();if(D.bytesFilled%D.elementSize!==0){let K=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Uo(S,K),K}}I2(S),ZE(T)}}function T2(S,T){let D=S._controlledReadableByteStream;if(S._closeRequested||D._state!=="readable")return;let{buffer:K,byteOffset:ae,byteLength:pe}=T;if(Sr(K))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let xe=Ct(K);if(S._pendingPullIntos.length>0){let Qe=S._pendingPullIntos.peek();if(Sr(Qe.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");p6(S),Qe.buffer=Ct(Qe.buffer),Qe.readerType==="none"&&Mle(S,Qe)}if(ce(D))if(Apt(S),ie(D)===0)C2(S,xe,ae,pe);else{S._pendingPullIntos.length>0&&EA(S);let Qe=new Uint8Array(xe,ae,pe);X(D,Qe,!1)}else A6(D)?(C2(S,xe,ae,pe),m6(S)):C2(S,xe,ae,pe);pm(S)}function Uo(S,T){let D=S._controlledReadableByteStream;D._state==="readable"&&(kle(S),Ao(S),I2(S),Ade(D,T))}function qle(S,T){let D=S._queue.shift();S._queueTotalSize-=D.byteLength,Fle(S);let K=new Uint8Array(D.buffer,D.byteOffset,D.byteLength);T._chunkSteps(K)}function h6(S){if(S._byobRequest===null&&S._pendingPullIntos.length>0){let T=S._pendingPullIntos.peek(),D=new Uint8Array(T.buffer,T.byteOffset+T.bytesFilled,T.byteLength-T.bytesFilled),K=Object.create(dm.prototype);Spt(K,S,D),S._byobRequest=K}return S._byobRequest}function jle(S){let T=S._controlledReadableByteStream._state;return T==="errored"?null:T==="closed"?0:S._strategyHWM-S._queueTotalSize}function w2(S,T){let D=S._pendingPullIntos.peek();if(S._controlledReadableByteStream._state==="closed"){if(T!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(T===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(D.bytesFilled+T>D.byteLength)throw new RangeError("bytesWritten out of range")}D.buffer=Ct(D.buffer),Ule(S,T)}function R2(S,T){let D=S._pendingPullIntos.peek();if(S._controlledReadableByteStream._state==="closed"){if(T.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(T.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(D.byteOffset+D.bytesFilled!==T.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(D.bufferByteLength!==T.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(D.bytesFilled+T.byteLength>D.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let ae=T.byteLength;D.buffer=Ct(T.buffer),Ule(S,ae)}function Hle(S,T,D,K,ae,pe,xe){T._controlledReadableByteStream=S,T._pullAgain=!1,T._pulling=!1,T._byobRequest=null,T._queue=T._queueTotalSize=void 0,Ao(T),T._closeRequested=!1,T._started=!1,T._strategyHWM=pe,T._pullAlgorithm=K,T._cancelAlgorithm=ae,T._autoAllocateChunkSize=xe,T._pendingPullIntos=new v,S._readableStreamController=T;let Qe=D();f(u(Qe),()=>(T._started=!0,pm(T),null),It=>(Uo(T,It),null))}function _pt(S,T,D){let K=Object.create(nd.prototype),ae,pe,xe;T.start!==void 0?ae=()=>T.start(K):ae=()=>{},T.pull!==void 0?pe=()=>T.pull(K):pe=()=>u(void 0),T.cancel!==void 0?xe=It=>T.cancel(It):xe=()=>u(void 0);let Qe=T.autoAllocateChunkSize;if(Qe===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Hle(S,K,ae,pe,xe,D,Qe)}function Spt(S,T,D){S._associatedReadableByteStreamController=T,S._view=D}function g6(S){return new TypeError(`ReadableStreamBYOBRequest.prototype.${S} can only be used on a ReadableStreamBYOBRequest`)}function VE(S){return new TypeError(`ReadableByteStreamController.prototype.${S} can only be used on a ReadableByteStreamController`)}function vpt(S,T){Ce(S,T);let D=S?.mode;return{mode:D===void 0?void 0:Cpt(D,`${T} has member 'mode' that`)}}function Cpt(S,T){if(S=`${S}`,S!=="byob")throw new TypeError(`${T} '${S}' is not a valid enumeration value for ReadableStreamReaderMode`);return S}function Ipt(S,T){var D;Ce(S,T);let K=(D=S?.min)!==null&&D!==void 0?D:1;return{min:H(K,`${T} has member 'min' that`)}}function Qle(S){return new rp(S)}function Gle(S,T){S._reader._readIntoRequests.push(T)}function Tpt(S,T,D){let ae=S._reader._readIntoRequests.shift();D?ae._closeSteps(T):ae._chunkSteps(T)}function Vle(S){return S._reader._readIntoRequests.length}function A6(S){let T=S._reader;return!(T===void 0||!mm(T))}class rp{constructor(T){if(_e(T,1,"ReadableStreamBYOBReader"),ee(T,"First parameter"),ip(T))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!fm(T._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");L(this,T),this._readIntoRequests=new v}get closed(){return mm(this)?this._closedPromise:l(N2("closed"))}cancel(T=void 0){return mm(this)?this._ownerReadableStream===void 0?l(B("cancel")):M(this,T):l(N2("cancel"))}read(T,D={}){if(!mm(this))return l(N2("read"));if(!ArrayBuffer.isView(T))return l(new TypeError("view must be an array buffer view"));if(T.byteLength===0)return l(new TypeError("view must have non-zero byteLength"));if(T.buffer.byteLength===0)return l(new TypeError("view's buffer must have non-zero byteLength"));if(Sr(T.buffer))return l(new TypeError("view's buffer has been detached"));let K;try{K=Ipt(D,"options")}catch(dt){return l(dt)}let ae=K.min;if(ae===0)return l(new TypeError("options.min must be greater than 0"));if(l6(T)){if(ae>T.byteLength)return l(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(ae>T.length)return l(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return l(B("read from"));let pe,xe,Qe=c((dt,Bt)=>{pe=dt,xe=Bt});return zle(this,T,ae,{_chunkSteps:dt=>pe({value:dt,done:!1}),_closeSteps:dt=>pe({value:dt,done:!0}),_errorSteps:dt=>xe(dt)}),Qe}releaseLock(){if(!mm(this))throw N2("releaseLock");this._ownerReadableStream!==void 0&&wpt(this)}}Object.defineProperties(rp.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),s(rp.prototype.cancel,"cancel"),s(rp.prototype.read,"read"),s(rp.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rp.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function mm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readIntoRequests")?!1:S instanceof rp}function zle(S,T,D,K){let ae=S._ownerReadableStream;ae._disturbed=!0,ae._state==="errored"?K._errorSteps(ae._storedError):ypt(ae._readableStreamController,T,D,K)}function wpt(S){k(S);let T=new TypeError("Reader was released");Kle(S,T)}function Kle(S,T){let D=S._readIntoRequests;S._readIntoRequests=new v,D.forEach(K=>{K._errorSteps(T)})}function N2(S){return new TypeError(`ReadableStreamBYOBReader.prototype.${S} can only be used on a ReadableStreamBYOBReader`)}function zE(S,T){let{highWaterMark:D}=S;if(D===void 0)return T;if(De(D)||D<0)throw new RangeError("Invalid highWaterMark");return D}function O2(S){let{size:T}=S;return T||(()=>1)}function P2(S,T){Ce(S,T);let D=S?.highWaterMark,K=S?.size;return{highWaterMark:D===void 0?void 0:G(D),size:K===void 0?void 0:Rpt(K,`${T} has member 'size' that`)}}function Rpt(S,T){return we(S,T),D=>G(S(D))}function Npt(S,T){Ce(S,T);let D=S?.abort,K=S?.close,ae=S?.start,pe=S?.type,xe=S?.write;return{abort:D===void 0?void 0:Opt(D,S,`${T} has member 'abort' that`),close:K===void 0?void 0:Ppt(K,S,`${T} has member 'close' that`),start:ae===void 0?void 0:Dpt(ae,S,`${T} has member 'start' that`),write:xe===void 0?void 0:kpt(xe,S,`${T} has member 'write' that`),type:pe}}function Opt(S,T,D){return we(S,D),K=>y(S,T,[K])}function Ppt(S,T,D){return we(S,D),()=>y(S,T,[])}function Dpt(S,T,D){return we(S,D),K=>b(S,T,[K])}function kpt(S,T,D){return we(S,D),(K,ae)=>y(S,T,[K,ae])}function Yle(S,T){if(!_A(S))throw new TypeError(`${T} is not a WritableStream.`)}function Lpt(S){if(typeof S!="object"||S===null)return!1;try{return typeof S.aborted=="boolean"}catch{return!1}}let Bpt=typeof AbortController=="function";function Mpt(){if(Bpt)return new AbortController}class np{constructor(T={},D={}){T===void 0?T=null:Fe(T,"First parameter");let K=P2(D,"Second parameter"),ae=Npt(T,"First parameter");if(Xle(this),ae.type!==void 0)throw new RangeError("Invalid type is specified");let xe=O2(K),Qe=zE(K,1);Jpt(this,ae,Qe,xe)}get locked(){if(!_A(this))throw M2("locked");return SA(this)}abort(T=void 0){return _A(this)?SA(this)?l(new TypeError("Cannot abort a stream that already has a writer")):D2(this,T):l(M2("abort"))}close(){return _A(this)?SA(this)?l(new TypeError("Cannot close a stream that already has a writer")):Bu(this)?l(new TypeError("Cannot close an already-closing stream")):Zle(this):l(M2("close"))}getWriter(){if(!_A(this))throw M2("getWriter");return Jle(this)}}Object.defineProperties(np.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),s(np.prototype.abort,"abort"),s(np.prototype.close,"close"),s(np.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(np.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Jle(S){return new sd(S)}function Wpt(S,T,D,K,ae=1,pe=()=>1){let xe=Object.create(np.prototype);Xle(xe);let Qe=Object.create(vA.prototype);return ide(xe,Qe,S,T,D,K,ae,pe),xe}function Xle(S){S._state="writable",S._storedError=void 0,S._writer=void 0,S._writableStreamController=void 0,S._writeRequests=new v,S._inFlightWriteRequest=void 0,S._closeRequest=void 0,S._inFlightCloseRequest=void 0,S._pendingAbortRequest=void 0,S._backpressure=!1}function _A(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_writableStreamController")?!1:S instanceof np}function SA(S){return S._writer!==void 0}function D2(S,T){var D;if(S._state==="closed"||S._state==="errored")return u(void 0);S._writableStreamController._abortReason=T,(D=S._writableStreamController._abortController)===null||D===void 0||D.abort(T);let K=S._state;if(K==="closed"||K==="errored")return u(void 0);if(S._pendingAbortRequest!==void 0)return S._pendingAbortRequest._promise;let ae=!1;K==="erroring"&&(ae=!0,T=void 0);let pe=c((xe,Qe)=>{S._pendingAbortRequest={_promise:void 0,_resolve:xe,_reject:Qe,_reason:T,_wasAlreadyErroring:ae}});return S._pendingAbortRequest._promise=pe,ae||x6(S,T),pe}function Zle(S){let T=S._state;if(T==="closed"||T==="errored")return l(new TypeError(`The stream (in ${T} state) is not in the writable state and cannot be closed`));let D=c((ae,pe)=>{let xe={_resolve:ae,_reject:pe};S._closeRequest=xe}),K=S._writer;return K!==void 0&&S._backpressure&&T==="writable"&&T6(K),Xpt(S._writableStreamController),D}function $pt(S){return c((D,K)=>{let ae={_resolve:D,_reject:K};S._writeRequests.push(ae)})}function y6(S,T){if(S._state==="writable"){x6(S,T);return}b6(S)}function x6(S,T){let D=S._writableStreamController;S._state="erroring",S._storedError=T;let K=S._writer;K!==void 0&&tde(K,T),!Hpt(S)&&D._started&&b6(S)}function b6(S){S._state="errored",S._writableStreamController[R]();let T=S._storedError;if(S._writeRequests.forEach(ae=>{ae._reject(T)}),S._writeRequests=new v,S._pendingAbortRequest===void 0){k2(S);return}let D=S._pendingAbortRequest;if(S._pendingAbortRequest=void 0,D._wasAlreadyErroring){D._reject(T),k2(S);return}let K=S._writableStreamController[C](D._reason);f(K,()=>(D._resolve(),k2(S),null),ae=>(D._reject(ae),k2(S),null))}function Fpt(S){S._inFlightWriteRequest._resolve(void 0),S._inFlightWriteRequest=void 0}function Upt(S,T){S._inFlightWriteRequest._reject(T),S._inFlightWriteRequest=void 0,y6(S,T)}function qpt(S){S._inFlightCloseRequest._resolve(void 0),S._inFlightCloseRequest=void 0,S._state==="erroring"&&(S._storedError=void 0,S._pendingAbortRequest!==void 0&&(S._pendingAbortRequest._resolve(),S._pendingAbortRequest=void 0)),S._state="closed";let D=S._writer;D!==void 0&&ude(D)}function jpt(S,T){S._inFlightCloseRequest._reject(T),S._inFlightCloseRequest=void 0,S._pendingAbortRequest!==void 0&&(S._pendingAbortRequest._reject(T),S._pendingAbortRequest=void 0),y6(S,T)}function Bu(S){return!(S._closeRequest===void 0&&S._inFlightCloseRequest===void 0)}function Hpt(S){return!(S._inFlightWriteRequest===void 0&&S._inFlightCloseRequest===void 0)}function Qpt(S){S._inFlightCloseRequest=S._closeRequest,S._closeRequest=void 0}function Gpt(S){S._inFlightWriteRequest=S._writeRequests.shift()}function k2(S){S._closeRequest!==void 0&&(S._closeRequest._reject(S._storedError),S._closeRequest=void 0);let T=S._writer;T!==void 0&&C6(T,S._storedError)}function E6(S,T){let D=S._writer;D!==void 0&&T!==S._backpressure&&(T?i0t(D):T6(D)),S._backpressure=T}class sd{constructor(T){if(_e(T,1,"WritableStreamDefaultWriter"),Yle(T,"First parameter"),SA(T))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=T,T._writer=this;let D=T._state;if(D==="writable")!Bu(T)&&T._backpressure?$2(this):lde(this),W2(this);else if(D==="erroring")I6(this,T._storedError),W2(this);else if(D==="closed")lde(this),n0t(this);else{let K=T._storedError;I6(this,K),cde(this,K)}}get closed(){return hm(this)?this._closedPromise:l(gm("closed"))}get desiredSize(){if(!hm(this))throw gm("desiredSize");if(this._ownerWritableStream===void 0)throw YE("desiredSize");return Ypt(this)}get ready(){return hm(this)?this._readyPromise:l(gm("ready"))}abort(T=void 0){return hm(this)?this._ownerWritableStream===void 0?l(YE("abort")):Vpt(this,T):l(gm("abort"))}close(){if(!hm(this))return l(gm("close"));let T=this._ownerWritableStream;return T===void 0?l(YE("close")):Bu(T)?l(new TypeError("Cannot close an already-closing stream")):ede(this)}releaseLock(){if(!hm(this))throw gm("releaseLock");this._ownerWritableStream!==void 0&&rde(this)}write(T=void 0){return hm(this)?this._ownerWritableStream===void 0?l(YE("write to")):nde(this,T):l(gm("write"))}}Object.defineProperties(sd.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),s(sd.prototype.abort,"abort"),s(sd.prototype.close,"close"),s(sd.prototype.releaseLock,"releaseLock"),s(sd.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sd.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function hm(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_ownerWritableStream")?!1:S instanceof sd}function Vpt(S,T){let D=S._ownerWritableStream;return D2(D,T)}function ede(S){let T=S._ownerWritableStream;return Zle(T)}function zpt(S){let T=S._ownerWritableStream,D=T._state;return Bu(T)||D==="closed"?u(void 0):D==="errored"?l(T._storedError):ede(S)}function Kpt(S,T){S._closedPromiseState==="pending"?C6(S,T):s0t(S,T)}function tde(S,T){S._readyPromiseState==="pending"?dde(S,T):a0t(S,T)}function Ypt(S){let T=S._ownerWritableStream,D=T._state;return D==="errored"||D==="erroring"?null:D==="closed"?0:ade(T._writableStreamController)}function rde(S){let T=S._ownerWritableStream,D=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");tde(S,D),Kpt(S,D),T._writer=void 0,S._ownerWritableStream=void 0}function nde(S,T){let D=S._ownerWritableStream,K=D._writableStreamController,ae=Zpt(K,T);if(D!==S._ownerWritableStream)return l(YE("write to"));let pe=D._state;if(pe==="errored")return l(D._storedError);if(Bu(D)||pe==="closed")return l(new TypeError("The stream is closing or closed and cannot be written to"));if(pe==="erroring")return l(D._storedError);let xe=$pt(D);return e0t(K,T,ae),xe}let sde={};class vA{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!_6(this))throw v6("abortReason");return this._abortReason}get signal(){if(!_6(this))throw v6("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(T=void 0){if(!_6(this))throw v6("error");this._controlledWritableStream._state==="writable"&&ode(this,T)}[C](T){let D=this._abortAlgorithm(T);return L2(this),D}[R](){Ao(this)}}Object.defineProperties(vA.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vA.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function _6(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledWritableStream")?!1:S instanceof vA}function ide(S,T,D,K,ae,pe,xe,Qe){T._controlledWritableStream=S,S._writableStreamController=T,T._queue=void 0,T._queueTotalSize=void 0,Ao(T),T._abortReason=void 0,T._abortController=Mpt(),T._started=!1,T._strategySizeAlgorithm=Qe,T._strategyHWM=xe,T._writeAlgorithm=K,T._closeAlgorithm=ae,T._abortAlgorithm=pe;let It=S6(T);E6(S,It);let dt=D(),Bt=u(dt);f(Bt,()=>(T._started=!0,B2(T),null),Jt=>(T._started=!0,y6(S,Jt),null))}function Jpt(S,T,D,K){let ae=Object.create(vA.prototype),pe,xe,Qe,It;T.start!==void 0?pe=()=>T.start(ae):pe=()=>{},T.write!==void 0?xe=dt=>T.write(dt,ae):xe=()=>u(void 0),T.close!==void 0?Qe=()=>T.close():Qe=()=>u(void 0),T.abort!==void 0?It=dt=>T.abort(dt):It=()=>u(void 0),ide(S,ae,pe,xe,Qe,It,D,K)}function L2(S){S._writeAlgorithm=void 0,S._closeAlgorithm=void 0,S._abortAlgorithm=void 0,S._strategySizeAlgorithm=void 0}function Xpt(S){wa(S,sde,0),B2(S)}function Zpt(S,T){try{return S._strategySizeAlgorithm(T)}catch(D){return KE(S,D),1}}function ade(S){return S._strategyHWM-S._queueTotalSize}function e0t(S,T,D){try{wa(S,T,D)}catch(ae){KE(S,ae);return}let K=S._controlledWritableStream;if(!Bu(K)&&K._state==="writable"){let ae=S6(S);E6(K,ae)}B2(S)}function B2(S){let T=S._controlledWritableStream;if(!S._started||T._inFlightWriteRequest!==void 0)return;if(T._state==="erroring"){b6(T);return}if(S._queue.length===0)return;let K=rd(S);K===sde?t0t(S):r0t(S,K)}function KE(S,T){S._controlledWritableStream._state==="writable"&&ode(S,T)}function t0t(S){let T=S._controlledWritableStream;Qpt(T),yn(S);let D=S._closeAlgorithm();L2(S),f(D,()=>(qpt(T),null),K=>(jpt(T,K),null))}function r0t(S,T){let D=S._controlledWritableStream;Gpt(D);let K=S._writeAlgorithm(T);f(K,()=>{Fpt(D);let ae=D._state;if(yn(S),!Bu(D)&&ae==="writable"){let pe=S6(S);E6(D,pe)}return B2(S),null},ae=>(D._state==="writable"&&L2(S),Upt(D,ae),null))}function S6(S){return ade(S)<=0}function ode(S,T){let D=S._controlledWritableStream;L2(S),x6(D,T)}function M2(S){return new TypeError(`WritableStream.prototype.${S} can only be used on a WritableStream`)}function v6(S){return new TypeError(`WritableStreamDefaultController.prototype.${S} can only be used on a WritableStreamDefaultController`)}function gm(S){return new TypeError(`WritableStreamDefaultWriter.prototype.${S} can only be used on a WritableStreamDefaultWriter`)}function YE(S){return new TypeError("Cannot "+S+" a stream using a released writer")}function W2(S){S._closedPromise=c((T,D)=>{S._closedPromise_resolve=T,S._closedPromise_reject=D,S._closedPromiseState="pending"})}function cde(S,T){W2(S),C6(S,T)}function n0t(S){W2(S),ude(S)}function C6(S,T){S._closedPromise_reject!==void 0&&(A(S._closedPromise),S._closedPromise_reject(T),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0,S._closedPromiseState="rejected")}function s0t(S,T){cde(S,T)}function ude(S){S._closedPromise_resolve!==void 0&&(S._closedPromise_resolve(void 0),S._closedPromise_resolve=void 0,S._closedPromise_reject=void 0,S._closedPromiseState="resolved")}function $2(S){S._readyPromise=c((T,D)=>{S._readyPromise_resolve=T,S._readyPromise_reject=D}),S._readyPromiseState="pending"}function I6(S,T){$2(S),dde(S,T)}function lde(S){$2(S),T6(S)}function dde(S,T){S._readyPromise_reject!==void 0&&(A(S._readyPromise),S._readyPromise_reject(T),S._readyPromise_resolve=void 0,S._readyPromise_reject=void 0,S._readyPromiseState="rejected")}function i0t(S){$2(S)}function a0t(S,T){I6(S,T)}function T6(S){S._readyPromise_resolve!==void 0&&(S._readyPromise_resolve(void 0),S._readyPromise_resolve=void 0,S._readyPromise_reject=void 0,S._readyPromiseState="fulfilled")}function o0t(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let w6=o0t();function c0t(S){if(!(typeof S=="function"||typeof S=="object")||S.name!=="DOMException")return!1;try{return new S,!0}catch{return!1}}function u0t(){let S=w6?.DOMException;return c0t(S)?S:void 0}function l0t(){let S=function(D,K){this.message=D||"",this.name=K||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return s(S,"DOMException"),S.prototype=Object.create(Error.prototype),Object.defineProperty(S.prototype,"constructor",{value:S,writable:!0,configurable:!0}),S}let d0t=u0t()||l0t();function fde(S,T,D,K,ae,pe){let xe=ne(S),Qe=Jle(T);S._disturbed=!0;let It=!1,dt=u(void 0);return c((Bt,Jt)=>{let un;if(pe!==void 0){if(un=()=>{let ht=pe.reason!==void 0?pe.reason:new d0t("Aborted","AbortError"),lr=[];K||lr.push(()=>T._state==="writable"?D2(T,ht):u(void 0)),ae||lr.push(()=>S._state==="readable"?Lc(S,ht):u(void 0)),Ra(()=>Promise.all(lr.map(xn=>xn())),!0,ht)},pe.aborted){un();return}pe.addEventListener("abort",un)}function Bc(){return c((ht,lr)=>{function xn(yo){yo?ht():d(wA(),xn,lr)}xn(!1)})}function wA(){return It?u(!0):d(Qe._readyPromise,()=>c((ht,lr)=>{Pe(xe,{_chunkSteps:xn=>{dt=d(nde(Qe,xn),void 0,e),ht(!1)},_closeSteps:()=>ht(!0),_errorSteps:lr})}))}if(ad(S,xe._closedPromise,ht=>(K?qo(!0,ht):Ra(()=>D2(T,ht),!0,ht),null)),ad(T,Qe._closedPromise,ht=>(ae?qo(!0,ht):Ra(()=>Lc(S,ht),!0,ht),null)),Zi(S,xe._closedPromise,()=>(D?qo():Ra(()=>zpt(Qe)),null)),Bu(T)||T._state==="closed"){let ht=new TypeError("the destination writable stream closed before all data could be piped to it");ae?qo(!0,ht):Ra(()=>Lc(S,ht),!0,ht)}A(Bc());function op(){let ht=dt;return d(dt,()=>ht!==dt?op():void 0)}function ad(ht,lr,xn){ht._state==="errored"?xn(ht._storedError):m(lr,xn)}function Zi(ht,lr,xn){ht._state==="closed"?xn():p(lr,xn)}function Ra(ht,lr,xn){if(It)return;It=!0,T._state==="writable"&&!Bu(T)?p(op(),yo):yo();function yo(){return f(ht(),()=>od(lr,xn),RA=>od(!0,RA)),null}}function qo(ht,lr){It||(It=!0,T._state==="writable"&&!Bu(T)?p(op(),()=>od(ht,lr)):od(ht,lr))}function od(ht,lr){return rde(Qe),k(xe),pe!==void 0&&pe.removeEventListener("abort",un),ht?Jt(lr):Bt(void 0),null}})}class id{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!F2(this))throw q2("desiredSize");return R6(this)}close(){if(!F2(this))throw q2("close");if(!IA(this))throw new TypeError("The stream is not in a state that permits close");Am(this)}enqueue(T=void 0){if(!F2(this))throw q2("enqueue");if(!IA(this))throw new TypeError("The stream is not in a state that permits enqueue");return CA(this,T)}error(T=void 0){if(!F2(this))throw q2("error");kc(this,T)}[w](T){Ao(this);let D=this._cancelAlgorithm(T);return U2(this),D}[N](T){let D=this._controlledReadableStream;if(this._queue.length>0){let K=yn(this);this._closeRequested&&this._queue.length===0?(U2(this),ZE(D)):JE(this),T._chunkSteps(K)}else re(D,T),JE(this)}[P](){}}Object.defineProperties(id.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),s(id.prototype.close,"close"),s(id.prototype.enqueue,"enqueue"),s(id.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(id.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function F2(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledReadableStream")?!1:S instanceof id}function JE(S){if(!pde(S))return;if(S._pulling){S._pullAgain=!0;return}S._pulling=!0;let D=S._pullAlgorithm();f(D,()=>(S._pulling=!1,S._pullAgain&&(S._pullAgain=!1,JE(S)),null),K=>(kc(S,K),null))}function pde(S){let T=S._controlledReadableStream;return!IA(S)||!S._started?!1:!!(ip(T)&&ie(T)>0||R6(S)>0)}function U2(S){S._pullAlgorithm=void 0,S._cancelAlgorithm=void 0,S._strategySizeAlgorithm=void 0}function Am(S){if(!IA(S))return;let T=S._controlledReadableStream;S._closeRequested=!0,S._queue.length===0&&(U2(S),ZE(T))}function CA(S,T){if(!IA(S))return;let D=S._controlledReadableStream;if(ip(D)&&ie(D)>0)X(D,T,!1);else{let K;try{K=S._strategySizeAlgorithm(T)}catch(ae){throw kc(S,ae),ae}try{wa(S,T,K)}catch(ae){throw kc(S,ae),ae}}JE(S)}function kc(S,T){let D=S._controlledReadableStream;D._state==="readable"&&(Ao(S),U2(S),Ade(D,T))}function R6(S){let T=S._controlledReadableStream._state;return T==="errored"?null:T==="closed"?0:S._strategyHWM-S._queueTotalSize}function f0t(S){return!pde(S)}function IA(S){let T=S._controlledReadableStream._state;return!S._closeRequested&&T==="readable"}function mde(S,T,D,K,ae,pe,xe){T._controlledReadableStream=S,T._queue=void 0,T._queueTotalSize=void 0,Ao(T),T._started=!1,T._closeRequested=!1,T._pullAgain=!1,T._pulling=!1,T._strategySizeAlgorithm=xe,T._strategyHWM=pe,T._pullAlgorithm=K,T._cancelAlgorithm=ae,S._readableStreamController=T;let Qe=D();f(u(Qe),()=>(T._started=!0,JE(T),null),It=>(kc(T,It),null))}function p0t(S,T,D,K){let ae=Object.create(id.prototype),pe,xe,Qe;T.start!==void 0?pe=()=>T.start(ae):pe=()=>{},T.pull!==void 0?xe=()=>T.pull(ae):xe=()=>u(void 0),T.cancel!==void 0?Qe=It=>T.cancel(It):Qe=()=>u(void 0),mde(S,ae,pe,xe,Qe,D,K)}function q2(S){return new TypeError(`ReadableStreamDefaultController.prototype.${S} can only be used on a ReadableStreamDefaultController`)}function m0t(S,T){return fm(S._readableStreamController)?g0t(S):h0t(S)}function h0t(S,T){let D=ne(S),K=!1,ae=!1,pe=!1,xe=!1,Qe,It,dt,Bt,Jt,un=c(Zi=>{Jt=Zi});function Bc(){return K?(ae=!0,u(void 0)):(K=!0,Pe(D,{_chunkSteps:Ra=>{g(()=>{ae=!1;let qo=Ra,od=Ra;pe||CA(dt._readableStreamController,qo),xe||CA(Bt._readableStreamController,od),K=!1,ae&&Bc()})},_closeSteps:()=>{K=!1,pe||Am(dt._readableStreamController),xe||Am(Bt._readableStreamController),(!pe||!xe)&&Jt(void 0)},_errorSteps:()=>{K=!1}}),u(void 0))}function wA(Zi){if(pe=!0,Qe=Zi,xe){let Ra=bt([Qe,It]),qo=Lc(S,Ra);Jt(qo)}return un}function op(Zi){if(xe=!0,It=Zi,pe){let Ra=bt([Qe,It]),qo=Lc(S,Ra);Jt(qo)}return un}function ad(){}return dt=XE(ad,Bc,wA),Bt=XE(ad,Bc,op),m(D._closedPromise,Zi=>(kc(dt._readableStreamController,Zi),kc(Bt._readableStreamController,Zi),(!pe||!xe)&&Jt(void 0),null)),[dt,Bt]}function g0t(S){let T=ne(S),D=!1,K=!1,ae=!1,pe=!1,xe=!1,Qe,It,dt,Bt,Jt,un=c(ht=>{Jt=ht});function Bc(ht){m(ht._closedPromise,lr=>(ht!==T||(Uo(dt._readableStreamController,lr),Uo(Bt._readableStreamController,lr),(!pe||!xe)&&Jt(void 0)),null))}function wA(){mm(T)&&(k(T),T=ne(S),Bc(T)),Pe(T,{_chunkSteps:lr=>{g(()=>{K=!1,ae=!1;let xn=lr,yo=lr;if(!pe&&!xe)try{yo=Ta(lr)}catch(RA){Uo(dt._readableStreamController,RA),Uo(Bt._readableStreamController,RA),Jt(Lc(S,RA));return}pe||T2(dt._readableStreamController,xn),xe||T2(Bt._readableStreamController,yo),D=!1,K?ad():ae&&Zi()})},_closeSteps:()=>{D=!1,pe||GE(dt._readableStreamController),xe||GE(Bt._readableStreamController),dt._readableStreamController._pendingPullIntos.length>0&&w2(dt._readableStreamController,0),Bt._readableStreamController._pendingPullIntos.length>0&&w2(Bt._readableStreamController,0),(!pe||!xe)&&Jt(void 0)},_errorSteps:()=>{D=!1}})}function op(ht,lr){Ne(T)&&(k(T),T=Qle(S),Bc(T));let xn=lr?Bt:dt,yo=lr?dt:Bt;zle(T,ht,1,{_chunkSteps:NA=>{g(()=>{K=!1,ae=!1;let OA=lr?xe:pe;if(lr?pe:xe)OA||R2(xn._readableStreamController,NA);else{let Nde;try{Nde=Ta(NA)}catch(k6){Uo(xn._readableStreamController,k6),Uo(yo._readableStreamController,k6),Jt(Lc(S,k6));return}OA||R2(xn._readableStreamController,NA),T2(yo._readableStreamController,Nde)}D=!1,K?ad():ae&&Zi()})},_closeSteps:NA=>{D=!1;let OA=lr?xe:pe,Y2=lr?pe:xe;OA||GE(xn._readableStreamController),Y2||GE(yo._readableStreamController),NA!==void 0&&(OA||R2(xn._readableStreamController,NA),!Y2&&yo._readableStreamController._pendingPullIntos.length>0&&w2(yo._readableStreamController,0)),(!OA||!Y2)&&Jt(void 0)},_errorSteps:()=>{D=!1}})}function ad(){if(D)return K=!0,u(void 0);D=!0;let ht=h6(dt._readableStreamController);return ht===null?wA():op(ht._view,!1),u(void 0)}function Zi(){if(D)return ae=!0,u(void 0);D=!0;let ht=h6(Bt._readableStreamController);return ht===null?wA():op(ht._view,!0),u(void 0)}function Ra(ht){if(pe=!0,Qe=ht,xe){let lr=bt([Qe,It]),xn=Lc(S,lr);Jt(xn)}return un}function qo(ht){if(xe=!0,It=ht,pe){let lr=bt([Qe,It]),xn=Lc(S,lr);Jt(xn)}return un}function od(){}return dt=gde(od,ad,Ra),Bt=gde(od,Zi,qo),Bc(T),[dt,Bt]}function A0t(S){return r(S)&&typeof S.getReader<"u"}function y0t(S){return A0t(S)?b0t(S.getReader()):x0t(S)}function x0t(S){let T,D=ys(S,"async"),K=e;function ae(){let xe;try{xe=Hs(D)}catch(It){return l(It)}let Qe=u(xe);return h(Qe,It=>{if(!r(It))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(Lu(It))Am(T._readableStreamController);else{let Bt=go(It);CA(T._readableStreamController,Bt)}})}function pe(xe){let Qe=D.iterator,It;try{It=Dr(Qe,"return")}catch(Jt){return l(Jt)}if(It===void 0)return u(void 0);let dt;try{dt=b(It,Qe,[xe])}catch(Jt){return l(Jt)}let Bt=u(dt);return h(Bt,Jt=>{if(!r(Jt))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return T=XE(K,ae,pe,0),T}function b0t(S){let T,D=e;function K(){let pe;try{pe=S.read()}catch(xe){return l(xe)}return h(pe,xe=>{if(!r(xe))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(xe.done)Am(T._readableStreamController);else{let Qe=xe.value;CA(T._readableStreamController,Qe)}})}function ae(pe){try{return u(S.cancel(pe))}catch(xe){return l(xe)}}return T=XE(D,K,ae,0),T}function E0t(S,T){Ce(S,T);let D=S,K=D?.autoAllocateChunkSize,ae=D?.cancel,pe=D?.pull,xe=D?.start,Qe=D?.type;return{autoAllocateChunkSize:K===void 0?void 0:H(K,`${T} has member 'autoAllocateChunkSize' that`),cancel:ae===void 0?void 0:_0t(ae,D,`${T} has member 'cancel' that`),pull:pe===void 0?void 0:S0t(pe,D,`${T} has member 'pull' that`),start:xe===void 0?void 0:v0t(xe,D,`${T} has member 'start' that`),type:Qe===void 0?void 0:C0t(Qe,`${T} has member 'type' that`)}}function _0t(S,T,D){return we(S,D),K=>y(S,T,[K])}function S0t(S,T,D){return we(S,D),K=>y(S,T,[K])}function v0t(S,T,D){return we(S,D),K=>b(S,T,[K])}function C0t(S,T){if(S=`${S}`,S!=="bytes")throw new TypeError(`${T} '${S}' is not a valid enumeration value for ReadableStreamType`);return S}function I0t(S,T){return Ce(S,T),{preventCancel:!!S?.preventCancel}}function hde(S,T){Ce(S,T);let D=S?.preventAbort,K=S?.preventCancel,ae=S?.preventClose,pe=S?.signal;return pe!==void 0&&T0t(pe,`${T} has member 'signal' that`),{preventAbort:!!D,preventCancel:!!K,preventClose:!!ae,signal:pe}}function T0t(S,T){if(!Lpt(S))throw new TypeError(`${T} is not an AbortSignal.`)}function w0t(S,T){Ce(S,T);let D=S?.readable;U(D,"readable","ReadableWritablePair"),ee(D,`${T} has member 'readable' that`);let K=S?.writable;return U(K,"writable","ReadableWritablePair"),Yle(K,`${T} has member 'writable' that`),{readable:D,writable:K}}class Si{constructor(T={},D={}){T===void 0?T=null:Fe(T,"First parameter");let K=P2(D,"Second parameter"),ae=E0t(T,"First parameter");if(N6(this),ae.type==="bytes"){if(K.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let pe=zE(K,0);_pt(this,ae,pe)}else{let pe=O2(K),xe=zE(K,1);p0t(this,ae,xe,pe)}}get locked(){if(!sp(this))throw ym("locked");return ip(this)}cancel(T=void 0){return sp(this)?ip(this)?l(new TypeError("Cannot cancel a stream that already has a reader")):Lc(this,T):l(ym("cancel"))}getReader(T=void 0){if(!sp(this))throw ym("getReader");return vpt(T,"First parameter").mode===void 0?ne(this):Qle(this)}pipeThrough(T,D={}){if(!sp(this))throw ym("pipeThrough");_e(T,1,"pipeThrough");let K=w0t(T,"First parameter"),ae=hde(D,"Second parameter");if(ip(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(SA(K.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let pe=fde(this,K.writable,ae.preventClose,ae.preventAbort,ae.preventCancel,ae.signal);return A(pe),K.readable}pipeTo(T,D={}){if(!sp(this))return l(ym("pipeTo"));if(T===void 0)return l("Parameter 1 is required in 'pipeTo'.");if(!_A(T))return l(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let K;try{K=hde(D,"Second parameter")}catch(ae){return l(ae)}return ip(this)?l(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):SA(T)?l(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):fde(this,T,K.preventClose,K.preventAbort,K.preventCancel,K.signal)}tee(){if(!sp(this))throw ym("tee");let T=m0t(this);return bt(T)}values(T=void 0){if(!sp(this))throw ym("values");let D=I0t(T,"First parameter");return tt(this,D.preventCancel)}[js](T){return this.values(T)}static from(T){return y0t(T)}}Object.defineProperties(Si,{from:{enumerable:!0}}),Object.defineProperties(Si.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),s(Si.from,"from"),s(Si.prototype.cancel,"cancel"),s(Si.prototype.getReader,"getReader"),s(Si.prototype.pipeThrough,"pipeThrough"),s(Si.prototype.pipeTo,"pipeTo"),s(Si.prototype.tee,"tee"),s(Si.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Si.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Si.prototype,js,{value:Si.prototype.values,writable:!0,configurable:!0});function XE(S,T,D,K=1,ae=()=>1){let pe=Object.create(Si.prototype);N6(pe);let xe=Object.create(id.prototype);return mde(pe,xe,S,T,D,K,ae),pe}function gde(S,T,D){let K=Object.create(Si.prototype);N6(K);let ae=Object.create(nd.prototype);return Hle(K,ae,S,T,D,0,void 0),K}function N6(S){S._state="readable",S._reader=void 0,S._storedError=void 0,S._disturbed=!1}function sp(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_readableStreamController")?!1:S instanceof Si}function ip(S){return S._reader!==void 0}function Lc(S,T){if(S._disturbed=!0,S._state==="closed")return u(void 0);if(S._state==="errored")return l(S._storedError);ZE(S);let D=S._reader;if(D!==void 0&&mm(D)){let ae=D._readIntoRequests;D._readIntoRequests=new v,ae.forEach(pe=>{pe._closeSteps(void 0)})}let K=S._readableStreamController[w](T);return h(K,e)}function ZE(S){S._state="closed";let T=S._reader;if(T!==void 0&&(J(T),Ne(T))){let D=T._readRequests;T._readRequests=new v,D.forEach(K=>{K._closeSteps()})}}function Ade(S,T){S._state="errored",S._storedError=T;let D=S._reader;D!==void 0&&(V(D,T),Ne(D)?Ke(D,T):Kle(D,T))}function ym(S){return new TypeError(`ReadableStream.prototype.${S} can only be used on a ReadableStream`)}function yde(S,T){Ce(S,T);let D=S?.highWaterMark;return U(D,"highWaterMark","QueuingStrategyInit"),{highWaterMark:G(D)}}let xde=S=>S.byteLength;s(xde,"size");class j2{constructor(T){_e(T,1,"ByteLengthQueuingStrategy"),T=yde(T,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=T.highWaterMark}get highWaterMark(){if(!Ede(this))throw bde("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Ede(this))throw bde("size");return xde}}Object.defineProperties(j2.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(j2.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function bde(S){return new TypeError(`ByteLengthQueuingStrategy.prototype.${S} can only be used on a ByteLengthQueuingStrategy`)}function Ede(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_byteLengthQueuingStrategyHighWaterMark")?!1:S instanceof j2}let _de=()=>1;s(_de,"size");class H2{constructor(T){_e(T,1,"CountQueuingStrategy"),T=yde(T,"First parameter"),this._countQueuingStrategyHighWaterMark=T.highWaterMark}get highWaterMark(){if(!vde(this))throw Sde("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!vde(this))throw Sde("size");return _de}}Object.defineProperties(H2.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H2.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Sde(S){return new TypeError(`CountQueuingStrategy.prototype.${S} can only be used on a CountQueuingStrategy`)}function vde(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_countQueuingStrategyHighWaterMark")?!1:S instanceof H2}function R0t(S,T){Ce(S,T);let D=S?.cancel,K=S?.flush,ae=S?.readableType,pe=S?.start,xe=S?.transform,Qe=S?.writableType;return{cancel:D===void 0?void 0:D0t(D,S,`${T} has member 'cancel' that`),flush:K===void 0?void 0:N0t(K,S,`${T} has member 'flush' that`),readableType:ae,start:pe===void 0?void 0:O0t(pe,S,`${T} has member 'start' that`),transform:xe===void 0?void 0:P0t(xe,S,`${T} has member 'transform' that`),writableType:Qe}}function N0t(S,T,D){return we(S,D),K=>y(S,T,[K])}function O0t(S,T,D){return we(S,D),K=>b(S,T,[K])}function P0t(S,T,D){return we(S,D),(K,ae)=>y(S,T,[K,ae])}function D0t(S,T,D){return we(S,D),K=>y(S,T,[K])}class Q2{constructor(T={},D={},K={}){T===void 0&&(T=null);let ae=P2(D,"Second parameter"),pe=P2(K,"Third parameter"),xe=R0t(T,"First parameter");if(xe.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(xe.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Qe=zE(pe,0),It=O2(pe),dt=zE(ae,1),Bt=O2(ae),Jt,un=c(Bc=>{Jt=Bc});k0t(this,un,dt,Bt,Qe,It),B0t(this,xe),xe.start!==void 0?Jt(xe.start(this._transformStreamController)):Jt(void 0)}get readable(){if(!Cde(this))throw Rde("readable");return this._readable}get writable(){if(!Cde(this))throw Rde("writable");return this._writable}}Object.defineProperties(Q2.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Q2.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function k0t(S,T,D,K,ae,pe){function xe(){return T}function Qe(un){return $0t(S,un)}function It(un){return F0t(S,un)}function dt(){return U0t(S)}S._writable=Wpt(xe,Qe,dt,It,D,K);function Bt(){return q0t(S)}function Jt(un){return j0t(S,un)}S._readable=XE(xe,Bt,Jt,ae,pe),S._backpressure=void 0,S._backpressureChangePromise=void 0,S._backpressureChangePromise_resolve=void 0,G2(S,!0),S._transformStreamController=void 0}function Cde(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_transformStreamController")?!1:S instanceof Q2}function Ide(S,T){kc(S._readable._readableStreamController,T),O6(S,T)}function O6(S,T){z2(S._transformStreamController),KE(S._writable._writableStreamController,T),P6(S)}function P6(S){S._backpressure&&G2(S,!1)}function G2(S,T){S._backpressureChangePromise!==void 0&&S._backpressureChangePromise_resolve(),S._backpressureChangePromise=c(D=>{S._backpressureChangePromise_resolve=D}),S._backpressure=T}class ap{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!V2(this))throw K2("desiredSize");let T=this._controlledTransformStream._readable._readableStreamController;return R6(T)}enqueue(T=void 0){if(!V2(this))throw K2("enqueue");Tde(this,T)}error(T=void 0){if(!V2(this))throw K2("error");M0t(this,T)}terminate(){if(!V2(this))throw K2("terminate");W0t(this)}}Object.defineProperties(ap.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),s(ap.prototype.enqueue,"enqueue"),s(ap.prototype.error,"error"),s(ap.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ap.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function V2(S){return!r(S)||!Object.prototype.hasOwnProperty.call(S,"_controlledTransformStream")?!1:S instanceof ap}function L0t(S,T,D,K,ae){T._controlledTransformStream=S,S._transformStreamController=T,T._transformAlgorithm=D,T._flushAlgorithm=K,T._cancelAlgorithm=ae,T._finishPromise=void 0,T._finishPromise_resolve=void 0,T._finishPromise_reject=void 0}function B0t(S,T){let D=Object.create(ap.prototype),K,ae,pe;T.transform!==void 0?K=xe=>T.transform(xe,D):K=xe=>{try{return Tde(D,xe),u(void 0)}catch(Qe){return l(Qe)}},T.flush!==void 0?ae=()=>T.flush(D):ae=()=>u(void 0),T.cancel!==void 0?pe=xe=>T.cancel(xe):pe=()=>u(void 0),L0t(S,D,K,ae,pe)}function z2(S){S._transformAlgorithm=void 0,S._flushAlgorithm=void 0,S._cancelAlgorithm=void 0}function Tde(S,T){let D=S._controlledTransformStream,K=D._readable._readableStreamController;if(!IA(K))throw new TypeError("Readable side is not in a state that permits enqueue");try{CA(K,T)}catch(pe){throw O6(D,pe),D._readable._storedError}f0t(K)!==D._backpressure&&G2(D,!0)}function M0t(S,T){Ide(S._controlledTransformStream,T)}function wde(S,T){let D=S._transformAlgorithm(T);return h(D,void 0,K=>{throw Ide(S._controlledTransformStream,K),K})}function W0t(S){let T=S._controlledTransformStream,D=T._readable._readableStreamController;Am(D);let K=new TypeError("TransformStream terminated");O6(T,K)}function $0t(S,T){let D=S._transformStreamController;if(S._backpressure){let K=S._backpressureChangePromise;return h(K,()=>{let ae=S._writable;if(ae._state==="erroring")throw ae._storedError;return wde(D,T)})}return wde(D,T)}function F0t(S,T){let D=S._transformStreamController;if(D._finishPromise!==void 0)return D._finishPromise;let K=S._readable;D._finishPromise=c((pe,xe)=>{D._finishPromise_resolve=pe,D._finishPromise_reject=xe});let ae=D._cancelAlgorithm(T);return z2(D),f(ae,()=>(K._state==="errored"?TA(D,K._storedError):(kc(K._readableStreamController,T),D6(D)),null),pe=>(kc(K._readableStreamController,pe),TA(D,pe),null)),D._finishPromise}function U0t(S){let T=S._transformStreamController;if(T._finishPromise!==void 0)return T._finishPromise;let D=S._readable;T._finishPromise=c((ae,pe)=>{T._finishPromise_resolve=ae,T._finishPromise_reject=pe});let K=T._flushAlgorithm();return z2(T),f(K,()=>(D._state==="errored"?TA(T,D._storedError):(Am(D._readableStreamController),D6(T)),null),ae=>(kc(D._readableStreamController,ae),TA(T,ae),null)),T._finishPromise}function q0t(S){return G2(S,!1),S._backpressureChangePromise}function j0t(S,T){let D=S._transformStreamController;if(D._finishPromise!==void 0)return D._finishPromise;let K=S._writable;D._finishPromise=c((pe,xe)=>{D._finishPromise_resolve=pe,D._finishPromise_reject=xe});let ae=D._cancelAlgorithm(T);return z2(D),f(ae,()=>(K._state==="errored"?TA(D,K._storedError):(KE(K._writableStreamController,T),P6(S),D6(D)),null),pe=>(KE(K._writableStreamController,pe),P6(S),TA(D,pe),null)),D._finishPromise}function K2(S){return new TypeError(`TransformStreamDefaultController.prototype.${S} can only be used on a TransformStreamDefaultController`)}function D6(S){S._finishPromise_resolve!==void 0&&(S._finishPromise_resolve(),S._finishPromise_resolve=void 0,S._finishPromise_reject=void 0)}function TA(S,T){S._finishPromise_reject!==void 0&&(A(S._finishPromise),S._finishPromise_reject(T),S._finishPromise_resolve=void 0,S._finishPromise_reject=void 0)}function Rde(S){return new TypeError(`TransformStream.prototype.${S} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=j2,t.CountQueuingStrategy=H2,t.ReadableByteStreamController=nd,t.ReadableStream=Si,t.ReadableStreamBYOBReader=rp,t.ReadableStreamBYOBRequest=dm,t.ReadableStreamDefaultController=id,t.ReadableStreamDefaultReader=fe,t.TransformStream=Q2,t.TransformStreamDefaultController=ap,t.WritableStream=np,t.WritableStreamDefaultController=vA,t.WritableStreamDefaultWriter=sd})});var L5e=E(()=>{if(!globalThis.ReadableStream)try{let t=require("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,k5e())}try{let{Blob:t}=require("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,s=this;return new ReadableStream({type:"bytes",async pull(i){let o=await s.slice(n,Math.min(s.size,n+65536)).arrayBuffer();n+=o.byteLength,i.enqueue(new Uint8Array(o)),n===s.size&&i.close()}})})}catch{}});async function*vz(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,s=r.byteOffset+r.byteLength;for(;n!==s;){let i=Math.min(s-n,B5e),a=r.buffer.slice(n,n+i);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,s=r;for(;n!==s.size;){let a=await s.slice(n,Math.min(s.size,n+B5e)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var ljr,B5e,M5e,tir,hu,pC=dr(()=>{ljr=Re(L5e(),1);B5e=65536;M5e=class Cz{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let i of e){let a;ArrayBuffer.isView(i)?a=new Uint8Array(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):i instanceof ArrayBuffer?a=new Uint8Array(i.slice(0)):i instanceof Cz?a=i:a=n.encode(`${i}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let s=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(s)?s:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of vz(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of vz(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=vz(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:s}=this,i=e<0?Math.max(s+e,0):Math.min(e,s),a=r<0?Math.max(s+r,0):Math.min(r,s),o=Math.max(a-i,0),c=this.#e,u=[],l=0;for(let f of c){if(l>=o)break;let p=ArrayBuffer.isView(f)?f.byteLength:f.size;if(i&&p<=i)i-=p,a-=p;else{let m;ArrayBuffer.isView(f)?(m=f.subarray(i,Math.min(p,a)),l+=m.byteLength):(m=f.slice(i,Math.min(p,a)),l+=m.size),a-=p,u.push(m),i=0}}let d=new Cz([],{type:String(n).toLowerCase()});return d.#r=o,d.#e=u,d}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(M5e.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});tir=M5e,hu=tir});var rir,nir,k0,Iz=dr(()=>{pC();rir=class extends hu{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let s=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(s)||(this.#e=s),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof hu&&/^(File)$/.test(e[Symbol.toStringTag])}},nir=rir,k0=nir});function F5e(t,e=hu){var r=`${W5e()}${W5e()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],s=`--${r}\r
|
|
Content-Disposition: form-data; name="`;return t.forEach((i,a)=>typeof i=="string"?n.push(s+Tz(a)+`"\r
|
|
\r
|
|
${i.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
`)}\r
|
|
`):n.push(s+Tz(a)+`"; filename="${Tz(i.name,1)}"\r
|
|
Content-Type: ${i.type||"application/octet-stream"}\r
|
|
\r
|
|
`,i,`\r
|
|
`)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var mC,sir,iir,W5e,air,$5e,Tz,Yh,L0,AL=dr(()=>{pC();Iz();({toStringTag:mC,iterator:sir,hasInstance:iir}=Symbol),W5e=Math.random,air="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),$5e=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[mC])?[(r=r!==void 0?r+"":e[mC]=="File"?e.name:"blob",t),e.name!==r||e[mC]=="blob"?new k0([e],r,e):e]:[t,e+""]),Tz=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
|
|
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),Yh=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},L0=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[mC](){return"FormData"}[sir](){return this.entries()}static[iir](e){return e&&typeof e=="object"&&e[mC]==="FormData"&&!air.some(r=>typeof e[r]!="function")}append(...e){Yh("append",arguments,2),this.#e.push($5e(...e))}delete(e){Yh("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){Yh("get",arguments,1),e+="";for(var r=this.#e,n=r.length,s=0;s<n;s++)if(r[s][0]===e)return r[s][1];return null}getAll(e,r){return Yh("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return Yh("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){Yh("forEach",arguments,1);for(var[n,s]of this)e.call(r,s,n,this)}set(...e){Yh("set",arguments,2);var r=[],n=!0;e=$5e(...e),this.#e.forEach(s=>{s[0]===e[0]?n&&(n=!r.push(e)):r.push(s)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var af,yL=dr(()=>{af=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var ha,wz=dr(()=>{yL();ha=class extends af{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var xL,Rz,hC,U5e,q5e,j5e,bL=dr(()=>{xL=Symbol.toStringTag,Rz=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[xL]==="URLSearchParams",hC=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[xL]),U5e=t=>typeof t=="object"&&(t[xL]==="AbortSignal"||t[xL]==="EventTarget"),q5e=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},j5e=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var Q5e=E((Sjr,H5e)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=require("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}H5e.exports=globalThis.DOMException});var Jh,G5e,V5e,Nz,z5e,K5e,Y5e,J5e,X5e,Z5e,EL,Oz=dr(()=>{Jh=require("node:fs"),G5e=require("node:path"),V5e=Re(Q5e(),1);Iz();pC();({stat:Nz}=Jh.promises),z5e=(t,e)=>X5e((0,Jh.statSync)(t),t,e),K5e=(t,e)=>Nz(t).then(r=>X5e(r,t,e)),Y5e=(t,e)=>Nz(t).then(r=>Z5e(r,t,e)),J5e=(t,e)=>Z5e((0,Jh.statSync)(t),t,e),X5e=(t,e,r="")=>new hu([new EL({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),Z5e=(t,e,r="")=>new k0([new EL({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],(0,G5e.basename)(e),{type:r,lastModified:t.mtimeMs}),EL=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new t({path:this.#e,lastModified:this.lastModified,size:r-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Nz(this.#e);if(e>this.lastModified)throw new V5e.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*(0,Jh.createReadStream)(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var t8e={};is(t8e,{toFormData:()=>pir});function fir(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(s,i)=>String.fromCharCode(i)),n}async function pir(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new Pz(r[1]||r[2]),s,i,a,o,c,u,l=[],d=new L0,f=g=>{a+=A.decode(g,{stream:!0})},p=g=>{l.push(g)},m=()=>{let g=new k0(l,u,{type:c});d.append(o,g)},h=()=>{d.append(o,a)},A=new TextDecoder("utf-8");A.decode(),n.onPartBegin=function(){n.onPartData=f,n.onPartEnd=h,s="",i="",a="",o="",c="",u=null,l.length=0},n.onHeaderField=function(g){s+=A.decode(g,{stream:!0})},n.onHeaderValue=function(g){i+=A.decode(g,{stream:!0})},n.onHeaderEnd=function(){if(i+=A.decode(),s=s.toLowerCase(),s==="content-disposition"){let g=i.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);g&&(o=g[2]||g[3]||""),u=fir(i),u&&(n.onPartData=p,n.onPartEnd=m)}else s==="content-type"&&(c=i);i="",s=""};for await(let g of t)n.write(g);return n.end(),d}var Nl,vn,e8e,B0,_L,SL,oir,gC,cir,uir,lir,dir,Xh,Pz,r8e=dr(()=>{Oz();AL();Nl=0,vn={START_BOUNDARY:Nl++,HEADER_FIELD_START:Nl++,HEADER_FIELD:Nl++,HEADER_VALUE_START:Nl++,HEADER_VALUE:Nl++,HEADER_VALUE_ALMOST_DONE:Nl++,HEADERS_ALMOST_DONE:Nl++,PART_DATA_START:Nl++,PART_DATA:Nl++,END:Nl++},e8e=1,B0={PART_BOUNDARY:e8e,LAST_BOUNDARY:e8e*=2},_L=10,SL=13,oir=32,gC=45,cir=58,uir=97,lir=122,dir=t=>t|32,Xh=()=>{},Pz=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=Xh,this.onHeaderField=Xh,this.onHeadersEnd=Xh,this.onHeaderValue=Xh,this.onPartBegin=Xh,this.onPartData=Xh,this.onPartEnd=Xh,this.boundaryChars={},e=`\r
|
|
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=vn.START_BOUNDARY}write(e){let r=0,n=e.length,s=this.index,{lookbehind:i,boundary:a,boundaryChars:o,index:c,state:u,flags:l}=this,d=this.boundary.length,f=d-1,p=e.length,m,h,A=x=>{this[x+"Mark"]=r},g=x=>{delete this[x+"Mark"]},b=(x,v,C,R)=>{(v===void 0||v!==C)&&this[x](R&&R.subarray(v,C))},y=(x,v)=>{let C=x+"Mark";C in this&&(v?(b(x,this[C],r,e),delete this[C]):(b(x,this[C],e.length,e),this[C]=0))};for(r=0;r<n;r++)switch(m=e[r],u){case vn.START_BOUNDARY:if(c===a.length-2){if(m===gC)l|=B0.LAST_BOUNDARY;else if(m!==SL)return;c++;break}else if(c-1===a.length-2){if(l&B0.LAST_BOUNDARY&&m===gC)u=vn.END,l=0;else if(!(l&B0.LAST_BOUNDARY)&&m===_L)c=0,b("onPartBegin"),u=vn.HEADER_FIELD_START;else return;break}m!==a[c+2]&&(c=-2),m===a[c+2]&&c++;break;case vn.HEADER_FIELD_START:u=vn.HEADER_FIELD,A("onHeaderField"),c=0;case vn.HEADER_FIELD:if(m===SL){g("onHeaderField"),u=vn.HEADERS_ALMOST_DONE;break}if(c++,m===gC)break;if(m===cir){if(c===1)return;y("onHeaderField",!0),u=vn.HEADER_VALUE_START;break}if(h=dir(m),h<uir||h>lir)return;break;case vn.HEADER_VALUE_START:if(m===oir)break;A("onHeaderValue"),u=vn.HEADER_VALUE;case vn.HEADER_VALUE:m===SL&&(y("onHeaderValue",!0),b("onHeaderEnd"),u=vn.HEADER_VALUE_ALMOST_DONE);break;case vn.HEADER_VALUE_ALMOST_DONE:if(m!==_L)return;u=vn.HEADER_FIELD_START;break;case vn.HEADERS_ALMOST_DONE:if(m!==_L)return;b("onHeadersEnd"),u=vn.PART_DATA_START;break;case vn.PART_DATA_START:u=vn.PART_DATA,A("onPartData");case vn.PART_DATA:if(s=c,c===0){for(r+=f;r<p&&!(e[r]in o);)r+=d;r-=f,m=e[r]}if(c<a.length)a[c]===m?(c===0&&y("onPartData",!0),c++):c=0;else if(c===a.length)c++,m===SL?l|=B0.PART_BOUNDARY:m===gC?l|=B0.LAST_BOUNDARY:c=0;else if(c-1===a.length)if(l&B0.PART_BOUNDARY){if(c=0,m===_L){l&=~B0.PART_BOUNDARY,b("onPartEnd"),b("onPartBegin"),u=vn.HEADER_FIELD_START;break}}else l&B0.LAST_BOUNDARY&&m===gC?(b("onPartEnd"),u=vn.END,l=0):c=0;if(c>0)i[c-1]=m;else if(s>0){let x=new Uint8Array(i.buffer,i.byteOffset,i.byteLength);b("onPartData",0,s,x),s=0,A("onPartData"),r--}break;case vn.END:break;default:throw new Error(`Unexpected state entered: ${u}`)}y("onHeaderField"),y("onHeaderValue"),y("onPartData"),this.index=c,this.state=u,this.flags=l}end(){if(this.state===vn.HEADER_FIELD_START&&this.index===0||this.state===vn.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==vn.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});async function Dz(t){if(t[to].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[to].disturbed=!0,t[to].error)throw t[to].error;let{body:e}=t;if(e===null)return Io.Buffer.alloc(0);if(!(e instanceof vc.default))return Io.Buffer.alloc(0);let r=[],n=0;try{for await(let s of e){if(t.size>0&&n+s.length>t.size){let i=new ha(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(i),i}n+=s.length,r.push(s)}}catch(s){throw s instanceof af?s:new ha(`Invalid response body while trying to fetch ${t.url}: ${s.message}`,"system",s)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(s=>typeof s=="string")?Io.Buffer.from(r.join("")):Io.Buffer.concat(r,n)}catch(s){throw new ha(`Could not create Buffer from response body for ${t.url}: ${s.message}`,"system",s)}else throw new ha(`Premature close of server response while trying to fetch ${t.url}`)}var vc,of,Io,mir,to,Ol,ob,hir,vL,n8e,s8e,CL=dr(()=>{vc=Re(require("node:stream"),1),of=require("node:util"),Io=require("node:buffer");pC();AL();wz();yL();bL();mir=(0,of.promisify)(vc.default.pipeline),to=Symbol("Body internals"),Ol=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:Rz(e)?e=Io.Buffer.from(e.toString()):hC(e)||Io.Buffer.isBuffer(e)||(of.types.isAnyArrayBuffer(e)?e=Io.Buffer.from(e):ArrayBuffer.isView(e)?e=Io.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof vc.default||(e instanceof L0?(e=F5e(e),n=e.type.split("=")[1]):e=Io.Buffer.from(String(e))));let s=e;Io.Buffer.isBuffer(e)?s=vc.default.Readable.from(e):hC(e)&&(s=vc.default.Readable.from(e.stream())),this[to]={body:e,stream:s,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof vc.default&&e.on("error",i=>{let a=i instanceof af?i:new ha(`Invalid response body while trying to fetch ${this.url}: ${i.message}`,"system",i);this[to].error=a})}get body(){return this[to].stream}get bodyUsed(){return this[to].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await Dz(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new L0,s=new URLSearchParams(await this.text());for(let[i,a]of s)n.append(i,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(r8e(),t8e));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[to].body&&this[to].body.type||"",r=await this.arrayBuffer();return new hu([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Dz(this);return new TextDecoder().decode(e)}buffer(){return Dz(this)}};Ol.prototype.buffer=(0,of.deprecate)(Ol.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Ol.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,of.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});ob=(t,e)=>{let r,n,{body:s}=t[to];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return s instanceof vc.default&&typeof s.getBoundary!="function"&&(r=new vc.PassThrough({highWaterMark:e}),n=new vc.PassThrough({highWaterMark:e}),s.pipe(r),s.pipe(n),t[to].stream=r,s=n),s},hir=(0,of.deprecate)(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),vL=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Rz(t)?"application/x-www-form-urlencoded;charset=UTF-8":hC(t)?t.type||null:Io.Buffer.isBuffer(t)||of.types.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof L0?`multipart/form-data; boundary=${e[to].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${hir(t)}`:t instanceof vc.default?null:"text/plain;charset=UTF-8",n8e=t=>{let{body:e}=t[to];return e===null?0:hC(e)?e.size:Io.Buffer.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},s8e=async(t,{body:e})=>{e===null?t.end():await mir(e,t)}});function i8e(t=[]){return new ro(t.reduce((e,r,n,s)=>(n%2===0&&e.push(s.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return IL(e),Lz(e,String(r)),!0}catch{return!1}}))}var kz,AC,IL,Lz,ro,TL=dr(()=>{kz=require("node:util"),AC=Re(require("node:http"),1),IL=typeof AC.default.validateHeaderName=="function"?AC.default.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},Lz=typeof AC.default.validateHeaderValue=="function"?AC.default.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},ro=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[s,i]of Object.entries(n))r.push(...i.map(a=>[s,a]))}else if(e!=null)if(typeof e=="object"&&!kz.types.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(s=>{if(typeof s!="object"||kz.types.isBoxedPrimitive(s))throw new TypeError("Each header pair must be an iterable object");return[...s]}).map(s=>{if(s.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...s]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,s])=>(IL(n),Lz(n,String(s)),[String(n).toLowerCase(),String(s)])):void 0,super(r),new Proxy(this,{get(n,s,i){switch(s){case"append":case"set":return(a,o)=>(IL(a),Lz(a,String(o)),URLSearchParams.prototype[s].call(n,String(a).toLowerCase(),String(o)));case"delete":case"has":case"getAll":return a=>(IL(a),URLSearchParams.prototype[s].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,s,i)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(ro.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var gir,yC,Bz=dr(()=>{gir=new Set([301,302,303,307,308]),yC=t=>gir.has(t)});var gu,To,a8e=dr(()=>{TL();CL();Bz();gu=Symbol("Response internals"),To=class t extends Ol{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,s=new ro(r.headers);if(e!==null&&!s.has("Content-Type")){let i=vL(e,this);i&&s.append("Content-Type",i)}this[gu]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:s,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[gu].type}get url(){return this[gu].url||""}get status(){return this[gu].status}get ok(){return this[gu].status>=200&&this[gu].status<300}get redirected(){return this[gu].counter>0}get statusText(){return this[gu].statusText}get headers(){return this[gu].headers}get highWaterMark(){return this[gu].highWaterMark}clone(){return new t(ob(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!yC(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[gu].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let s=new ro(r&&r.headers);return s.has("content-type")||s.set("content-type","application/json"),new t(n,{...r,headers:s})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(To.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var o8e,c8e=dr(()=>{o8e=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});function u8e(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function p8e(t){if(!d8e.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function Air(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=(0,l8e.isIP)(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function cb(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:Air(t)}function m8e(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let s=t.referrer,i=u8e(s),a=u8e(s,!0);i.toString().length>4096&&(i=a),e&&(i=e(i)),r&&(a=r(a));let o=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return i;case"strict-origin":return cb(i)&&!cb(o)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return i.origin===o.origin?i:cb(i)&&!cb(o)?"no-referrer":a;case"same-origin":return i.origin===o.origin?i:"no-referrer";case"origin-when-cross-origin":return i.origin===o.origin?i:a;case"no-referrer-when-downgrade":return cb(i)&&!cb(o)?"no-referrer":i;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function h8e(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&d8e.has(n)&&(r=n);return r}var l8e,d8e,f8e,Mz=dr(()=>{l8e=require("node:net");d8e=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),f8e="strict-origin-when-cross-origin"});var g8e,A8e,ri,xC,yir,M0,y8e,x8e=dr(()=>{g8e=require("node:url"),A8e=require("node:util");TL();CL();bL();c8e();Mz();ri=Symbol("Request internals"),xC=t=>typeof t=="object"&&typeof t[ri]=="object",yir=(0,A8e.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),M0=class t extends Ol{constructor(e,r={}){let n;if(xC(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let s=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(s)&&(s=s.toUpperCase()),!xC(r)&&"data"in r&&yir(),(r.body!=null||xC(e)&&e.body!==null)&&(s==="GET"||s==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let i=r.body?r.body:xC(e)&&e.body!==null?ob(e):null;super(i,{size:r.size||e.size||0});let a=new ro(r.headers||e.headers||{});if(i!==null&&!a.has("Content-Type")){let u=vL(i,this);u&&a.set("Content-Type",u)}let o=xC(e)?e.signal:null;if("signal"in r&&(o=r.signal),o!=null&&!U5e(o))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let c=r.referrer==null?e.referrer:r.referrer;if(c==="")c="no-referrer";else if(c){let u=new URL(c);c=/^about:(\/\/)?client$/.test(u)?"client":u}else c=void 0;this[ri]={method:s,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:o,referrer:c},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[ri].method}get url(){return(0,g8e.format)(this[ri].parsedURL)}get headers(){return this[ri].headers}get redirect(){return this[ri].redirect}get signal(){return this[ri].signal}get referrer(){if(this[ri].referrer==="no-referrer")return"";if(this[ri].referrer==="client")return"about:client";if(this[ri].referrer)return this[ri].referrer.toString()}get referrerPolicy(){return this[ri].referrerPolicy}set referrerPolicy(e){this[ri].referrerPolicy=p8e(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(M0.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});y8e=t=>{let{parsedURL:e}=t[ri],r=new ro(t[ri].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let o=n8e(t);typeof o=="number"&&!Number.isNaN(o)&&(n=String(o))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=f8e),t.referrer&&t.referrer!=="no-referrer"?t[ri].referrer=m8e(t):t[ri].referrer="no-referrer",t[ri].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:s}=t;typeof s=="function"&&(s=s(e));let i=o8e(e),a={path:e.pathname+i,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:s};return{parsedURL:e,options:a}}});var bC,b8e=dr(()=>{yL();bC=class extends af{constructor(e,r="aborted"){super(e,r)}}});var wL={};is(wL,{AbortError:()=>bC,Blob:()=>hu,FetchError:()=>ha,File:()=>k0,FormData:()=>L0,Headers:()=>ro,Request:()=>M0,Response:()=>To,blobFrom:()=>K5e,blobFromSync:()=>z5e,default:()=>ub,fileFrom:()=>Y5e,fileFromSync:()=>J5e,isRedirect:()=>yC});async function ub(t,e){return new Promise((r,n)=>{let s=new M0(t,e),{parsedURL:i,options:a}=y8e(s);if(!xir.has(i.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${i.protocol.replace(/:$/,"")}" is not supported.`);if(i.protocol==="data:"){let m=O5e(s.url),h=new To(m,{headers:{"Content-Type":m.typeFull}});r(h);return}let o=(i.protocol==="https:"?_8e.default:E8e.default).request,{signal:c}=s,u=null,l=()=>{let m=new bC("The operation was aborted.");n(m),s.body&&s.body instanceof wo.default.Readable&&s.body.destroy(m),!(!u||!u.body)&&u.body.emit("error",m)};if(c&&c.aborted){l();return}let d=()=>{l(),p()},f=o(i.toString(),a);c&&c.addEventListener("abort",d);let p=()=>{f.abort(),c&&c.removeEventListener("abort",d)};f.on("error",m=>{n(new ha(`request to ${s.url} failed, reason: ${m.message}`,"system",m)),p()}),bir(f,m=>{u&&u.body&&u.body.destroy(m)}),process.version<"v14"&&f.on("socket",m=>{let h;m.prependListener("end",()=>{h=m._eventsCount}),m.prependListener("close",A=>{if(u&&h<m._eventsCount&&!A){let g=new Error("Premature close");g.code="ERR_STREAM_PREMATURE_CLOSE",u.body.emit("error",g)}})}),f.on("response",m=>{f.setTimeout(0);let h=i8e(m.rawHeaders);if(yC(m.statusCode)){let x=h.get("Location"),v=null;try{v=x===null?null:new URL(x,s.url)}catch{if(s.redirect!=="manual"){n(new ha(`uri requested responds with an invalid redirect URL: ${x}`,"invalid-redirect")),p();return}}switch(s.redirect){case"error":n(new ha(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect")),p();return;case"manual":break;case"follow":{if(v===null)break;if(s.counter>=s.follow){n(new ha(`maximum redirect reached at: ${s.url}`,"max-redirect")),p();return}let C={headers:new ro(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:ob(s),signal:s.signal,size:s.size,referrer:s.referrer,referrerPolicy:s.referrerPolicy};if(!q5e(s.url,v)||!j5e(s.url,v))for(let w of["authorization","www-authenticate","cookie","cookie2"])C.headers.delete(w);if(m.statusCode!==303&&s.body&&e.body instanceof wo.default.Readable){n(new ha("Cannot follow redirect with body being a readable stream","unsupported-redirect")),p();return}(m.statusCode===303||(m.statusCode===301||m.statusCode===302)&&s.method==="POST")&&(C.method="GET",C.body=void 0,C.headers.delete("content-length"));let R=h8e(h);R&&(C.referrerPolicy=R),r(ub(new M0(v,C))),p();return}default:return n(new TypeError(`Redirect option '${s.redirect}' is not a valid value of RequestRedirect`))}}c&&m.once("end",()=>{c.removeEventListener("abort",d)});let A=(0,wo.pipeline)(m,new wo.PassThrough,x=>{x&&n(x)});process.version<"v12.10"&&m.on("aborted",d);let g={url:s.url,status:m.statusCode,statusText:m.statusMessage,headers:h,size:s.size,counter:s.counter,highWaterMark:s.highWaterMark},b=h.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||b===null||m.statusCode===204||m.statusCode===304){u=new To(A,g),r(u);return}let y={flush:Zh.default.Z_SYNC_FLUSH,finishFlush:Zh.default.Z_SYNC_FLUSH};if(b==="gzip"||b==="x-gzip"){A=(0,wo.pipeline)(A,Zh.default.createGunzip(y),x=>{x&&n(x)}),u=new To(A,g),r(u);return}if(b==="deflate"||b==="x-deflate"){let x=(0,wo.pipeline)(m,new wo.PassThrough,v=>{v&&n(v)});x.once("data",v=>{(v[0]&15)===8?A=(0,wo.pipeline)(A,Zh.default.createInflate(),C=>{C&&n(C)}):A=(0,wo.pipeline)(A,Zh.default.createInflateRaw(),C=>{C&&n(C)}),u=new To(A,g),r(u)}),x.once("end",()=>{u||(u=new To(A,g),r(u))});return}if(b==="br"){A=(0,wo.pipeline)(A,Zh.default.createBrotliDecompress(),x=>{x&&n(x)}),u=new To(A,g),r(u);return}u=new To(A,g),r(u)}),s8e(f,s).catch(n)})}function bir(t,e){let r=EC.Buffer.from(`0\r
|
|
\r
|
|
`),n=!1,s=!1,i;t.on("response",a=>{let{headers:o}=a;n=o["transfer-encoding"]==="chunked"&&!o["content-length"]}),t.on("socket",a=>{let o=()=>{if(n&&!s){let u=new Error("Premature close");u.code="ERR_STREAM_PREMATURE_CLOSE",e(u)}},c=u=>{s=EC.Buffer.compare(u.slice(-5),r)===0,!s&&i&&(s=EC.Buffer.compare(i.slice(-3),r.slice(0,3))===0&&EC.Buffer.compare(u.slice(-2),r.slice(3))===0),i=u};a.prependListener("close",o),a.on("data",c),t.on("close",()=>{a.removeListener("close",o),a.removeListener("data",c)})})}var E8e,_8e,Zh,wo,EC,xir,_C=dr(()=>{E8e=Re(require("node:http"),1),_8e=Re(require("node:https"),1),Zh=Re(require("node:zlib"),1),wo=Re(require("node:stream"),1),EC=require("node:buffer");P5e();CL();a8e();TL();x8e();wz();b8e();Bz();AL();bL();Mz();Oz();xir=new Set(["data:","http:","https:"])});function Cn(t){return Eir[t]||t}function Wz(t,e){if(!t)return()=>{};if(t.aborted)return e.abort(),()=>{};let r=()=>{e.abort()};return t.addEventListener("abort",r,{once:!0}),()=>{t.removeEventListener("abort",r)}}async function ge(t,e={}){let r=parseInt(e.retries||"0",10)||0,n=Array.isArray(e.validStatusCodes)?e.validStatusCodes:[],s;for(let a=0;a<=r;a++){let o=be.getStore()||"system";a>0?(_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u7B2C ${a} \u6B21\u91CD\u8BD5: ${t}`),s&&(s.cause?.code==="ETIMEDOUT"||s.cause?.code==="ECONNRESET"||s.name==="AbortError")?await new Promise(f=>setTimeout(f,100)):await new Promise(f=>setTimeout(f,Math.min(1e3*Math.pow(2,a-1),5e3)))):_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${t}`);let c=parseInt(e.timeout||O.vodRequestTimeout||"5000",10)||5e3,u=new AbortController,l=setTimeout(()=>u.abort(),c),d=Wz(e.signal,u);try{let f;if(typeof WebAssembly>"u"){_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528node-fetch");let g=(await Promise.resolve().then(()=>(_C(),wL))).default;f=await g(t,{method:"GET",headers:{...e.headers},signal:u.signal})}else f=await fetch(t,{method:"GET",headers:{...e.headers},signal:u.signal});if(clearTimeout(l),!f.ok&&!n.includes(f.status))throw new Error(`HTTP error! status: ${f.status}`);let p;if(e.base64Data){_("info","[Utils] [HTTP] base64\u6A21\u5F0F");let g=await f.arrayBuffer(),b=new Uint8Array(g),y="",x=32768;for(let v=0;v<b.length;v+=x){let C=b.subarray(v,v+x);y+=String.fromCharCode.apply(null,C)}p=btoa(y)}else if(e.zlibMode){_("info","[Utils] [HTTP] zlib\u6A21\u5F0F");let g=await f.arrayBuffer(),b;if(typeof DecompressionStream<"u"){let y=new DecompressionStream("deflate"),x=new Response(new Blob([g]).stream().pipeThrough(y));try{b=await x.text()}catch(v){throw _("error",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u89E3\u538B\u7F29\u5931\u8D25`,v),v}}else{_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528pako\u89E3\u538B");try{let x=(await import("pako")).inflate(new Uint8Array(g));b=new TextDecoder("utf-8").decode(x)}catch(y){throw _("error",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] pako\u89E3\u538B\u7F29\u5931\u8D25`,y),y}}p=b}else p=await f.text();let m;try{m=JSON.parse(p)}catch{m=p}let h={},A=[];for(let[g,b]of f.headers.entries())g.toLowerCase()==="set-cookie"?A.push(b):h[g]=b;return A.length>0&&(h["set-cookie"]=A.join(";")),a>0&&_("info",`[${o}] [\u8BF7\u6C42\u6A21\u62DF] \u91CD\u8BD5\u6210\u529F`),{data:m,status:f.status,headers:h}}catch(f){clearTimeout(l),s=f;let p=be.getStore()||"system";if(e.signal?.aborted)throw f;if(f.name==="AbortError"?(_("error",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u8D85\u65F6:`,f.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u8D85\u65F6\u65F6\u95F4:",`${c}ms`),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${a+1}/${r+1}`)):(_("error",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,f.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u9519\u8BEF\u7C7B\u578B:",f.name),_("error","- \u6D88\u606F:",f.message),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${a+1}/${r+1}`),f.cause&&(_("error","- \u7801:",f.cause.code),_("error","- \u539F\u56E0:",f.cause.message))),a<r){_("info",`[${p}] [\u8BF7\u6C42\u6A21\u62DF] \u51C6\u5907\u91CD\u8BD5...`);continue}}finally{d()}}let i=be.getStore()||"system";throw _("error",`[${i}] [\u8BF7\u6C42\u6A21\u62DF] \u6240\u6709\u91CD\u8BD5\u5747\u5931\u8D25 (${r+1} \u6B21\u5C1D\u8BD5)`),s}async function Vr(t,e,r={}){let n=parseInt(r.retries||"0",10)||0,s=Array.isArray(r.validStatusCodes)?r.validStatusCodes:[],i;for(let o=0;o<=n;o++){let c=be.getStore()||"system";o>0?(_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] \u7B2C ${o} \u6B21\u91CD\u8BD5: ${t}`),i&&(i.cause?.code==="ETIMEDOUT"||i.cause?.code==="ECONNRESET"||i.name==="AbortError")?await new Promise(g=>setTimeout(g,100)):await new Promise(g=>setTimeout(g,Math.min(1e3*Math.pow(2,o-1),5e3)))):_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] HTTP POST: ${t}`);let u=parseInt(r.timeout||O.vodRequestTimeout||"5000",10)||5e3,l=new AbortController,d=setTimeout(()=>l.abort(),u),f=Wz(r.signal,l),{headers:p={},params:m,allow_redirects:h=!0}=r,A={method:"POST",headers:{...p},body:e,signal:l.signal};h||(A.redirect="manual");try{let g;if(typeof WebAssembly>"u"){_("info","[Utils] [HTTP] iOS\u73AF\u5883\u964D\u7EA7\u4F7F\u7528node-fetch");let x=(await Promise.resolve().then(()=>(_C(),wL))).default;g=await x(t,A)}else g=await fetch(t,A);clearTimeout(d);let b=await g.text();if(!g.ok&&!s.includes(g.status))throw _("error",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] response data: `,b),new Error(`HTTP error! status: ${g.status}`);let y;try{y=JSON.parse(b)}catch{y=b}return o>0&&_("info",`[${c}] [\u8BF7\u6C42\u6A21\u62DF] \u91CD\u8BD5\u6210\u529F`),{data:y,status:g.status,headers:Object.fromEntries(g.headers.entries())}}catch(g){clearTimeout(d),i=g;let b=be.getStore()||"system";if(r.signal?.aborted)throw g;if(g.name==="AbortError"?(_("error",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u8D85\u65F6:`,g.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u8D85\u65F6\u65F6\u95F4:",`${u}ms`),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${o+1}/${n+1}`)):(_("error",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,g.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",t),_("error","- \u9519\u8BEF\u7C7B\u578B:",g.name),_("error","- \u6D88\u606F:",g.message),_("error",`- \u5F53\u524D\u5C1D\u8BD5: ${o+1}/${n+1}`),g.cause&&(_("error","- \u7801:",g.cause.code),_("error","- \u539F\u56E0:",g.cause.message))),o<n){_("info",`[${b}] [\u8BF7\u6C42\u6A21\u62DF] \u51C6\u5907\u91CD\u8BD5...`);continue}}finally{f()}}let a=be.getStore()||"system";throw _("error",`[${a}] [\u8BF7\u6C42\u6A21\u62DF] \u6240\u6709\u91CD\u8BD5\u5747\u5931\u8D25 (${n+1} \u6B21\u5C1D\u8BD5)`),i}async function $z(t,e,r,n={}){let s=be.getStore()||"system";_("info",`[${s}] [\u8BF7\u6C42\u6A21\u62DF] HTTP ${t}: ${e}`);let{headers:i={}}=n,a=Array.isArray(n.validStatusCodes)?n.validStatusCodes:[],o={method:t,headers:{...i}};r!=null&&(o.body=r),n.body!==void 0&&n.body!==null&&(o.body=n.body),n.signal&&(o.signal=n.signal);try{let c=await fetch(e,o),u=await c.text();if(!c.ok&&!a.includes(c.status))throw _("error",`[${s}] [\u8BF7\u6C42\u6A21\u62DF] response data: `,u),new Error(`HTTP error! status: ${c.status}`);let l;try{l=JSON.parse(u)}catch{l=u}return{data:l,status:c.status,headers:Object.fromEntries(c.headers.entries())}}catch(c){let u=be.getStore()||"system";throw _("error",`[${u}] [\u8BF7\u6C42\u6A21\u62DF] \u8BF7\u6C42\u5931\u8D25:`,c.message),_("error","\u8BE6\u7EC6\u8BCA\u65AD:"),_("error","- URL:",e),_("error","- \u9519\u8BEF\u7C7B\u578B:",c.name),_("error","- \u6D88\u606F:",c.message),c.cause&&(_("error","- \u7801:",c.cause?.code),_("error","- \u539F\u56E0:",c.cause?.message)),c}}async function RL(t,e,r={}){return $z("PATCH",t,e,r)}async function v8e(t,e,r={}){return $z("PUT",t,e,r)}async function lb(t,e={}){return $z("DELETE",t,void 0,e)}async function C8e(t){try{let n=(await ge(t,{headers:{"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15"}})).data.match(/<title[^>]*>(.*?)<\/title>/i);return n&&n[1]?n[1].replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim():t}catch(e){let r=be.getStore()||"system";return _("error",`[${r}] \u83B7\u53D6\u6807\u9898\u5931\u8D25: ${e.message}`),t}}function Be(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}function I8e(t,e=200){if(typeof t!="string"||!t.trim().startsWith("<?xml"))throw new Error("Expected data to be an XML string starting with <?xml");return new Response(t,{status:e,headers:{"Content-Type":"application/xml","Access-Control-Allow-Origin":"*"}})}function Ai(t,e=!0){let r=e?encodeURIComponent:s=>s,n="";for(let s in t)t.hasOwnProperty(s)&&(n.length>0&&(n+="&"),n+=r(s)+"="+r(t[s]));return n}function SC(t={}){let e={};for(let[s,i]of Object.entries(t))typeof i=="boolean"?e[s]=i?"true":"false":i==null?e[s]="":e[s]=String(i);let r=[];for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&r.push(s);r.sort();let n=[];for(let s of r){let i=encodeURIComponent(s),a=encodeURIComponent(e[s]);n.push(`${i}=${a}`)}return n.join("&")}function db(t,e){let r=t,n="",s=t.indexOf("#"),i="";s!==-1&&(r=t.substring(0,s),i=t.substring(s));let a=r.indexOf("?");a!==-1&&(n=r.substring(a+1),r=r.substring(0,a));let o={};if(n){let u=n.split("&");for(let l of u)if(l){let[d,f=""]=l.split("=").map(decodeURIComponent);o[d]=f}}for(let u in e)Object.prototype.hasOwnProperty.call(e,u)&&(o[u]=e[u]);let c=[];for(let u in o)Object.prototype.hasOwnProperty.call(o,u)&&c.push(`${encodeURIComponent(u)}=${encodeURIComponent(o[u])}`);return r+(c.length?"?"+c.join("&"):"")+i}function T8e(t){let e=t.indexOf("//")+2;e===1&&(e=0);let r=t.indexOf("/",e);if(r===-1)return"/";let n=t.indexOf("?",r),s=t.indexOf("#",r),i=n!==-1?n:s!==-1?s:t.length;return t.substring(r,i)||"/"}async function Fz(t,e={},r){let{headers:n={},sniffLimit:s}=e,i=parseInt(s||"32768",10)||32768,a=parseInt(e.timeout||O.vodRequestTimeout||"5000",10)||5e3,o=new AbortController,c=setTimeout(()=>o.abort(),a),u=Wz(e.signal,o);try{let l=be.getStore()||"system";_("info",`[${l}] [\u6D41\u5F0F\u8BF7\u6C42] HTTP GET: ${t}`);let d=await fetch(t,{method:"GET",headers:n,signal:o.signal});if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);let f=d.body.getReader?d.body.getReader():null;if(!f){let v=be.getStore()||"system";_("warn",`[${v}] [\u6D41\u5F0F\u8BF7\u6C42] \u73AF\u5883\u4E0D\u652F\u6301\u6D41\u5F0F\u8BFB\u53D6,\u56DE\u9000\u5230\u666E\u901A\u8BF7\u6C42`);let C=await d.text();if(clearTimeout(c),r&&!r(C.slice(0,i)))return _("info",`[${v}] [\u6D41\u5F0F\u8BF7\u6C42] \u68C0\u6D4B\u5230\u65E0\u6548\u6570\u636E(\u56DE\u9000\u6A21\u5F0F),\u4E22\u5F03\u7ED3\u679C`),null;try{return JSON.parse(C)}catch{return C}}let p=0,m=[],h=!1,A="",g=!1;for(;;){let{done:v,value:C}=await f.read();if(v)break;if(p+=C.length,!g&&r){let R=new TextDecoder("utf-8").decode(C,{stream:!0});if(A+=R,!r(A)){let w=be.getStore()||"system";_("info",`[${w}] [\u6D41\u5F0F\u8BF7\u6C42] \u55C5\u63A2\u5230\u65E0\u6548\u7279\u5F81(\u5DF2\u8BFB${p}\u5B57\u8282),\u7ACB\u5373\u7194\u65AD`),o.abort(),h=!0;break}p>i&&(g=!0,A=null)}m.push(C)}if(clearTimeout(c),h)return null;let b=new Uint8Array(p),y=0;for(let v of m)b.set(v,y),y+=v.length;let x=new TextDecoder("utf-8").decode(b);try{return JSON.parse(x)}catch{return x}}catch(l){let d=be.getStore()||"system";return clearTimeout(c),l.name==="AbortError"||_("error",`[${d}] [\u6D41\u5F0F\u8BF7\u6C42] \u5931\u8D25: ${l.message}`),null}finally{u()}}var S8e,be,Eir,ar=dr(()=>{Pt();St();S8e=require("node:async_hooks"),be=new S8e.AsyncLocalStorage,Eir={360:"360kan",imgo:"mango"}});function an(t){let e=0;for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);e=(e<<5)-e+n,e=e>>>0}return e.toString(16)}function fb(t,e){return t==="lastSelectMap"&&e instanceof Map?JSON.stringify(Object.fromEntries(e)):JSON.stringify(e)}function Ls(t){function e(y){let x="";for(let v=0;v<y.length;v++){let C=y.charCodeAt(v);C<128?x+=String.fromCharCode(C):C<2048?(x+=String.fromCharCode(192|C>>6),x+=String.fromCharCode(128|C&63)):(x+=String.fromCharCode(224|C>>12),x+=String.fromCharCode(128|C>>6&63),x+=String.fromCharCode(128|C&63))}return x}t=e(t);function r(y,x){return y<<x|y>>>32-x}function n(y,x){let v=y&1073741824,C=x&1073741824,R=y&2147483648,w=x&2147483648,N=(y&1073741823)+(x&1073741823);return v&C?N^2147483648^R^w:v|C?N&1073741824?N^3221225472^R^w:N^1073741824^R^w:N^R^w}function s(y,x,v){return y&x|~y&v}function i(y,x,v){return y&v|x&~v}function a(y,x,v){return y^x^v}function o(y,x,v){return x^(y|~v)}function c(y,x,v,C,R,w,N){return y=n(y,n(n(s(x,v,C),R),N)),n(r(y,w),x)}function u(y,x,v,C,R,w,N){return y=n(y,n(n(i(x,v,C),R),N)),n(r(y,w),x)}function l(y,x,v,C,R,w,N){return y=n(y,n(n(a(x,v,C),R),N)),n(r(y,w),x)}function d(y,x,v,C,R,w,N){return y=n(y,n(n(o(x,v,C),R),N)),n(r(y,w),x)}function f(y){let x=y.length,v=((x+8>>>6)+1)*16,C=new Array(v).fill(0);for(let R=0;R<x;R++)C[R>>2]|=y.charCodeAt(R)<<R%4*8;return C[x>>2]|=128<<x%4*8,C[v-2]=x*8,C}function p(y){let x="";for(let v=0;v<=3;v++){let R="0"+(y>>>v*8&255).toString(16);x+=R.substr(R.length-2,2)}return x}let m=f(t),h=1732584193,A=4023233417,g=2562383102,b=271733878;for(let y=0;y<m.length;y+=16){let x=h,v=A,C=g,R=b;h=c(h,A,g,b,m[y+0],7,3614090360),b=c(b,h,A,g,m[y+1],12,3905402710),g=c(g,b,h,A,m[y+2],17,606105819),A=c(A,g,b,h,m[y+3],22,3250441966),h=c(h,A,g,b,m[y+4],7,4118548399),b=c(b,h,A,g,m[y+5],12,1200080426),g=c(g,b,h,A,m[y+6],17,2821735955),A=c(A,g,b,h,m[y+7],22,4249261313),h=c(h,A,g,b,m[y+8],7,1770035416),b=c(b,h,A,g,m[y+9],12,2336552879),g=c(g,b,h,A,m[y+10],17,4294925233),A=c(A,g,b,h,m[y+11],22,2304563134),h=c(h,A,g,b,m[y+12],7,1804603682),b=c(b,h,A,g,m[y+13],12,4254626195),g=c(g,b,h,A,m[y+14],17,2792965006),A=c(A,g,b,h,m[y+15],22,1236535329),h=u(h,A,g,b,m[y+1],5,4129170786),b=u(b,h,A,g,m[y+6],9,3225465664),g=u(g,b,h,A,m[y+11],14,643717713),A=u(A,g,b,h,m[y+0],20,3921069994),h=u(h,A,g,b,m[y+5],5,3593408605),b=u(b,h,A,g,m[y+10],9,38016083),g=u(g,b,h,A,m[y+15],14,3634488961),A=u(A,g,b,h,m[y+4],20,3889429448),h=u(h,A,g,b,m[y+9],5,568446438),b=u(b,h,A,g,m[y+14],9,3275163606),g=u(g,b,h,A,m[y+3],14,4107603335),A=u(A,g,b,h,m[y+8],20,1163531501),h=u(h,A,g,b,m[y+13],5,2850285829),b=u(b,h,A,g,m[y+2],9,4243563512),g=u(g,b,h,A,m[y+7],14,1735328473),A=u(A,g,b,h,m[y+12],20,2368359562),h=l(h,A,g,b,m[y+5],4,4294588738),b=l(b,h,A,g,m[y+8],11,2272392833),g=l(g,b,h,A,m[y+11],16,1839030562),A=l(A,g,b,h,m[y+14],23,4259657740),h=l(h,A,g,b,m[y+1],4,2763975236),b=l(b,h,A,g,m[y+4],11,1272893353),g=l(g,b,h,A,m[y+7],16,4139469664),A=l(A,g,b,h,m[y+10],23,3200236656),h=l(h,A,g,b,m[y+13],4,681279174),b=l(b,h,A,g,m[y+0],11,3936430074),g=l(g,b,h,A,m[y+3],16,3572445317),A=l(A,g,b,h,m[y+6],23,76029189),h=l(h,A,g,b,m[y+9],4,3654602809),b=l(b,h,A,g,m[y+12],11,3873151461),g=l(g,b,h,A,m[y+15],16,530742520),A=l(A,g,b,h,m[y+2],23,3299628645),h=d(h,A,g,b,m[y+0],6,4096336452),b=d(b,h,A,g,m[y+7],10,1126891415),g=d(g,b,h,A,m[y+14],15,2878612391),A=d(A,g,b,h,m[y+5],21,4237533241),h=d(h,A,g,b,m[y+12],6,1700485571),b=d(b,h,A,g,m[y+3],10,2399980690),g=d(g,b,h,A,m[y+10],15,4293915773),A=d(A,g,b,h,m[y+1],21,2240044497),h=d(h,A,g,b,m[y+8],6,1873313359),b=d(b,h,A,g,m[y+15],10,4264355552),g=d(g,b,h,A,m[y+6],15,2734768916),A=d(A,g,b,h,m[y+13],21,1309151649),h=d(h,A,g,b,m[y+4],6,4149444226),b=d(b,h,A,g,m[y+11],10,3174756917),g=d(g,b,h,A,m[y+2],15,718787259),A=d(A,g,b,h,m[y+9],21,3951481745),h=n(h,x),A=n(A,v),g=n(g,C),b=n(b,R)}return(p(h)+p(A)+p(g)+p(b)).toLowerCase()}function O8e(t){let e=IC(t),r=[],n=0;for(;n<e.length&&e[n++]===10;){let[i,a]=w8e(e,n);n=a;let o=0,c={};for(;o<i.length;){let u=i[o++],l=u>>3,d=u&7;if(d===0){let[f,p]=jz(i,o);switch(o=p,l){case 1:c.id=f;break;case 2:c.progress=f;break;case 3:c.mode=f;break;case 4:c.fontsize=f;break;case 5:c.color=f;break;case 8:c.ctime=f;break;case 9:c.weight=f;break;case 11:c.pool=f;break;case 13:c.attr=f;break;case 15:c.like_num=f;break;case 17:c.dm_type_v2=f;break}}else if(d===2){let[f,p]=w8e(i,o);switch(o=p,l){case 6:c.midHash=Cc(f);break;case 7:c.content=Cc(f);break;case 10:c.action=Cc(f);break;case 12:c.idStr=Cc(f);break;case 14:c.animation=Cc(f);break;case 16:c.color_v2=Cc(f);break}}else{let[f,p]=jz(i,o);o=p}}r.push(c)}return r}function jz(t,e){let r=0n,n=0n,s=e;for(;;){let i=t[s++];if(r|=BigInt(i&127)<<n,!(i&128))break;n+=7n}return[Number(r),s]}function w8e(t,e){let[r,n]=jz(t,e),s=n,i=s+r;return[t.slice(s,i),i]}function Yr(t){let e=5381;for(let r=0;r<t.length;r++)e=e*33^t.charCodeAt(r);return e=(e>>>0)%9999999,e<1e4?e+1e4:e}function R8e(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function Sir(t){return Uint8Array.from([t[1],t[2],t[3],t[0]])}function NL(t){return Uint8Array.from(t.map(e=>P8e[e]))}function OL(t){let s=new Array(44);for(let i=0;i<4;i++)s[i]=t.slice(4*i,4*i+4);for(let i=4;i<4*11;i++){let a=s[i-1];i%4===0&&(a=R8e(NL(Sir(a)),Uint8Array.from([_ir[i/4],0,0,0]))),s[i]=R8e(s[i-4],a)}return s}function vir(t,e){let s=new Uint8Array(t);s=Uz(s,e.slice(10*4,11*4));for(let i=9;i>=1;i--)s=CC(s),s=vC(s),s=Uz(s,e.slice(i*4,(i+1)*4)),s=Cir(s);return s=CC(s),s=vC(s),s=Uz(s,e.slice(0,4)),s}function Uz(t,e){let r=new Uint8Array(16);for(let n=0;n<4;n++)for(let s=0;s<4;s++)r[s+4*n]=t[s+4*n]^e[n][s];return r}function vC(t){let e=new Array(256);for(let r=0;r<256;r++)e[P8e[r]]=r;return Uint8Array.from(t.map(r=>e[r]))}function CC(t){let e=new Uint8Array(16);for(let r=0;r<4;r++)for(let n=0;n<4;n++)e[r+4*n]=t[r+4*((n-r+4)%4)];return e}function Cir(t){function e(n,s){let i=0;for(let a=0;a<8;a++){s&1&&(i^=n);let o=n&128;n=n<<1&255,o&&(n^=27),s>>=1}return i}let r=new Uint8Array(16);for(let n=0;n<4;n++){let s=t.slice(4*n,4*n+4);r[4*n+0]=e(s[0],14)^e(s[1],11)^e(s[2],13)^e(s[3],9),r[4*n+1]=e(s[0],9)^e(s[1],14)^e(s[2],11)^e(s[3],13),r[4*n+2]=e(s[0],13)^e(s[1],9)^e(s[2],14)^e(s[3],11),r[4*n+3]=e(s[0],11)^e(s[1],13)^e(s[2],9)^e(s[3],14)}return r}function Iir(t,e){let r=OL(e),n=16,s=new Uint8Array(t.length);for(let i=0;i<t.length;i+=n){let a=t.slice(i,i+n),o=vir(a,r);s.set(o,i)}return s}function Tir(t){let e=t[t.length-1];return t.slice(0,t.length-e)}function IC(t){let e=typeof atob=="function"?atob(t):wir(t),r=e.length,n=new Uint8Array(r);for(let s=0;s<r;s++)n[s]=e.charCodeAt(s);return n}function wir(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",n=0,s=0;for(let i=0;i<t.length;i++){let a=t.charAt(i);if(a==="=")break;let o=e.indexOf(a);n=n<<6|o,s+=6,s>=8&&(s-=8,r+=String.fromCharCode(n>>s&255))}return r}function Cc(t){let e="",r=0;for(;r<t.length;){let n=t[r++];if(n<128)e+=String.fromCharCode(n);else if(n>=192&&n<224){let s=t[r++];e+=String.fromCharCode((n&31)<<6|s&63)}else if(n>=224&&n<240){let s=t[r++],i=t[r++];e+=String.fromCharCode((n&15)<<12|(s&63)<<6|i&63)}else if(n>=240){let s=t[r++],i=t[r++],a=t[r++],c=((n&7)<<18|(s&63)<<12|(i&63)<<6|a&63)-65536;e+=String.fromCharCode(55296+(c>>10),56320+(c&1023))}}return e}function eg(t){let e=[];for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if(n<128)e.push(n);else if(n<2048)e.push(192|n>>6),e.push(128|n&63);else if(n<55296||n>=57344)e.push(224|n>>12),e.push(128|n>>6&63),e.push(128|n&63);else{r++;let s=t.charCodeAt(r),i=65536+((n&1023)<<10|s&1023);e.push(240|i>>18),e.push(128|i>>12&63),e.push(128|i>>6&63),e.push(128|i&63)}}return new Uint8Array(e)}function Rir(t,e){try{let r=IC(t),n=eg(e),s=Iir(r,n),i=Tir(s);return Cc(i)}catch(r){return _("error","[Utils] [Codec]",r),null}}function TC(t){let e=typeof t=="string"?t.trim():JSON.stringify(t??"");try{return JSON.parse(e)}catch{}let n=Rir(e,"3b744389882a4067");if(n!=null)try{return JSON.parse(n)}catch{return n}return e}function Nir(t){let e=[];for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);n<128?e.push(n):n<2048?(e.push(192|n>>6),e.push(128|n&63)):n<65536&&(e.push(224|n>>12),e.push(128|n>>6&63),e.push(128|n&63))}return e}function PL(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n;for(n=0;n+2<t.length;n+=3)r+=e[t[n]>>2],r+=e[(t[n]&3)<<4|t[n+1]>>4],r+=e[(t[n+1]&15)<<2|t[n+2]>>6],r+=e[t[n+2]&63];return n<t.length&&(r+=e[t[n]>>2],n+1<t.length?(r+=e[(t[n]&3)<<4|t[n+1]>>4],r+=e[(t[n+1]&15)<<2],r+="="):(r+=e[(t[n]&3)<<4],r+="==")),r}function qz(t){function e(u,l){return l>>>u|l<<32-u}let r=Math.pow(2,32),n=[],s=t.length*8;for(let u=0;u<t.length;u++)n[u>>2]|=t.charCodeAt(u)<<(3-u)%4*8;n[t.length>>2]|=128<<(3-t.length%4)*8,n[(t.length+8>>6)*16+15]=s;let i=new Array(64),a=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];for(let u=0;u<n.length;u+=16){let l=a[0],d=a[1],f=a[2],p=a[3],m=a[4],h=a[5],A=a[6],g=a[7];for(let b=0;b<64;b++){if(b<16)i[b]=n[u+b]|0;else{let N=e(7,i[b-15])^e(18,i[b-15])^i[b-15]>>>3,P=e(17,i[b-2])^e(19,i[b-2])^i[b-2]>>>10;i[b]=i[b-16]+N+i[b-7]+P|0}let y=e(6,m)^e(11,m)^e(25,m),x=m&h^~m&A,v=g+y+x+o[b]+i[b]|0,C=e(2,l)^e(13,l)^e(22,l),R=l&d^l&f^d&f,w=C+R|0;g=A,A=h,h=m,m=p+v|0,p=f,f=d,d=l,l=v+w|0}a[0]=a[0]+l|0,a[1]=a[1]+d|0,a[2]=a[2]+f|0,a[3]=a[3]+p|0,a[4]=a[4]+m|0,a[5]=a[5]+h|0,a[6]=a[6]+A|0,a[7]=a[7]+g|0}let c=[];for(let u of a)c.push(u>>24&255),c.push(u>>16&255),c.push(u>>8&255),c.push(u&255);return c}function D8e(t,e){let n=Nir(t);n.length>64&&(n=qz(t)),n.length<64&&(n=n.concat(Array(64-n.length).fill(0)));let s=n.map(c=>c^92),i=n.map(c=>c^54),a=qz(String.fromCharCode(...i)+e),o=qz(String.fromCharCode(...s)+String.fromCharCode(...a));return PL(o)}function wC(t,e,r,n){let s=t+"t"+e;return r&&Object.keys(r).sort().forEach(a=>{s+=a+r[a]}),s+=n,Ls(s)}function N8e(t){if(t<=65535)return String.fromCharCode(t);t-=65536;let e=(t>>10)+55296,r=(t&1023)+56320;return String.fromCharCode(e,r)}function cf(t){if(!t)return t;let e={"<":"<",">":">","&":"&",""":'"',"'":"'"};return t.replace(/&[a-zA-Z]+;/g,r=>e[r]||r).replace(/&#(\d+);/g,(r,n)=>N8e(parseInt(n,10))).replace(/&#x([0-9a-fA-F]+);/g,(r,n)=>N8e(parseInt(n,16)))}var P8e,_ir,Is=dr(()=>{St();P8e=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],_ir=[0,1,2,4,8,16,32,64,128,27,54]});var L8e={};is(L8e,{getRedisCaches:()=>Gz,getRedisKey:()=>Oir,judgeRedisValid:()=>Vz,pingRedis:()=>k8e,runPipeline:()=>Qz,setRedisKey:()=>Hz,setRedisKeyWithExpiry:()=>Pir,updateRedisCaches:()=>DL});async function k8e(){let t=`${O.redisUrl}/ping`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 PING \u8BF7\u6C42:",t);try{return await(await fetch(t,{method:"GET",headers:{Authorization:`Bearer ${O.redisToken}`}})).json()}catch(e){_("error","[Utils] [Redis] \u8BF7\u6C42\u5931\u8D25:",e.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",e.name),e.cause&&(_("error","- [Utils] [Redis] \u7801:",e.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",e.cause.message))}}async function Oir(t){let e=`${O.redisUrl}/get/${t}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 GET \u8BF7\u6C42:",e);try{return await(await fetch(e,{method:"GET",headers:{Authorization:`Bearer ${O.redisToken}`}})).json()}catch(r){_("error","[Utils] [Redis] \u8BF7\u6C42\u5931\u8D25:",r.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",r.name),r.cause&&(_("error","- [Utils] [Redis] \u7801:",r.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",r.cause.message))}}async function Hz(t,e){let r=fb(t,e),n=an(r);if(O.lastHashes[t]===n)return _("info",`[Utils] [Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SET \u8BF7\u6C42`),{result:"OK"};let s=`${O.redisUrl}/set/${t}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 SET \u8BF7\u6C42:",s);try{let a=await(await fetch(s,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:r})).json();return O.lastHashes[t]=n,_("info",`[Utils] [Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F`),a}catch(i){_("error","[Utils] [Redis] SET \u8BF7\u6C42\u5931\u8D25:",i.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",i.name),i.cause&&(_("error","- [Utils] [Redis] \u7801:",i.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",i.cause.message))}}async function Pir(t,e,r){let n=fb(t,e),s=an(n);if(O.lastHashes[t]===s)return _("info",`[Utils] [Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SETEX \u8BF7\u6C42`),{result:"OK"};let i=`${O.redisUrl}/set/${t}?EX=${r}`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 SETEX \u8BF7\u6C42:",i);try{let o=await(await fetch(i,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:n})).json();return O.lastHashes[t]=s,_("info",`[Utils] [Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F\uFF08\u5E26\u8FC7\u671F\u65F6\u95F4 ${r}s\uFF09`),o}catch(a){_("error","[Utils] [Redis] SETEX \u8BF7\u6C42\u5931\u8D25:",a.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",a.name),a.cause&&(_("error","- [Utils] [Redis] \u7801:",a.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",a.cause.message))}}async function Qz(t){let e=`${O.redisUrl}/pipeline`;_("info","[Utils] [Redis] \u5F00\u59CB\u53D1\u9001 PIPELINE \u8BF7\u6C42:",e);try{return await(await fetch(e,{method:"POST",headers:{Authorization:`Bearer ${O.redisToken}`,"Content-Type":"application/json"},body:JSON.stringify(t)})).json()}catch(r){_("error","[Utils] [Redis] Pipeline \u8BF7\u6C42\u5931\u8D25:",r.message),_("error","- [Utils] [Redis] \u9519\u8BEF\u7C7B\u578B:",r.name),r.cause&&(_("error","- [Utils] [Redis] \u7801:",r.cause.code),_("error","- [Utils] [Redis] \u539F\u56E0:",r.cause.message))}}async function Gz(){if(!O.redisCacheInitialized)try{_("info","[Utils] [Redis] getRedisCaches start.");let e=["animes","episodeIds","episodeNum","reqRecords","lastSelectMap","todayReqNum"].map(s=>["GET",s]),r=await Qz(e);O.animes=r[0].result?JSON.parse(r[0].result):O.animes,O.episodeIds=r[1].result?JSON.parse(r[1].result):O.episodeIds,O.episodeNum=r[2].result?JSON.parse(r[2].result):O.episodeNum,O.reqRecords=r[3].result?JSON.parse(r[3].result):O.reqRecords;let n=r[4].result?JSON.parse(r[4].result):null;n&&typeof n=="object"&&(O.lastSelectMap=new Map(Object.entries(n)),_("info",`[Utils] [Redis] Restored lastSelectMap from Redis with ${O.lastSelectMap.size} entries`)),O.todayReqNum=r[5].result?parseInt(r[5].result,10):O.todayReqNum,O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.redisCacheInitialized=!0,_("info","[Utils] [Redis] getRedisCaches completed successfully.")}catch(t){_("error",`[Utils] [Redis] getRedisCaches failed: ${t.message}`,t.stack),O.redisCacheInitialized=!0}}async function DL(){try{_("info","[Utils] [Redis] updateCaches start.");let t=[],e=[],r=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:n,value:s}of r){let i=JSON.stringify(n==="lastSelectMap"?Object.fromEntries(s):s),a=an(i);a!==O.lastHashes[n]&&(t.push(["SET",n,i]),e.push({key:n,hash:a}))}if(t.length>0){_("info",`[Utils] [Redis] Updating ${t.length} changed keys: ${e.map(a=>a.key).join(", ")}`);let n=await Qz(t),s=0,i=0;Array.isArray(n)&&n.forEach((a,o)=>{a&&a.result==="OK"?s++:(i++,_("warn",`[Utils] [Redis] Failed to update Redis key: ${e[o]?.key}, result: ${JSON.stringify(a)}`))}),i===0?(e.forEach(({key:a,hash:o})=>{O.lastHashes[a]=o}),_("info",`[Utils] [Redis] Redis update completed successfully: ${s} keys updated`)):_("warn",`[Utils] [Redis] Redis update partially failed: ${s} succeeded, ${i} failed`)}else _("info","[Utils] [Redis] No changes detected, skipping Redis update.")}catch(t){_("error",`[Utils] [Redis] updateRedisCaches failed: ${t.message}`,t.stack),_("error",`[Utils] [Redis] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function Vz(t){if(!O.redisValid&&O.redisUrl&&O.redisToken&&t!=="/favicon.ico"&&t!=="/robots.txt"){let e=await k8e();e&&e.result&&e.result==="PONG"&&(O.redisValid=!0)}}var kL=dr(()=>{Pt();St();Is()});function B8e(){return"\u9515\u7691\u853C\u788D\u7231\u55F3\u5AD2\u7477\u66A7\u972D\u8C19\u94F5\u9E4C\u80AE\u8884\u5965\u5AAA\u9A9C\u9CCC\u575D\u7F62\u94AF\u6446\u8D25\u5457\u9881\u529E\u7ECA\u94A3\u5E2E\u7ED1\u9551\u8C24\u5265\u9971\u5B9D\u62A5\u9C8D\u9E28\u9F85\u8F88\u8D1D\u94A1\u72C8\u5907\u60EB\u9E4E\u8D32\u951B\u7EF7\u7B14\u6BD5\u6BD9\u5E01\u95ED\u835C\u54D4\u6ED7\u94CB\u7B5A\u8DF8\u8FB9\u7F16\u8D2C\u53D8\u8FA9\u8FAB\u82C4\u7F0F\u7B3E\u6807\u9AA0\u98D1\u98D9\u9556\u9573\u9CD4\u9CD6\u522B\u762A\u6FD2\u6EE8\u5BBE\u6448\u50A7\u7F24\u69DF\u6BA1\u8191\u9554\u9ACC\u9B13\u997C\u7980\u62E8\u94B5\u94C2\u9A73\u997D\u94B9\u9E41\u8865\u94B8\u8D22\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u9A96\u9EEA\u82CD\u8231\u4ED3\u6CA7\u5395\u4FA7\u518C\u6D4B\u607B\u5C42\u8BE7\u9538\u4FAA\u9497\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u5181\u8C04\u8C36\u8487\u5FCF\u5A75\u9AA3\u89C7\u7985\u9561\u573A\u5C1D\u957F\u507F\u80A0\u5382\u7545\u4F25\u82CC\u6005\u960A\u9CB3\u949E\u8F66\u5F7B\u7817\u5C18\u9648\u886C\u4F27\u8C0C\u6987\u789C\u9F80\u6491\u79F0\u60E9\u8BDA\u9A8B\u67A8\u67FD\u94D6\u94DB\u75F4\u8FDF\u9A70\u803B\u9F7F\u70BD\u996C\u9E31\u51B2\u51B2\u866B\u5BA0\u94F3\u7574\u8E0C\u7B79\u7EF8\u4FE6\u5E31\u96E0\u6A71\u53A8\u9504\u96CF\u7840\u50A8\u89E6\u5904\u520D\u7ECC\u8E70\u4F20\u948F\u75AE\u95EF\u521B\u6006\u9524\u7F0D\u7EAF\u9E51\u7EF0\u8F8D\u9F8A\u8F9E\u8BCD\u8D50\u9E5A\u806A\u8471\u56F1\u4ECE\u4E1B\u82C1\u9AA2\u679E\u51D1\u8F8F\u8E7F\u7A9C\u64BA\u9519\u9509\u9E7E\u8FBE\u54D2\u9791\u5E26\u8D37\u9A80\u7ED0\u62C5\u5355\u90F8\u63B8\u80C6\u60EE\u8BDE\u5F39\u6B9A\u8D55\u7605\u7BAA\u5F53\u6321\u515A\u8361\u6863\u8C20\u7800\u88C6\u6363\u5C9B\u7977\u5BFC\u76D7\u7118\u706F\u9093\u956B\u654C\u6DA4\u9012\u7F14\u7C74\u8BCB\u8C1B\u7EE8\u89CC\u955D\u98A0\u70B9\u57AB\u7535\u5DC5\u94BF\u766B\u9493\u8C03\u94EB\u9CB7\u8C0D\u53E0\u9CBD\u9489\u9876\u952D\u8BA2\u94E4\u4E22\u94E5\u4E1C\u52A8\u680B\u51BB\u5CBD\u9E2B\u7AA6\u728A\u72EC\u8BFB\u8D4C\u9540\u6E0E\u691F\u724D\u7B03\u9EE9\u953B\u65AD\u7F0E\u7C16\u5151\u961F\u5BF9\u603C\u9566\u5428\u987F\u949D\u7096\u8DB8\u593A\u5815\u94CE\u9E45\u989D\u8BB9\u6076\u997F\u8C14\u57A9\u960F\u8F6D\u9507\u9537\u9E57\u989A\u989B\u9CC4\u8BF6\u513F\u5C14\u9975\u8D30\u8FE9\u94D2\u9E38\u9C95\u53D1\u7F5A\u9600\u73D0\u77FE\u9492\u70E6\u8D29\u996D\u8BBF\u7EBA\u94AB\u9C82\u98DE\u8BFD\u5E9F\u8D39\u7EEF\u9544\u9CB1\u7EB7\u575F\u594B\u6124\u7CAA\u507E\u4E30\u67AB\u950B\u98CE\u75AF\u51AF\u7F1D\u8BBD\u51E4\u6CA3\u80A4\u8F90\u629A\u8F85\u8D4B\u590D\u8D1F\u8BA3\u5987\u7F1A\u51EB\u9A78\u7EC2\u7ECB\u8D59\u9EB8\u9C8B\u9CC6\u9486\u8BE5\u9499\u76D6\u8D45\u6746\u8D76\u79C6\u8D63\u5C34\u64C0\u7EC0\u5188\u521A\u94A2\u7EB2\u5C97\u6206\u9550\u777E\u8BF0\u7F1F\u9506\u6401\u9E3D\u9601\u94EC\u4E2A\u7EA5\u9549\u988D\u7ED9\u4E98\u8D53\u7EE0\u9CA0\u9F9A\u5BAB\u5DE9\u8D21\u94A9\u6C9F\u82DF\u6784\u8D2D\u591F\u8BDF\u7F11\u89CF\u86CA\u987E\u8BC2\u6BC2\u94B4\u9522\u9E2A\u9E44\u9E58\u5250\u6302\u9E39\u63B4\u5173\u89C2\u9986\u60EF\u8D2F\u8BD6\u63BC\u9E73\u9CCF\u5E7F\u72B7\u89C4\u5F52\u9F9F\u95FA\u8F68\u8BE1\u8D35\u523D\u5326\u523F\u59AB\u6867\u9C91\u9CDC\u8F8A\u6EDA\u886E\u7EF2\u9CA7\u9505\u56FD\u8FC7\u57DA\u5459\u5E3C\u6901\u8748\u94EA\u9A87\u97E9\u6C49\u961A\u7ED7\u9889\u53F7\u704F\u98A2\u9602\u9E64\u8D3A\u8BC3\u9616\u86CE\u6A2A\u8F70\u9E3F\u7EA2\u9EC9\u8BA7\u836D\u95F3\u9C8E\u58F6\u62A4\u6CAA\u6237\u6D52\u9E55\u54D7\u534E\u753B\u5212\u8BDD\u9A85\u6866\u94E7\u6000\u574F\u6B22\u73AF\u8FD8\u7F13\u6362\u5524\u75EA\u7115\u6DA3\u5942\u7F33\u953E\u9CA9\u9EC4\u8C0E\u9CC7\u6325\u8F89\u6BC1\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8BD9\u835F\u54D5\u6D4D\u7F0B\u73F2\u6656\u8364\u6D51\u8BE8\u9984\u960D\u83B7\u8D27\u7978\u94AC\u956C\u51FB\u673A\u79EF\u9965\u8FF9\u8BA5\u9E21\u7EE9\u7F09\u6781\u8F91\u7EA7\u6324\u51E0\u84DF\u5242\u6D4E\u8BA1\u8BB0\u9645\u7EE7\u7EAA\u8BA6\u8BD8\u8360\u53FD\u54DC\u9AA5\u7391\u89CA\u9F51\u77F6\u7F81\u867F\u8DFB\u9701\u9C9A\u9CAB\u5939\u835A\u988A\u8D3E\u94BE\u4EF7\u9A7E\u90CF\u6D43\u94D7\u9553\u86F2\u6B7C\u76D1\u575A\u7B3A\u95F4\u8270\u7F04\u8327\u68C0\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u8C0F\u7F23\u620B\u622C\u7751\u9E63\u7B15\u9CA3\u97AF\u5C06\u6D46\u848B\u6868\u5956\u8BB2\u9171\u7EDB\u7F30\u80F6\u6D47\u9A84\u5A07\u6405\u94F0\u77EB\u4FA5\u811A\u997A\u7F34\u7EDE\u8F7F\u8F83\u6322\u5CE4\u9E6A\u9C9B\u9636\u8282\u6D01\u7ED3\u8BEB\u5C4A\u7596\u988C\u9C92\u7D27\u9526\u4EC5\u8C28\u8FDB\u664B\u70EC\u5C3D\u52B2\u8346\u830E\u537A\u8369\u9991\u7F19\u8D46\u89D0\u9CB8\u60CA\u7ECF\u9888\u9759\u955C\u5F84\u75C9\u7ADE\u51C0\u522D\u6CFE\u8FF3\u5F2A\u80EB\u9753\u7EA0\u53A9\u65E7\u9604\u9E20\u9E6B\u9A79\u4E3E\u636E\u952F\u60E7\u5267\u8BB5\u5C66\u6989\u98D3\u949C\u9514\u7AAD\u9F83\u9E43\u7EE2\u9529\u954C\u96BD\u89C9\u51B3\u7EDD\u8C32\u73CF\u94A7\u519B\u9A8F\u76B2\u5F00\u51EF\u5240\u57B2\u5FFE\u607A\u94E0\u9534\u9F9B\u95F6\u94AA\u94D0\u9897\u58F3\u8BFE\u9A92\u7F02\u8F72\u94B6\u951E\u9894\u57A6\u6073\u9F88\u94FF\u62A0\u5E93\u88E4\u55BE\u5757\u4FA9\u90D0\u54D9\u810D\u5BBD\u72EF\u9ACB\u77FF\u65F7\u51B5\u8BD3\u8BF3\u909D\u5739\u7EA9\u8D36\u4E8F\u5CBF\u7AA5\u9988\u6E83\u532E\u8489\u6126\u8069\u7BD1\u9603\u951F\u9CB2\u6269\u9614\u86F4\u8721\u814A\u83B1\u6765\u8D56\u5D03\u5F95\u6D9E\u6FD1\u8D49\u7750\u94FC\u765E\u7C41\u84DD\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u5C9A\u6984\u6593\u9567\u8934\u7405\u9606\u9512\u635E\u52B3\u6D9D\u5520\u5D02\u94D1\u94F9\u75E8\u4E50\u9CD3\u956D\u5792\u7C7B\u6CEA\u8BD4\u7F27\u7BF1\u72F8\u79BB\u9CA4\u793C\u4E3D\u5389\u52B1\u783E\u5386\u6CA5\u96B6\u4FEA\u90E6\u575C\u82C8\u8385\u84E0\u5456\u9026\u9A8A\u7F21\u67A5\u680E\u8F79\u783A\u9502\u9E42\u75A0\u7C9D\u8DDE\u96F3\u9CA1\u9CE2\u4FE9\u8054\u83B2\u8FDE\u9570\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u8539\u5941\u6F4B\u740F\u6B93\u88E2\u88E3\u9CA2\u7CAE\u51C9\u4E24\u8F86\u8C05\u9B49\u7597\u8FBD\u9563\u7F2D\u948C\u9E69\u730E\u4E34\u90BB\u9CDE\u51DB\u8D41\u853A\u5EEA\u6AA9\u8F9A\u8E8F\u9F84\u94C3\u7075\u5CAD\u9886\u7EEB\u68C2\u86CF\u9CAE\u998F\u5218\u6D4F\u9A9D\u7EFA\u954F\u9E68\u9F99\u804B\u5499\u7B3C\u5784\u62E2\u9647\u830F\u6CF7\u73D1\u680A\u80E7\u783B\u697C\u5A04\u6402\u7BD3\u507B\u848C\u55BD\u5D5D\u9542\u7618\u8027\u877C\u9AC5\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u8D42\u7984\u5F55\u9646\u5786\u64B8\u565C\u95FE\u6CF8\u6E0C\u680C\u6A79\u8F73\u8F82\u8F98\u6C07\u80EA\u9E2C\u9E6D\u823B\u9C88\u5CE6\u631B\u5B6A\u6EE6\u4E71\u8114\u5A08\u683E\u9E3E\u92AE\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u56F5\u841D\u7F57\u903B\u9523\u7BA9\u9AA1\u9A86\u7EDC\u8366\u7321\u6CFA\u6924\u8136\u9559\u9A74\u5415\u94DD\u4FA3\u5C61\u7F15\u8651\u6EE4\u7EFF\u6988\u891B\u950A\u5452\u5988\u739B\u7801\u8682\u9A6C\u9A82\u5417\u551B\u5B37\u6769\u4E70\u9EA6\u5356\u8FC8\u8109\u52A2\u7792\u9992\u86EE\u6EE1\u8C29\u7F26\u9558\u98A1\u9CD7\u732B\u951A\u94C6\u8D38\u4E48\u6CA1\u9541\u95E8\u95F7\u4EEC\u626A\u7116\u61D1\u9494\u9530\u68A6\u772F\u8C1C\u5F25\u89C5\u5E42\u8288\u8C27\u7315\u7962\u7EF5\u7F05\u6E11\u817C\u9EFE\u5E99\u7F08\u7F2A\u706D\u60AF\u95FD\u95F5\u7F17\u9E23\u94ED\u8C2C\u8C1F\u84E6\u998D\u6B81\u9546\u8C0B\u4EA9\u94BC\u5450\u94A0\u7EB3\u96BE\u6320\u8111\u607C\u95F9\u94D9\u8BB7\u9981\u5185\u62DF\u817B\u94CC\u9CB5\u64B5\u8F87\u9CB6\u917F\u9E1F\u8311\u8885\u8042\u556E\u954A\u954D\u9667\u8616\u55EB\u989F\u8E51\u67E0\u72DE\u5B81\u62E7\u6CDE\u82CE\u549B\u804D\u94AE\u7EBD\u8113\u6D53\u519C\u4FAC\u54DD\u9A7D\u9495\u8BFA\u50A9\u759F\u6B27\u9E25\u6BB4\u5455\u6CA4\u8BB4\u6004\u74EF\u76D8\u8E52\u5E9E\u629B\u75B1\u8D54\u8F94\u55B7\u9E4F\u7EB0\u7F74\u94CD\u9A97\u8C1D\u9A88\u98D8\u7F25\u9891\u8D2B\u5AD4\u82F9\u51ED\u8BC4\u6CFC\u9887\u948B\u6251\u94FA\u6734\u8C31\u9564\u9568\u6816\u8110\u9F50\u9A91\u5C82\u542F\u6C14\u5F03\u8BAB\u8572\u9A90\u7EEE\u6864\u789B\u9880\u9883\u9CCD\u7275\u948E\u94C5\u8FC1\u7B7E\u8C26\u94B1\u94B3\u6F5C\u6D45\u8C34\u5811\u4F65\u8368\u60AD\u9A9E\u7F31\u6920\u94A4\u67AA\u545B\u5899\u8537\u5F3A\u62A2\u5AF1\u6A2F\u6217\u709D\u9516\u9535\u956A\u7F9F\u8DC4\u9539\u6865\u4E54\u4FA8\u7FD8\u7A8D\u8BEE\u8C2F\u835E\u7F32\u7857\u8DF7\u7A83\u60EC\u9532\u7BA7\u94A6\u4EB2\u5BDD\u9513\u8F7B\u6C22\u503E\u9877\u8BF7\u5E86\u63FF\u9CAD\u743C\u7A77\u8315\u86F1\u5DEF\u8D47\u866E\u9CC5\u8D8B\u533A\u8EAF\u9A71\u9F8B\u8BCE\u5C96\u9612\u89D1\u9E32\u98A7\u6743\u529D\u8BE0\u7EFB\u8F81\u94E8\u5374\u9E4A\u786E\u9615\u9619\u60AB\u8BA9\u9976\u6270\u7ED5\u835B\u5A06\u6861\u70ED\u97E7\u8BA4\u7EAB\u996A\u8F6B\u8363\u7ED2\u5D58\u877E\u7F1B\u94F7\u98A6\u8F6F\u9510\u86AC\u95F0\u6DA6\u6D12\u8428\u98D2\u9CC3\u8D5B\u4F1E\u6BF5\u7CC1\u4E27\u9A9A\u626B\u7F2B\u6DA9\u556C\u94EF\u7A51\u6740\u5239\u7EB1\u94E9\u9CA8\u7B5B\u6652\u917E\u5220\u95EA\u9655\u8D61\u7F2E\u8BAA\u59D7\u9A9F\u9490\u9CDD\u5892\u4F24\u8D4F\u57A7\u6B87\u89DE\u70E7\u7ECD\u8D4A\u6444\u6151\u8BBE\u538D\u6EE0\u7572\u7EC5\u5BA1\u5A76\u80BE\u6E17\u8BDC\u8C02\u6E16\u58F0\u7EF3\u80DC\u5E08\u72EE\u6E7F\u8BD7\u65F6\u8680\u5B9E\u8BC6\u9A76\u52BF\u9002\u91CA\u9970\u89C6\u8BD5\u8C25\u57D8\u83B3\u5F11\u8F7C\u8D33\u94C8\u9CA5\u5BFF\u517D\u7EF6\u67A2\u8F93\u4E66\u8D4E\u5C5E\u672F\u6811\u7AD6\u6570\u6445\u7EBE\u5E05\u95E9\u53CC\u8C01\u7A0E\u987A\u8BF4\u7855\u70C1\u94C4\u4E1D\u9972\u53AE\u9A77\u7F0C\u9536\u9E36\u8038\u6002\u9882\u8BBC\u8BF5\u64DE\u85AE\u998A\u98D5\u953C\u82CF\u8BC9\u8083\u8C21\u7A23\u867D\u968F\u7EE5\u5C81\u8C07\u5B59\u635F\u7B0B\u836A\u72F2\u7F29\u7410\u9501\u5522\u7743\u736D\u631E\u95FC\u94CA\u9CCE\u53F0\u6001\u949B\u9C90\u644A\u8D2A\u762B\u6EE9\u575B\u8C2D\u8C08\u53F9\u6619\u94BD\u952C\u9878\u6C64\u70EB\u50A5\u9967\u94F4\u9557\u6D9B\u7EE6\u8BA8\u97EC\u94FD\u817E\u8A8A\u9511\u9898\u4F53\u5C49\u7F07\u9E48\u9617\u6761\u7C9C\u9F86\u9CA6\u8D34\u94C1\u5385\u542C\u70C3\u94DC\u7EDF\u6078\u5934\u94AD\u79C3\u56FE\u948D\u56E2\u629F\u9893\u8715\u9968\u8131\u9E35\u9A6E\u9A7C\u692D\u7BA8\u9F0D\u889C\u5A32\u817D\u5F2F\u6E7E\u987D\u4E07\u7EA8\u7EFE\u7F51\u8F8B\u97E6\u8FDD\u56F4\u4E3A\u6F4D\u7EF4\u82C7\u4F1F\u4F2A\u7EAC\u8C13\u536B\u8BFF\u5E0F\u95F1\u6CA9\u6DA0\u73AE\u97EA\u709C\u9C94\u6E29\u95FB\u7EB9\u7A33\u95EE\u960C\u74EE\u631D\u8717\u6DA1\u7A9D\u5367\u83B4\u9F8C\u545C\u94A8\u4E4C\u8BEC\u65E0\u829C\u5434\u575E\u96FE\u52A1\u8BEF\u90AC\u5E91\u6003\u59A9\u9A9B\u9E49\u9E5C\u9521\u727A\u88AD\u4E60\u94E3\u620F\u7EC6\u9969\u960B\u73BA\u89CB\u867E\u8F96\u5CE1\u4FA0\u72ED\u53A6\u5413\u7856\u9C9C\u7EA4\u8D24\u8854\u95F2\u663E\u9669\u73B0\u732E\u53BF\u9985\u7FA1\u5BAA\u7EBF\u82CB\u83B6\u85D3\u5C98\u7303\u5A34\u9E47\u75EB\u869D\u7C7C\u8DF9\u53A2\u9576\u4E61\u8BE6\u54CD\u9879\u8297\u9977\u9AA7\u7F03\u98E8\u8427\u56A3\u9500\u6653\u5578\u54D3\u6F47\u9A81\u7EE1\u67AD\u7BAB\u534F\u631F\u643A\u80C1\u8C10\u5199\u6CFB\u8C22\u4EB5\u64B7\u7EC1\u7F2C\u950C\u8845\u5174\u9649\u8365\u51F6\u6C79\u9508\u7EE3\u9990\u9E3A\u865A\u5618\u987B\u8BB8\u53D9\u7EEA\u7EED\u8BE9\u987C\u8F69\u60AC\u9009\u7663\u7EDA\u8C16\u94C9\u955F\u5B66\u8C11\u6CF6\u9CD5\u52CB\u8BE2\u5BFB\u9A6F\u8BAD\u8BAF\u900A\u57D9\u6D54\u9C9F\u538B\u9E26\u9E2D\u54D1\u4E9A\u8BB6\u57AD\u5A05\u6860\u6C29\u9609\u70DF\u76D0\u4E25\u5CA9\u989C\u960E\u8273\u538C\u781A\u5F66\u8C1A\u9A8C\u53A3\u8D5D\u4FE8\u5156\u8C33\u6079\u95EB\u917D\u9B47\u990D\u9F39\u9E2F\u6768\u626C\u75A1\u9633\u75D2\u517B\u6837\u7080\u7476\u6447\u5C27\u9065\u7A91\u8C23\u836F\u8F7A\u9E5E\u9CD0\u7237\u9875\u4E1A\u53F6\u9765\u8C12\u90BA\u6654\u70E8\u533B\u94F1\u9890\u9057\u4EEA\u8681\u827A\u4EBF\u5FC6\u4E49\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7ECE\u8BD2\u5453\u5CC4\u9974\u603F\u9A7F\u7F22\u8F76\u8D3B\u9487\u9552\u9571\u7617\u8223\u836B\u9634\u94F6\u996E\u9690\u94DF\u763E\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8D62\u9896\u8314\u83BA\u8426\u84E5\u6484\u5624\u6EE2\u6F46\u748E\u9E66\u763F\u988F\u7F42\u54DF\u62E5\u4F63\u75C8\u8E0A\u548F\u955B\u4F18\u5FE7\u90AE\u94C0\u72B9\u8BF1\u83B8\u94D5\u9C7F\u8206\u9C7C\u6E14\u5A31\u4E0E\u5C7F\u8BED\u72F1\u8A89\u9884\u9A6D\u4F1B\u4FE3\u8C00\u8C15\u84E3\u5D5B\u996B\u9608\u59AA\u7EA1\u89CE\u6B24\u94B0\u9E46\u9E6C\u9F89\u9E33\u6E0A\u8F95\u56ED\u5458\u5706\u7F18\u8FDC\u6A7C\u9E22\u9F0B\u7EA6\u8DC3\u94A5\u7CA4\u60A6\u9605\u94BA\u90E7\u5300\u9668\u8FD0\u8574\u915D\u6655\u97F5\u90D3\u82B8\u607D\u6120\u7EAD\u97EB\u6B92\u6C32\u6742\u707E\u8F7D\u6512\u6682\u8D5E\u74D2\u8DB1\u933E\u8D43\u810F\u9A75\u51FF\u67A3\u8D23\u62E9\u5219\u6CFD\u8D5C\u5567\u5E3B\u7BA6\u8D3C\u8C2E\u8D60\u7EFC\u7F2F\u8F67\u94E1\u95F8\u6805\u8BC8\u658B\u503A\u6BE1\u76CF\u65A9\u8F97\u5D2D\u6808\u6218\u7EFD\u8C35\u5F20\u6DA8\u5E10\u8D26\u80C0\u8D75\u8BCF\u948A\u86F0\u8F99\u9517\u8FD9\u8C2A\u8F84\u9E67\u8D1E\u9488\u4FA6\u8BCA\u9547\u9635\u6D48\u7F1C\u6862\u8F78\u8D48\u796F\u9E29\u6323\u7741\u72F0\u4E89\u5E27\u75C7\u90D1\u8BC1\u8BE4\u5CE5\u94B2\u94EE\u7B5D\u7EC7\u804C\u6267\u7EB8\u631A\u63B7\u5E1C\u8D28\u6EDE\u9A98\u6809\u6800\u8F75\u8F7E\u8D3D\u9E37\u86F3\u7D77\u8E2C\u8E2F\u89EF\u949F\u7EC8\u79CD\u80BF\u4F17\u953A\u8BCC\u8F74\u76B1\u663C\u9AA4\u7EA3\u7EC9\u732A\u8BF8\u8BDB\u70DB\u77A9\u5631\u8D2E\u94F8\u9A7B\u4F2B\u69E0\u94E2\u4E13\u7816\u8F6C\u8D5A\u556D\u9994\u989E\u6869\u5E84\u88C5\u5986\u58EE\u72B6\u9525\u8D58\u5760\u7F00\u9A93\u7F12\u8C06\u51C6\u7740\u6D4A\u8BFC\u956F\u5179\u8D44\u6E0D\u8C18\u7F01\u8F8E\u8D40\u7726\u9531\u9F87\u9CBB\u8E2A\u603B\u7EB5\u506C\u90B9\u8BF9\u9A7A\u9CB0\u8BC5\u7EC4\u955E\u94BB\u7F35\u8E9C\u9CDF\u7FF1\u5E76\u535C\u6C89\u4E11\u6DC0\u8FED\u6597\u8303\u5E72\u768B\u7845\u67DC\u540E\u4F19\u79F8\u6770\u8BC0\u5938\u91CC\u91CC\u51CC\u4E48\u9709\u637B\u51C4\u6266\u5723\u5C38\u62AC\u6D82\u6D3C\u5582\u6C61\u9528\u54B8\u874E\u5F5D\u6D8C\u6E38\u5401\u5FA1\u613F\u5CB3\u4E91\u7076\u624E\u672D\u7B51\u4E8E\u5FD7\u6CE8\u51CB\u8BA0\u8C2B\u90C4\u52D0\u51FC\u5742\u5785\u57B4\u57EF\u57DD\u82D8\u836C\u836E\u839C\u83BC\u83F0\u85C1\u63F8\u5412\u5423\u5494\u549D\u54B4\u5658\u567C\u56AF\u5E5E\u5C99\u5D74\u5F77\u5FBC\u72B8\u72CD\u9980\u9987\u9993\u9995\u6123\u61B7\u61D4\u4E2C\u6E86\u6EDF\u6EB7\u6F24\u6F74\u6FB9\u752F\u7E9F\u7ED4\u7EF1\u73C9\u67A7\u684A\u6849\u69D4\u6A65\u8F71\u8F77\u8D4D\u80B7\u80E8\u98DA\u7173\u7145\u7198\u610D\u6DFC\u781C\u78D9\u770D\u949A\u94B7\u94D8\u94DE\u9503\u950D\u950E\u950F\u9518\u951D\u952A\u952B\u953F\u9545\u954E\u9562\u9565\u9569\u9572\u7A06\u9E4B\u9E5B\u9E71\u75AC\u75B4\u75D6\u766F\u88E5\u8941\u8022\u98A5\u87A8\u9EB4\u9C85\u9C86\u9C87\u9C9E\u9CB4\u9CBA\u9CBC\u9CCA\u9CCB\u9CD8\u9CD9\u9792\u97B4\u9F44\u4E2C\u4E3A\u4EB8\u4F17\u4F2A\u4F59\u51A2\u51C0\u51CC\u51FC\u522C\u52CB\u52D0\u52DA\u5364\u53C6\u53C7\u542F\u5494\u54A4\u54B4\u54CC\u54D7\u551D\u5521\u5523\u553F\u556E\u5570\u5574\u5475\u567C\u56AF\u5785\u57A7\u57AF\u57B1\u57D9\u57DD\u5846\u5899\u58F8\u59AB\u59DC\u5A34\u5A73\u5C43\u5CBD\u5CC3\u5CE3\u5D04\u5D5A\u5D5B\u5D74\u5EBC\u5F5F\u5FA1\u610D\u616D\u61B7\u624E\u6266\u631C\u6326\u637B\u63F8\u65F8\u663D\u672D\u684A\u68BC\u68BE\u68C2\u69DA\u6A90\u6C61\u6C93\u6CA8\u6CA9\u6CB5\u6D49\u6D50\u6D55\u6D8C\u6DA2\u6E7F\u6E87\u6EEA\u6F24\u7145\u7173\u7198\u7266\u729F\u72CD\u72DD\u732C\u7399\u739A\u73B1\u73C9\u73CF\u73F0\u740E\u7487\u7572\u75B4\u7606\u7618\u766F\u772C\u7740\u7841\u7845\u7859\u785A\u7877\u78B9\u78D9\u794E\u79FE\u7B5C\u7B7E\u7B93\u7CC7\u7E9F\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EE6\u7EEC\u7EF1\u7EF9\u7F0A\u7F10\u7F1E\u7F30\u7FD9\u7FDA\u80B7\u810F\u814C\u8158\u816D\u81DC\u8273\u8279\u8359\u839C\u83BC\u841A\u85C1\u866C\u8780\u87CF\u8885\u8886\u88AF\u88C8\u88E5\u8941\u8955\u89C3\u89CD\u8A5F\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C1E\u8C25\u8C37\u8C6E\u8D20\u8D4D\u8D51\u8D52\u8D57\u8D5F\u8D6A\u8DD6\u8DF6\u8E0A\u8F6A\u8F80\u8F8C\u8F92\u90C1\u90C4\u9166\u9245\u9274\u948E\u9491\u9496\u9498\u94B5\u94BB\u94CF\u94DA\u94E6\u94FB\u9508\u950F\u951C\u9520\u9528\u9533\u953D\u9543\u9548\u9555\u955A\u9560\u9562\u956E\u9574\u95EC\u95F2\u95FF\u9607\u9613\u9618\u961B\u9655\u97B4\u97E8\u988B\u988E\u9892\u9895\u9899\u98A3\u98CF\u98D0\u98D4\u98D6\u98D7\u9964\u9965\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u998C\u998E\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9C7D\u9C7E\u9C80\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE\u9CBF\u9CC0\u9CC1\u9CC2\u9CC8\u9CC9\u9CD1\u9CD2\u9CDB\u9CE0\u9CE1\u9CE3\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E47\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6F\u9E72\u9E74\u9EE1\u9F0C\u9F17\u9F81\u9F82\u5FD7\u5236\u54A8\u53EA\u7CFB\u677E\u5C1D\u9762\u5E72\u62FC\u6076\u8D5E\u53D1\u50F5\u81F4\u5978\u83B7\u7EC3\u56DE\u7CFB\u8FF9\u53EA\u8F9F\u677F\u4F60"}function zz(){return"\u9312\u769A\u85F9\u7919\u611B\u566F\u5B21\u74A6\u66D6\u9744\u8AF3\u92A8\u9D6A\u9AAF\u8956\u5967\u5ABC\u9A41\u9C32\u58E9\u7F77\u9200\u64FA\u6557\u5504\u9812\u8FA6\u7D46\u9211\u5E6B\u7D81\u938A\u8B17\u525D\u98FD\u5BF6\u5831\u9B91\u9D07\u9F59\u8F29\u8C9D\u92C7\u72FD\u5099\u618A\u9D6F\u8CC1\u931B\u7E43\u7B46\u7562\u6583\u5E63\u9589\u84FD\u55F6\u6F77\u924D\u7BF3\u8E55\u908A\u7DE8\u8CB6\u8B8A\u8FAF\u8FAE\u8290\u7DF6\u7C69\u6A19\u9A43\u98AE\u98C6\u93E2\u9463\u9C3E\u9C49\u5225\u765F\u7015\u6FF1\u8CD3\u64EF\u5110\u7E7D\u6AB3\u6BAF\u81CF\u944C\u9AD5\u9B22\u9905\u7A1F\u64A5\u7F3D\u9251\u99C1\u9911\u9238\u9D53\u88DC\u923D\u8CA1\u53C3\u8836\u6B98\u615A\u6158\u71E6\u9A42\u9EF2\u84BC\u8259\u5009\u6EC4\u5EC1\u5074\u518A\u6E2C\u60FB\u5C64\u8A6B\u9364\u5115\u91F5\u6519\u647B\u87EC\u995E\u8B92\u7E8F\u93DF\u7522\u95E1\u986B\u56C5\u8AC2\u8B96\u8546\u61FA\u5B0B\u9A4F\u8998\u79AA\u9414\u5834\u5617\u9577\u511F\u8178\u5EE0\u66A2\u5000\u8407\u60B5\u95B6\u9BE7\u9214\u8ECA\u5FB9\u7868\u5875\u9673\u896F\u5096\u8AF6\u6AEC\u78E3\u9F54\u6490\u7A31\u61F2\u8AA0\u9A01\u68D6\u6A89\u92EE\u943A\u7661\u9072\u99B3\u6065\u9F52\u71BE\u98ED\u9D1F\u6C96\u885D\u87F2\u5BF5\u9283\u7587\u8E8A\u7C4C\u7DA2\u5114\u5E6C\u8B8E\u6AE5\u5EDA\u92E4\u96DB\u790E\u5132\u89F8\u8655\u82BB\u7D40\u8E95\u50B3\u91E7\u7621\u95D6\u5275\u6134\u9318\u7D9E\u7D14\u9D89\u7DBD\u8F1F\u9F6A\u8FAD\u8A5E\u8CDC\u9DBF\u8070\u8525\u56EA\u5F9E\u53E2\u84EF\u9A44\u6A05\u6E4A\u8F33\u8EA5\u7AC4\u651B\u932F\u92BC\u9E7A\u9054\u5660\u97C3\u5E36\u8CB8\u99D8\u7D3F\u64D4\u55AE\u9132\u64A3\u81BD\u619A\u8A95\u5F48\u6BAB\u8CE7\u7649\u7C1E\u7576\u64CB\u9EE8\u8569\u6A94\u8B9C\u78AD\u8960\u6417\u5CF6\u79B1\u5C0E\u76DC\u71FE\u71C8\u9127\u9419\u6575\u6ECC\u905E\u7DE0\u7CF4\u8A46\u8AE6\u7D88\u89BF\u93D1\u985B\u9EDE\u588A\u96FB\u5DD4\u923F\u7672\u91E3\u8ABF\u929A\u9BDB\u8ADC\u758A\u9C08\u91D8\u9802\u9320\u8A02\u92CC\u4E1F\u92A9\u6771\u52D5\u68DF\u51CD\u5D20\u9D87\u7AC7\u72A2\u7368\u8B80\u8CED\u934D\u7006\u6ADD\u7258\u7BE4\u9EF7\u935B\u65B7\u7DDE\u7C6A\u514C\u968A\u5C0D\u61DF\u9413\u5678\u9813\u920D\u71C9\u8E89\u596A\u58AE\u9438\u9D5D\u984D\u8A1B\u60E1\u9913\u8AE4\u580A\u95BC\u8EDB\u92E8\u9354\u9D9A\u984E\u9853\u9C77\u8A92\u5152\u723E\u990C\u8CB3\u9087\u927A\u9D2F\u9B9E\u767C\u7F70\u95A5\u743A\u792C\u91E9\u7169\u8CA9\u98EF\u8A2A\u7D21\u9201\u9B74\u98DB\u8AB9\u5EE2\u8CBB\u7DCB\u9428\u9BE1\u7D1B\u58B3\u596E\u61A4\u7CDE\u50E8\u8C50\u6953\u92D2\u98A8\u760B\u99AE\u7E2B\u8AF7\u9CF3\u7043\u819A\u8F3B\u64AB\u8F14\u8CE6\u5FA9\u8CA0\u8A03\u5A66\u7E1B\u9CE7\u99D9\u7D31\u7D3C\u8CFB\u9EA9\u9B92\u9C12\u91D3\u8A72\u9223\u84CB\u8CC5\u687F\u8D95\u7A08\u8D1B\u5C37\u641F\u7D3A\u5CA1\u525B\u92FC\u7DB1\u5D17\u6207\u93AC\u776A\u8AA5\u7E1E\u92EF\u64F1\u9D3F\u95A3\u927B\u500B\u7D07\u9398\u6F41\u7D66\u4E99\u8CE1\u7D86\u9BC1\u9F94\u5BAE\u978F\u8CA2\u9264\u6E9D\u830D\u69CB\u8CFC\u5920\u8A6C\u7DF1\u89AF\u8831\u9867\u8A41\u8F42\u9237\u932E\u9D23\u9D60\u9DBB\u526E\u639B\u9D30\u6451\u95DC\u89C0\u9928\u6163\u8CAB\u8A7F\u645C\u9E1B\u9C25\u5EE3\u7377\u898F\u6B78\u9F9C\u95A8\u8ECC\u8A6D\u8CB4\u528A\u532D\u528C\u5AAF\u6A9C\u9BAD\u9C56\u8F25\u6EFE\u889E\u7DC4\u9BC0\u934B\u570B\u904E\u581D\u54BC\u5E57\u69E8\u87C8\u927F\u99ED\u97D3\u6F22\u95DE\u7D4E\u9821\u865F\u705D\u9865\u95A1\u9DB4\u8CC0\u8A36\u95D4\u8823\u6A6B\u8F5F\u9D3B\u7D05\u9ECC\u8A0C\u8452\u958E\u9C5F\u58FA\u8B77\u6EEC\u6236\u6EF8\u9D98\u5629\u83EF\u756B\u5283\u8A71\u9A4A\u6A3A\u93F5\u61F7\u58DE\u6B61\u74B0\u9084\u7DE9\u63DB\u559A\u7613\u7165\u6E19\u5950\u7E6F\u9370\u9BC7\u9EC3\u8B0A\u9C09\u63EE\u8F1D\u6BC0\u8CC4\u7A62\u6703\u71F4\u532F\u8AF1\u8AA8\u7E6A\u8A7C\u8588\u5666\u6FAE\u7E62\u743F\u6689\u8477\u6E3E\u8AE2\u991B\u95BD\u7372\u8CA8\u798D\u9225\u944A\u64CA\u6A5F\u7A4D\u9951\u8DE1\u8B4F\u96DE\u7E3E\u7DDD\u6975\u8F2F\u7D1A\u64E0\u5E7E\u858A\u5291\u6FDF\u8A08\u8A18\u969B\u7E7C\u7D00\u8A10\u8A70\u85BA\u5630\u568C\u9A65\u74A3\u89AC\u9F4F\u78EF\u7F88\u8806\u8E8B\u973D\u9C6D\u9BFD\u593E\u83A2\u9830\u8CC8\u9240\u50F9\u99D5\u90DF\u6D79\u92CF\u93B5\u87EF\u6BB2\u76E3\u5805\u7B8B\u9593\u8271\u7DD8\u7E6D\u6AA2\u583F\u9E7C\u63C0\u64BF\u7C21\u5109\u6E1B\u85A6\u6ABB\u9452\u8E10\u8CE4\u898B\u9375\u8266\u528D\u991E\u6F38\u6FFA\u6F97\u8AEB\u7E11\u6214\u6229\u77BC\u9DBC\u7B67\u9C39\u97C9\u5C07\u6F3F\u8523\u69F3\u734E\u8B1B\u91AC\u7D73\u97C1\u81A0\u6F86\u9A55\u5B0C\u652A\u9278\u77EF\u50E5\u8173\u9903\u7E73\u7D5E\u8F4E\u8F03\u649F\u5DA0\u9DE6\u9BAB\u968E\u7BC0\u6F54\u7D50\u8AA1\u5C46\u7664\u981C\u9B9A\u7DCA\u9326\u50C5\u8B39\u9032\u6649\u71FC\u76E1\u52C1\u834A\u8396\u5DF9\u85CE\u9949\u7E09\u8D10\u89B2\u9BE8\u9A5A\u7D93\u9838\u975C\u93E1\u5F91\u75D9\u7AF6\u51C8\u5244\u6D87\u9015\u5F33\u811B\u975A\u7CFE\u5EC4\u820A\u9B2E\u9CE9\u9DF2\u99D2\u8209\u64DA\u92F8\u61FC\u5287\u8A4E\u5C68\u6AF8\u98B6\u9245\u92E6\u7AB6\u9F5F\u9D51\u7D79\u9308\u942B\u96CB\u89BA\u6C7A\u7D55\u8B4E\u73A8\u921E\u8ECD\u99FF\u76B8\u958B\u51F1\u5274\u584F\u613E\u6137\u93A7\u9347\u9F95\u958C\u9227\u92AC\u9846\u6BBC\u8AB2\u9A0D\u7DD9\u8EFB\u9233\u9301\u9837\u58BE\u61C7\u9F66\u93D7\u6473\u5EAB\u8932\u56B3\u584A\u5108\u9136\u5672\u81BE\u5BEC\u736A\u9AD6\u7926\u66E0\u6CC1\u8A86\u8A91\u913A\u58D9\u7E8A\u8CBA\u8667\u5DCB\u7ABA\u994B\u6F70\u5331\u8562\u6192\u8075\u7C23\u95AB\u9315\u9BE4\u64F4\u95CA\u8810\u881F\u81D8\u840A\u4F86\u8CF4\u5D0D\u5FA0\u6DF6\u7028\u8CDA\u775E\u9338\u7669\u7C5F\u85CD\u6B04\u6514\u7C43\u95CC\u862D\u703E\u8B95\u652C\u89BD\u61F6\u7E9C\u721B\u6FEB\u5D50\u6B16\u6595\u946D\u8964\u746F\u95AC\u92C3\u6488\u52DE\u6F87\u562E\u5D97\u92A0\u9412\u7646\u6A02\u9C33\u9433\u58D8\u985E\u6DDA\u8A84\u7E32\u7C6C\u8C8D\u96E2\u9BC9\u79AE\u9E97\u53B2\u52F5\u792B\u6B77\u701D\u96B8\u5137\u9148\u58E2\u85F6\u849E\u863A\u56A6\u9090\u9A6A\u7E2D\u6AEA\u6ADF\u8F62\u792A\u92F0\u9E1D\u7658\u7CF2\u8E92\u9742\u9C7A\u9C67\u5006\u806F\u84EE\u9023\u942E\u6190\u6F23\u7C3E\u6582\u81C9\u93C8\u6200\u7149\u7DF4\u861E\u5969\u7032\u7489\u6BAE\u8933\u895D\u9C31\u7CE7\u6DBC\u5169\u8F1B\u8AD2\u9B4E\u7642\u907C\u9410\u7E5A\u91D5\u9DEF\u7375\u81E8\u9130\u9C57\u51DC\u8CC3\u85FA\u5EE9\u6A81\u8F54\u8EAA\u9F61\u9234\u9748\u5DBA\u9818\u7DBE\u6B1E\u87F6\u9BEA\u993E\u5289\u700F\u9A2E\u7DB9\u93A6\u9DDA\u9F8D\u807E\u56A8\u7C60\u58DF\u650F\u96B4\u8622\u7027\u74CF\u6AF3\u6727\u7931\u6A13\u5A41\u645F\u7C0D\u50C2\u851E\u560D\u5D81\u93E4\u763A\u802C\u87BB\u9ACF\u8606\u76E7\u9871\u5EEC\u7210\u64C4\u9E75\u865C\u9B6F\u8CC2\u797F\u9304\u9678\u58DA\u64FC\u5695\u95AD\u7018\u6DE5\u6AE8\u6AD3\u8F64\u8F05\u8F46\u6C0C\u81DA\u9E15\u9DFA\u826B\u9C78\u5DD2\u6523\u5B7F\u7064\u4E82\u81E0\u5B4C\u6B12\u9E1E\u947E\u6384\u8F2A\u502B\u4F96\u6DEA\u7DB8\u8AD6\u5707\u863F\u7F85\u908F\u947C\u7C6E\u9A3E\u99F1\u7D61\u7296\u7380\u6FFC\u6B0F\u8161\u93CD\u9A62\u5442\u92C1\u4FB6\u5C62\u7E37\u616E\u6FFE\u7DA0\u6ADA\u8938\u92DD\u5638\u5ABD\u746A\u78BC\u879E\u99AC\u7F75\u55CE\u561C\u5B24\u69AA\u8CB7\u9EA5\u8CE3\u9081\u8108\u52F1\u779E\u9945\u883B\u6EFF\u8B3E\u7E35\u93DD\u9859\u9C3B\u8C93\u9328\u925A\u8CBF\u9EBC\u6C92\u9382\u9580\u60B6\u5011\u636B\u71DC\u61E3\u9346\u9333\u5922\u7787\u8B0E\u5F4C\u8993\u51AA\u7F8B\u8B10\u737C\u79B0\u7DBF\u7DEC\u6FA0\u9766\u9EFD\u5EDF\u7DF2\u7E46\u6EC5\u61AB\u95A9\u9594\u7DE1\u9CF4\u9298\u8B2C\u8B28\u9A40\u9943\u6B7F\u93CC\u8B00\u755D\u926C\u5436\u9209\u7D0D\u96E3\u6493\u8166\u60F1\u9B27\u9403\u8A25\u9912\u5167\u64EC\u81A9\u922E\u9BE2\u6506\u8F26\u9BF0\u91C0\u9CE5\u8526\u88CA\u8076\u5699\u9477\u93B3\u9689\u8617\u56C1\u9862\u8EA1\u6AB8\u7370\u5BE7\u64F0\u6FD8\u82E7\u5680\u8079\u9215\u7D10\u81BF\u6FC3\u8FB2\u5102\u5665\u99D1\u91F9\u8AFE\u513A\u7627\u6B50\u9DD7\u6BC6\u5614\u6F1A\u8B33\u616A\u750C\u76E4\u8E63\u9F90\u62CB\u76B0\u8CE0\u8F61\u5674\u9D6C\u7D15\u7F86\u9239\u9A19\u8ADE\u99E2\u98C4\u7E39\u983B\u8CA7\u5B2A\u860B\u6191\u8A55\u6F51\u9817\u91D9\u64B2\u92EA\u6A38\u8B5C\u93F7\u9420\u68F2\u81CD\u9F4A\u9A0E\u8C48\u555F\u6C23\u68C4\u8A16\u8604\u9A0F\u7DBA\u69BF\u78E7\u980E\u980F\u9C2D\u727D\u91EC\u925B\u9077\u7C3D\u8B19\u9322\u9257\u6F5B\u6DFA\u8B74\u5879\u50C9\u8541\u6173\u9A2B\u7E7E\u69E7\u9210\u69CD\u55C6\u58BB\u8594\u5F37\u6436\u5B19\u6AA3\u6227\u7197\u9306\u93D8\u93F9\u7FA5\u8E4C\u936C\u6A4B\u55AC\u50D1\u7FF9\u7AC5\u8A9A\u8B59\u854E\u7E70\u78FD\u8E7A\u7ACA\u611C\u9365\u7BCB\u6B3D\u89AA\u5BE2\u92DF\u8F15\u6C2B\u50BE\u9803\u8ACB\u6176\u64B3\u9BD6\u74CA\u7AAE\u7162\u86FA\u5DF0\u8CD5\u87E3\u9C0D\u8DA8\u5340\u8EC0\u9A45\u9F72\u8A58\u5D87\u95C3\u89B7\u9D1D\u9874\u6B0A\u52F8\u8A6E\u7DA3\u8F07\u9293\u537B\u9D72\u78BA\u95CB\u95D5\u6128\u8B93\u9952\u64FE\u7E5E\u8558\u5B08\u6A48\u71B1\u97CC\u8A8D\u7D09\u98EA\u8ED4\u69AE\u7D68\u5DB8\u8811\u7E1F\u92A3\u9870\u8EDF\u92B3\u8706\u958F\u6F64\u7051\u85A9\u98AF\u9C13\u8CFD\u5098\u6BFF\u7CDD\u55AA\u9A37\u6383\u7E45\u6F80\u55C7\u92AB\u7A61\u6BBA\u524E\u7D17\u93A9\u9BCA\u7BE9\u66EC\u91C3\u522A\u9583\u965C\u8D0D\u7E55\u8A15\u59CD\u9A38\u91E4\u9C54\u5891\u50B7\u8CDE\u5770\u6BA4\u89F4\u71D2\u7D39\u8CD2\u651D\u61FE\u8A2D\u5399\u7044\u756C\u7D33\u5BE9\u5B38\u814E\u6EF2\u8A75\u8AD7\u700B\u8072\u7E69\u52DD\u5E2B\u7345\u6FD5\u8A69\u6642\u8755\u5BE6\u8B58\u99DB\u52E2\u9069\u91CB\u98FE\u8996\u8A66\u8B1A\u5852\u8494\u5F12\u8EFE\u8CB0\u9230\u9C23\u58FD\u7378\u7DAC\u6A1E\u8F38\u66F8\u8D16\u5C6C\u8853\u6A39\u8C4E\u6578\u6504\u7D13\u5E25\u9582\u96D9\u8AB0\u7A05\u9806\u8AAA\u78A9\u720D\u9460\u7D72\u98FC\u5EDD\u99DF\u7DE6\u9376\u9DE5\u8073\u616B\u980C\u8A1F\u8AA6\u64FB\u85EA\u993F\u98BC\u93AA\u8607\u8A34\u8085\u8B16\u7A4C\u96D6\u96A8\u7D8F\u6B72\u8AB6\u5B6B\u640D\u7B4D\u84C0\u733B\u7E2E\u7463\u9396\u55E9\u8127\u737A\u64BB\u95E5\u9248\u9C28\u81FA\u614B\u9226\u9B90\u6524\u8CAA\u7671\u7058\u58C7\u8B5A\u8AC7\u5606\u66C7\u926D\u931F\u9807\u6E6F\u71D9\u513B\u9933\u940B\u93DC\u6FE4\u7D73\u8A0E\u97DC\u92F1\u9A30\u8B04\u92BB\u984C\u9AD4\u5C5C\u7DF9\u9D5C\u95D0\u689D\u7CF6\u9F60\u9C37\u8CBC\u9435\u5EF3\u807D\u70F4\u9285\u7D71\u615F\u982D\u9204\u79BF\u5716\u91F7\u5718\u6476\u9839\u86FB\u98E9\u812B\u9D15\u99B1\u99DD\u6A62\u7C5C\u9F09\u896A\u5AA7\u8183\u5F4E\u7063\u9811\u842C\u7D08\u7DB0\u7DB2\u8F1E\u97CB\u9055\u570D\u70BA\u6FF0\u7DAD\u8466\u5049\u507D\u7DEF\u8B02\u885B\u8AC9\u5E43\u95C8\u6E88\u6F7F\u744B\u97D9\u7152\u9BAA\u6EAB\u805E\u7D0B\u7A69\u554F\u95BF\u7515\u64BE\u8778\u6E26\u7AA9\u81E5\u8435\u9F77\u55DA\u93A2\u70CF\u8AA3\u7121\u856A\u5433\u5862\u9727\u52D9\u8AA4\u9114\u5EE1\u61AE\u5AF5\u9A16\u9D61\u9DA9\u932B\u72A7\u8972\u7FD2\u9291\u6232\u7D30\u993C\u9B29\u74BD\u89A1\u8766\u8F44\u5CFD\u4FE0\u72F9\u5EC8\u5687\u7864\u9BAE\u7E96\u8CE2\u929C\u9591\u986F\u96AA\u73FE\u737B\u7E23\u9921\u7FA8\u61B2\u7DDA\u83A7\u859F\u861A\u5CF4\u736B\u5AFB\u9DF4\u7647\u8814\u79C8\u8E9A\u5EC2\u9472\u9109\u8A73\u97FF\u9805\u858C\u9909\u9A64\u7DD7\u9957\u856D\u56C2\u92B7\u66C9\u562F\u5635\u701F\u9A4D\u7D83\u689F\u7C2B\u5354\u633E\u651C\u8105\u8AE7\u5BEB\u7009\u8B1D\u893B\u64F7\u7D32\u7E88\u92C5\u91C1\u8208\u9658\u6ECE\u5147\u6D36\u92B9\u7E61\u9948\u9D42\u865B\u5653\u9808\u8A31\u6558\u7DD2\u7E8C\u8A61\u980A\u8ED2\u61F8\u9078\u766C\u7D62\u8AFC\u9249\u93C7\u5B78\u8B14\u6FA9\u9C48\u52DB\u8A62\u5C0B\u99B4\u8A13\u8A0A\u905C\u5864\u6F6F\u9C58\u58D3\u9D09\u9D28\u555E\u4E9E\u8A1D\u57E1\u5A6D\u690F\u6C2C\u95B9\u7159\u9E7D\u56B4\u5DD6\u984F\u95BB\u8277\u53AD\u786F\u5F65\u8AFA\u9A57\u53B4\u8D17\u513C\u5157\u8B9E\u61E8\u9586\u91C5\u9B58\u995C\u9F34\u9D26\u694A\u63DA\u760D\u967D\u7662\u990A\u6A23\u716C\u7464\u6416\u582F\u9059\u7AAF\u8B20\u85E5\u8EFA\u9DC2\u9C29\u723A\u9801\u696D\u8449\u9768\u8B01\u9134\u66C4\u71C1\u91AB\u92A5\u9824\u907A\u5100\u87FB\u85DD\u5104\u61B6\u7FA9\u8A63\u8B70\u8ABC\u8B6F\u7570\u7E79\u8A52\u56C8\u5DA7\u98F4\u61CC\u9A5B\u7E0A\u8EFC\u8CBD\u91D4\u93B0\u943F\u761E\u8264\u852D\u9670\u9280\u98F2\u96B1\u92A6\u766E\u6AFB\u5B30\u9DF9\u61C9\u7E93\u7469\u87A2\u71DF\u7192\u8805\u8D0F\u7A4E\u584B\u9DAF\u7E08\u93A3\u6516\u56B6\u7005\u7020\u74D4\u9E1A\u766D\u9826\u7F4C\u55B2\u64C1\u50AD\u7670\u8E34\u8A60\u93DE\u512A\u6182\u90F5\u923E\u7336\u8A98\u8555\u92AA\u9B77\u8F3F\u9B5A\u6F01\u5A1B\u8207\u5DBC\u8A9E\u7344\u8B7D\u9810\u99AD\u50B4\u4FC1\u8ADB\u8AED\u8577\u5D33\u98EB\u95BE\u5AD7\u7D06\u89A6\u6B5F\u923A\u9D52\u9DF8\u9F6C\u9D1B\u6DF5\u8F45\u5712\u54E1\u5713\u7DE3\u9060\u6ADE\u9CF6\u9EFF\u7D04\u8E8D\u9470\u7CB5\u6085\u95B1\u925E\u9116\u52FB\u9695\u904B\u860A\u919E\u6688\u97FB\u9106\u8553\u60F2\u614D\u7D1C\u97DE\u6B9E\u6C33\u96DC\u707D\u8F09\u6522\u66AB\u8D0A\u74DA\u8DB2\u93E8\u8D13\u81DF\u99D4\u947F\u68D7\u8CAC\u64C7\u5247\u6FA4\u8CFE\u5616\u5E58\u7C00\u8CCA\u8B56\u8D08\u7D9C\u7E52\u8ECB\u9358\u9598\u67F5\u8A50\u9F4B\u50B5\u6C08\u76DE\u65AC\u8F3E\u5D84\u68E7\u6230\u7DBB\u8B6B\u5F35\u6F32\u5E33\u8CEC\u8139\u8D99\u8A54\u91D7\u87C4\u8F4D\u937A\u9019\u8B2B\u8F12\u9DD3\u8C9E\u91DD\u5075\u8A3A\u93AE\u9663\u6E5E\u7E1D\u6968\u8EEB\u8CD1\u798E\u9D06\u6399\u775C\u7319\u722D\u5E40\u7665\u912D\u8B49\u8ACD\u5D22\u9266\u931A\u7B8F\u7E54\u8077\u57F7\u7D19\u646F\u64F2\u5E5F\u8CEA\u6EEF\u9A2D\u6ADB\u6894\u8EF9\u8F0A\u8D04\u9DD9\u8784\u7E36\u8E93\u8E91\u89F6\u9418\u7D42\u7A2E\u816B\u773E\u937E\u8B05\u8EF8\u76BA\u665D\u9A5F\u7D02\u7E10\u8C6C\u8AF8\u8A85\u71ED\u77DA\u56D1\u8CAF\u9444\u99D0\u4F47\u6AE7\u9296\u5C08\u78DA\u8F49\u8CFA\u56C0\u994C\u9873\u6A01\u838A\u88DD\u599D\u58EF\u72C0\u9310\u8D05\u589C\u7DB4\u9A05\u7E0B\u8AC4\u6E96\u8457\u6FC1\u8AD1\u9432\u8332\u8CC7\u6F2C\u8AEE\u7DC7\u8F1C\u8CB2\u7725\u9319\u9F5C\u9BD4\u8E64\u7E3D\u7E31\u50AF\u9112\u8ACF\u9A36\u9BEB\u8A5B\u7D44\u93C3\u9246\u7E98\u8EA6\u9C52\u7FFA\u4E26\u8514\u6C88\u919C\u6FB1\u53E0\u9B25\u7BC4\u5E79\u81EF\u77FD\u6AC3\u5F8C\u5925\u7A2D\u5091\u8A23\u8A87\u88E1\u88CF\u6DE9\u9EBD\u9EF4\u649A\u6DD2\u6261\u8056\u5C4D\u64E1\u5857\u7AAA\u9935\u6C59\u9341\u9E79\u880D\u5F5C\u6E67\u904A\u7C72\u79A6\u9858\u5DBD\u96F2\u7AC8\u7D2E\u5284\u7BC9\u65BC\u8A8C\u8A3B\u96D5\u8A01\u8B7E\u90E4\u731B\u6C39\u962A\u58DF\u5816\u57B5\u588A\u6ABE\u8552\u8464\u84E7\u8493\u83C7\u69C1\u6463\u54A4\u551A\u54E2\u565D\u5645\u6485\u5288\u8B14\u8946\u5DB4\u810A\u4EFF\u50E5\u7341\u9E85\u9918\u9937\u994A\u9962\u695E\u6035\u61CD\u723F\u6F35\u7069\u6DF7\u6FEB\u7026\u6DE1\u5BE7\u7CF8\u7D5D\u7DD4\u7449\u6898\u68EC\u6848\u6A70\u6AEB\u8EF2\u8EE4\u8CEB\u8181\u8156\u98C8\u7CCA\u7146\u6E9C\u6E63\u6E3A\u78B8\u6EFE\u7798\u9208\u9255\u92E3\u92B1\u92E5\u92F6\u9426\u9427\u9369\u9340\u9343\u9307\u9384\u9387\u93BF\u941D\u9465\u9479\u9454\u7A6D\u9D93\u9DA5\u9E0C\u7667\u5C59\u7602\u81D2\u8947\u7E48\u802E\u986C\u87CE\u9EAF\u9B81\u9B83\u9B8E\u9BD7\u9BDD\u9BF4\u9C5D\u9BFF\u9C20\u9C35\u9C45\u97BD\u97DD\u9F47\u4E2C\u7232\u56B2\u8846\u50DE\u9918\u51A2\u6DE8\u51CC\u51FC\u5257\u52F3\u52D0\u52E9\u6EF7\u9749\u9746\u5553\u5494\u5412\u54B4\u54CC\u8B41\u55CA\u5562\u5523\u553F\u9F67\u56C9\u563D\u5475\u567C\u56AF\u58E0\u57A7\u58B6\u58CB\u58CE\u57DD\u58EA\u7246\u58FC\u5B00\u59DC\u5AFA\u5AFF\u5C53\u5D2C\u5DA8\u5DA2\u5DAE\u5D94\u5D5B\u5D74\u5ECE\u5F60\u5FA1\u610D\u6196\u61B7\u624E\u6266\u6397\u648F\u637B\u63F8\u6698\u66E8\u672D\u684A\u6AAE\u68F6\u6AFA\u6A9F\u6A90\u6C61\u6C93\u6E22\u6F59\u6CB5\u6EAE\u6EFB\u6FDC\u6D8C\u6EB3\u6EBC\u6F0A\u6FA6\u6F24\u7145\u7173\u7198\u729B\u729F\u72CD\u736E\u875F\u74B5\u7452\u7472\u73C9\u73CF\u74AB\u74A1\u7487\u7572\u75FE\u762E\u763B\u766F\u77D3\u7740\u785C\u7845\u78D1\u7904\u7906\u78B9\u78D9\u7995\u7A60\u7C39\u7C64\u7C59\u9931\u7CF9\u7D18\u7D1D\u7D35\u7D16\u7D70\u7D8C\u7D5B\u7DD3\u979D\u7DAF\u7E15\u7DDA\u7E17\u7E6E\u7FFD\u7FEC\u80B7\u9AD2\u9183\u8195\u9F76\u81E2\u8C54\u8279\u8598\u839C\u84F4\u8600\u85C1\u866F\u87BF\u8828\u5ACB\u8918\u894F\u890C\u8949\u8941\u8974\u898E\u89A5\u8B8B\u8A12\u8A29\u8A57\u8A56\u8B78\u8ADD\u8AE1\u8C37\u8C76\u8C9F\u9F4E\u8D14\u8CD9\u8CF5\u8D07\u8D6C\u8DD6\u8E82\u8E0A\u8ED1\u8F08\u8F2C\u8F40\u9B31\u90C4\u91B1\u9245\u9451\u91FA\u9212\u935A\u9203\u9262\u947D\u9276\u928D\u929B\u92D9\u93FD\u9417\u9321\u9329\u6774\u9348\u9360\u93A1\u939B\u9394\u93F0\u93D0\u9481\u9436\u945E\u9588\u9592\u95D3\u95CD\u95E0\u95D2\u95E4\u965D\u97B4\u97CD\u9832\u71B2\u982E\u9834\u9852\u7E87\u98BA\u98AD\u98B8\u98BB\u98C0\u98E3\u98E2\u98E5\u98FF\u9904\u990E\u990F\u9916\u9915\u991C\u9936\u9941\u993A\u99B9\u99F0\u9A6B\u9A02\u99F8\u9A0C\u9A4C\u9A24\u9A66\u9B5B\u9B62\u9B68\u9B7A\u9B8B\u9B93\u9B8A\u9B8D\u9BB3\u9BA6\u9C02\u9B9C\u9C60\u9BBA\u9BB6\u9BD2\u9BD5\u9C3A\u9C0F\u9C68\u9BF7\u9C2E\u9C03\u9C01\u9C42\u9C1F\u9C1C\u9C3C\u9C6F\u9C64\u9C63\u9CF2\u9DAC\u9D1E\u9D12\u9DFD\u9D34\u9D43\u9D50\u9DF3\u9D7E\u9D6E\u9D8A\u9D77\u9DEB\u9DA1\u9DCA\u9DB2\u9DB9\u9DBA\u9DC1\u9DD6\u9E07\u9E0F\u9E18\u9EF6\u9F02\u9780\u9F55\u9F57\u5FD7\u5236\u8AEE\u53EA\u7CFB\u9B06\u5690\u9762\u4E7E\u62FC\u5641\u8B9A\u9AEE\u6BAD\u7DFB\u59E6\u7A6B\u934A\u8FF4\u4FC2\u8E5F\u96BB\u95E2\u95C6\u59B3"}function Ro(t){let e="";for(let r=0;r<t.length;r++){let n=t.charAt(r);if(Dir.has(n)){e+=n;continue}let s=B8e().indexOf(n);s!==-1?e+=zz().charAt(s):e+=n}return e}function Gt(t){let e="";for(let r=0;r<t.length;r++)zz().indexOf(t.charAt(r))!=-1?e+=B8e().charAt(zz().indexOf(t.charAt(r))):e+=t.charAt(r);return e}function uf(t){return!/[\u4e00-\u9fff]/.test(t)}var Dir,no=dr(()=>{Dir=new Map([["\u5403","\u5403"],["\u6CE8","\u6CE8"]])});function ts(t){let e;if(typeof t=="string")e=t;else if(Array.isArray(t))e=JSON.stringify(t);else if(typeof t=="object")e=JSON.stringify(t);else{_("error","[Utils] [Common] Unsupported data type");return}_("info","[Utils] [Common]",e.slice(0,200))}function W0(t){let e=t.match(/\((\d{4})\)/);return e?parseInt(e[1]):null}function tg(t){if(/^\d+$/.test(t))return Number(t);let e={\u96F6:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u58F9:1,\u8CB3:2,\u53C3:3,\u8086:4,\u4F0D:5,\u9678:6,\u67D2:7,\u634C:8,\u7396:9},r={\u5341:10,\u767E:100,\u5343:1e3,\u62FE:10,\u4F70:100,\u4EDF:1e3},n=0,s=0,i=1;for(let a=0;a<t.length;a++){let o=t[a];if(e[o]!==void 0)s=e[o];else if(r[o]!==void 0){let c=r[o];s===0&&(s=1),c>=i?n=s*c:n+=s*c,i=c,s=0}}return s>0&&(n+=s),n}function M8e(t){if(!t||typeof t!="string")return{cleanFileName:"",preferredPlatform:""};let e=t.indexOf("@");if(e===-1)return{cleanFileName:t.trim(),preferredPlatform:""};let r=t.substring(0,e).trim(),n=t.substring(e+1).trim(),s=n.match(/^(\w+)\s+(S\d+E\d+)$/);if(s){let i=s[1],a=s[2];return{cleanFileName:`${r} ${a}`,preferredPlatform:Kz(i)}}else{let i=r.match(/^(.+?)\s+(S\d+E\d+)$/);if(i){let a=i[1],o=i[2];return{cleanFileName:`${a} ${o}`,preferredPlatform:Kz(n)}}else return{cleanFileName:r,preferredPlatform:Kz(n)}}}function Kz(t){if(!t||typeof t!="string")return"";let e=t.trim();return O.allowedPlatforms.includes(e)?e:""}function W8e(t){if(!t)return[...O.platformOrderArr];if(!O.allowedPlatforms.includes(t))return _("warn",`[Utils] [Common] Invalid platform: ${t}, using default order`),[...O.platformOrderArr];let e=[t];for(let r of O.platformOrderArr)r!==t&&r!==null&&e.push(r);return e.push(null),e}function $8e(t){return t?String(t).replace(/[\u200B-\u200F\uFEFF]/g,"").trim():""}function Fr(t){return t?String(t).replace(/[^\u4e00-\u9fa5\u3400-\u4DBF\u{20000}-\u{2EE5F}\u{30000}-\u{323AF}\u3040-\u30ff\uFF65-\uFF9F\uAC00-\uD7AFa-zA-Z0-9\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\u2160-\u217F\u0400-\u04FF\u00C0-\u024F\u0370-\u03FF]/gu,""):""}function $0(t,e){if(!t||!e)return!1;let r=Fr(t),n=Fr(e);if(r===n)return!0;let s=[" ","(","\uFF08",":","\uFF1A","-","\u2014","\xB7","\u7B2C","S","s","\u5E74\u756A","\u5408\u96C6"];for(let i of s)if(r.startsWith(n+i))return!0;return!1}function $t(t){if(!t)return null;let e=t.match(/(?:第\s*([0-9一二三四五å…七八ä¹å百åƒä¸‡]+)\s*[壿œŸéƒ¨])|(?:S(?:eason)?\s*(\d+))|(?:Part\s*(\d+))/i);if(e){let r=e[1]||e[2]||e[3];if(r)return tg(r)}return null}function yt(t,e,r=null){if(O.strictTitleMatch)return $0(t,e);let n=Fr(t).toLowerCase(),i=[Fr(e).toLowerCase()];try{i=[...new Set([e,Gt(e),Ro(e)])].map(o=>Fr(o).toLowerCase()).filter(Boolean)}catch{}if(i.some(o=>n.includes(o)))return!0;let a=r!==null?r:$t(e);if(a!==null){let o=$t(t);if(a>1){if((o||1)!==a)return!1}else if(a===1&&o!==null&&o!==1)return!1}return i.some(o=>{if(Math.abs(n.length-o.length)>Math.max(n.length,o.length)*.7||/^[a-zA-Z0-9]+$/.test(o))return!1;let c=0,u=0;for(let l of o){let d=n.indexOf(l,u);d!==-1&&(c++,u=d+1)}return c/o.length>.8})}function et(t,e){let r=t?.constructor?.name;if(e==="array"){if(!Array.isArray(t))throw new TypeError(`${t} \u5FC5\u987B\u662F\u4E00\u4E2A\u6570\u7EC4\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}else if(e==="boolean"){if(typeof t!="boolean"&&typeof t!="number")throw new TypeError(`${t} \u5FC5\u987B\u662F boolean \u6216 number\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}else if(typeof t!==e)throw new TypeError(`${t} \u5FC5\u987B\u662F ${e}\uFF0C\u4F46\u4F20\u5165\u7684\u662F ${r}`)}function Tt(t){if(!t)return{season:null,baseTitle:null};let e=t.match(/^(.*?)\(\d{4}\)/),r=e?e[1].trim():t.split("(")[0].trim(),n=Fr(r),s=n.match(/第\s*([0-9一二三四五å…七八ä¹å壹贰å肆ä¼é™†æŸ’æŒçŽ–æ‹¾]+)\s*[壿œŸéƒ¨]/);if(s)return{season:tg(s[1]),baseTitle:n.replace(s[0],"").trim()};let i=n.match(/(?:S(?:eason)?|Season)\s*(\d+)/i);if(i)return{season:parseInt(i[1],10),baseTitle:n.replace(i[0],"").trim()};let a=n.match(/Part\s*(\d+)/i);if(a)return{season:parseInt(a[1],10),baseTitle:n.replace(a[0],"").trim()};let o=n.match(/(?:^|\s|[^\d])(\d{1,2})$/);if(o)return{season:parseInt(o[1],10),baseTitle:n.slice(0,n.lastIndexOf(o[1])).trim()};let c=n.match(/([一二三四五å…七八ä¹å壹贰å肆ä¼é™†æŸ’æŒçŽ–æ‹¾]+)$/);return c?{season:tg(c[1]),baseTitle:n.replace(c[0],"").trim()}:{season:null,baseTitle:n}}function lf(t){if(!t)return null;let e=t.match(/第(\d+)集/);if(e)return parseInt(e[1],10);let r=t.match(/[Ee][Pp]?(\d+)/);if(r)return parseInt(r[1],10);let n=t.match(/(?:^|\s)(\d+)(?:\s|$)/);return n?parseInt(n[1],10):null}function Jz(t,e){let{season:r,baseTitle:n}=Tt(t),s=lf(e);return{baseTitle:n,season:r,episode:s}}var rg,Yz,hn=dr(()=>{Pt();St();no();rg=t=>{let e=t.match(/ã€(.*?)】/);return e?e[1]:null},Yz=t=>t.split("(")[0].trim()});var F0,LL,BL,ML,WL,Xz,Zz,$L,vt,pb,hs=dr(()=>{hn();F0=class t{constructor({animeId:e=111,bangumiId:r="",animeTitle:n="",type:s="",typeDescription:i="",imageUrl:a="",startDate:o="",episodeCount:c=1,rating:u=0,isFavorited:l=!0,source:d="",links:f=[],mergedChildren:p=[],isHiddenChild:m=!1}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string","type"),et(i,"string"),et(a,"string"),et(o,"string"),et(c,"number"),et(u,"number"),et(l,"boolean"),et(d,"string"),et(f,"array"),et(p,"array"),et(m,"boolean"),this.links=f.map(h=>LL.fromJson(h)),Object.assign(this,{animeId:e,bangumiId:r,animeTitle:n,type:s,typeDescription:i,imageUrl:a,startDate:o,episodeCount:c,rating:u,isFavorited:l,source:d,mergedChildren:p,isHiddenChild:m})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=(e.links||[]).map(n=>LL.fromJson(n));return new t({...e,links:r})}toJson(){return{...this,links:this.links.map(e=>e.toJson())}}},LL=class t{constructor({name:e="",url:r="",title:n="",id:s=10001}={}){et(e,"string"),et(r,"string"),et(n,"string"),et(s,"number"),Object.assign(this,{name:e,url:r,title:n,id:s})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},BL=class t{constructor({episodeId:e=10001,animeId:r=111,animeTitle:n="",episodeTitle:s="",type:i="",typeDescription:a="",shift:o=1,imageUrl:c=""}={}){et(e,"number"),et(r,"number"),et(n,"string"),et(s,"string"),et(i,"string","type"),et(a,"string"),et(o,"number"),et(c,"string"),Object.assign(this,{episodeId:e,animeId:r,animeTitle:n,episodeTitle:s,type:i,typeDescription:a,shift:o,imageUrl:c})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},ML=class{constructor({episodeId:e="",episodeTitle:r=""}={}){this.episodeId=e,this.episodeTitle=r}};ML.prototype.toJson=function(){return{episodeId:this.episodeId,episodeTitle:this.episodeTitle}};WL=class t{constructor({animeId:e=111,animeTitle:r="",type:n="",typeDescription:s="",episodes:i=[]}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string"),et(i,"array"),Object.assign(this,{animeId:e,animeTitle:r,type:n,typeDescription:s,episodes:i.map(a=>new ML(a))})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this,episodes:this.episodes.map(e=>e.toJson())}}},Xz=class t{constructor({id:e="",airDate:r="",name:n="",episodeCount:s=0}={}){et(e,"string"),et(r,"string"),et(n,"string"),et(s,"number"),Object.assign(this,{id:e,airDate:r,name:n,episodeCount:s})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},Zz=class t{constructor({seasonId:e="",episodeId:r=10001,episodeTitle:n="",episodeNumber:s="",airDate:i=""}={}){et(e,"string"),et(r,"number"),et(n,"string"),et(s,"string"),et(i,"string"),Object.assign(this,{seasonId:e,episodeId:r,episodeTitle:n,episodeNumber:s,airDate:i})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}},$L=class t{constructor({animeId:e=111,bangumiId:r="",animeTitle:n="",imageUrl:s="",isOnAir:i=!0,airDay:a=1,isFavorited:o=!0,rating:c=0,type:u="",typeDescription:l="",seasons:d=[],episodes:f=[]}={}){et(e,"number"),et(r,"string"),et(n,"string"),et(s,"string"),et(i,"boolean"),et(a,"number"),et(o,"boolean"),et(c,"number"),et(u,"string"),et(l,"string"),et(d,"array"),et(f,"array");let p=d.map(m=>Xz.fromJson(m));Object.assign(this,{animeId:e,bangumiId:r,animeTitle:n,imageUrl:s,isOnAir:i,airDay:a,isFavorited:o,rating:c,type:u,typeDescription:l,seasons:p,episodes:f})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=e.episodes.map(n=>Zz.fromJson(n));return new t({...e,episodes:r})}toJson(){return{...this,seasons:this.seasons.map(e=>e.toJson()),episodes:this.episodes.map(e=>e.toJson())}}},vt=class t{constructor({type:e="",segmentList:r=[],duration:n=0}={}){et(e,"string"),et(r,"array"),et(n,"number"),this.segmentList=r.map(s=>pb.fromJson(s)),Object.assign(this,{type:e,duration:n})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");let r=(e.segmentList||[]).map(n=>pb.fromJson(n));return new t({...e,segmentList:r})}toJson(){return{...this,segmentList:this.segmentList.map(e=>e.toJson())}}},pb=class t{constructor({type:e,segment_start:r,segment_end:n,url:s,data:i,_m_h5_tk:a,_m_h5_tk_enc:o}={}){et(e,"string","type"),et(r,"number","segment_start"),et(n,"number","segment_end"),et(s,"string","url"),i!==void 0&&et(i,"string","data"),a!==void 0&&et(a,"string","_m_h5_tk"),o!==void 0&&et(o,"string","_m_h5_tk_enc"),Object.assign(this,{type:e,segment_start:r,segment_end:n,url:s,data:i,_m_h5_tk:a,_m_h5_tk_enc:o})}static fromJson(e){if(typeof e!="object"||e===null)throw new TypeError("fromJson \u53C2\u6570\u5FC5\u987B\u662F\u5BF9\u8C61");return new t(e)}toJson(){return{...this}}}});var V8e={};is(V8e,{addAnime:()=>Lt,addEpisode:()=>Q8e,cleanupExpiredIPs:()=>jL,findAnimeIdByCommentId:()=>qL,findAnimeTitleById:()=>nK,findIndexById:()=>UL,findTitleById:()=>rK,findUrlById:()=>BC,getCommentCache:()=>df,getDirname:()=>HL,getLastSearch:()=>tK,getLocalCaches:()=>oK,getPreferAnimeId:()=>aK,getSearchCache:()=>DC,isCommentCacheValid:()=>H8e,isSearchCacheValid:()=>j8e,judgeLocalCacheValid:()=>cK,readCacheFromFile:()=>ng,removeEarliestAnime:()=>Ft,removeEpisodeByUrl:()=>G8e,resolveAnimeById:()=>sg,resolveAnimeByIdFromDetailStore:()=>ig,resolveEpisodeContextById:()=>hb,setCommentCache:()=>LC,setLastSearch:()=>eK,setPreferByAnimeId:()=>iK,setSearchCache:()=>kC,storeAnimeIdsToMap:()=>sK,updateLocalCaches:()=>GL,writeCacheToFile:()=>QL});function eK(t,e){if(RC.set(t,{...e,timestamp:Date.now()}),RC.size>200)for(let[r,n]of RC)Date.now()-n.timestamp>3600*1e3&&RC.delete(r)}function tK(t){return RC.get(t)}function mb(t){if(!t||typeof t!="object")return"";let e=t.source?String(t.source)+":":"";return t.bangumiId!==void 0&&t.bangumiId!==null&&String(t.bangumiId)!==""?"bangumi:"+e+String(t.bangumiId):t.animeId!==void 0&&t.animeId!==null&&String(t.animeId)!==""?"anime:"+e+String(t.animeId):""}function F8e(t,e){if(!(t instanceof Map)||!e)return;let r=mb(e);r&&t.set(r,e)}function*PC(t){if(!(t instanceof Map))return;let e=new Set;for(let r of t.values()){let n=mb(r);n&&e.has(n)||(n&&e.add(n),yield r)}}function kir(t){let e=[];for(let r of PC(t))e.push(r);return e}function Lir(){let t=Date.now(),e=[];for(let[r,n]of O.searchCache.entries()){let s=(t-n.timestamp)/6e4;if(s>O.searchCacheMinutes){O.searchCache.delete(r),_("info",`[Cache] Search cache for "${r}" expired after ${s.toFixed(2)} minutes`);continue}e.push(n)}return e.sort((r,n)=>(n.timestamp||0)-(r.timestamp||0)),e}function U8e(t,e,r){let n=Date.now(),s=0;for(let[i,a]of t.entries())(n-a.timestamp)/6e4>e&&(t.delete(i),s++);s>0&&_("info",`[Cache] ${r} TTL \u626B\u63CF\u5B8C\u6BD5\uFF0C\u5DF2\u79FB\u9664 ${s} \u4E2A\u8FC7\u671F\u6761\u76EE\uFF0C\u5269\u4F59 ${t.size} \u4E2A`)}function Bir(t,e){return String(t?.animeId)===e||String(t?.bangumiId)===e}function FL(t,e,r=null){let n=null;for(let s of t)if(Bir(s,e)){if(r&&s?.source===r)return s;n||(n=s)}return n}function*q8e(){let t=new Set;for(let e of Lir())if(Array.isArray(e.details))for(let r of e.details){let n=mb(r);n&&t.has(n)||(n&&t.add(n),yield r)}}function sg(t,e=null,r=null){let n=String(t),s=FL(O.animes,n,r);return s||(s=FL(PC(e),n,r),s)?s:FL(q8e(),n,r)}function ig(t,e=null,r=null){let n=String(t);return FL(PC(e),n,r)}function hb(t,e=null){let r=Number(t);if(!Number.isFinite(r))return null;let n=i=>{if(!i?.links||!Array.isArray(i.links))return null;let a=i.links.findIndex(o=>o.id===r);return a===-1?null:{anime:i,link:i.links[a],index:a}};for(let i of O.animes){let a=n(i);if(a)return a}for(let i of PC(e)){let a=n(i);if(a)return a}let s=new Set;for(let i of O.animes){let a=mb(i);a&&s.add(a)}for(let i of PC(e)){let a=mb(i);a&&s.add(a)}for(let i of q8e()){let a=mb(i);if(a&&s.has(a))continue;a&&s.add(a);let o=n(i);if(o)return o}return null}function j8e(t){if(!O.searchCache.has(t))return!1;let e=O.searchCache.get(t),n=(Date.now()-e.timestamp)/(1e3*60);return n>O.searchCacheMinutes?(O.searchCache.delete(t),_("info",`[Cache] Search cache for "${t}" expired after ${n.toFixed(2)} minutes`),!1):!0}function DC(t,e=null){if(j8e(t)){_("info",`[Cache] Using search cache for "${t}"`);let r=O.searchCache.get(t);return e instanceof Map&&Array.isArray(r.details)&&r.details.forEach(n=>{F8e(e,n)}),r.results}return null}function kC(t,e,r=null){let n=kir(r);if(U8e(O.searchCache,O.searchCacheMinutes,"searchCache"),O.searchCache.set(t,{results:e,details:n,timestamp:Date.now()}),O.searchCache.size>500){let s=O.searchCache.keys().next().value;O.searchCache.delete(s),_("info",`[Cache] searchCache TTL\u6E05\u7406\u540E\u4ECD\u8FBE\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u6700\u65E9\u6761\u76EE: ${s}`)}_("info",`[Cache] Cached search results for "${t}" (${e.length} animes)`)}function H8e(t){if(!O.commentCache.has(t))return!1;let e=O.commentCache.get(t),n=(Date.now()-e.timestamp)/(1e3*60);return n>O.commentCacheMinutes?(O.commentCache.delete(t),_("info",`[Cache] Comment cache for "${t}" expired after ${n.toFixed(2)} minutes`),!1):!0}function df(t){return H8e(t)?(_("info",`[Cache] Using comment cache for "${t}"`),O.commentCache.get(t).comments):null}function LC(t,e){if(U8e(O.commentCache,O.commentCacheMinutes,"commentCache"),O.commentCache.set(t,{comments:e,timestamp:Date.now()}),O.commentCache.size>500){let r=O.commentCache.keys().next().value;O.commentCache.delete(r),_("info",`[Cache] commentCache TTL\u6E05\u7406\u540E\u4ECD\u8FBE\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u6700\u65E9\u6761\u76EE: ${r}`)}_("info",`[Cache] Cached comments for "${t}" (${e.length} comments)`)}function Q8e(t,e){let r=O.episodeIds.find(s=>s.url===t&&s.title===e);if(r)return _("info",`[Cache] Episode with URL ${t} and title ${e} already exists in episodeIds, returning existing episode.`),r;O.episodeNum++;let n={id:O.episodeNum,url:t,title:e};return O.episodeIds.push(n),_("info",`[Cache] Added to episodeIds: ${JSON.stringify(n)}`),n}function G8e(t){let e=O.episodeIds.length;O.episodeIds=O.episodeIds.filter(n=>n.url!==t);let r=e-O.episodeIds.length;return r>0?(_("info",`[Cache] Removed ${r} episode(s) from episodeIds with URL: ${t}`),!0):(_("error",`[Cache] No episode found in episodeIds with URL: ${t}`),!1)}function BC(t){let e=O.episodeIds.find(n=>n.id===t);if(e)return _("info",`[Cache] Found URL for ID ${t}: ${e.url}`),e.url;let r=hb(t);return r?.link?.url?(_("info",`[Cache] Found URL for ID ${t} via cached anime details: ${r.link.url}`),r.link.url):(_("error",`[Cache] No URL found for ID: ${t}`),null)}function UL(t){let e=O.episodeIds.findIndex(n=>n.id===t);if(e!==-1)return _("info",`[Cache] Found index for ID ${t}: ${e}`),e;let r=hb(t);return r?(_("info",`[Cache] Found index for ID ${t} via cached anime details: ${r.index}`),r.index):(_("error",`[Cache] No index found for ID: ${t}`),-1)}function rK(t){let e=O.episodeIds.find(n=>n.id===t);if(e)return _("info",`[Cache] Found TITLE for ID ${t}: ${e.title}`),e.title;let r=hb(t);return r?.link?.title?(_("info",`[Cache] Found TITLE for ID ${t} via cached anime details: ${r.link.title}`),r.link.title):(_("error",`[Cache] No TITLE found for ID: ${t}`),null)}function nK(t){let e=hb(t);return e?.anime?.animeTitle?(_("info",`[Cache] Found animeTitle for ID ${t}: ${e.anime.animeTitle}`),e.anime.animeTitle):(_("error",`[Cache] No animeTitle found for ID: ${t}`),null)}function Lt(t,e=null){t=F0.fromJson(t);try{if(!t.links||!Array.isArray(t.links))return _("error",`[Cache] Invalid or missing links in anime: ${JSON.stringify(t)}`),!1;let r=[];t.links.forEach(i=>{if(i.url){let a=Q8e(i.url,i.title);a&&r.push(a)}else _("error",`[Cache] Invalid link in anime, missing url: ${JSON.stringify(i)}`)});let n=F0.fromJson({...t,links:r});F8e(e,n);let s=O.animes.findIndex(i=>i.animeId===t.animeId);return s!==-1&&(O.animes.splice(s,1),_("info",`[Cache] Removed old anime at index: ${s}`)),O.animes.push(n),_("info",`[Cache] Added anime to latest position: ${t.animeId}`),O.animes.length>O.MAX_ANIMES&&(Ft()||_("error","[Cache] Failed to remove earliest anime, but continuing")),_("info",`[Cache] animes: ${JSON.stringify(O.animes.map(i=>({links:i.links,animeId:i.animeId,bangumiId:i.bangumiId,animeTitle:i.animeTitle})),(i,a)=>i==="links"?a.length:a)}`),!0}catch(r){return _("error",`[Cache] addAnime failed: ${r.message}`),!1}}function Ft(){if(O.animes.length===0)return _("error","[Cache] No animes to remove."),!1;let t=O.animes.shift();return _("info",`[Cache] Removed earliest anime: ${JSON.stringify(t)}`),t.links&&Array.isArray(t.links)&&t.links.forEach(e=>{e.url&&G8e(e.url)}),!0}function sK(t,e){let r=new Set,n=O.lastSelectMap.get(e);if(n&&Array.isArray(n.animeIds))for(let d of n.animeIds)r.add(d);for(let d of t)r.add(d.animeId);let s=n?.prefer,i=n?.source,a=n?.preferBySeason,o=n?.sourceBySeason,c=n?.offsets,u=a?{...a}:{},l=o?{...o}:{};if(s!==void 0&&(u.default=s),i!==void 0&&(l.default=i),O.lastSelectMap.has(e)&&O.lastSelectMap.delete(e),O.lastSelectMap.set(e,{animeIds:[...r],...Object.keys(u).length>0&&{preferBySeason:u},...Object.keys(l).length>0&&{sourceBySeason:l},...c!==void 0&&{offsets:c}}),O.lastSelectMap.size>O.MAX_LAST_SELECT_MAP){let d=O.lastSelectMap.keys().next().value;O.lastSelectMap.delete(d),_("info",`[Cache] Removed earliest entry from lastSelectMap: ${d}`)}}function qL(t){let e=hb(t);return e?[e.anime.animeId,e.anime.source,e.link.title,e.anime.aliases||[]]:[null,null,null,[]]}function iK(t,e,r=null,n=null){for(let[s,i]of O.lastSelectMap.entries())if(i.animeIds&&i.animeIds.includes(t)){let a=r===null?"default":String(r);return i.preferBySeason=i.preferBySeason||{},i.sourceBySeason=i.sourceBySeason||{},i.preferBySeason[a]=t,i.sourceBySeason[a]=e,r!==null&&n!==null&&(i.offsets=i.offsets||{},i.offsets[a]=n),O.lastSelectMap.set(s,i),s}return null}function aK(t,e=null){let r=O.lastSelectMap.get(t);if(!r)return[null,null,null];let n=e===null?"default":String(e),s=r.preferBySeason||{},i=r.sourceBySeason||{},a=s[n]??s.default??r.prefer??null,o=i[n]??i.default??r.source??null,c=r.offsets||null;return[a,o,c]}function jL(t){let r=0;for(let[n,s]of O.requestHistory.entries()){let i=s.filter(a=>t-a<=6e4);i.length===0?(O.requestHistory.delete(n),r++,_("info",`[Utils] [Rate Limit] Cleaned up expired IP record: ${n}`)):i.length<s.length&&O.requestHistory.set(n,i)}r>0&&_("info",`[Utils] [Rate Limit] Cleanup completed: removed ${r} expired IP records`)}function HL(){return typeof __dirname<"u"?__dirname:OC.join(process.cwd(),"danmu_api","utils")}function ng(t){let e=OC.join(HL(),"..","..",".cache",`${t}`);if(NC.existsSync(e)){let r=NC.readFileSync(e,"utf8");return JSON.parse(r)}return null}function QL(t,e){let r=OC.join(HL(),"..","..",".cache",`${t}`);NC.writeFileSync(r,JSON.stringify(e),"utf8")}async function oK(){if(!O.localCacheInitialized)try{_("info","[Cache] getLocalCaches start."),O.animes=JSON.parse(ng("animes"))||O.animes,O.episodeIds=JSON.parse(ng("episodeIds"))||O.episodeIds,O.episodeNum=JSON.parse(ng("episodeNum"))||O.episodeNum,O.reqRecords=JSON.parse(ng("reqRecords"))||O.reqRecords,O.todayReqNum=JSON.parse(ng("todayReqNum"))||O.todayReqNum;let t=ng("lastSelectMap");t&&(O.lastSelectMap=new Map(Object.entries(JSON.parse(t))),_("info",`[Cache] Restored lastSelectMap from local cache with ${O.lastSelectMap.size} entries`)),O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.localCacheInitialized=!0,_("info","[Cache] getLocalCaches completed successfully.")}catch(t){_("error",`[Cache] getLocalCaches failed: ${t.message}`,t.stack),O.localCacheInitialized=!0}}async function GL(){try{_("info","[Cache] updateLocalCaches start.");let t=[],e=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:r,value:n}of e){let s=JSON.stringify(r==="lastSelectMap"?Object.fromEntries(n):n),i=an(s);i!==O.lastHashes[r]&&(QL(r,s),t.push({key:r,hash:i}))}t.length>0?(_("info",`[Cache] Updated local caches for keys: ${t.map(r=>r.key).join(", ")}`),t.forEach(({key:r,hash:n})=>{O.lastHashes[r]=n})):_("info","[Cache] No changes detected, skipping local cache update.")}catch(t){_("error",`[Cache] updateLocalCaches failed: ${t.message}`,t.stack),_("error",`[Cache] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function cK(t,e){if(e==="node")try{if(NC=await import("fs"),OC=await import("path"),!O.localCacheValid&&t!=="/favicon.ico"&&t!=="/robots.txt"){let r=OC.join(HL(),"..","..",".cache");NC.existsSync(r)?O.localCacheValid=!0:O.localCacheValid=!1}}catch(r){_("warn","[Cache] Node.js modules not available:",r.message),O.localCacheValid=!1}}var NC,OC,RC,$n=dr(()=>{Pt();St();hs();Is();RC=new Map});var pK=E(XL=>{"use strict";Object.defineProperty(XL,"__esModule",{value:!0});XL.VerbatimString=void 0;var fK=class extends String{format;constructor(e,r){super(r),this.format=e}};XL.VerbatimString=fK});var Pl=E(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.MultiErrorReply=hr.CommandTimeoutDuringMaintenanceError=hr.SocketTimeoutDuringMaintenanceError=hr.TimeoutError=hr.BlobError=hr.SimpleError=hr.ErrorReply=hr.ReconnectStrategyError=hr.RootNodesUnavailableError=hr.SocketClosedUnexpectedlyError=hr.DisconnectsClientError=hr.ClientOfflineError=hr.ClientClosedError=hr.SocketTimeoutError=hr.ConnectionTimeoutError=hr.WatchError=hr.AbortError=void 0;var mK=class extends Error{constructor(){super("The command was aborted")}};hr.AbortError=mK;var hK=class extends Error{constructor(e="One (or more) of the watched keys has been changed"){super(e)}};hr.WatchError=hK;var gK=class extends Error{constructor(){super("Connection timeout")}};hr.ConnectionTimeoutError=gK;var AK=class extends Error{constructor(e){super(`Socket timeout timeout. Expecting data, but didn't receive any in ${e}ms.`)}};hr.SocketTimeoutError=AK;var yK=class extends Error{constructor(){super("The client is closed")}};hr.ClientClosedError=yK;var xK=class extends Error{constructor(){super("The client is offline")}};hr.ClientOfflineError=xK;var bK=class extends Error{constructor(){super("Disconnects client")}};hr.DisconnectsClientError=bK;var EK=class extends Error{constructor(){super("Socket closed unexpectedly")}};hr.SocketClosedUnexpectedlyError=EK;var _K=class extends Error{constructor(){super("All the root nodes are unavailable")}};hr.RootNodesUnavailableError=_K;var SK=class extends Error{originalError;socketError;constructor(e,r){super(e.message),this.originalError=e,this.socketError=r}};hr.ReconnectStrategyError=SK;var yb=class extends Error{};hr.ErrorReply=yb;var vK=class extends yb{};hr.SimpleError=vK;var CK=class extends yb{};hr.BlobError=CK;var $C=class extends Error{};hr.TimeoutError=$C;var IK=class extends $C{constructor(e){super(`Socket timeout during maintenance. Expecting data, but didn't receive any in ${e}ms.`)}};hr.SocketTimeoutDuringMaintenanceError=IK;var TK=class extends $C{constructor(e){super(`Command timeout during maintenance. Waited to write command for more than ${e}ms.`)}};hr.CommandTimeoutDuringMaintenanceError=TK;var wK=class extends yb{replies;errorIndexes;constructor(e,r){super(`${r.length} commands failed, see .replies and .errorIndexes for more information`),this.replies=e,this.errorIndexes=r}*errors(){for(let e of this.errorIndexes)yield this.replies[e]}};hr.MultiErrorReply=wK});var tB=E(pt=>{"use strict";var RK;Object.defineProperty(pt,"__esModule",{value:!0});pt.Decoder=pt.PUSH_TYPE_MAPPING=pt.RESP_TYPES=void 0;var sWe=pK(),ZL=Pl();pt.RESP_TYPES={NULL:95,BOOLEAN:35,NUMBER:58,BIG_NUMBER:40,DOUBLE:44,SIMPLE_STRING:43,BLOB_STRING:36,VERBATIM_STRING:61,SIMPLE_ERROR:45,BLOB_ERROR:33,ARRAY:42,SET:126,MAP:37,PUSH:62};var Jr={"\r":13,t:116,"+":43,"-":45,0:48,".":46,i:105,n:110,E:69,e:101};pt.PUSH_TYPE_MAPPING={[pt.RESP_TYPES.BLOB_STRING]:Buffer};var eB=class{onReply;onErrorReply;onPush;getTypeMapping;#e=0;#t;constructor(e){this.onReply=e.onReply,this.onErrorReply=e.onErrorReply,this.onPush=e.onPush,this.getTypeMapping=e.getTypeMapping}reset(){this.#e=0,this.#t=void 0}write(e){if(this.#e>=e.length){this.#e-=e.length;return}if(this.#t&&(this.#t(e)||this.#e>=e.length)){this.#e-=e.length;return}do{let r=e[this.#e];if(++this.#e===e.length){this.#t=this.#r.bind(this,r);break}if(this.#n(r,e))break}while(this.#e<e.length);this.#e-=e.length}#r(e,r){return this.#t=void 0,this.#n(e,r)}#n(e,r){switch(e){case pt.RESP_TYPES.NULL:return this.onReply(this.#s()),!1;case pt.RESP_TYPES.BOOLEAN:return this.#a(this.onReply,this.#i(r));case pt.RESP_TYPES.NUMBER:return this.#a(this.onReply,this.#c(this.getTypeMapping()[pt.RESP_TYPES.NUMBER],r));case pt.RESP_TYPES.BIG_NUMBER:return this.#a(this.onReply,this.#d(this.getTypeMapping()[pt.RESP_TYPES.BIG_NUMBER],r));case pt.RESP_TYPES.DOUBLE:return this.#a(this.onReply,this.#g(this.getTypeMapping()[pt.RESP_TYPES.DOUBLE],r));case pt.RESP_TYPES.SIMPLE_STRING:return this.#a(this.onReply,this.#x(this.getTypeMapping()[pt.RESP_TYPES.SIMPLE_STRING],r));case pt.RESP_TYPES.BLOB_STRING:return this.#a(this.onReply,this.#T(this.getTypeMapping()[pt.RESP_TYPES.BLOB_STRING],r));case pt.RESP_TYPES.VERBATIM_STRING:return this.#a(this.onReply,this.#O(this.getTypeMapping()[pt.RESP_TYPES.VERBATIM_STRING],r));case pt.RESP_TYPES.SIMPLE_ERROR:return this.#a(this.onErrorReply,this.#Q(r));case pt.RESP_TYPES.BLOB_ERROR:return this.#a(this.onErrorReply,this.#V(r));case pt.RESP_TYPES.ARRAY:return this.#a(this.onReply,this.#q(this.getTypeMapping(),r));case pt.RESP_TYPES.SET:return this.#a(this.onReply,this.#J(this.getTypeMapping(),r));case pt.RESP_TYPES.MAP:return this.#a(this.onReply,this.#te(this.getTypeMapping(),r));case pt.RESP_TYPES.PUSH:return this.#a(this.onPush,this.#q(pt.PUSH_TYPE_MAPPING,r));default:throw new Error(`Unknown RESP type ${e} "${String.fromCharCode(e)}"`)}}#a(e,r){return typeof r=="function"?(this.#t=this.#o.bind(this,e,r),!0):(e(r),!1)}#o(e,r,n){return this.#t=void 0,this.#a(e,r(n))}#s(){return this.#e+=2,null}#i(e){let r=e[this.#e]===Jr.t;return this.#e+=3,r}#c(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr["+"]:return this.#l(!1,r);case Jr["-"]:return this.#l(!0,r);default:return this.#h(!1,this.#p.bind(this,0),r)}}#l(e,r){let n=this.#p.bind(this,0);return++this.#e===r.length?this.#h.bind(this,e,n):this.#h(e,n,r)}#h(e,r,n){let s=r(n);return typeof s=="function"?this.#h.bind(this,e,s):e?-s:s}#p(e,r){let n=this.#e;do{let s=r[n];if(s===Jr["\r"])return this.#e=n+2,e;e=e*10+s-Jr[0]}while(++n<r.length);return this.#e=n,this.#p.bind(this,e)}#d(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr["+"]:return this.#f(!1,r);case Jr["-"]:return this.#f(!0,r);default:return this.#m(!1,this.#y.bind(this,0n),r)}}#f(e,r){let n=this.#y.bind(this,0n);return++this.#e===r.length?this.#m.bind(this,e,n):this.#m(e,n,r)}#m(e,r,n){let s=r(n);return typeof s=="function"?this.#m.bind(this,e,s):e?-s:s}#y(e,r){let n=this.#e;do{let s=r[n];if(s===Jr["\r"])return this.#e=n+2,e;e=e*10n+BigInt(s-Jr[0])}while(++n<r.length);return this.#e=n,this.#y.bind(this,e)}#g(e,r){if(e===String)return this.#x(String,r);switch(r[this.#e]){case Jr.n:return this.#e+=5,NaN;case Jr["+"]:return this.#E(!1,r);case Jr["-"]:return this.#E(!0,r);default:return this.#S(!1,0,r)}}#E(e,r){return++this.#e===r.length?this.#S.bind(this,e,0):this.#S(e,0,r)}#S(e,r,n){return n[this.#e]===Jr.i?(this.#e+=5,e?-1/0:1/0):this.#A(e,r,n)}#A(e,r,n){let s=this.#e;do{let i=n[s];switch(i){case Jr["."]:return this.#e=s+1,this.#e<n.length?this.#_(e,0,r,n):this.#_.bind(this,e,0,r);case Jr.E:case Jr.e:this.#e=s+1;let a=e?-r:r;return this.#e<n.length?this.#v(a,n):this.#v.bind(this,a);case Jr["\r"]:return this.#e=s+2,e?-r:r;default:r=r*10+i-Jr[0]}}while(++s<n.length);return this.#e=s,this.#A.bind(this,e,r)}static#C=[.1,.01,.001,1e-4,1e-5,1e-6,1e-7,1e-8,1e-9,1e-10,1e-11,1e-12,1e-13,1e-14,1e-15,1e-16,1e-17];#_(e,r,n,s){let i=this.#e;do{let a=s[i];switch(a){case Jr.E:case Jr.e:this.#e=i+1;let o=e?-n:n;return this.#e===s.length?this.#v.bind(this,o):this.#v(o,s);case Jr["\r"]:return this.#e=i+2,e?-n:n}r<RK.#C.length&&(n+=(a-Jr[0])*RK.#C[r++])}while(++i<s.length);return this.#e=i,this.#_.bind(this,e,r,n)}#v(e,r){switch(r[this.#e]){case Jr["+"]:return++this.#e===r.length?this.#b.bind(this,!1,e,0):this.#b(!1,e,0,r);case Jr["-"]:return++this.#e===r.length?this.#b.bind(this,!0,e,0):this.#b(!0,e,0,r)}return this.#b(!1,e,0,r)}#b(e,r,n,s){let i=this.#e;do{let a=s[i];if(a===Jr["\r"])return this.#e=i+2,r*10**(e?-n:n);n=n*10+a-Jr[0]}while(++i<s.length);return this.#e=i,this.#b.bind(this,e,r,n)}#u(e,r){for(;e[r]!==Jr["\r"];)if(++r===e.length)return this.#e=e.length,-1;return this.#e=r+2,r}#x(e,r){let n=this.#e,s=this.#u(r,n);if(s===-1)return this.#P.bind(this,[r.subarray(n)],e);let i=r.subarray(n,s);return e===Buffer?i:i.toString()}#P(e,r,n){let s=this.#e,i=this.#u(n,s);if(i===-1)return e.push(n.subarray(s)),this.#P.bind(this,e,r);e.push(n.subarray(s,i));let a=Buffer.concat(e);return r===Buffer?a:a.toString()}#T(e,r){if(r[this.#e]===Jr["-"])return this.#e+=4,null;let n=this.#p(0,r);return typeof n=="function"?this.#I.bind(this,n,e):this.#e>=r.length?this.#R.bind(this,n,e):this.#R(n,e,r)}#I(e,r,n){let s=e(n);return typeof s=="function"?this.#I.bind(this,s,r):this.#e>=n.length?this.#R.bind(this,s,r):this.#R(s,r,n)}#N(e,r,n,s){let i=this.#e+e;if(i>=s.length){let o=s.subarray(this.#e);return this.#e=s.length,this.#M.bind(this,e-o.length,[o],r,n)}let a=s.subarray(this.#e,i);return this.#e=i+r,n===Buffer?a:a.toString()}#M(e,r,n,s,i){let a=this.#e+e;if(a>=i.length){let c=i.subarray(this.#e);return r.push(c),this.#e=i.length,this.#M.bind(this,e-c.length,r,n,s)}r.push(i.subarray(this.#e,a)),this.#e=a+n;let o=Buffer.concat(r);return s===Buffer?o:o.toString()}#R(e,r,n){return this.#N(e,2,r,n)}#O(e,r){return this.#D(this.#p.bind(this,0),e,r)}#D(e,r,n){let s=e(n);return typeof s=="function"?this.#D.bind(this,s,r):this.#ce(s,r,n)}#ce(e,r,n){let s=e-4;return r===sWe.VerbatimString?this.#ue(s,n):(this.#e+=4,this.#e>=n.length?this.#R.bind(this,s,r):this.#R(s,r,n))}#ue(e,r){let n=this.#N.bind(this,3,1,String);return this.#e>=r.length?this.#F.bind(this,e,n):this.#F(e,n,r)}#F(e,r,n){let s=r(n);return typeof s=="function"?this.#F.bind(this,e,s):this.#le(e,s,n)}#le(e,r,n){return this.#H(r,this.#R.bind(this,e,String),n)}#H(e,r,n){let s=r(n);return typeof s=="function"?this.#H.bind(this,e,s):new sWe.VerbatimString(e,s)}#Q(e){let r=this.#x(String,e);return typeof r=="function"?this.#G.bind(this,r):new ZL.SimpleError(r)}#G(e,r){let n=e(r);return typeof n=="function"?this.#G.bind(this,n):new ZL.SimpleError(n)}#V(e){let r=this.#T(String,e);return typeof r=="function"?this.#z.bind(this,r):new ZL.BlobError(r)}#z(e,r){let n=e(r);return typeof n=="function"?this.#z.bind(this,n):new ZL.BlobError(n)}#w(e,r){let n=r[this.#e];return++this.#e===r.length?this.#U.bind(this,n,e):this.#U(n,e,r)}#U(e,r,n){switch(e){case pt.RESP_TYPES.NULL:return this.#s();case pt.RESP_TYPES.BOOLEAN:return this.#i(n);case pt.RESP_TYPES.NUMBER:return this.#c(r[pt.RESP_TYPES.NUMBER],n);case pt.RESP_TYPES.BIG_NUMBER:return this.#d(r[pt.RESP_TYPES.BIG_NUMBER],n);case pt.RESP_TYPES.DOUBLE:return this.#g(r[pt.RESP_TYPES.DOUBLE],n);case pt.RESP_TYPES.SIMPLE_STRING:return this.#x(r[pt.RESP_TYPES.SIMPLE_STRING],n);case pt.RESP_TYPES.BLOB_STRING:return this.#T(r[pt.RESP_TYPES.BLOB_STRING],n);case pt.RESP_TYPES.VERBATIM_STRING:return this.#O(r[pt.RESP_TYPES.VERBATIM_STRING],n);case pt.RESP_TYPES.SIMPLE_ERROR:return this.#Q(n);case pt.RESP_TYPES.BLOB_ERROR:return this.#V(n);case pt.RESP_TYPES.ARRAY:return this.#q(r,n);case pt.RESP_TYPES.SET:return this.#J(r,n);case pt.RESP_TYPES.MAP:return this.#te(r,n);default:throw new Error(`Unknown RESP type ${e} "${String.fromCharCode(e)}"`)}}#q(e,r){return r[this.#e]===Jr["-"]?(this.#e+=4,null):this.#K(this.#p(0,r),e,r)}#K(e,r,n){return typeof e=="function"?this.#de.bind(this,e,r):this.#k(new Array(e),0,r,n)}#de(e,r,n){return this.#K(e(n),r,n)}#k(e,r,n,s){for(let i=r;i<e.length;i++){if(this.#e>=s.length)return this.#k.bind(this,e,i,n);let a=this.#w(n,s);if(typeof a=="function")return this.#Y.bind(this,e,i,a,n);e[i]=a}return e}#Y(e,r,n,s,i){let a=n(i);return typeof a=="function"?this.#Y.bind(this,e,r,a,s):(e[r++]=a,this.#k(e,r,s,i))}#J(e,r){let n=this.#p(0,r);return typeof n=="function"?this.#X.bind(this,n,e):this.#Z(n,e,r)}#X(e,r,n){let s=e(n);return typeof s=="function"?this.#X.bind(this,s,r):this.#Z(s,r,n)}#Z(e,r,n){return r[pt.RESP_TYPES.SET]===Set?this.#j(new Set,e,r,n):this.#k(new Array(e),0,r,n)}#j(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#j.bind(this,e,r,n);let i=this.#w(n,s);if(typeof i=="function")return this.#ee.bind(this,e,r,i,n);e.add(i),--r}return e}#ee(e,r,n,s,i){let a=n(i);return typeof a=="function"?this.#ee.bind(this,e,r,a,s):(e.add(a),this.#j(e,r-1,s,i))}#te(e,r){let n=this.#p(0,r);return typeof n=="function"?this.#re.bind(this,n,e):this.#ne(n,e,r)}#re(e,r,n){let s=e(n);return typeof s=="function"?this.#re.bind(this,s,r):this.#ne(s,r,n)}#ne(e,r,n){switch(r[pt.RESP_TYPES.MAP]){case Map:return this.#W(new Map,e,r,n);case Array:return this.#k(new Array(e*2),0,r,n);default:return this.#$(Object.create(null),e,r,n)}}#W(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#W.bind(this,e,r,n);let i=this.#se(n,s);if(typeof i=="function")return this.#ae.bind(this,e,r,i,n);if(this.#e>=s.length)return this.#L.bind(this,e,r,i,this.#w.bind(this,n),n);let a=this.#w(n,s);if(typeof a=="function")return this.#L.bind(this,e,r,i,a,n);e.set(i,a),--r}return e}#se(e,r){let n=r[this.#e];return++this.#e===r.length?this.#ie.bind(this,n,e):this.#ie(n,e,r)}#ie(e,r,n){switch(e){case pt.RESP_TYPES.SIMPLE_STRING:return this.#x(String,n);case pt.RESP_TYPES.BLOB_STRING:return this.#T(String,n);default:return this.#U(e,r,n)}}#ae(e,r,n,s,i){let a=n(i);if(typeof a=="function")return this.#ae.bind(this,e,r,a,s);if(this.#e>=i.length)return this.#L.bind(this,e,r,a,this.#w.bind(this,s),s);let o=this.#w(s,i);return typeof o=="function"?this.#L.bind(this,e,r,a,o,s):(e.set(a,o),this.#W(e,r-1,s,i))}#L(e,r,n,s,i,a){let o=s(a);return typeof o=="function"?this.#L.bind(this,e,r,n,o,i):(e.set(n,o),this.#W(e,r-1,i,a))}#$(e,r,n,s){for(;r>0;){if(this.#e>=s.length)return this.#$.bind(this,e,r,n);let i=this.#se(n,s);if(typeof i=="function")return this.#oe.bind(this,e,r,i,n);if(this.#e>=s.length)return this.#B.bind(this,e,r,i,this.#w.bind(this,n),n);let a=this.#w(n,s);if(typeof a=="function")return this.#B.bind(this,e,r,i,a,n);e[i]=a,--r}return e}#oe(e,r,n,s,i){let a=n(i);if(typeof a=="function")return this.#oe.bind(this,e,r,a,s);if(this.#e>=i.length)return this.#B.bind(this,e,r,a,this.#w.bind(this,s),s);let o=this.#w(s,i);return typeof o=="function"?this.#B.bind(this,e,r,a,o,s):(e[a]=o,this.#$(e,r-1,s,i))}#B(e,r,n,s,i,a){let o=s(a);return typeof o=="function"?this.#B.bind(this,e,r,n,o,i):(e[n]=o,this.#$(e,r-1,i,a))}};pt.Decoder=eB;RK=eB});var aWe=E(xb=>{"use strict";Object.defineProperty(xb,"__esModule",{value:!0});xb.scriptSha1=xb.defineScript=void 0;var tar=require("node:crypto");function rar(t){return{...t,SHA1:iWe(t.SCRIPT)}}xb.defineScript=rar;function iWe(t){return(0,tar.createHash)("sha1").update(t).digest("hex")}xb.scriptSha1=iWe});var oWe=E(rB=>{"use strict";Object.defineProperty(rB,"__esModule",{value:!0});rB.digest=void 0;var NK=null;async function nar(){if(!NK)try{NK=(await import("@node-rs/xxhash")).xxh3}catch{throw new Error('The "digest" function requires the "@node-rs/xxhash" package, but it was not found.')}return NK}async function sar(t){let e=await nar(),r=typeof t=="string"?t:new Uint8Array(t);return e.xxh64(r).toString(16).padStart(16,"0")}rB.digest=sar});var cWe=E(OK=>{"use strict";Object.defineProperty(OK,"__esModule",{value:!0});OK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","CAT"),e&&t.push(e)},transformReply:void 0}});var uWe=E(PK=>{"use strict";Object.defineProperty(PK,"__esModule",{value:!0});PK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","DELUSER"),t.pushVariadic(e)},transformReply:void 0}});var lWe=E(DK=>{"use strict";Object.defineProperty(DK,"__esModule",{value:!0});DK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ACL","DRYRUN",e,...r)},transformReply:void 0}});var dWe=E(kK=>{"use strict";Object.defineProperty(kK,"__esModule",{value:!0});kK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","GENPASS"),e&&t.push(e.toString())},transformReply:void 0}});var fWe=E(LK=>{"use strict";Object.defineProperty(LK,"__esModule",{value:!0});LK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","GETUSER",e)},transformReply:{2:t=>({flags:t[1],passwords:t[3],commands:t[5],keys:t[7],channels:t[9],selectors:t[11]?.map(e=>{let r=e;return{commands:r[1],keys:r[3],channels:r[5]}})}),3:void 0}}});var pWe=E(BK=>{"use strict";Object.defineProperty(BK,"__esModule",{value:!0});BK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","LIST")},transformReply:void 0}});var mWe=E(MK=>{"use strict";Object.defineProperty(MK,"__esModule",{value:!0});MK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","LOAD")},transformReply:void 0}});var Dl=E(nB=>{"use strict";Object.defineProperty(nB,"__esModule",{value:!0});nB.BasicCommandParser=void 0;var WK=class{#e=[];#t=[];preserve;get redisArgs(){return this.#e}get keys(){return this.#t}get firstKey(){return this.#t[0]}get cacheKey(){let e=new Array(this.#e.length*2);for(let r=0;r<this.#e.length;r++)e[r]=this.#e[r].length,e[r+this.#e.length]=this.#e[r];return e.join("_")}push(...e){this.#e.push(...e)}pushVariadic(e){if(Array.isArray(e))for(let r of e)this.push(r);else this.push(e)}pushVariadicWithLength(e){Array.isArray(e)?this.#e.push(e.length.toString()):this.#e.push("1"),this.pushVariadic(e)}pushVariadicNumber(e){if(Array.isArray(e))for(let r of e)this.push(r.toString());else this.push(e.toString())}pushKey(e){this.#t.push(e),this.#e.push(e)}pushKeysLength(e){Array.isArray(e)?this.#e.push(e.length.toString()):this.#e.push("1"),this.pushKeys(e)}pushKeys(e){Array.isArray(e)?(this.#t.push(...e),this.#e.push(...e)):(this.#t.push(e),this.#e.push(e))}};nB.BasicCommandParser=WK});var Ie=E(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.transformRedisJsonNullReply=Le.transformRedisJsonReply=Le.transformRedisJsonArgument=Le.transformStreamsMessagesReplyResp3=Le.transformStreamsMessagesReplyResp2=Le.transformStreamMessagesReply=Le.transformStreamMessageNullReply=Le.transformStreamMessageReply=Le.parseArgs=Le.parseZKeysArguments=Le.transformRangeReply=Le.parseSlotRangesArguments=Le.transformFunctionListItemReply=Le.RedisFunctionFlags=Le.transformCommandReply=Le.CommandCategories=Le.CommandFlags=Le.parseOptionalVariadicArgument=Le.pushVariadicArgument=Le.pushVariadicNumberArguments=Le.pushVariadicArguments=Le.pushEvalArguments=Le.evalFirstKeyIndex=Le.transformPXAT=Le.transformEXAT=Le.transformSortedSetReply=Le.transformTuplesReply=Le.createTransformTuplesReplyFunc=Le.transformTuplesToMap=Le.transformNullableDoubleReply=Le.createTransformNullableDoubleReplyResp2Func=Le.transformDoubleArrayReply=Le.createTransformDoubleReplyResp2Func=Le.transformDoubleReply=Le.transformStringDoubleArgument=Le.transformDoubleArgument=Le.transformBooleanArrayReply=Le.transformBooleanReply=Le.isArrayReply=Le.isNullReply=void 0;var iar=Dl(),$K=tB();function FK(t){return t===null}Le.isNullReply=FK;function aar(t){return Array.isArray(t)}Le.isArrayReply=aar;Le.transformBooleanReply={2:t=>t===1,3:void 0};Le.transformBooleanArrayReply={2:t=>t.map(Le.transformBooleanReply[2]),3:void 0};function sB(t){switch(t){case 1/0:return"+inf";case-1/0:return"-inf";default:return t.toString()}}Le.transformDoubleArgument=sB;function oar(t){return typeof t!="number"?t:sB(t)}Le.transformStringDoubleArgument=oar;Le.transformDoubleReply={2:(t,e,r)=>{switch(r?r[$K.RESP_TYPES.DOUBLE]:void 0){case String:return t;default:{let s;switch(t.toString()){case"inf":case"+inf":s=1/0;case"-inf":s=-1/0;case"nan":s=NaN;default:s=Number(t)}return s}}},3:void 0};function xWe(t,e){return r=>Le.transformDoubleReply[2](r,t,e)}Le.createTransformDoubleReplyResp2Func=xWe;Le.transformDoubleArrayReply={2:(t,e,r)=>t.map(xWe(e,r)),3:void 0};function car(t,e){return r=>Le.transformNullableDoubleReply[2](r,t,e)}Le.createTransformNullableDoubleReplyResp2Func=car;Le.transformNullableDoubleReply={2:(t,e,r)=>t===null?null:Le.transformDoubleReply[2](t,e,r),3:void 0};function uar(t,e){let r=Object.create(null);for(let n=0;n<t.length;n+=2)r[t[n].toString()]=e(t[n+1]);return r}Le.transformTuplesToMap=uar;function lar(t,e){return r=>UK(r,t,e)}Le.createTransformTuplesReplyFunc=lar;function UK(t,e,r){let n=r?r[$K.RESP_TYPES.MAP]:void 0,s=t;switch(n){case Array:return t;case Map:{let i=new Map;for(let a=0;a<s.length;a+=2)i.set(s[a].toString(),s[a+1]);return i}default:{let i=Object.create(null);for(let a=0;a<s.length;a+=2)i[s[a].toString()]=s[a+1];return i}}}Le.transformTuplesReply=UK;Le.transformSortedSetReply={2:(t,e,r)=>{let n=t,s=[];for(let i=0;i<n.length;i+=2)s.push({value:n[i],score:Le.transformDoubleReply[2](n[i+1],e,r)});return s},3:t=>t.map(e=>{let[r,n]=e;return{value:r,score:n}})};function dar(t){return(typeof t=="number"?t:Math.floor(t.getTime()/1e3)).toString()}Le.transformEXAT=dar;function far(t){return(typeof t=="number"?t:t.getTime()).toString()}Le.transformPXAT=far;function par(t){return t?.keys?.[0]}Le.evalFirstKeyIndex=par;function mar(t,e){return e?.keys?t.push(e.keys.length.toString(),...e.keys):t.push("0"),e?.arguments&&t.push(...e.arguments),t}Le.pushEvalArguments=mar;function har(t,e){return Array.isArray(e)?t=t.concat(e):t.push(e),t}Le.pushVariadicArguments=har;function gar(t,e){if(Array.isArray(e))for(let r of e)t.push(r.toString());else t.push(e.toString());return t}Le.pushVariadicNumberArguments=gar;function Aar(t,e){return Array.isArray(e)?t.push(e.length.toString(),...e):t.push("1",e),t}Le.pushVariadicArgument=Aar;function yar(t,e,r){r!==void 0&&(t.push(e),t.pushVariadicWithLength(r))}Le.parseOptionalVariadicArgument=yar;var hWe;(function(t){t.WRITE="write",t.READONLY="readonly",t.DENYOOM="denyoom",t.ADMIN="admin",t.PUBSUB="pubsub",t.NOSCRIPT="noscript",t.RANDOM="random",t.SORT_FOR_SCRIPT="sort_for_script",t.LOADING="loading",t.STALE="stale",t.SKIP_MONITOR="skip_monitor",t.ASKING="asking",t.FAST="fast",t.MOVABLEKEYS="movablekeys"})(hWe||(Le.CommandFlags=hWe={}));var gWe;(function(t){t.KEYSPACE="@keyspace",t.READ="@read",t.WRITE="@write",t.SET="@set",t.SORTEDSET="@sortedset",t.LIST="@list",t.HASH="@hash",t.STRING="@string",t.BITMAP="@bitmap",t.HYPERLOGLOG="@hyperloglog",t.GEO="@geo",t.STREAM="@stream",t.PUBSUB="@pubsub",t.ADMIN="@admin",t.FAST="@fast",t.SLOW="@slow",t.BLOCKING="@blocking",t.DANGEROUS="@dangerous",t.CONNECTION="@connection",t.TRANSACTION="@transaction",t.SCRIPTING="@scripting"})(gWe||(Le.CommandCategories=gWe={}));function xar([t,e,r,n,s,i,a]){return{name:t,arity:e,flags:new Set(r),firstKeyIndex:n,lastKeyIndex:s,step:i,categories:new Set(a)}}Le.transformCommandReply=xar;var AWe;(function(t){t.NO_WRITES="no-writes",t.ALLOW_OOM="allow-oom",t.ALLOW_STALE="allow-stale",t.NO_CLUSTER="no-cluster"})(AWe||(Le.RedisFunctionFlags=AWe={}));function bar(t){return{libraryName:t[1],engine:t[3],functions:t[5].map(e=>({name:e[1],description:e[3],flags:e[5]}))}}Le.transformFunctionListItemReply=bar;function yWe(t,e){t.push(e.start.toString(),e.end.toString())}function Ear(t,e){if(Array.isArray(e))for(let r of e)yWe(t,r);else yWe(t,e)}Le.parseSlotRangesArguments=Ear;function _ar([t,e]){return{start:t,end:e}}Le.transformRangeReply=_ar;function Sar(t,e){if(Array.isArray(e)){if(t.push(e.length.toString()),e.length)if(Car(e))t.pushKeys(e);else{for(let r=0;r<e.length;r++)t.pushKey(e[r].key);t.push("WEIGHTS");for(let r=0;r<e.length;r++)t.push(sB(e[r].weight))}}else t.push("1"),bWe(e)?t.pushKey(e):(t.pushKey(e.key),t.push("WEIGHTS",sB(e.weight)))}Le.parseZKeysArguments=Sar;function bWe(t){return typeof t=="string"||t instanceof Buffer}function Car(t){return bWe(t[0])}function Iar(t,...e){let r=new iar.BasicCommandParser;t.parseCommand(r,...e);let n=r.redisArgs;return r.preserve&&(n.preserve=r.preserve),n}Le.parseArgs=Iar;function qK(t,e){let[r,n,s,i]=e;return{id:r,message:UK(n,void 0,t),...s!==void 0?{millisElapsedFromDelivery:s}:{},...i!==void 0?{deliveriesCounter:i}:{}}}Le.transformStreamMessageReply=qK;function Tar(t,e){return FK(e)?e:qK(t,e)}Le.transformStreamMessageNullReply=Tar;function FC(t,e){return t.map(qK.bind(void 0,e))}Le.transformStreamMessagesReply=FC;function war(t,e,r){if(t===null)return null;switch(r?r[$K.RESP_TYPES.MAP]:void 0){default:{let n=[];for(let s=0;s<t.length;s++){let i=t[s];n.push({name:i[0],messages:FC(i[1])})}return n}}}Le.transformStreamsMessagesReplyResp2=war;function Rar(t){if(t===null)return null;if(t instanceof Map){let e=new Map;for(let[r,n]of t){let s=r;e.set(s.toString(),FC(n))}return e}else if(t instanceof Array){let e=[];for(let r=0;r<t.length;r+=2){let n=t[r],s=t[r+1];e.push(n),e.push(FC(s))}return e}else{let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=FC(n);return e}}Le.transformStreamsMessagesReplyResp3=Rar;function Nar(t){return JSON.stringify(t)}Le.transformRedisJsonArgument=Nar;function EWe(t){return JSON.parse(t.toString())}Le.transformRedisJsonReply=EWe;function Oar(t){return FK(t)?t:EWe(t)}Le.transformRedisJsonNullReply=Oar});var HK=E(jK=>{"use strict";Object.defineProperty(jK,"__esModule",{value:!0});var Par=Ie();jK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ACL","LOG"),e!=null&&t.push(e.toString())},transformReply:{2:(t,e,r)=>t.map(n=>{let s=n;return{count:s[1],reason:s[3],context:s[5],object:s[7],username:s[9],"age-seconds":Par.transformDoubleReply[2](s[11],e,r),"client-info":s[13],"entry-id":s[15],"timestamp-created":s[17],"timestamp-last-updated":s[19]}}),3:void 0}}});var _We=E(UC=>{"use strict";var Dar=UC&&UC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UC,"__esModule",{value:!0});var kar=Dar(HK());UC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:kar.default.IS_READ_ONLY,parseCommand(t){t.push("ACL","LOG","RESET")},transformReply:void 0}});var SWe=E(QK=>{"use strict";Object.defineProperty(QK,"__esModule",{value:!0});QK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","SAVE")},transformReply:void 0}});var vWe=E(GK=>{"use strict";Object.defineProperty(GK,"__esModule",{value:!0});GK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ACL","SETUSER",e),t.pushVariadic(r)},transformReply:void 0}});var CWe=E(VK=>{"use strict";Object.defineProperty(VK,"__esModule",{value:!0});VK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","USERS")},transformReply:void 0}});var IWe=E(zK=>{"use strict";Object.defineProperty(zK,"__esModule",{value:!0});zK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ACL","WHOAMI")},transformReply:void 0}});var TWe=E(KK=>{"use strict";Object.defineProperty(KK,"__esModule",{value:!0});KK.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("APPEND",e,r)},transformReply:void 0}});var YK=E(bb=>{"use strict";Object.defineProperty(bb,"__esModule",{value:!0});bb.ASKING_CMD=void 0;bb.ASKING_CMD="ASKING";bb.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push(bb.ASKING_CMD)},transformReply:void 0}});var wWe=E(JK=>{"use strict";Object.defineProperty(JK,"__esModule",{value:!0});JK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,{username:e,password:r}){t.push("AUTH"),e!==void 0&&t.push(e),t.push(r)},transformReply:void 0}});var RWe=E(XK=>{"use strict";Object.defineProperty(XK,"__esModule",{value:!0});XK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("BGREWRITEAOF")},transformReply:void 0}});var NWe=E(ZK=>{"use strict";Object.defineProperty(ZK,"__esModule",{value:!0});ZK.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("BGSAVE"),e?.SCHEDULE&&t.push("SCHEDULE")},transformReply:void 0}});var OWe=E(eY=>{"use strict";Object.defineProperty(eY,"__esModule",{value:!0});eY.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BITCOUNT"),t.pushKey(e),r&&(t.push(r.start.toString()),t.push(r.end.toString()),r.mode&&t.push(r.mode))},transformReply:void 0}});var PWe=E(tY=>{"use strict";Object.defineProperty(tY,"__esModule",{value:!0});tY.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BITFIELD_RO"),t.pushKey(e);for(let n of r)t.push("GET"),t.push(n.encoding),t.push(n.offset.toString())},transformReply:void 0}});var DWe=E(rY=>{"use strict";Object.defineProperty(rY,"__esModule",{value:!0});rY.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BITFIELD"),t.pushKey(e);for(let n of r)switch(n.operation){case"GET":t.push("GET",n.encoding,n.offset.toString());break;case"SET":t.push("SET",n.encoding,n.offset.toString(),n.value.toString());break;case"INCRBY":t.push("INCRBY",n.encoding,n.offset.toString(),n.increment.toString());break;case"OVERFLOW":t.push("OVERFLOW",n.behavior);break}},transformReply:void 0}});var kWe=E(nY=>{"use strict";Object.defineProperty(nY,"__esModule",{value:!0});nY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BITOP",e),t.pushKey(r),t.pushKeys(n)},transformReply:void 0}});var LWe=E(sY=>{"use strict";Object.defineProperty(sY,"__esModule",{value:!0});sY.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s,i){t.push("BITPOS"),t.pushKey(e),t.push(r.toString()),n!==void 0&&t.push(n.toString()),s!==void 0&&t.push(s.toString()),i&&t.push(i)},transformReply:void 0}});var BWe=E(iY=>{"use strict";Object.defineProperty(iY,"__esModule",{value:!0});iY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("BLMOVE"),t.pushKeys([e,r]),t.push(n,s,i.toString())},transformReply:void 0}});var aY=E(qC=>{"use strict";Object.defineProperty(qC,"__esModule",{value:!0});qC.parseLMPopArguments=void 0;function MWe(t,e,r,n){t.pushKeysLength(e),t.push(r),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString())}qC.parseLMPopArguments=MWe;qC.default={IS_READ_ONLY:!1,parseCommand(t,...e){t.push("LMPOP"),MWe(t,...e)},transformReply:void 0}});var $We=E(pf=>{"use strict";var Lar=pf&&pf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Bar=pf&&pf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Mar=pf&&pf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Lar(e,t,r);return Bar(e,t),e};Object.defineProperty(pf,"__esModule",{value:!0});var WWe=Mar(aY());pf.default={IS_READ_ONLY:!1,parseCommand(t,e,...r){t.push("BLMPOP",e.toString()),(0,WWe.parseLMPopArguments)(t,...r)},transformReply:WWe.default.transformReply}});var cY=E(oY=>{"use strict";Object.defineProperty(oY,"__esModule",{value:!0});oY.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BLPOP"),t.pushKeys(e),t.push(r.toString())},transformReply(t){return t===null?null:{key:t[0],element:t[1]}}}});var FWe=E(jC=>{"use strict";var War=jC&&jC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jC,"__esModule",{value:!0});var $ar=War(cY());jC.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BRPOP"),t.pushKeys(e),t.push(r.toString())},transformReply:$ar.default.transformReply}});var UWe=E(uY=>{"use strict";Object.defineProperty(uY,"__esModule",{value:!0});uY.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BRPOPLPUSH"),t.pushKeys([e,r]),t.push(n.toString())},transformReply:void 0}});var lY=E(HC=>{"use strict";Object.defineProperty(HC,"__esModule",{value:!0});HC.parseZMPopArguments=void 0;var qWe=Ie();function jWe(t,e,r,n){t.pushKeysLength(e),t.push(r),n?.COUNT&&t.push("COUNT",n.COUNT.toString())}HC.parseZMPopArguments=jWe;HC.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZMPOP"),jWe(t,e,r,n)},transformReply:{2(t,e,r){return t===null?null:{key:t[0],members:t[1].map(n=>{let[s,i]=n;return{value:s,score:qWe.transformDoubleReply[2](i,e,r)}})}},3(t){return t===null?null:{key:t[0],members:qWe.transformSortedSetReply[3](t[1])}}}}});var QWe=E(mf=>{"use strict";var Far=mf&&mf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Uar=mf&&mf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qar=mf&&mf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Far(e,t,r);return Uar(e,t),e};Object.defineProperty(mf,"__esModule",{value:!0});var HWe=qar(lY());mf.default={IS_READ_ONLY:!1,parseCommand(t,e,...r){t.push("BZMPOP",e.toString()),(0,HWe.parseZMPopArguments)(t,...r)},transformReply:HWe.default.transformReply}});var fY=E(dY=>{"use strict";Object.defineProperty(dY,"__esModule",{value:!0});var jar=Ie();dY.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BZPOPMAX"),t.pushKeys(e),t.push(r.toString())},transformReply:{2(t,e,r){return t===null?null:{key:t[0],value:t[1],score:jar.transformDoubleReply[2](t[2],e,r)}},3(t){return t===null?null:{key:t[0],value:t[1],score:t[2]}}}}});var VWe=E(QC=>{"use strict";var Har=QC&&QC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QC,"__esModule",{value:!0});var GWe=Har(fY());QC.default={IS_READ_ONLY:GWe.default.IS_READ_ONLY,parseCommand(t,e,r){t.push("BZPOPMIN"),t.pushKeys(e),t.push(r.toString())},transformReply:GWe.default.transformReply}});var zWe=E(pY=>{"use strict";Object.defineProperty(pY,"__esModule",{value:!0});pY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","CACHING",e?"YES":"NO")},transformReply:void 0}});var KWe=E(mY=>{"use strict";Object.defineProperty(mY,"__esModule",{value:!0});mY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","GETNAME")},transformReply:void 0}});var YWe=E(hY=>{"use strict";Object.defineProperty(hY,"__esModule",{value:!0});hY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","GETREDIR")},transformReply:void 0}});var JWe=E(gY=>{"use strict";Object.defineProperty(gY,"__esModule",{value:!0});gY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","ID")},transformReply:void 0}});var yY=E(AY=>{"use strict";Object.defineProperty(AY,"__esModule",{value:!0});var Qar=/([^\s=]+)=([^\s]*)/g;AY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","INFO")},transformReply(t){let e={};for(let n of t.toString().matchAll(Qar))e[n[1]]=n[2];let r={id:Number(e.id),addr:e.addr,fd:Number(e.fd),name:e.name,age:Number(e.age),idle:Number(e.idle),flags:e.flags,db:Number(e.db),sub:Number(e.sub),psub:Number(e.psub),multi:Number(e.multi),qbuf:Number(e.qbuf),qbufFree:Number(e["qbuf-free"]),argvMem:Number(e["argv-mem"]),obl:Number(e.obl),oll:Number(e.oll),omem:Number(e.omem),totMem:Number(e["tot-mem"]),events:e.events,cmd:e.cmd,user:e.user,libName:e["lib-name"],libVer:e["lib-ver"]};return e.laddr!==void 0&&(r.laddr=e.laddr),e.redir!==void 0&&(r.redir=Number(e.redir)),e.ssub!==void 0&&(r.ssub=Number(e.ssub)),e["multi-mem"]!==void 0&&(r.multiMem=Number(e["multi-mem"])),e.resp!==void 0&&(r.resp=Number(e.resp)),r}}});var ZWe=E(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.CLIENT_KILL_FILTERS=void 0;Oo.CLIENT_KILL_FILTERS={ADDRESS:"ADDR",LOCAL_ADDRESS:"LADDR",ID:"ID",TYPE:"TYPE",USER:"USER",SKIP_ME:"SKIPME",MAXAGE:"MAXAGE"};Oo.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){if(t.push("CLIENT","KILL"),Array.isArray(e))for(let r of e)XWe(t,r);else XWe(t,e)},transformReply:void 0};function XWe(t,e){if(e===Oo.CLIENT_KILL_FILTERS.SKIP_ME){t.push("SKIPME");return}switch(t.push(e.filter),e.filter){case Oo.CLIENT_KILL_FILTERS.ADDRESS:t.push(e.address);break;case Oo.CLIENT_KILL_FILTERS.LOCAL_ADDRESS:t.push(e.localAddress);break;case Oo.CLIENT_KILL_FILTERS.ID:t.push(typeof e.id=="number"?e.id.toString():e.id);break;case Oo.CLIENT_KILL_FILTERS.TYPE:t.push(e.type);break;case Oo.CLIENT_KILL_FILTERS.USER:t.push(e.username);break;case Oo.CLIENT_KILL_FILTERS.SKIP_ME:t.push(e.skipMe?"yes":"no");break;case Oo.CLIENT_KILL_FILTERS.MAXAGE:t.push(e.maxAge.toString());break}}});var e$e=E(GC=>{"use strict";var Gar=GC&&GC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(GC,"__esModule",{value:!0});var Var=Gar(yY());GC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","LIST"),e&&(e.TYPE!==void 0?t.push("TYPE",e.TYPE):(t.push("ID"),t.pushVariadic(e.ID)))},transformReply(t){let e=t.toString().split(`
|
|
`),r=e.length-1,n=[];for(let s=0;s<r;s++)n.push(Var.default.transformReply(e[s]));return n}}});var t$e=E(xY=>{"use strict";Object.defineProperty(xY,"__esModule",{value:!0});xY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","NO-EVICT",e?"ON":"OFF")},transformReply:void 0}});var r$e=E(bY=>{"use strict";Object.defineProperty(bY,"__esModule",{value:!0});bY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","NO-TOUCH",e?"ON":"OFF")},transformReply:void 0}});var n$e=E(EY=>{"use strict";Object.defineProperty(EY,"__esModule",{value:!0});EY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLIENT","PAUSE",e.toString()),r&&t.push(r)},transformReply:void 0}});var s$e=E(_Y=>{"use strict";Object.defineProperty(_Y,"__esModule",{value:!0});_Y.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLIENT","SETNAME",e)},transformReply:void 0}});var i$e=E(SY=>{"use strict";Object.defineProperty(SY,"__esModule",{value:!0});SY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){if(t.push("CLIENT","TRACKING",e?"ON":"OFF"),e){if(r?.REDIRECT&&t.push("REDIRECT",r.REDIRECT.toString()),zar(r)){if(t.push("BCAST"),r?.PREFIX)if(Array.isArray(r.PREFIX))for(let n of r.PREFIX)t.push("PREFIX",n);else t.push("PREFIX",r.PREFIX)}else Kar(r)?t.push("OPTIN"):Yar(r)&&t.push("OPTOUT");r?.NOLOOP&&t.push("NOLOOP")}},transformReply:void 0};function zar(t){return t?.BCAST===!0}function Kar(t){return t?.OPTIN===!0}function Yar(t){return t?.OPTOUT===!0}});var a$e=E(vY=>{"use strict";Object.defineProperty(vY,"__esModule",{value:!0});vY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","TRACKINGINFO")},transformReply:{2:t=>({flags:t[1],redirect:t[3],prefixes:t[5]}),3:void 0}}});var o$e=E(CY=>{"use strict";Object.defineProperty(CY,"__esModule",{value:!0});CY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLIENT","UNPAUSE")},transformReply:void 0}});var c$e=E(IY=>{"use strict";Object.defineProperty(IY,"__esModule",{value:!0});IY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","ADDSLOTS"),t.pushVariadicNumber(e)},transformReply:void 0}});var u$e=E(TY=>{"use strict";Object.defineProperty(TY,"__esModule",{value:!0});var Jar=Ie();TY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","ADDSLOTSRANGE"),(0,Jar.parseSlotRangesArguments)(t,e)},transformReply:void 0}});var l$e=E(wY=>{"use strict";Object.defineProperty(wY,"__esModule",{value:!0});wY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","BUMPEPOCH")},transformReply:void 0}});var d$e=E(RY=>{"use strict";Object.defineProperty(RY,"__esModule",{value:!0});RY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","COUNT-FAILURE-REPORTS",e)},transformReply:void 0}});var f$e=E(NY=>{"use strict";Object.defineProperty(NY,"__esModule",{value:!0});NY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","COUNTKEYSINSLOT",e.toString())},transformReply:void 0}});var p$e=E(OY=>{"use strict";Object.defineProperty(OY,"__esModule",{value:!0});OY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","DELSLOTS"),t.pushVariadicNumber(e)},transformReply:void 0}});var m$e=E(PY=>{"use strict";Object.defineProperty(PY,"__esModule",{value:!0});var Xar=Ie();PY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","DELSLOTSRANGE"),(0,Xar.parseSlotRangesArguments)(t,e)},transformReply:void 0}});var h$e=E(VC=>{"use strict";Object.defineProperty(VC,"__esModule",{value:!0});VC.FAILOVER_MODES=void 0;VC.FAILOVER_MODES={FORCE:"FORCE",TAKEOVER:"TAKEOVER"};VC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","FAILOVER"),e?.mode&&t.push(e.mode)},transformReply:void 0}});var g$e=E(DY=>{"use strict";Object.defineProperty(DY,"__esModule",{value:!0});DY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","FLUSHSLOTS")},transformReply:void 0}});var A$e=E(kY=>{"use strict";Object.defineProperty(kY,"__esModule",{value:!0});kY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","FORGET",e)},transformReply:void 0}});var y$e=E(LY=>{"use strict";Object.defineProperty(LY,"__esModule",{value:!0});LY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLUSTER","GETKEYSINSLOT",e.toString(),r.toString())},transformReply:void 0}});var x$e=E(BY=>{"use strict";Object.defineProperty(BY,"__esModule",{value:!0});BY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","INFO")},transformReply:void 0}});var b$e=E(MY=>{"use strict";Object.defineProperty(MY,"__esModule",{value:!0});MY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","KEYSLOT",e)},transformReply:void 0}});var E$e=E(WY=>{"use strict";Object.defineProperty(WY,"__esModule",{value:!0});WY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","LINKS")},transformReply:{2:t=>t.map(e=>{let r=e;return{direction:r[1],node:r[3],"create-time":r[5],events:r[7],"send-buffer-allocated":r[9],"send-buffer-used":r[11]}}),3:void 0}}});var _$e=E($Y=>{"use strict";Object.defineProperty($Y,"__esModule",{value:!0});$Y.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CLUSTER","MEET",e,r.toString())},transformReply:void 0}});var S$e=E(FY=>{"use strict";Object.defineProperty(FY,"__esModule",{value:!0});FY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","MYID")},transformReply:void 0}});var v$e=E(UY=>{"use strict";Object.defineProperty(UY,"__esModule",{value:!0});UY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","MYSHARDID")},transformReply:void 0}});var C$e=E(qY=>{"use strict";Object.defineProperty(qY,"__esModule",{value:!0});qY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","NODES")},transformReply:void 0}});var I$e=E(jY=>{"use strict";Object.defineProperty(jY,"__esModule",{value:!0});jY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","REPLICAS",e)},transformReply:void 0}});var T$e=E(HY=>{"use strict";Object.defineProperty(HY,"__esModule",{value:!0});HY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","REPLICATE",e)},transformReply:void 0}});var w$e=E(QY=>{"use strict";Object.defineProperty(QY,"__esModule",{value:!0});QY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","RESET"),e?.mode&&t.push(e.mode)},transformReply:void 0}});var R$e=E(GY=>{"use strict";Object.defineProperty(GY,"__esModule",{value:!0});GY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","SAVECONFIG")},transformReply:void 0}});var N$e=E(VY=>{"use strict";Object.defineProperty(VY,"__esModule",{value:!0});VY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CLUSTER","SET-CONFIG-EPOCH",e.toString())},transformReply:void 0}});var O$e=E(zC=>{"use strict";Object.defineProperty(zC,"__esModule",{value:!0});zC.CLUSTER_SLOT_STATES=void 0;zC.CLUSTER_SLOT_STATES={IMPORTING:"IMPORTING",MIGRATING:"MIGRATING",STABLE:"STABLE",NODE:"NODE"};zC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("CLUSTER","SETSLOT",e.toString(),r),n&&t.push(n)},transformReply:void 0}});var D$e=E(zY=>{"use strict";Object.defineProperty(zY,"__esModule",{value:!0});zY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CLUSTER","SLOTS")},transformReply(t){return t.map(([e,r,n,...s])=>({from:e,to:r,master:P$e(n),replicas:s.map(P$e)}))}};function P$e(t){let[e,r,n]=t;return{host:e,port:r,id:n}}});var k$e=E(KY=>{"use strict";Object.defineProperty(KY,"__esModule",{value:!0});KY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("COMMAND","COUNT")},transformReply:void 0}});var L$e=E(YY=>{"use strict";Object.defineProperty(YY,"__esModule",{value:!0});YY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","GETKEYS"),t.push(...e)},transformReply:void 0}});var B$e=E(JY=>{"use strict";Object.defineProperty(JY,"__esModule",{value:!0});JY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","GETKEYSANDFLAGS"),t.push(...e)},transformReply(t){return t.map(e=>{let[r,n]=e;return{key:r,flags:n}})}}});var M$e=E(XY=>{"use strict";Object.defineProperty(XY,"__esModule",{value:!0});var Zar=Ie();XY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","INFO",...e)},transformReply(t){return t.map(e=>e?(0,Zar.transformCommandReply)(e):null)}}});var W$e=E(KC=>{"use strict";Object.defineProperty(KC,"__esModule",{value:!0});KC.COMMAND_LIST_FILTER_BY=void 0;KC.COMMAND_LIST_FILTER_BY={MODULE:"MODULE",ACLCAT:"ACLCAT",PATTERN:"PATTERN"};KC.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("COMMAND","LIST"),e?.FILTERBY&&t.push("FILTERBY",e.FILTERBY.type,e.FILTERBY.value)},transformReply:void 0}});var $$e=E(ZY=>{"use strict";Object.defineProperty(ZY,"__esModule",{value:!0});var eor=Ie();ZY.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("COMMAND")},transformReply(t){return t.map(eor.transformCommandReply)}}});var F$e=E(eJ=>{"use strict";Object.defineProperty(eJ,"__esModule",{value:!0});var tor=Ie();eJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("CONFIG","GET"),t.pushVariadic(e)},transformReply:{2:tor.transformTuplesReply,3:void 0}}});var U$e=E(tJ=>{"use strict";Object.defineProperty(tJ,"__esModule",{value:!0});tJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CONFIG","RESETSTAT")},transformReply:void 0}});var q$e=E(rJ=>{"use strict";Object.defineProperty(rJ,"__esModule",{value:!0});rJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("CONFIG","REWRITE")},transformReply:void 0}});var j$e=E(nJ=>{"use strict";Object.defineProperty(nJ,"__esModule",{value:!0});nJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,...[e,r]){if(t.push("CONFIG","SET"),typeof e=="string"||e instanceof Buffer)t.push(e,r);else for(let[n,s]of Object.entries(e))t.push(n,s)},transformReply:void 0}});var H$e=E(sJ=>{"use strict";Object.defineProperty(sJ,"__esModule",{value:!0});sJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("COPY"),t.pushKeys([e,r]),n?.DB&&t.push("DB",n.DB.toString()),n?.REPLACE&&t.push("REPLACE")},transformReply:void 0}});var Q$e=E(iJ=>{"use strict";Object.defineProperty(iJ,"__esModule",{value:!0});iJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("DBSIZE")},transformReply:void 0}});var G$e=E(aJ=>{"use strict";Object.defineProperty(aJ,"__esModule",{value:!0});aJ.default={parseCommand(t,e){t.push("DECR"),t.pushKey(e)},transformReply:void 0}});var V$e=E(oJ=>{"use strict";Object.defineProperty(oJ,"__esModule",{value:!0});oJ.default={parseCommand(t,e,r){t.push("DECRBY"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var z$e=E(cJ=>{"use strict";Object.defineProperty(cJ,"__esModule",{value:!0});cJ.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("DEL"),t.pushKeys(e)},transformReply:void 0}});var K$e=E(YC=>{"use strict";Object.defineProperty(YC,"__esModule",{value:!0});YC.DelexCondition=void 0;YC.DelexCondition={IFEQ:"IFEQ",IFNE:"IFNE",IFDEQ:"IFDEQ",IFDNE:"IFDNE"};YC.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("DELEX"),t.pushKey(e),r&&(t.push(r.condition),t.push(r.matchValue))},transformReply:void 0}});var Y$e=E(uJ=>{"use strict";Object.defineProperty(uJ,"__esModule",{value:!0});uJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("DIGEST"),t.pushKey(e)},transformReply:void 0}});var J$e=E(lJ=>{"use strict";Object.defineProperty(lJ,"__esModule",{value:!0});lJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("DUMP"),t.pushKey(e)},transformReply:void 0}});var X$e=E(dJ=>{"use strict";Object.defineProperty(dJ,"__esModule",{value:!0});dJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ECHO",e)},transformReply:void 0}});var cg=E(JC=>{"use strict";Object.defineProperty(JC,"__esModule",{value:!0});JC.parseEvalArguments=void 0;function Z$e(t,e,r){t.push(e),r?.keys?t.pushKeysLength(r.keys):t.push("0"),r?.arguments&&t.push(...r.arguments)}JC.parseEvalArguments=Z$e;JC.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("EVAL"),Z$e(...t)},transformReply:void 0}});var tFe=E(hf=>{"use strict";var ror=hf&&hf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),nor=hf&&hf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),sor=hf&&hf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ror(e,t,r);return nor(e,t),e};Object.defineProperty(hf,"__esModule",{value:!0});var eFe=sor(cg());hf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("EVAL_RO"),(0,eFe.parseEvalArguments)(...t)},transformReply:eFe.default.transformReply}});var nFe=E(gf=>{"use strict";var ior=gf&&gf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),aor=gf&&gf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),oor=gf&&gf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ior(e,t,r);return aor(e,t),e};Object.defineProperty(gf,"__esModule",{value:!0});var rFe=oor(cg());gf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("EVALSHA_RO"),(0,rFe.parseEvalArguments)(...t)},transformReply:rFe.default.transformReply}});var iFe=E(Af=>{"use strict";var cor=Af&&Af.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),uor=Af&&Af.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lor=Af&&Af.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&cor(e,t,r);return uor(e,t),e};Object.defineProperty(Af,"__esModule",{value:!0});var sFe=lor(cg());Af.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("EVALSHA"),(0,sFe.parseEvalArguments)(...t)},transformReply:sFe.default.transformReply}});var oFe=E(fJ=>{"use strict";Object.defineProperty(fJ,"__esModule",{value:!0});fJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){if(t.push("GEOADD"),t.pushKey(e),n?.condition?t.push(n.condition):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.CH&&t.push("CH"),Array.isArray(r))for(let s of r)aFe(t,s);else aFe(t,r)},transformReply:void 0};function aFe(t,{longitude:e,latitude:r,member:n}){t.push(e.toString(),r.toString(),n)}});var cFe=E(pJ=>{"use strict";Object.defineProperty(pJ,"__esModule",{value:!0});pJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("GEODIST"),t.pushKey(e),t.push(r,n),s&&t.push(s)},transformReply(t){return t===null?null:Number(t)}}});var uFe=E(mJ=>{"use strict";Object.defineProperty(mJ,"__esModule",{value:!0});mJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GEOHASH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var lFe=E(hJ=>{"use strict";Object.defineProperty(hJ,"__esModule",{value:!0});hJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GEOPOS"),t.pushKey(e),t.pushVariadic(r)},transformReply(t){return t.map(e=>{let r=e;return r===null?null:{longitude:r[0],latitude:r[1]}})}}});var lg=E(ug=>{"use strict";Object.defineProperty(ug,"__esModule",{value:!0});ug.parseGeoSearchOptions=ug.parseGeoSearchArguments=void 0;function dFe(t,e,r,n,s){t.pushKey(e),typeof r=="string"||r instanceof Buffer?t.push("FROMMEMBER",r):t.push("FROMLONLAT",r.longitude.toString(),r.latitude.toString()),"radius"in n?t.push("BYRADIUS",n.radius.toString(),n.unit):t.push("BYBOX",n.width.toString(),n.height.toString(),n.unit),fFe(t,s)}ug.parseGeoSearchArguments=dFe;function fFe(t,e){e?.SORT&&t.push(e.SORT),e?.COUNT&&(typeof e.COUNT=="number"?t.push("COUNT",e.COUNT.toString()):(t.push("COUNT",e.COUNT.value.toString()),e.COUNT.ANY&&t.push("ANY")))}ug.parseGeoSearchOptions=fFe;ug.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("GEOSEARCH"),dFe(t,e,r,n,s)},transformReply:void 0}});var ZC=E(XC=>{"use strict";Object.defineProperty(XC,"__esModule",{value:!0});XC.parseGeoRadiusArguments=void 0;var dor=lg();function pFe(t,e,r,n,s,i){t.pushKey(e),t.push(r.longitude.toString(),r.latitude.toString(),n.toString(),s),(0,dor.parseGeoSearchOptions)(t,i)}XC.parseGeoRadiusArguments=pFe;XC.default={IS_READ_ONLY:!1,parseCommand(...t){return t[0].push("GEORADIUS"),pFe(...t)},transformReply:void 0}});var eI=E(kl=>{"use strict";var por=kl&&kl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kl,"__esModule",{value:!0});kl.GEO_REPLY_WITH=void 0;var mFe=por(lg());kl.GEO_REPLY_WITH={DISTANCE:"WITHDIST",HASH:"WITHHASH",COORDINATES:"WITHCOORD"};kl.default={IS_READ_ONLY:mFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i){mFe.default.parseCommand(t,e,r,n,i),t.push(...s),t.preserve=s},transformReply(t,e){let r=new Set(e),n=0,s=r.has(kl.GEO_REPLY_WITH.DISTANCE)&&++n,i=r.has(kl.GEO_REPLY_WITH.HASH)&&++n,a=r.has(kl.GEO_REPLY_WITH.COORDINATES)&&++n;return t.map(o=>{let c=o,u={member:c[0]};if(s&&(u.distance=c[s]),i&&(u.hash=c[i]),a){let[l,d]=c[a];u.coordinates={longitude:l,latitude:d}}return u})}}});var iB=E(Po=>{"use strict";var mor=Po&&Po.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),hor=Po&&Po.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),gor=Po&&Po.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&mor(e,t,r);return hor(e,t),e},Aor=Po&&Po.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Po,"__esModule",{value:!0});Po.parseGeoRadiusWithArguments=void 0;var hFe=gor(ZC()),yor=Aor(eI());function gFe(t,e,r,n,s,i,a){(0,hFe.parseGeoRadiusArguments)(t,e,r,n,s,a),t.pushVariadic(i),t.preserve=i}Po.parseGeoRadiusWithArguments=gFe;Po.default={IS_READ_ONLY:hFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUS"),gFe(t,e,r,n,s,i,a)},transformReply:yor.default.transformReply}});var AFe=E(tI=>{"use strict";var xor=tI&&tI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tI,"__esModule",{value:!0});var bor=iB(),Eor=xor(iB());tI.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUS_RO"),(0,bor.parseGeoRadiusWithArguments)(...t)},transformReply:Eor.default.transformReply}});var xFe=E(yf=>{"use strict";var _or=yf&&yf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Sor=yf&&yf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),vor=yf&&yf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&_or(e,t,r);return Sor(e,t),e};Object.defineProperty(yf,"__esModule",{value:!0});var yFe=vor(ZC());yf.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUS_RO"),(0,yFe.parseGeoRadiusArguments)(...t)},transformReply:yFe.default.transformReply}});var EFe=E(xf=>{"use strict";var Cor=xf&&xf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ior=xf&&xf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Tor=xf&&xf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Cor(e,t,r);return Ior(e,t),e};Object.defineProperty(xf,"__esModule",{value:!0});var bFe=Tor(ZC());xf.default={IS_READ_ONLY:bFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUS"),(0,bFe.parseGeoRadiusArguments)(t,e,r,n,s,a),a?.STOREDIST?(t.push("STOREDIST"),t.pushKey(i)):(t.push("STORE"),t.pushKey(i))},transformReply:void 0}});var nI=E(rI=>{"use strict";Object.defineProperty(rI,"__esModule",{value:!0});rI.parseGeoRadiusByMemberArguments=void 0;var wor=lg();function _Fe(t,e,r,n,s,i){t.pushKey(e),t.push(r,n.toString(),s),(0,wor.parseGeoSearchOptions)(t,i)}rI.parseGeoRadiusByMemberArguments=_Fe;rI.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("GEORADIUSBYMEMBER"),_Fe(t,e,r,n,s,i)},transformReply:void 0}});var gJ=E(dg=>{"use strict";var SFe=dg&&dg.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dg,"__esModule",{value:!0});dg.parseGeoRadiusByMemberWithArguments=void 0;var Ror=SFe(nI()),Nor=lg(),Oor=SFe(eI());function vFe(t,e,r,n,s,i,a){t.pushKey(e),t.push(r,n.toString(),s),(0,Nor.parseGeoSearchOptions)(t,a),t.push(...i),t.preserve=i}dg.parseGeoRadiusByMemberWithArguments=vFe;dg.default={IS_READ_ONLY:Ror.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUSBYMEMBER"),vFe(t,e,r,n,s,i,a)},transformReply:Oor.default.transformReply}});var IFe=E(bf=>{"use strict";var Por=bf&&bf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Dor=bf&&bf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),kor=bf&&bf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Por(e,t,r);return Dor(e,t),e};Object.defineProperty(bf,"__esModule",{value:!0});var CFe=kor(gJ());bf.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUSBYMEMBER_RO"),(0,CFe.parseGeoRadiusByMemberWithArguments)(...t)},transformReply:CFe.default.transformReply}});var wFe=E(Ef=>{"use strict";var Lor=Ef&&Ef.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Bor=Ef&&Ef.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Mor=Ef&&Ef.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Lor(e,t,r);return Bor(e,t),e};Object.defineProperty(Ef,"__esModule",{value:!0});var TFe=Mor(nI());Ef.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(...t){t[0].push("GEORADIUSBYMEMBER_RO"),(0,TFe.parseGeoRadiusByMemberArguments)(...t)},transformReply:TFe.default.transformReply}});var NFe=E(_f=>{"use strict";var Wor=_f&&_f.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),$or=_f&&_f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),For=_f&&_f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Wor(e,t,r);return $or(e,t),e};Object.defineProperty(_f,"__esModule",{value:!0});var RFe=For(nI());_f.default={IS_READ_ONLY:RFe.default.IS_READ_ONLY,parseCommand(t,e,r,n,s,i,a){t.push("GEORADIUSBYMEMBER"),(0,RFe.parseGeoRadiusByMemberArguments)(t,e,r,n,s,a),a?.STOREDIST?(t.push("STOREDIST"),t.pushKey(i)):(t.push("STORE"),t.pushKey(i))},transformReply:void 0}});var OFe=E(AJ=>{"use strict";Object.defineProperty(AJ,"__esModule",{value:!0});var Uor=lg();AJ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("GEOSEARCHSTORE"),e!==void 0&&t.pushKey(e),(0,Uor.parseGeoSearchArguments)(t,r,n,s,i),i?.STOREDIST&&t.push("STOREDIST")},transformReply:void 0}});var PFe=E(yJ=>{"use strict";Object.defineProperty(yJ,"__esModule",{value:!0});yJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("GET"),t.pushKey(e)},transformReply:void 0}});var DFe=E(xJ=>{"use strict";Object.defineProperty(xJ,"__esModule",{value:!0});xJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GETBIT"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var kFe=E(bJ=>{"use strict";Object.defineProperty(bJ,"__esModule",{value:!0});bJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("GETDEL"),t.pushKey(e)},transformReply:void 0}});var LFe=E(_J=>{"use strict";Object.defineProperty(_J,"__esModule",{value:!0});var EJ=Ie();_J.default={IS_READ_ONLY:!0,parseCommand(t,e,r){if(t.push("GETEX"),t.pushKey(e),"type"in r)switch(r.type){case"EX":case"PX":t.push(r.type,r.value.toString());break;case"EXAT":case"PXAT":t.push(r.type,(0,EJ.transformEXAT)(r.value));break;case"PERSIST":t.push("PERSIST");break}else"EX"in r?t.push("EX",r.EX.toString()):"PX"in r?t.push("PX",r.PX.toString()):"EXAT"in r?t.push("EXAT",(0,EJ.transformEXAT)(r.EXAT)):"PXAT"in r?t.push("PXAT",(0,EJ.transformPXAT)(r.PXAT)):t.push("PERSIST")},transformReply:void 0}});var BFe=E(SJ=>{"use strict";Object.defineProperty(SJ,"__esModule",{value:!0});SJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("GETRANGE"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var MFe=E(vJ=>{"use strict";Object.defineProperty(vJ,"__esModule",{value:!0});vJ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("GETSET"),t.pushKey(e),t.push(r)},transformReply:void 0}});var WFe=E(CJ=>{"use strict";Object.defineProperty(CJ,"__esModule",{value:!0});CJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("EXISTS"),t.pushKeys(e)},transformReply:void 0}});var $Fe=E(IJ=>{"use strict";Object.defineProperty(IJ,"__esModule",{value:!0});IJ.default={parseCommand(t,e,r,n){t.push("EXPIRE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n)},transformReply:void 0}});var FFe=E(TJ=>{"use strict";Object.defineProperty(TJ,"__esModule",{value:!0});var qor=Ie();TJ.default={parseCommand(t,e,r,n){t.push("EXPIREAT"),t.pushKey(e),t.push((0,qor.transformEXAT)(r)),n&&t.push(n)},transformReply:void 0}});var UFe=E(wJ=>{"use strict";Object.defineProperty(wJ,"__esModule",{value:!0});wJ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("EXPIRETIME"),t.pushKey(e)},transformReply:void 0}});var qFe=E(sI=>{"use strict";Object.defineProperty(sI,"__esModule",{value:!0});sI.REDIS_FLUSH_MODES=void 0;sI.REDIS_FLUSH_MODES={ASYNC:"ASYNC",SYNC:"SYNC"};sI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FLUSHALL"),e&&t.push(e)},transformReply:void 0}});var jFe=E(RJ=>{"use strict";Object.defineProperty(RJ,"__esModule",{value:!0});RJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FLUSHDB"),e&&t.push(e)},transformReply:void 0}});var QFe=E(Sf=>{"use strict";var jor=Sf&&Sf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Hor=Sf&&Sf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Qor=Sf&&Sf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&jor(e,t,r);return Hor(e,t),e};Object.defineProperty(Sf,"__esModule",{value:!0});var HFe=Qor(cg());Sf.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("FCALL"),(0,HFe.parseEvalArguments)(...t)},transformReply:HFe.default.transformReply}});var VFe=E(vf=>{"use strict";var Gor=vf&&vf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Vor=vf&&vf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),zor=vf&&vf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Gor(e,t,r);return Vor(e,t),e};Object.defineProperty(vf,"__esModule",{value:!0});var GFe=zor(cg());vf.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("FCALL_RO"),(0,GFe.parseEvalArguments)(...t)},transformReply:GFe.default.transformReply}});var zFe=E(NJ=>{"use strict";Object.defineProperty(NJ,"__esModule",{value:!0});NJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","DELETE",e)},transformReply:void 0}});var KFe=E(OJ=>{"use strict";Object.defineProperty(OJ,"__esModule",{value:!0});OJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","DUMP")},transformReply:void 0}});var YFe=E(PJ=>{"use strict";Object.defineProperty(PJ,"__esModule",{value:!0});PJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","FLUSH"),e&&t.push(e)},transformReply:void 0}});var JFe=E(DJ=>{"use strict";Object.defineProperty(DJ,"__esModule",{value:!0});DJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","KILL")},transformReply:void 0}});var LJ=E(kJ=>{"use strict";Object.defineProperty(kJ,"__esModule",{value:!0});kJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){t.push("FUNCTION","LIST"),e?.LIBRARYNAME&&t.push("LIBRARYNAME",e.LIBRARYNAME)},transformReply:{2:t=>t.map(e=>{let r=e;return{library_name:r[1],engine:r[3],functions:r[5].map(n=>{let s=n;return{name:s[1],description:s[3],flags:s[5]}})}}),3:void 0}}});var XFe=E(iI=>{"use strict";var Kor=iI&&iI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iI,"__esModule",{value:!0});var BJ=Kor(LJ());iI.default={NOT_KEYED_COMMAND:BJ.default.NOT_KEYED_COMMAND,IS_READ_ONLY:BJ.default.IS_READ_ONLY,parseCommand(...t){BJ.default.parseCommand(...t),t[0].push("WITHCODE")},transformReply:{2:t=>t.map(e=>{let r=e;return{library_name:r[1],engine:r[3],functions:r[5].map(n=>{let s=n;return{name:s[1],description:s[3],flags:s[5]}}),library_code:r[7]}}),3:void 0}}});var ZFe=E(MJ=>{"use strict";Object.defineProperty(MJ,"__esModule",{value:!0});MJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("FUNCTION","LOAD"),r?.REPLACE&&t.push("REPLACE"),t.push(e)},transformReply:void 0}});var eUe=E(WJ=>{"use strict";Object.defineProperty(WJ,"__esModule",{value:!0});WJ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("FUNCTION","RESTORE",e),r?.mode&&t.push(r.mode)},transformReply:void 0}});var tUe=E($J=>{"use strict";Object.defineProperty($J,"__esModule",{value:!0});var Yor=Ie();$J.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FUNCTION","STATS")},transformReply:{2:t=>({running_script:Jor(t[1]),engines:Xor(t[3])}),3:void 0}};function Jor(t){if((0,Yor.isNullReply)(t))return null;let e=t;return{name:e[1],command:e[3],duration_ms:e[5]}}function Xor(t){let e=t,r=Object.create(null);for(let n=0;n<e.length;n++){let s=e[n],i=e[++n],a=i;r[s.toString()]={libraries_count:a[1],functions_count:a[3]}}return r}});var rUe=E(FJ=>{"use strict";Object.defineProperty(FJ,"__esModule",{value:!0});FJ.default={parseCommand(t,e,r){t.push("HDEL"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var qJ=E(UJ=>{"use strict";Object.defineProperty(UJ,"__esModule",{value:!0});UJ.default={parseCommand(t,e,r){t.push("HELLO"),e&&(t.push(e.toString()),r?.AUTH&&t.push("AUTH",r.AUTH.username,r.AUTH.password),r?.SETNAME&&t.push("SETNAME",r.SETNAME))},transformReply:{2:t=>({server:t[1],version:t[3],proto:t[5],id:t[7],mode:t[9],role:t[11],modules:t[13]}),3:void 0}}});var nUe=E(jJ=>{"use strict";Object.defineProperty(jJ,"__esModule",{value:!0});jJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HEXISTS"),t.pushKey(e),t.push(r)},transformReply:void 0}});var sUe=E(aI=>{"use strict";Object.defineProperty(aI,"__esModule",{value:!0});aI.HASH_EXPIRATION=void 0;aI.HASH_EXPIRATION={FIELD_NOT_EXISTS:-2,CONDITION_NOT_MET:0,UPDATED:1,DELETED:2};aI.default={parseCommand(t,e,r,n,s){t.push("HEXPIRE"),t.pushKey(e),t.push(n.toString()),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var iUe=E(HJ=>{"use strict";Object.defineProperty(HJ,"__esModule",{value:!0});var Zor=Ie();HJ.default={parseCommand(t,e,r,n,s){t.push("HEXPIREAT"),t.pushKey(e),t.push((0,Zor.transformEXAT)(n)),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var aUe=E(oI=>{"use strict";Object.defineProperty(oI,"__esModule",{value:!0});oI.HASH_EXPIRATION_TIME=void 0;oI.HASH_EXPIRATION_TIME={FIELD_NOT_EXISTS:-2,NO_EXPIRATION:-1};oI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HEXPIRETIME"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var oUe=E(QJ=>{"use strict";Object.defineProperty(QJ,"__esModule",{value:!0});QJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HGET"),t.pushKey(e),t.push(r)},transformReply:void 0}});var cUe=E(GJ=>{"use strict";Object.defineProperty(GJ,"__esModule",{value:!0});var ecr=Ie();GJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HGETALL"),t.pushKey(e)},TRANSFORM_LEGACY_REPLY:!0,transformReply:{2:ecr.transformTuplesReply,3:void 0}}});var uUe=E(VJ=>{"use strict";Object.defineProperty(VJ,"__esModule",{value:!0});VJ.default={parseCommand(t,e,r){t.push("HGETDEL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var lUe=E(zJ=>{"use strict";Object.defineProperty(zJ,"__esModule",{value:!0});zJ.default={parseCommand(t,e,r,n){t.push("HGETEX"),t.pushKey(e),n?.expiration&&(typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="PERSIST"?t.push("PERSIST"):t.push(n.expiration.type,n.expiration.value.toString())),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var dUe=E(KJ=>{"use strict";Object.defineProperty(KJ,"__esModule",{value:!0});KJ.default={parseCommand(t,e,r,n){t.push("HINCRBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:void 0}});var fUe=E(YJ=>{"use strict";Object.defineProperty(YJ,"__esModule",{value:!0});YJ.default={parseCommand(t,e,r,n){t.push("HINCRBYFLOAT"),t.pushKey(e),t.push(r,n.toString())},transformReply:void 0}});var pUe=E(JJ=>{"use strict";Object.defineProperty(JJ,"__esModule",{value:!0});JJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HKEYS"),t.pushKey(e)},transformReply:void 0}});var mUe=E(XJ=>{"use strict";Object.defineProperty(XJ,"__esModule",{value:!0});XJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HLEN"),t.pushKey(e)},transformReply:void 0}});var hUe=E(ZJ=>{"use strict";Object.defineProperty(ZJ,"__esModule",{value:!0});ZJ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HMGET"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var gUe=E(eX=>{"use strict";Object.defineProperty(eX,"__esModule",{value:!0});eX.default={parseCommand(t,e,r){t.push("HPERSIST"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var AUe=E(tX=>{"use strict";Object.defineProperty(tX,"__esModule",{value:!0});tX.default={parseCommand(t,e,r,n,s){t.push("HPEXPIRE"),t.pushKey(e),t.push(n.toString()),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var yUe=E(rX=>{"use strict";Object.defineProperty(rX,"__esModule",{value:!0});var tcr=Ie();rX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("HPEXPIREAT"),t.pushKey(e),t.push((0,tcr.transformPXAT)(n)),s&&t.push(s),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var xUe=E(nX=>{"use strict";Object.defineProperty(nX,"__esModule",{value:!0});nX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HPEXPIRETIME"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var bUe=E(sX=>{"use strict";Object.defineProperty(sX,"__esModule",{value:!0});sX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HPTTL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var EUe=E(iX=>{"use strict";Object.defineProperty(iX,"__esModule",{value:!0});iX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HRANDFIELD"),t.pushKey(e),t.push(r.toString(),"WITHVALUES")},transformReply:{2:t=>{let e=[],r=0;for(;r<t.length;)e.push({field:t[r++],value:t[r++]});return e},3:t=>t.map(e=>{let[r,n]=e;return{field:r,value:n}})}}});var _Ue=E(aX=>{"use strict";Object.defineProperty(aX,"__esModule",{value:!0});aX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HRANDFIELD"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var SUe=E(oX=>{"use strict";Object.defineProperty(oX,"__esModule",{value:!0});oX.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("HRANDFIELD"),t.pushKey(e)},transformReply:void 0}});var cI=E(fg=>{"use strict";Object.defineProperty(fg,"__esModule",{value:!0});fg.pushScanArguments=fg.parseScanArguments=void 0;function vUe(t,e,r){t.push(e),r?.MATCH&&t.push("MATCH",r.MATCH),r?.COUNT&&t.push("COUNT",r.COUNT.toString())}fg.parseScanArguments=vUe;function rcr(t,e,r){return t.push(e.toString()),r?.MATCH&&t.push("MATCH",r.MATCH),r?.COUNT&&t.push("COUNT",r.COUNT.toString()),t}fg.pushScanArguments=rcr;fg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SCAN"),vUe(t,e,r),r?.TYPE&&t.push("TYPE",r.TYPE)},transformReply([t,e]){return{cursor:t,keys:e}}}});var uX=E(cX=>{"use strict";Object.defineProperty(cX,"__esModule",{value:!0});var ncr=cI();cX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("HSCAN"),t.pushKey(e),(0,ncr.parseScanArguments)(t,r,n)},transformReply([t,e]){let r=[],n=0;for(;n<e.length;)r.push({field:e[n++],value:e[n++]});return{cursor:t,entries:r}}}});var CUe=E(uI=>{"use strict";var scr=uI&&uI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uI,"__esModule",{value:!0});var icr=scr(uX());uI.default={IS_READ_ONLY:!0,parseCommand(...t){let e=t[0];icr.default.parseCommand(...t),e.push("NOVALUES")},transformReply([t,e]){return{cursor:t,fields:e}}}});var TUe=E(lX=>{"use strict";Object.defineProperty(lX,"__esModule",{value:!0});lX.default={parseCommand(t,...[e,r,n]){t.push("HSET"),t.pushKey(e),typeof r=="string"||typeof r=="number"||r instanceof Buffer?t.push(pg(r),pg(n)):r instanceof Map?acr(t,r):Array.isArray(r)?IUe(t,r):ocr(t,r)},transformReply:void 0};function acr(t,e){for(let[r,n]of e.entries())t.push(pg(r),pg(n))}function IUe(t,e){for(let r of e){if(Array.isArray(r)){IUe(t,r);continue}t.push(pg(r))}}function ocr(t,e){for(let r of Object.keys(e))t.push(pg(r),pg(e[r]))}function pg(t){return typeof t=="number"?t.toString():t}});var RUe=E(dX=>{"use strict";Object.defineProperty(dX,"__esModule",{value:!0});var ccr=Dl();dX.default={parseCommand(t,e,r,n){t.push("HSETEX"),t.pushKey(e),n?.mode&&t.push(n.mode),n?.expiration&&(typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="KEEPTTL"?t.push("KEEPTTL"):t.push(n.expiration.type,n.expiration.value.toString())),t.push("FIELDS"),r instanceof Map?ucr(t,r):Array.isArray(r)?lcr(t,r):dcr(t,r)},transformReply:void 0};function ucr(t,e){t.push(e.size.toString());for(let[r,n]of e.entries())t.push(lI(r),lI(n))}function lcr(t,e){let r=new ccr.BasicCommandParser;if(wUe(r,e),r.redisArgs.length%2!=0)throw Error("invalid number of arguments, expected key value ....[key value] pairs, got key without value");t.push((r.redisArgs.length/2).toString()),t.push(...r.redisArgs)}function wUe(t,e){for(let r of e){if(Array.isArray(r)){wUe(t,r);continue}t.push(lI(r))}}function dcr(t,e){let r=Object.keys(e).length;if(r==0)throw Error("object without keys");t.push(r.toString());for(let n of Object.keys(e))t.push(lI(n),lI(e[n]))}function lI(t){return typeof t=="number"?t.toString():t}});var NUe=E(fX=>{"use strict";Object.defineProperty(fX,"__esModule",{value:!0});fX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("HSETNX"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var OUe=E(pX=>{"use strict";Object.defineProperty(pX,"__esModule",{value:!0});pX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HSTRLEN"),t.pushKey(e),t.push(r)},transformReply:void 0}});var PUe=E(mX=>{"use strict";Object.defineProperty(mX,"__esModule",{value:!0});mX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("HTTL"),t.pushKey(e),t.push("FIELDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var DUe=E(hX=>{"use strict";Object.defineProperty(hX,"__esModule",{value:!0});hX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("HVALS"),t.pushKey(e)},transformReply:void 0}});var LUe=E(gX=>{"use strict";Object.defineProperty(gX,"__esModule",{value:!0});function kUe(t){let e=[];for(let r=0;r<t.length;r+=2)e.push({key:t[r].toString(),value:Number(t[r+1])});return e}function fcr(t){return t.map(e=>{let r=e;return r.length===1?{start:Number(r[0]),end:Number(r[0])}:{start:Number(r[0]),end:Number(r[1])}})}function pcr(t){let e={},r=t[0];for(let n=0;n<r.length;n+=2){let s=r[n].toString(),i=r[n+1];switch(s){case"tracking-active":e.trackingActive=Number(i);break;case"sample-ratio":e.sampleRatio=Number(i);break;case"selected-slots":e.selectedSlots=fcr(i);break;case"sampled-commands-selected-slots-us":e.sampledCommandsSelectedSlotsUs=Number(i);break;case"all-commands-selected-slots-us":e.allCommandsSelectedSlotsUs=Number(i);break;case"all-commands-all-slots-us":e.allCommandsAllSlotsUs=Number(i);break;case"net-bytes-sampled-commands-selected-slots":e.netBytesSampledCommandsSelectedSlots=Number(i);break;case"net-bytes-all-commands-selected-slots":e.netBytesAllCommandsSelectedSlots=Number(i);break;case"net-bytes-all-commands-all-slots":e.netBytesAllCommandsAllSlots=Number(i);break;case"collection-start-time-unix-ms":e.collectionStartTimeUnixMs=Number(i);break;case"collection-duration-ms":e.collectionDurationMs=Number(i);break;case"total-cpu-time-sys-ms":e.totalCpuTimeSysMs=Number(i);break;case"total-cpu-time-user-ms":e.totalCpuTimeUserMs=Number(i);break;case"total-net-bytes":e.totalNetBytes=Number(i);break;case"by-cpu-time-us":e.byCpuTimeUs=kUe(i);break;case"by-net-bytes":e.byNetBytes=kUe(i);break}}return e}gX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("HOTKEYS","GET")},transformReply:{2:t=>t===null?null:pcr(t),3:void 0},unstableResp3:!0}});var BUe=E(AX=>{"use strict";Object.defineProperty(AX,"__esModule",{value:!0});AX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("HOTKEYS","RESET")},transformReply:void 0}});var MUe=E(dI=>{"use strict";Object.defineProperty(dI,"__esModule",{value:!0});dI.HOTKEYS_METRICS=void 0;dI.HOTKEYS_METRICS={CPU:"CPU",NET:"NET"};dI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e){if(t.push("HOTKEYS","START"),t.push("METRICS",e.METRICS.count.toString()),e.METRICS.CPU&&t.push("CPU"),e.METRICS.NET&&t.push("NET"),e.COUNT!==void 0&&t.push("COUNT",e.COUNT.toString()),e.DURATION!==void 0&&t.push("DURATION",e.DURATION.toString()),e.SAMPLE!==void 0&&t.push("SAMPLE",e.SAMPLE.toString()),e.SLOTS!==void 0){t.push("SLOTS",e.SLOTS.count.toString());for(let r of e.SLOTS.slots)t.push(r.toString())}},transformReply:void 0}});var WUe=E(yX=>{"use strict";Object.defineProperty(yX,"__esModule",{value:!0});yX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("HOTKEYS","STOP")},transformReply:void 0}});var $Ue=E(xX=>{"use strict";Object.defineProperty(xX,"__esModule",{value:!0});xX.default={parseCommand(t,e){t.push("INCR"),t.pushKey(e)},transformReply:void 0}});var FUe=E(bX=>{"use strict";Object.defineProperty(bX,"__esModule",{value:!0});bX.default={parseCommand(t,e,r){t.push("INCRBY"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var UUe=E(EX=>{"use strict";Object.defineProperty(EX,"__esModule",{value:!0});EX.default={parseCommand(t,e,r){t.push("INCRBYFLOAT"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var qUe=E(_X=>{"use strict";Object.defineProperty(_X,"__esModule",{value:!0});_X.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("INFO"),e&&t.push(e)},transformReply:void 0}});var jUe=E(SX=>{"use strict";Object.defineProperty(SX,"__esModule",{value:!0});SX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("KEYS",e)},transformReply:void 0}});var HUe=E(vX=>{"use strict";Object.defineProperty(vX,"__esModule",{value:!0});vX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LASTSAVE")},transformReply:void 0}});var QUe=E(CX=>{"use strict";Object.defineProperty(CX,"__esModule",{value:!0});CX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LATENCY","DOCTOR")},transformReply:void 0}});var IX=E(fI=>{"use strict";Object.defineProperty(fI,"__esModule",{value:!0});fI.LATENCY_EVENTS=void 0;fI.LATENCY_EVENTS={ACTIVE_DEFRAG_CYCLE:"active-defrag-cycle",AOF_FSYNC_ALWAYS:"aof-fsync-always",AOF_STAT:"aof-stat",AOF_REWRITE_DIFF_WRITE:"aof-rewrite-diff-write",AOF_RENAME:"aof-rename",AOF_WRITE:"aof-write",AOF_WRITE_ACTIVE_CHILD:"aof-write-active-child",AOF_WRITE_ALONE:"aof-write-alone",AOF_WRITE_PENDING_FSYNC:"aof-write-pending-fsync",COMMAND:"command",EXPIRE_CYCLE:"expire-cycle",EVICTION_CYCLE:"eviction-cycle",EVICTION_DEL:"eviction-del",FAST_COMMAND:"fast-command",FORK:"fork",RDB_UNLINK_TEMP_FILE:"rdb-unlink-temp-file"};fI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LATENCY","GRAPH",e)},transformReply:void 0}});var GUe=E(TX=>{"use strict";Object.defineProperty(TX,"__esModule",{value:!0});TX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LATENCY","HISTORY",e)},transformReply:void 0}});var VUe=E(wX=>{"use strict";Object.defineProperty(wX,"__esModule",{value:!0});wX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("LATENCY","LATEST")},transformReply:void 0}});var zUe=E(pI=>{"use strict";Object.defineProperty(pI,"__esModule",{value:!0});pI.LATENCY_EVENTS=void 0;var mcr=IX();Object.defineProperty(pI,"LATENCY_EVENTS",{enumerable:!0,get:function(){return mcr.LATENCY_EVENTS}});pI.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,...e){let r=["LATENCY","RESET"];e.length>0&&r.push(...e),t.push(...r)},transformReply:void 0}});var aB=E(RX=>{"use strict";Object.defineProperty(RX,"__esModule",{value:!0});RX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("LCS"),t.pushKeys([e,r])},transformReply:void 0}});var NX=E(mI=>{"use strict";var hcr=mI&&mI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mI,"__esModule",{value:!0});var KUe=hcr(aB());mI.default={IS_READ_ONLY:KUe.default.IS_READ_ONLY,parseCommand(t,e,r,n){KUe.default.parseCommand(t,e,r),t.push("IDX"),n?.MINMATCHLEN&&t.push("MINMATCHLEN",n.MINMATCHLEN.toString())},transformReply:{2:t=>({matches:t[1],len:t[3]}),3:void 0}}});var JUe=E(hI=>{"use strict";var gcr=hI&&hI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hI,"__esModule",{value:!0});var YUe=gcr(NX());hI.default={IS_READ_ONLY:YUe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];YUe.default.parseCommand(...t),e.push("WITHMATCHLEN")},transformReply:{2:t=>({matches:t[1],len:t[3]}),3:void 0}}});var ZUe=E(gI=>{"use strict";var Acr=gI&&gI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gI,"__esModule",{value:!0});var XUe=Acr(aB());gI.default={IS_READ_ONLY:XUe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];XUe.default.parseCommand(...t),e.push("LEN")},transformReply:void 0}});var e7e=E(OX=>{"use strict";Object.defineProperty(OX,"__esModule",{value:!0});OX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("LINDEX"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var t7e=E(PX=>{"use strict";Object.defineProperty(PX,"__esModule",{value:!0});PX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("LINSERT"),t.pushKey(e),t.push(r,n,s)},transformReply:void 0}});var r7e=E(DX=>{"use strict";Object.defineProperty(DX,"__esModule",{value:!0});DX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("LLEN"),t.pushKey(e)},transformReply:void 0}});var n7e=E(kX=>{"use strict";Object.defineProperty(kX,"__esModule",{value:!0});kX.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("LMOVE"),t.pushKeys([e,r]),t.push(n,s)},transformReply:void 0}});var s7e=E(LX=>{"use strict";Object.defineProperty(LX,"__esModule",{value:!0});LX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,...r){t.push("LOLWUT"),e&&(t.push("VERSION",e.toString()),t.pushVariadic(r.map(String)))},transformReply:void 0}});var MX=E(BX=>{"use strict";Object.defineProperty(BX,"__esModule",{value:!0});BX.default={parseCommand(t,e){t.push("LPOP"),t.pushKey(e)},transformReply:void 0}});var i7e=E(AI=>{"use strict";var ycr=AI&&AI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(AI,"__esModule",{value:!0});var xcr=ycr(MX());AI.default={IS_READ_ONLY:!1,parseCommand(t,e,r){xcr.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var $X=E(WX=>{"use strict";Object.defineProperty(WX,"__esModule",{value:!0});WX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LPOS"),t.pushKey(e),t.push(r),n?.RANK!==void 0&&t.push("RANK",n.RANK.toString()),n?.MAXLEN!==void 0&&t.push("MAXLEN",n.MAXLEN.toString())},transformReply:void 0}});var a7e=E(yI=>{"use strict";var bcr=yI&&yI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yI,"__esModule",{value:!0});var FX=bcr($X());yI.default={CACHEABLE:FX.default.CACHEABLE,IS_READ_ONLY:FX.default.IS_READ_ONLY,parseCommand(t,e,r,n,s){FX.default.parseCommand(t,e,r,s),t.push("COUNT",n.toString())},transformReply:void 0}});var o7e=E(UX=>{"use strict";Object.defineProperty(UX,"__esModule",{value:!0});UX.default={parseCommand(t,e,r){t.push("LPUSH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var c7e=E(qX=>{"use strict";Object.defineProperty(qX,"__esModule",{value:!0});qX.default={parseCommand(t,e,r){t.push("LPUSHX"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var u7e=E(jX=>{"use strict";Object.defineProperty(jX,"__esModule",{value:!0});jX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LRANGE"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var l7e=E(HX=>{"use strict";Object.defineProperty(HX,"__esModule",{value:!0});HX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LREM"),t.pushKey(e),t.push(r.toString()),t.push(n)},transformReply:void 0}});var d7e=E(QX=>{"use strict";Object.defineProperty(QX,"__esModule",{value:!0});QX.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("LSET"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var f7e=E(GX=>{"use strict";Object.defineProperty(GX,"__esModule",{value:!0});GX.default={parseCommand(t,e,r,n){t.push("LTRIM"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var p7e=E(VX=>{"use strict";Object.defineProperty(VX,"__esModule",{value:!0});VX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","DOCTOR")},transformReply:void 0}});var m7e=E(zX=>{"use strict";Object.defineProperty(zX,"__esModule",{value:!0});zX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","MALLOC-STATS")},transformReply:void 0}});var h7e=E(KX=>{"use strict";Object.defineProperty(KX,"__esModule",{value:!0});KX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t){t.push("MEMORY","PURGE")},transformReply:void 0}});var g7e=E(YX=>{"use strict";Object.defineProperty(YX,"__esModule",{value:!0});var Ecr=Ie();YX.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MEMORY","STATS")},transformReply:{2:(t,e,r)=>{let n={},s=0;for(;s<t.length;)switch(t[s].toString()){case"dataset.percentage":case"peak.percentage":case"allocator-fragmentation.ratio":case"allocator-rss.ratio":case"rss-overhead.ratio":case"fragmentation":n[t[s++]]=Ecr.transformDoubleReply[2](t[s++],e,r);break;default:n[t[s++]]=t[s++]}return n},3:void 0}}});var A7e=E(JX=>{"use strict";Object.defineProperty(JX,"__esModule",{value:!0});JX.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("MEMORY","USAGE"),t.pushKey(e),r?.SAMPLES&&t.push("SAMPLES",r.SAMPLES.toString())},transformReply:void 0}});var y7e=E(XX=>{"use strict";Object.defineProperty(XX,"__esModule",{value:!0});XX.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("MGET"),t.pushKeys(e)},transformReply:void 0}});var x7e=E(ZX=>{"use strict";Object.defineProperty(ZX,"__esModule",{value:!0});ZX.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("MIGRATE",e,r.toString());let o=Array.isArray(n);o?t.push(""):t.push(n),t.push(s.toString(),i.toString()),a?.COPY&&t.push("COPY"),a?.REPLACE&&t.push("REPLACE"),a?.AUTH&&(a.AUTH.username?t.push("AUTH2",a.AUTH.username,a.AUTH.password):t.push("AUTH",a.AUTH.password)),o&&(t.push("KEYS"),t.pushVariadic(n))},transformReply:void 0}});var b7e=E(eZ=>{"use strict";Object.defineProperty(eZ,"__esModule",{value:!0});eZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("MODULE","LIST")},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],ver:r[3]}}),3:void 0}}});var E7e=E(tZ=>{"use strict";Object.defineProperty(tZ,"__esModule",{value:!0});tZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("MODULE","LOAD",e),r&&t.push(...r)},transformReply:void 0}});var _7e=E(rZ=>{"use strict";Object.defineProperty(rZ,"__esModule",{value:!0});rZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("MODULE","UNLOAD",e)},transformReply:void 0}});var S7e=E(nZ=>{"use strict";Object.defineProperty(nZ,"__esModule",{value:!0});nZ.default={parseCommand(t,e,r){t.push("MOVE"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var sZ=E(xI=>{"use strict";Object.defineProperty(xI,"__esModule",{value:!0});xI.parseMSetArguments=void 0;function v7e(t,e){if(Array.isArray(e)){if(e.length==0)throw new Error("empty toSet Argument");if(Array.isArray(e[0]))for(let r of e)t.pushKey(r[0]),t.push(r[1]);else{let r=e;for(let n=0;n<r.length;n+=2)t.pushKey(r[n]),t.push(r[n+1])}}else for(let r of Object.entries(e))t.pushKey(r[0]),t.push(r[1])}xI.parseMSetArguments=v7e;xI.default={IS_READ_ONLY:!0,parseCommand(t,e){return t.push("MSET"),v7e(t,e)},transformReply:void 0}});var T7e=E(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.parseMSetExArguments=yi.ExpirationMode=yi.SetMode=void 0;var C7e=Ie();yi.SetMode={XX:"XX",NX:"NX"};yi.ExpirationMode={EX:"EX",PX:"PX",EXAT:"EXAT",PXAT:"PXAT",KEEPTTL:"KEEPTTL"};function I7e(t,e){let r=[];if(Array.isArray(e)){if(e.length==0)throw new Error("empty keyValuePairs Argument");if(Array.isArray(e[0]))r=e;else{let n=e;for(let s=0;s<n.length;s+=2)r.push([n[s],n[s+1]])}}else for(let n of Object.entries(e))r.push([n[0],n[1]]);t.push(r.length.toString());for(let n of r)t.pushKey(n[0]),t.push(n[1])}yi.parseMSetExArguments=I7e;yi.default={parseCommand(t,e,r){if(t.push("MSETEX"),I7e(t,e),r?.mode&&t.push(r.mode),r?.expiration)switch(r.expiration.type){case yi.ExpirationMode.EXAT:t.push(yi.ExpirationMode.EXAT,(0,C7e.transformEXAT)(r.expiration.value));break;case yi.ExpirationMode.PXAT:t.push(yi.ExpirationMode.PXAT,(0,C7e.transformPXAT)(r.expiration.value));break;case yi.ExpirationMode.KEEPTTL:t.push(yi.ExpirationMode.KEEPTTL);break;case yi.ExpirationMode.EX:case yi.ExpirationMode.PX:t.push(r.expiration.type,r.expiration.value?.toString());break}},transformReply:void 0}});var w7e=E(iZ=>{"use strict";Object.defineProperty(iZ,"__esModule",{value:!0});var _cr=sZ();iZ.default={IS_READ_ONLY:!0,parseCommand(t,e){return t.push("MSETNX"),(0,_cr.parseMSetArguments)(t,e)},transformReply:void 0}});var R7e=E(aZ=>{"use strict";Object.defineProperty(aZ,"__esModule",{value:!0});aZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","ENCODING"),t.pushKey(e)},transformReply:void 0}});var N7e=E(oZ=>{"use strict";Object.defineProperty(oZ,"__esModule",{value:!0});oZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","FREQ"),t.pushKey(e)},transformReply:void 0}});var O7e=E(cZ=>{"use strict";Object.defineProperty(cZ,"__esModule",{value:!0});cZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","IDLETIME"),t.pushKey(e)},transformReply:void 0}});var P7e=E(uZ=>{"use strict";Object.defineProperty(uZ,"__esModule",{value:!0});uZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("OBJECT","REFCOUNT"),t.pushKey(e)},transformReply:void 0}});var D7e=E(lZ=>{"use strict";Object.defineProperty(lZ,"__esModule",{value:!0});lZ.default={parseCommand(t,e){t.push("PERSIST"),t.pushKey(e)},transformReply:void 0}});var k7e=E(dZ=>{"use strict";Object.defineProperty(dZ,"__esModule",{value:!0});dZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("PEXPIRE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n)},transformReply:void 0}});var L7e=E(fZ=>{"use strict";Object.defineProperty(fZ,"__esModule",{value:!0});var Scr=Ie();fZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("PEXPIREAT"),t.pushKey(e),t.push((0,Scr.transformPXAT)(r)),n&&t.push(n)},transformReply:void 0}});var B7e=E(pZ=>{"use strict";Object.defineProperty(pZ,"__esModule",{value:!0});pZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PEXPIRETIME"),t.pushKey(e)},transformReply:void 0}});var M7e=E(mZ=>{"use strict";Object.defineProperty(mZ,"__esModule",{value:!0});mZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("PFADD"),t.pushKey(e),r&&t.pushVariadic(r)},transformReply:void 0}});var W7e=E(hZ=>{"use strict";Object.defineProperty(hZ,"__esModule",{value:!0});hZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PFCOUNT"),t.pushKeys(e)},transformReply:void 0}});var $7e=E(gZ=>{"use strict";Object.defineProperty(gZ,"__esModule",{value:!0});gZ.default={parseCommand(t,e,r){t.push("PFMERGE"),t.pushKey(e),r&&t.pushKeys(r)},transformReply:void 0}});var F7e=E(AZ=>{"use strict";Object.defineProperty(AZ,"__esModule",{value:!0});AZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PING"),e&&t.push(e)},transformReply:void 0}});var U7e=E(yZ=>{"use strict";Object.defineProperty(yZ,"__esModule",{value:!0});yZ.default={parseCommand(t,e,r,n){t.push("PSETEX"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var q7e=E(xZ=>{"use strict";Object.defineProperty(xZ,"__esModule",{value:!0});xZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PTTL"),t.pushKey(e)},transformReply:void 0}});var j7e=E(bZ=>{"use strict";Object.defineProperty(bZ,"__esModule",{value:!0});bZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,IS_FORWARD_COMMAND:!0,parseCommand(t,e,r){t.push("PUBLISH",e,r)},transformReply:void 0}});var H7e=E(EZ=>{"use strict";Object.defineProperty(EZ,"__esModule",{value:!0});EZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","CHANNELS"),e&&t.push(e)},transformReply:void 0}});var Q7e=E(_Z=>{"use strict";Object.defineProperty(_Z,"__esModule",{value:!0});_Z.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("PUBSUB","NUMPAT")},transformReply:void 0}});var G7e=E(SZ=>{"use strict";Object.defineProperty(SZ,"__esModule",{value:!0});SZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","NUMSUB"),e&&t.pushVariadic(e)},transformReply(t){let e=Object.create(null),r=0;for(;r<t.length;)e[t[r++].toString()]=Number(t[r++]);return e}}});var V7e=E(vZ=>{"use strict";Object.defineProperty(vZ,"__esModule",{value:!0});vZ.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","SHARDNUMSUB"),e&&t.pushVariadic(e)},transformReply(t){let e=Object.create(null);for(let r=0;r<t.length;r+=2)e[t[r].toString()]=t[r+1];return e}}});var z7e=E(CZ=>{"use strict";Object.defineProperty(CZ,"__esModule",{value:!0});CZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("PUBSUB","SHARDCHANNELS"),e&&t.push(e)},transformReply:void 0}});var K7e=E(IZ=>{"use strict";Object.defineProperty(IZ,"__esModule",{value:!0});IZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("RANDOMKEY")},transformReply:void 0}});var Y7e=E(TZ=>{"use strict";Object.defineProperty(TZ,"__esModule",{value:!0});TZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("READONLY")},transformReply:void 0}});var J7e=E(wZ=>{"use strict";Object.defineProperty(wZ,"__esModule",{value:!0});wZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("RENAME"),t.pushKeys([e,r])},transformReply:void 0}});var X7e=E(RZ=>{"use strict";Object.defineProperty(RZ,"__esModule",{value:!0});RZ.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("RENAMENX"),t.pushKeys([e,r])},transformReply:void 0}});var Z7e=E(NZ=>{"use strict";Object.defineProperty(NZ,"__esModule",{value:!0});NZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("REPLICAOF",e,r.toString())},transformReply:void 0}});var e9e=E(OZ=>{"use strict";Object.defineProperty(OZ,"__esModule",{value:!0});OZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("RESTORE-ASKING")},transformReply:void 0}});var t9e=E(PZ=>{"use strict";Object.defineProperty(PZ,"__esModule",{value:!0});PZ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("RESTORE"),t.pushKey(e),t.push(r.toString(),n),s?.REPLACE&&t.push("REPLACE"),s?.ABSTTL&&t.push("ABSTTL"),s?.IDLETIME&&t.push("IDLETIME",s.IDLETIME.toString()),s?.FREQ&&t.push("FREQ",s.FREQ.toString())},transformReply:void 0}});var r9e=E(DZ=>{"use strict";Object.defineProperty(DZ,"__esModule",{value:!0});DZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("ROLE")},transformReply(t){switch(t[0]){case"master":{let[e,r,n]=t;return{role:e,replicationOffest:r,replicas:n.map(s=>{let[i,a,o]=s;return{host:i,port:Number(a),replicationOffest:Number(o)}})}}case"slave":{let[e,r,n,s,i]=t;return{role:e,master:{host:r,port:n},state:s,dataReceived:i}}case"sentinel":{let[e,r]=t;return{role:e,masterNames:r}}}}}});var n9e=E(kZ=>{"use strict";Object.defineProperty(kZ,"__esModule",{value:!0});kZ.default={parseCommand(t,e,r){t.push("RPOP"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var s9e=E(LZ=>{"use strict";Object.defineProperty(LZ,"__esModule",{value:!0});LZ.default={parseCommand(t,e){t.push("RPOP"),t.pushKey(e)},transformReply:void 0}});var i9e=E(BZ=>{"use strict";Object.defineProperty(BZ,"__esModule",{value:!0});BZ.default={parseCommand(t,e,r){t.push("RPOPLPUSH"),t.pushKeys([e,r])},transformReply:void 0}});var a9e=E(MZ=>{"use strict";Object.defineProperty(MZ,"__esModule",{value:!0});MZ.default={parseCommand(t,e,r){t.push("RPUSH"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var o9e=E(WZ=>{"use strict";Object.defineProperty(WZ,"__esModule",{value:!0});WZ.default={parseCommand(t,e,r){t.push("RPUSHX"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var c9e=E($Z=>{"use strict";Object.defineProperty($Z,"__esModule",{value:!0});$Z.default={parseCommand(t,e,r){t.push("SADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var u9e=E(FZ=>{"use strict";Object.defineProperty(FZ,"__esModule",{value:!0});FZ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCARD"),t.pushKey(e)},transformReply:void 0}});var l9e=E(UZ=>{"use strict";Object.defineProperty(UZ,"__esModule",{value:!0});UZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","DEBUG",e)},transformReply:void 0}});var d9e=E(qZ=>{"use strict";Object.defineProperty(qZ,"__esModule",{value:!0});qZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","EXISTS"),t.pushVariadic(e)},transformReply:void 0}});var f9e=E(jZ=>{"use strict";Object.defineProperty(jZ,"__esModule",{value:!0});jZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","FLUSH"),e&&t.push(e)},transformReply:void 0}});var p9e=E(HZ=>{"use strict";Object.defineProperty(HZ,"__esModule",{value:!0});HZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("SCRIPT","KILL")},transformReply:void 0}});var m9e=E(QZ=>{"use strict";Object.defineProperty(QZ,"__esModule",{value:!0});QZ.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SCRIPT","LOAD",e)},transformReply:void 0}});var h9e=E(GZ=>{"use strict";Object.defineProperty(GZ,"__esModule",{value:!0});GZ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SDIFF"),t.pushKeys(e)},transformReply:void 0}});var g9e=E(VZ=>{"use strict";Object.defineProperty(VZ,"__esModule",{value:!0});VZ.default={parseCommand(t,e,r){t.push("SDIFFSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var A9e=E(zZ=>{"use strict";Object.defineProperty(zZ,"__esModule",{value:!0});zZ.default={parseCommand(t,e,r,n){t.push("SET"),t.pushKey(e),t.push(typeof r=="number"?r.toString():r),n?.expiration?typeof n.expiration=="string"?t.push(n.expiration):n.expiration.type==="KEEPTTL"?t.push("KEEPTTL"):t.push(n.expiration.type,n.expiration.value.toString()):n?.EX!==void 0?t.push("EX",n.EX.toString()):n?.PX!==void 0?t.push("PX",n.PX.toString()):n?.EXAT!==void 0?t.push("EXAT",n.EXAT.toString()):n?.PXAT!==void 0?t.push("PXAT",n.PXAT.toString()):n?.KEEPTTL&&t.push("KEEPTTL"),n?.condition?(t.push(n.condition),n?.matchValue!==void 0&&t.push(n.matchValue)):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.GET&&t.push("GET")},transformReply:void 0}});var y9e=E(KZ=>{"use strict";Object.defineProperty(KZ,"__esModule",{value:!0});KZ.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("SETBIT"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var x9e=E(YZ=>{"use strict";Object.defineProperty(YZ,"__esModule",{value:!0});YZ.default={parseCommand(t,e,r,n){t.push("SETEX"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var b9e=E(JZ=>{"use strict";Object.defineProperty(JZ,"__esModule",{value:!0});JZ.default={parseCommand(t,e,r){t.push("SETNX"),t.pushKey(e),t.push(r)},transformReply:void 0}});var E9e=E(XZ=>{"use strict";Object.defineProperty(XZ,"__esModule",{value:!0});XZ.default={parseCommand(t,e,r,n){t.push("SETRANGE"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var _9e=E(ZZ=>{"use strict";Object.defineProperty(ZZ,"__esModule",{value:!0});ZZ.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SINTER"),t.pushKeys(e)},transformReply:void 0}});var S9e=E(eee=>{"use strict";Object.defineProperty(eee,"__esModule",{value:!0});eee.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SINTERCARD"),t.pushKeysLength(e),typeof r=="number"?t.push("LIMIT",r.toString()):r?.LIMIT!==void 0&&t.push("LIMIT",r.LIMIT.toString())},transformReply:void 0}});var v9e=E(tee=>{"use strict";Object.defineProperty(tee,"__esModule",{value:!0});tee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SINTERSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var C9e=E(ree=>{"use strict";Object.defineProperty(ree,"__esModule",{value:!0});ree.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SISMEMBER"),t.pushKey(e),t.push(r)},transformReply:void 0}});var I9e=E(nee=>{"use strict";Object.defineProperty(nee,"__esModule",{value:!0});nee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SMEMBERS"),t.pushKey(e)},transformReply:{2:void 0,3:void 0}}});var T9e=E(see=>{"use strict";Object.defineProperty(see,"__esModule",{value:!0});see.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SMISMEMBER"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var w9e=E(iee=>{"use strict";Object.defineProperty(iee,"__esModule",{value:!0});iee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("SMOVE"),t.pushKeys([e,r]),t.push(n)},transformReply:void 0}});var oB=E(bI=>{"use strict";Object.defineProperty(bI,"__esModule",{value:!0});bI.parseSortArguments=void 0;function R9e(t,e,r){if(t.pushKey(e),r?.BY&&t.push("BY",r.BY),r?.LIMIT&&t.push("LIMIT",r.LIMIT.offset.toString(),r.LIMIT.count.toString()),r?.GET)if(Array.isArray(r.GET))for(let n of r.GET)t.push("GET",n);else t.push("GET",r.GET);r?.DIRECTION&&t.push(r.DIRECTION),r?.ALPHA&&t.push("ALPHA")}bI.parseSortArguments=R9e;bI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SORT"),R9e(t,e,r)},transformReply:void 0}});var O9e=E(Cf=>{"use strict";var vcr=Cf&&Cf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ccr=Cf&&Cf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Icr=Cf&&Cf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&vcr(e,t,r);return Ccr(e,t),e};Object.defineProperty(Cf,"__esModule",{value:!0});var N9e=Icr(oB());Cf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("SORT_RO"),(0,N9e.parseSortArguments)(...t)},transformReply:N9e.default.transformReply}});var P9e=E(EI=>{"use strict";var Tcr=EI&&EI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EI,"__esModule",{value:!0});var wcr=Tcr(oB());EI.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){wcr.default.parseCommand(t,e,n),t.push("STORE",r)},transformReply:void 0}});var D9e=E(aee=>{"use strict";Object.defineProperty(aee,"__esModule",{value:!0});aee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SPOP"),t.pushKey(e),t.push(r.toString())},transformReply:void 0}});var k9e=E(oee=>{"use strict";Object.defineProperty(oee,"__esModule",{value:!0});oee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("SPOP"),t.pushKey(e)},transformReply:void 0}});var L9e=E(cee=>{"use strict";Object.defineProperty(cee,"__esModule",{value:!0});cee.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("SPUBLISH"),t.pushKey(e),t.push(r)},transformReply:void 0}});var lee=E(uee=>{"use strict";Object.defineProperty(uee,"__esModule",{value:!0});uee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("SRANDMEMBER"),t.pushKey(e)},transformReply:void 0}});var M9e=E(_I=>{"use strict";var Rcr=_I&&_I.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_I,"__esModule",{value:!0});var B9e=Rcr(lee());_I.default={IS_READ_ONLY:B9e.default.IS_READ_ONLY,parseCommand(t,e,r){B9e.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var W9e=E(dee=>{"use strict";Object.defineProperty(dee,"__esModule",{value:!0});dee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SREM"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var $9e=E(fee=>{"use strict";Object.defineProperty(fee,"__esModule",{value:!0});var Ncr=cI();fee.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("SSCAN"),t.pushKey(e),(0,Ncr.parseScanArguments)(t,r,n)},transformReply([t,e]){return{cursor:t,members:e}}}});var F9e=E(pee=>{"use strict";Object.defineProperty(pee,"__esModule",{value:!0});pee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("STRLEN"),t.pushKey(e)},transformReply:void 0}});var U9e=E(mee=>{"use strict";Object.defineProperty(mee,"__esModule",{value:!0});mee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("SUNION"),t.pushKeys(e)},transformReply:void 0}});var q9e=E(hee=>{"use strict";Object.defineProperty(hee,"__esModule",{value:!0});hee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SUNIONSTORE"),t.pushKey(e),t.pushKeys(r)},transformReply:void 0}});var j9e=E(gee=>{"use strict";Object.defineProperty(gee,"__esModule",{value:!0});gee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("SWAPDB",e.toString(),r.toString())},transformReply:void 0}});var H9e=E(Aee=>{"use strict";Object.defineProperty(Aee,"__esModule",{value:!0});Aee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("TIME")},transformReply:void 0}});var Q9e=E(yee=>{"use strict";Object.defineProperty(yee,"__esModule",{value:!0});yee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TOUCH"),t.pushKeys(e)},transformReply:void 0}});var G9e=E(xee=>{"use strict";Object.defineProperty(xee,"__esModule",{value:!0});xee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TTL"),t.pushKey(e)},transformReply:void 0}});var V9e=E(bee=>{"use strict";Object.defineProperty(bee,"__esModule",{value:!0});bee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("TYPE"),t.pushKey(e)},transformReply:void 0}});var z9e=E(Eee=>{"use strict";Object.defineProperty(Eee,"__esModule",{value:!0});Eee.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("UNLINK"),t.pushKeys(e)},transformReply:void 0}});var K9e=E(_ee=>{"use strict";Object.defineProperty(_ee,"__esModule",{value:!0});_ee.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("WAIT",e.toString(),r.toString())},transformReply:void 0}});var Y9e=E(See=>{"use strict";Object.defineProperty(See,"__esModule",{value:!0});See.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XACK"),t.pushKey(e),t.push(r),t.pushVariadic(n)},transformReply:void 0}});var J9e=E(vee=>{"use strict";Object.defineProperty(vee,"__esModule",{value:!0});vee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XACKDEL"),t.pushKey(e),t.push(r),s&&t.push(s),t.push("IDS"),t.pushVariadicWithLength(n)},transformReply:void 0}});var Cee=E(SI=>{"use strict";Object.defineProperty(SI,"__esModule",{value:!0});SI.parseXAddArguments=void 0;function X9e(t,e,r,n,s,i){e.push("XADD"),e.pushKey(r),t&&e.push(t),i?.policy&&e.push(i.policy),i?.IDMPAUTO?e.push("IDMPAUTO",i.IDMPAUTO.pid):i?.IDMP&&e.push("IDMP",i.IDMP.pid,i.IDMP.iid),i?.TRIM&&(i.TRIM.strategy&&e.push(i.TRIM.strategy),i.TRIM.strategyModifier&&e.push(i.TRIM.strategyModifier),e.push(i.TRIM.threshold.toString()),i.TRIM.limit&&e.push("LIMIT",i.TRIM.limit.toString()),i.TRIM.policy&&e.push(i.TRIM.policy)),e.push(n);for(let[a,o]of Object.entries(s))e.push(a,o)}SI.parseXAddArguments=X9e;SI.default={IS_READ_ONLY:!1,parseCommand(...t){return X9e(void 0,...t)},transformReply:void 0}});var Z9e=E(Iee=>{"use strict";Object.defineProperty(Iee,"__esModule",{value:!0});var Ocr=Cee();Iee.default={IS_READ_ONLY:!1,parseCommand(...t){return(0,Ocr.parseXAddArguments)("NOMKSTREAM",...t)},transformReply:void 0}});var wee=E(Tee=>{"use strict";Object.defineProperty(Tee,"__esModule",{value:!0});var Pcr=Ie();Tee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("XAUTOCLAIM"),t.pushKey(e),t.push(r,n,s.toString(),i),a?.COUNT&&t.push("COUNT",a.COUNT.toString())},transformReply(t,e,r){return{nextId:t[0],messages:t[1].map(Pcr.transformStreamMessageNullReply.bind(void 0,r)),deletedMessages:t[2]}}}});var tqe=E(vI=>{"use strict";var Dcr=vI&&vI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vI,"__esModule",{value:!0});var eqe=Dcr(wee());vI.default={IS_READ_ONLY:eqe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];eqe.default.parseCommand(...t),e.push("JUSTID")},transformReply(t){return{nextId:t[0],messages:t[1],deletedMessages:t[2]}}}});var Nee=E(Ree=>{"use strict";Object.defineProperty(Ree,"__esModule",{value:!0});var kcr=Ie();Ree.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i,a){t.push("XCLAIM"),t.pushKey(e),t.push(r,n,s.toString()),t.pushVariadic(i),a?.IDLE!==void 0&&t.push("IDLE",a.IDLE.toString()),a?.TIME!==void 0&&t.push("TIME",(a.TIME instanceof Date?a.TIME.getTime():a.TIME).toString()),a?.RETRYCOUNT!==void 0&&t.push("RETRYCOUNT",a.RETRYCOUNT.toString()),a?.FORCE&&t.push("FORCE"),a?.LASTID!==void 0&&t.push("LASTID",a.LASTID)},transformReply(t,e,r){return t.map(kcr.transformStreamMessageNullReply.bind(void 0,r))}}});var nqe=E(CI=>{"use strict";var Lcr=CI&&CI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CI,"__esModule",{value:!0});var rqe=Lcr(Nee());CI.default={IS_READ_ONLY:rqe.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];rqe.default.parseCommand(...t),e.push("JUSTID")},transformReply:void 0}});var sqe=E(Oee=>{"use strict";Object.defineProperty(Oee,"__esModule",{value:!0});Oee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XCFGSET"),t.pushKey(e),r?.IDMP_DURATION!==void 0&&t.push("IDMP-DURATION",r.IDMP_DURATION.toString()),r?.IDMP_MAXSIZE!==void 0&&t.push("IDMP-MAXSIZE",r.IDMP_MAXSIZE.toString())},transformReply:void 0}});var iqe=E(Pee=>{"use strict";Object.defineProperty(Pee,"__esModule",{value:!0});Pee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XDEL"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var aqe=E(Dee=>{"use strict";Object.defineProperty(Dee,"__esModule",{value:!0});Dee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XDELEX"),t.pushKey(e),n&&t.push(n),t.push("IDS"),t.pushVariadicWithLength(r)},transformReply:void 0}});var oqe=E(kee=>{"use strict";Object.defineProperty(kee,"__esModule",{value:!0});kee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XGROUP","CREATE"),t.pushKey(e),t.push(r,n),s?.MKSTREAM&&t.push("MKSTREAM"),s?.ENTRIESREAD&&t.push("ENTRIESREAD",s.ENTRIESREAD.toString())},transformReply:void 0}});var cqe=E(Lee=>{"use strict";Object.defineProperty(Lee,"__esModule",{value:!0});Lee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XGROUP","CREATECONSUMER"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var uqe=E(Bee=>{"use strict";Object.defineProperty(Bee,"__esModule",{value:!0});Bee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XGROUP","DELCONSUMER"),t.pushKey(e),t.push(r,n)},transformReply:void 0}});var lqe=E(Mee=>{"use strict";Object.defineProperty(Mee,"__esModule",{value:!0});Mee.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("XGROUP","DESTROY"),t.pushKey(e),t.push(r)},transformReply:void 0}});var dqe=E(Wee=>{"use strict";Object.defineProperty(Wee,"__esModule",{value:!0});Wee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XGROUP","SETID"),t.pushKey(e),t.push(r,n),s?.ENTRIESREAD&&t.push("ENTRIESREAD",s.ENTRIESREAD.toString())},transformReply:void 0}});var fqe=E($ee=>{"use strict";Object.defineProperty($ee,"__esModule",{value:!0});$ee.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XINFO","CONSUMERS"),t.pushKey(e),t.push(r)},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],pending:r[3],idle:r[5],inactive:r[7]}}),3:void 0}}});var pqe=E(Fee=>{"use strict";Object.defineProperty(Fee,"__esModule",{value:!0});Fee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("XINFO","GROUPS"),t.pushKey(e)},transformReply:{2:t=>t.map(e=>{let r=e;return{name:r[1],consumers:r[3],pending:r[5],"last-delivered-id":r[7],"entries-read":r[9],lag:r[11]}}),3:void 0}}});var hqe=E(Uee=>{"use strict";Object.defineProperty(Uee,"__esModule",{value:!0});var mqe=Ie();Uee.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("XINFO","STREAM"),t.pushKey(e)},transformReply:{2(t){let e={};for(let r=0;r<t.length;r+=2)switch(t[r]){case"first-entry":case"last-entry":e[t[r]]=Eb(t[r+1]);break;default:e[t[r]]=t[r+1];break}return e},3(t){if(t instanceof Map)t.set("first-entry",Eb(t.get("first-entry"))),t.set("last-entry",Eb(t.get("last-entry")));else if(t instanceof Array)for(let e=0;e<t.length;e+=2)(t[e]==="first-entry"||t[e]==="last-entry")&&(t[e+1]=Eb(t[e+1]));else t["first-entry"]=Eb(t["first-entry"]),t["last-entry"]=Eb(t["last-entry"]);return t}}};function Eb(t){if((0,mqe.isNullReply)(t))return t;let[e,r]=t;return{id:e,message:(0,mqe.transformTuplesReply)(r)}}});var gqe=E(qee=>{"use strict";Object.defineProperty(qee,"__esModule",{value:!0});qee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("XLEN"),t.pushKey(e)},transformReply:void 0}});var Aqe=E(jee=>{"use strict";Object.defineProperty(jee,"__esModule",{value:!0});jee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s,i,a){t.push("XPENDING"),t.pushKey(e),t.push(r),a?.IDLE!==void 0&&t.push("IDLE",a.IDLE.toString()),t.push(n,s,i.toString()),a?.consumer&&t.push(a.consumer)},transformReply(t){return t.map(e=>{let r=e;return{id:r[0],consumer:r[1],millisecondsSinceLastDelivery:r[2],deliveriesCounter:r[3]}})}}});var yqe=E(Hee=>{"use strict";Object.defineProperty(Hee,"__esModule",{value:!0});Hee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XPENDING"),t.pushKey(e),t.push(r)},transformReply(t){let e=t[3];return{pending:t[0],firstId:t[1],lastId:t[2],consumers:e===null?null:e.map(r=>{let[n,s]=r;return{name:n,deliveriesCounter:Number(s)}})}}}});var Qee=E(II=>{"use strict";Object.defineProperty(II,"__esModule",{value:!0});II.xRangeArguments=void 0;var Bcr=Ie();function xqe(t,e,r){let n=[t,e];return r?.COUNT&&n.push("COUNT",r.COUNT.toString()),n}II.xRangeArguments=xqe;II.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,...r){t.push("XRANGE"),t.pushKey(e),t.pushVariadic(xqe(r[0],r[1],r[2]))},transformReply(t,e,r){return t.map(Bcr.transformStreamMessageReply.bind(void 0,r))}}});var Gee=E(TI=>{"use strict";Object.defineProperty(TI,"__esModule",{value:!0});TI.pushXReadStreams=void 0;var Mcr=Ie();function bqe(t,e){if(t.push("STREAMS"),Array.isArray(e)){for(let r=0;r<e.length;r++)t.pushKey(e[r].key);for(let r=0;r<e.length;r++)t.push(e[r].id)}else t.pushKey(e.key),t.push(e.id)}TI.pushXReadStreams=bqe;TI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("XREAD"),r?.COUNT&&t.push("COUNT",r.COUNT.toString()),r?.BLOCK!==void 0&&t.push("BLOCK",r.BLOCK.toString()),bqe(t,e)},transformReply:{2:Mcr.transformStreamsMessagesReplyResp2,3:void 0},unstableResp3:!0}});var Eqe=E(Vee=>{"use strict";Object.defineProperty(Vee,"__esModule",{value:!0});var Wcr=Gee(),$cr=Ie();Vee.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("XREADGROUP","GROUP",e,r),s?.COUNT!==void 0&&t.push("COUNT",s.COUNT.toString()),s?.BLOCK!==void 0&&t.push("BLOCK",s.BLOCK.toString()),s?.NOACK&&t.push("NOACK"),s?.CLAIM!==void 0&&t.push("CLAIM",s.CLAIM.toString()),(0,Wcr.pushXReadStreams)(t,n)},transformReply:{2:$cr.transformStreamsMessagesReplyResp2,3:void 0}}});var _qe=E(If=>{"use strict";var Fcr=If&&If.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ucr=If&&If.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qcr=If&&If.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Fcr(e,t,r);return Ucr(e,t),e};Object.defineProperty(If,"__esModule",{value:!0});var cB=qcr(Qee());If.default={CACHEABLE:cB.default.CACHEABLE,IS_READ_ONLY:cB.default.IS_READ_ONLY,parseCommand(t,e,...r){t.push("XREVRANGE"),t.pushKey(e),t.pushVariadic((0,cB.xRangeArguments)(r[0],r[1],r[2]))},transformReply:cB.default.transformReply}});var Sqe=E(zee=>{"use strict";Object.defineProperty(zee,"__esModule",{value:!0});zee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("XSETID"),t.pushKey(e),t.push(r),n?.ENTRIESADDED&&t.push("ENTRIESADDED",n.ENTRIESADDED.toString()),n?.MAXDELETEDID&&t.push("MAXDELETEDID",n.MAXDELETEDID)},transformReply:void 0}});var vqe=E(Kee=>{"use strict";Object.defineProperty(Kee,"__esModule",{value:!0});Kee.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("XTRIM"),t.pushKey(e),t.push(r),s?.strategyModifier&&t.push(s.strategyModifier),t.push(n.toString()),s?.LIMIT&&t.push("LIMIT",s.LIMIT.toString()),s?.policy&&t.push(s.policy)},transformReply:void 0}});var Yee=E(wI=>{"use strict";Object.defineProperty(wI,"__esModule",{value:!0});wI.pushMembers=void 0;var Iqe=Ie();wI.default={parseCommand(t,e,r,n){t.push("ZADD"),t.pushKey(e),n?.condition?t.push(n.condition):n?.NX?t.push("NX"):n?.XX&&t.push("XX"),n?.comparison?t.push(n.comparison):n?.LT?t.push("LT"):n?.GT&&t.push("GT"),n?.CH&&t.push("CH"),Tqe(t,r)},transformReply:Iqe.transformDoubleReply};function Tqe(t,e){if(Array.isArray(e))for(let r of e)Cqe(t,r);else Cqe(t,e)}wI.pushMembers=Tqe;function Cqe(t,e){t.push((0,Iqe.transformDoubleArgument)(e.score),e.value)}});var wqe=E(Jee=>{"use strict";Object.defineProperty(Jee,"__esModule",{value:!0});var jcr=Yee(),Hcr=Ie();Jee.default={parseCommand(t,e,r,n){t.push("ZADD"),t.pushKey(e),n?.condition&&t.push(n.condition),n?.comparison&&t.push(n.comparison),n?.CH&&t.push("CH"),t.push("INCR"),(0,jcr.pushMembers)(t,r)},transformReply:Hcr.transformNullableDoubleReply}});var Rqe=E(Xee=>{"use strict";Object.defineProperty(Xee,"__esModule",{value:!0});Xee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZCARD"),t.pushKey(e)},transformReply:void 0}});var Oqe=E(Zee=>{"use strict";Object.defineProperty(Zee,"__esModule",{value:!0});var Nqe=Ie();Zee.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZCOUNT"),t.pushKey(e),t.push((0,Nqe.transformStringDoubleArgument)(r),(0,Nqe.transformStringDoubleArgument)(n))},transformReply:void 0}});var tte=E(ete=>{"use strict";Object.defineProperty(ete,"__esModule",{value:!0});ete.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZDIFF"),t.pushKeysLength(e)},transformReply:void 0}});var Dqe=E(RI=>{"use strict";var Qcr=RI&&RI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RI,"__esModule",{value:!0});var Gcr=Ie(),Pqe=Qcr(tte());RI.default={IS_READ_ONLY:Pqe.default.IS_READ_ONLY,parseCommand(t,e){Pqe.default.parseCommand(t,e),t.push("WITHSCORES")},transformReply:Gcr.transformSortedSetReply}});var kqe=E(rte=>{"use strict";Object.defineProperty(rte,"__esModule",{value:!0});rte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZDIFFSTORE"),t.pushKey(e),t.pushKeysLength(r)},transformReply:void 0}});var Bqe=E(nte=>{"use strict";Object.defineProperty(nte,"__esModule",{value:!0});var Lqe=Ie();nte.default={parseCommand(t,e,r,n){t.push("ZINCRBY"),t.pushKey(e),t.push((0,Lqe.transformDoubleArgument)(r),n)},transformReply:Lqe.transformDoubleReply}});var uB=E(NI=>{"use strict";Object.defineProperty(NI,"__esModule",{value:!0});NI.parseZInterArguments=void 0;var Vcr=Ie();function Mqe(t,e,r){(0,Vcr.parseZKeysArguments)(t,e),r?.AGGREGATE&&t.push("AGGREGATE",r.AGGREGATE)}NI.parseZInterArguments=Mqe;NI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZINTER"),Mqe(t,e,r)},transformReply:void 0}});var $qe=E(OI=>{"use strict";var zcr=OI&&OI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(OI,"__esModule",{value:!0});var Kcr=Ie(),Wqe=zcr(uB());OI.default={IS_READ_ONLY:Wqe.default.IS_READ_ONLY,parseCommand(...t){Wqe.default.parseCommand(...t),t[0].push("WITHSCORES")},transformReply:Kcr.transformSortedSetReply}});var Fqe=E(ste=>{"use strict";Object.defineProperty(ste,"__esModule",{value:!0});ste.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZINTERCARD"),t.pushKeysLength(e),typeof r=="number"?t.push("LIMIT",r.toString()):r?.LIMIT&&t.push("LIMIT",r.LIMIT.toString())},transformReply:void 0}});var Uqe=E(ite=>{"use strict";Object.defineProperty(ite,"__esModule",{value:!0});var Ycr=uB();ite.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZINTERSTORE"),t.pushKey(e),(0,Ycr.parseZInterArguments)(t,r,n)},transformReply:void 0}});var qqe=E(ate=>{"use strict";Object.defineProperty(ate,"__esModule",{value:!0});ate.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZLEXCOUNT"),t.pushKey(e),t.push(r),t.push(n)},transformReply:void 0}});var jqe=E(ote=>{"use strict";Object.defineProperty(ote,"__esModule",{value:!0});var Jcr=Ie();ote.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZMSCORE"),t.pushKey(e),t.pushVariadic(r)},transformReply:{2:(t,e,r)=>t.map((0,Jcr.createTransformNullableDoubleReplyResp2Func)(e,r)),3:void 0}}});var Hqe=E(cte=>{"use strict";Object.defineProperty(cte,"__esModule",{value:!0});var Xcr=Ie();cte.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZPOPMAX"),t.pushKey(e),t.push(r.toString())},transformReply:Xcr.transformSortedSetReply}});var lte=E(ute=>{"use strict";Object.defineProperty(ute,"__esModule",{value:!0});var Zcr=Ie();ute.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("ZPOPMAX"),t.pushKey(e)},transformReply:{2:(t,e,r)=>t.length===0?null:{value:t[0],score:Zcr.transformDoubleReply[2](t[1],e,r)},3:t=>t.length===0?null:{value:t[0],score:t[1]}}}});var Qqe=E(dte=>{"use strict";Object.defineProperty(dte,"__esModule",{value:!0});var eur=Ie();dte.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZPOPMIN"),t.pushKey(e),t.push(r.toString())},transformReply:eur.transformSortedSetReply}});var Gqe=E(PI=>{"use strict";var tur=PI&&PI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(PI,"__esModule",{value:!0});var rur=tur(lte());PI.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("ZPOPMIN"),t.pushKey(e)},transformReply:rur.default.transformReply}});var pte=E(fte=>{"use strict";Object.defineProperty(fte,"__esModule",{value:!0});fte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("ZRANDMEMBER"),t.pushKey(e)},transformReply:void 0}});var mte=E(DI=>{"use strict";var nur=DI&&DI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(DI,"__esModule",{value:!0});var Vqe=nur(pte());DI.default={IS_READ_ONLY:Vqe.default.IS_READ_ONLY,parseCommand(t,e,r){Vqe.default.parseCommand(t,e),t.push(r.toString())},transformReply:void 0}});var Kqe=E(kI=>{"use strict";var sur=kI&&kI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kI,"__esModule",{value:!0});var iur=Ie(),zqe=sur(mte());kI.default={IS_READ_ONLY:zqe.default.IS_READ_ONLY,parseCommand(t,e,r){zqe.default.parseCommand(t,e,r),t.push("WITHSCORES")},transformReply:iur.transformSortedSetReply}});var hte=E(LI=>{"use strict";Object.defineProperty(LI,"__esModule",{value:!0});LI.zRangeArgument=void 0;var Yqe=Ie();function Jqe(t,e,r){let n=[(0,Yqe.transformStringDoubleArgument)(t),(0,Yqe.transformStringDoubleArgument)(e)];switch(r?.BY){case"SCORE":n.push("BYSCORE");break;case"LEX":n.push("BYLEX");break}return r?.REV&&n.push("REV"),r?.LIMIT&&n.push("LIMIT",r.LIMIT.offset.toString(),r.LIMIT.count.toString()),n}LI.zRangeArgument=Jqe;LI.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGE"),t.pushKey(e),t.pushVariadic(Jqe(r,n,s))},transformReply:void 0}});var Xqe=E(BI=>{"use strict";var aur=BI&&BI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BI,"__esModule",{value:!0});var our=Ie(),gte=aur(hte());BI.default={CACHEABLE:gte.default.CACHEABLE,IS_READ_ONLY:gte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];gte.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:our.transformSortedSetReply}});var eje=E(Ate=>{"use strict";Object.defineProperty(Ate,"__esModule",{value:!0});var Zqe=Ie();Ate.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGEBYLEX"),t.pushKey(e),t.push((0,Zqe.transformStringDoubleArgument)(r),(0,Zqe.transformStringDoubleArgument)(n)),s?.LIMIT&&t.push("LIMIT",s.LIMIT.offset.toString(),s.LIMIT.count.toString())},transformReply:void 0}});var xte=E(yte=>{"use strict";Object.defineProperty(yte,"__esModule",{value:!0});var tje=Ie();yte.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("ZRANGEBYSCORE"),t.pushKey(e),t.push((0,tje.transformStringDoubleArgument)(r),(0,tje.transformStringDoubleArgument)(n)),s?.LIMIT&&t.push("LIMIT",s.LIMIT.offset.toString(),s.LIMIT.count.toString())},transformReply:void 0}});var rje=E(MI=>{"use strict";var cur=MI&&MI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MI,"__esModule",{value:!0});var uur=Ie(),bte=cur(xte());MI.default={CACHEABLE:bte.default.CACHEABLE,IS_READ_ONLY:bte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];bte.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:uur.transformSortedSetReply}});var sje=E(Ete=>{"use strict";Object.defineProperty(Ete,"__esModule",{value:!0});var nje=Ie();Ete.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){switch(t.push("ZRANGESTORE"),t.pushKey(e),t.pushKey(r),t.push((0,nje.transformStringDoubleArgument)(n),(0,nje.transformStringDoubleArgument)(s)),i?.BY){case"SCORE":t.push("BYSCORE");break;case"LEX":t.push("BYLEX");break}i?.REV&&t.push("REV"),i?.LIMIT&&t.push("LIMIT",i.LIMIT.offset.toString(),i.LIMIT.count.toString())},transformReply:void 0}});var aje=E(_te=>{"use strict";Object.defineProperty(_te,"__esModule",{value:!0});var ije=Ie();_te.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYSCORE"),t.pushKey(e),t.push((0,ije.transformStringDoubleArgument)(r),(0,ije.transformStringDoubleArgument)(n))},transformReply:void 0}});var vte=E(Ste=>{"use strict";Object.defineProperty(Ste,"__esModule",{value:!0});Ste.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZRANK"),t.pushKey(e),t.push(r)},transformReply:void 0}});var oje=E(WI=>{"use strict";var lur=WI&&WI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(WI,"__esModule",{value:!0});var Cte=lur(vte());WI.default={CACHEABLE:Cte.default.CACHEABLE,IS_READ_ONLY:Cte.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];Cte.default.parseCommand(...t),e.push("WITHSCORE")},transformReply:{2:t=>t===null?null:{rank:t[0],score:Number(t[1])},3:t=>t===null?null:{rank:t[0],score:t[1]}}}});var cje=E(Ite=>{"use strict";Object.defineProperty(Ite,"__esModule",{value:!0});Ite.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("ZREM"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var lje=E(Tte=>{"use strict";Object.defineProperty(Tte,"__esModule",{value:!0});var uje=Ie();Tte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYLEX"),t.pushKey(e),t.push((0,uje.transformStringDoubleArgument)(r),(0,uje.transformStringDoubleArgument)(n))},transformReply:void 0}});var dje=E(wte=>{"use strict";Object.defineProperty(wte,"__esModule",{value:!0});wte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZREMRANGEBYRANK"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var fje=E(Rte=>{"use strict";Object.defineProperty(Rte,"__esModule",{value:!0});Rte.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZREVRANK"),t.pushKey(e),t.push(r)},transformReply:void 0}});var pje=E(Nte=>{"use strict";Object.defineProperty(Nte,"__esModule",{value:!0});var dur=cI(),fur=Ie();Nte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("ZSCAN"),t.pushKey(e),(0,dur.parseScanArguments)(t,r,n)},transformReply([t,e]){return{cursor:t,members:fur.transformSortedSetReply[2](e)}}}});var mje=E(Ote=>{"use strict";Object.defineProperty(Ote,"__esModule",{value:!0});var pur=Ie();Ote.default={CACHEABLE:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZSCORE"),t.pushKey(e),t.push(r)},transformReply:pur.transformNullableDoubleReply}});var Dte=E(Pte=>{"use strict";Object.defineProperty(Pte,"__esModule",{value:!0});var mur=Ie();Pte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("ZUNION"),(0,mur.parseZKeysArguments)(t,e),r?.AGGREGATE&&t.push("AGGREGATE",r.AGGREGATE)},transformReply:void 0}});var gje=E($I=>{"use strict";var hur=$I&&$I.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($I,"__esModule",{value:!0});var gur=Ie(),hje=hur(Dte());$I.default={IS_READ_ONLY:hje.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];hje.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:gur.transformSortedSetReply}});var Aje=E(kte=>{"use strict";Object.defineProperty(kte,"__esModule",{value:!0});var Aur=Ie();kte.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("ZUNIONSTORE"),t.pushKey(e),(0,Aur.parseZKeysArguments)(t,r),n?.AGGREGATE&&t.push("AGGREGATE",n.AGGREGATE)},transformReply:void 0}});var xje=E(Lte=>{"use strict";Object.defineProperty(Lte,"__esModule",{value:!0});var yje=Ie();Lte.default={parseCommand(t,e,r,n,s){t.push("VADD"),t.pushKey(e),s?.REDUCE!==void 0&&t.push("REDUCE",s.REDUCE.toString()),t.push("VALUES",r.length.toString());for(let i of r)t.push((0,yje.transformDoubleArgument)(i));t.push(n),s?.CAS&&t.push("CAS"),s?.QUANT&&t.push(s.QUANT),s?.EF!==void 0&&t.push("EF",s.EF.toString()),s?.SETATTR&&t.push("SETATTR",JSON.stringify(s.SETATTR)),s?.M!==void 0&&t.push("M",s.M.toString())},transformReply:yje.transformBooleanReply}});var bje=E(Bte=>{"use strict";Object.defineProperty(Bte,"__esModule",{value:!0});Bte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VCARD"),t.pushKey(e)},transformReply:void 0}});var Eje=E(Mte=>{"use strict";Object.defineProperty(Mte,"__esModule",{value:!0});Mte.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VDIM"),t.pushKey(e)},transformReply:void 0}});var $te=E(Wte=>{"use strict";Object.defineProperty(Wte,"__esModule",{value:!0});var yur=Ie();Wte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VEMB"),t.pushKey(e),t.push(r)},transformReply:yur.transformDoubleArrayReply}});var Sje=E(FI=>{"use strict";var xur=FI&&FI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FI,"__esModule",{value:!0});var _je=Ie(),bur=xur($te()),Eur={2:t=>({quantization:t[0],raw:t[1],l2Norm:_je.transformDoubleReply[2](t[2]),...t[3]!==void 0&&{quantizationRange:_je.transformDoubleReply[2](t[3])}}),3:t=>({quantization:t[0],raw:t[1],l2Norm:t[2],quantizationRange:t[3]})};FI.default={IS_READ_ONLY:!0,parseCommand(t,e,r){bur.default.parseCommand(t,e,r),t.push("RAW")},transformReply:Eur}});var vje=E(Fte=>{"use strict";Object.defineProperty(Fte,"__esModule",{value:!0});var _ur=Ie();Fte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VGETATTR"),t.pushKey(e),t.push(r)},transformReply:_ur.transformRedisJsonNullReply}});var Cje=E(Ute=>{"use strict";Object.defineProperty(Ute,"__esModule",{value:!0});Ute.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("VINFO"),t.pushKey(e)},transformReply:{2:t=>{let e=Object.create(null);for(let r=0;r<t.length;r+=2)e[t[r].toString()]=t[r+1];return e},3:void 0}}});var jte=E(qte=>{"use strict";Object.defineProperty(qte,"__esModule",{value:!0});qte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VLINKS"),t.pushKey(e),t.push(r)},transformReply:void 0}});var Tje=E(UI=>{"use strict";var Sur=UI&&UI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UI,"__esModule",{value:!0});var vur=Ie(),Ije=Sur(jte());function Cur(t){let e=[];for(let r of t){let n=Object.create(null);for(let s=0;s<r.length;s+=2){let i=r[s],a=vur.transformDoubleReply[2](r[s+1]);n[i.toString()]=a}e.push(n)}return e}UI.default={IS_READ_ONLY:Ije.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];Ije.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:{2:Cur,3:void 0}}});var wje=E(Hte=>{"use strict";Object.defineProperty(Hte,"__esModule",{value:!0});Hte.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("VRANDMEMBER"),t.pushKey(e),r!==void 0&&t.push(r.toString())},transformReply:void 0}});var Rje=E(Qte=>{"use strict";Object.defineProperty(Qte,"__esModule",{value:!0});Qte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("VRANGE"),t.pushKey(e),t.push(r,n),s!==void 0&&t.push(s.toString())},transformReply:void 0}});var Nje=E(Gte=>{"use strict";Object.defineProperty(Gte,"__esModule",{value:!0});var Iur=Ie();Gte.default={parseCommand(t,e,r){t.push("VREM"),t.pushKey(e),t.push(r)},transformReply:Iur.transformBooleanReply}});var Oje=E(Vte=>{"use strict";Object.defineProperty(Vte,"__esModule",{value:!0});var Tur=Ie();Vte.default={parseCommand(t,e,r,n){t.push("VSETATTR"),t.pushKey(e),t.push(r),typeof n=="object"&&n!==null?t.push(JSON.stringify(n)):t.push(n)},transformReply:Tur.transformBooleanReply}});var Kte=E(zte=>{"use strict";Object.defineProperty(zte,"__esModule",{value:!0});var wur=Ie();zte.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){if(t.push("VSIM"),t.pushKey(e),Array.isArray(r)){t.push("VALUES",r.length.toString());for(let s of r)t.push((0,wur.transformDoubleArgument)(s))}else t.push("ELE",r);n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.EPSILON!==void 0&&t.push("EPSILON",n.EPSILON.toString()),n?.EF!==void 0&&t.push("EF",n.EF.toString()),n?.FILTER&&t.push("FILTER",n.FILTER),n?.["FILTER-EF"]!==void 0&&t.push("FILTER-EF",n["FILTER-EF"].toString()),n?.TRUTH&&t.push("TRUTH"),n?.NOTHREAD&&t.push("NOTHREAD")},transformReply:void 0}});var Dje=E(qI=>{"use strict";var Rur=qI&&qI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(qI,"__esModule",{value:!0});var Nur=Ie(),Pje=Rur(Kte());qI.default={IS_READ_ONLY:Pje.default.IS_READ_ONLY,parseCommand(...t){let e=t[0];Pje.default.parseCommand(...t),e.push("WITHSCORES")},transformReply:{2:t=>{let e=t,r={};for(let n=0;n<e.length;n+=2)r[e[n].toString()]=Nur.transformDoubleReply[2](e[n+1]);return r},3:void 0}}});var kje=E(Yte=>{"use strict";Object.defineProperty(Yte,"__esModule",{value:!0});var Our=Ie(),Pur=t=>t;Yte.default={CACHEABLE:!1,IS_READ_ONLY:!0,parseCommand(t,...e){let r=["LATENCY","HISTOGRAM"];e.length!==0&&r.push(...e),t.push(...r)},transformReply:{2:t=>{let e={};if(t.length===0)return e;for(let r=1;r<t.length;r+=2){let n=t[r];e[t[r-1]]={calls:n[1],histogram_usec:(0,Our.transformTuplesToMap)(n[3],Pur)}}return e},3:void 0}}});var yu=E(Qn=>{"use strict";var Dur=Qn&&Qn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),kur=Qn&&Qn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),jI=Qn&&Qn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Dur(e,t,r);return kur(e,t),e},$=Qn&&Qn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qn,"__esModule",{value:!0});Qn.NON_STICKY_COMMANDS=Qn.REDIS_FLUSH_MODES=Qn.COMMAND_LIST_FILTER_BY=Qn.CLUSTER_SLOT_STATES=Qn.FAILOVER_MODES=Qn.CLIENT_KILL_FILTERS=void 0;var Lje=$(cWe()),Bje=$(uWe()),Mje=$(lWe()),Wje=$(dWe()),$je=$(fWe()),Fje=$(pWe()),Uje=$(mWe()),qje=$(_We()),jje=$(HK()),Hje=$(SWe()),Qje=$(vWe()),Gje=$(CWe()),Vje=$(IWe()),zje=$(TWe()),Kje=$(YK()),Yje=$(wWe()),Jje=$(RWe()),Xje=$(NWe()),Zje=$(OWe()),eHe=$(PWe()),tHe=$(DWe()),rHe=$(kWe()),nHe=$(LWe()),sHe=$(BWe()),iHe=$($We()),aHe=$(cY()),oHe=$(FWe()),cHe=$(UWe()),uHe=$(QWe()),lHe=$(fY()),dHe=$(VWe()),fHe=$(zWe()),pHe=$(KWe()),mHe=$(YWe()),hHe=$(JWe()),gHe=$(yY()),Jte=jI(ZWe());Object.defineProperty(Qn,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return Jte.CLIENT_KILL_FILTERS}});var AHe=$(e$e()),yHe=$(t$e()),xHe=$(r$e()),bHe=$(n$e()),EHe=$(s$e()),_He=$(i$e()),SHe=$(a$e()),vHe=$(o$e()),CHe=$(c$e()),IHe=$(u$e()),THe=$(l$e()),wHe=$(d$e()),RHe=$(f$e()),NHe=$(p$e()),OHe=$(m$e()),Xte=jI(h$e());Object.defineProperty(Qn,"FAILOVER_MODES",{enumerable:!0,get:function(){return Xte.FAILOVER_MODES}});var PHe=$(g$e()),DHe=$(A$e()),kHe=$(y$e()),LHe=$(x$e()),BHe=$(b$e()),MHe=$(E$e()),WHe=$(_$e()),$He=$(S$e()),FHe=$(v$e()),UHe=$(C$e()),qHe=$(I$e()),jHe=$(T$e()),HHe=$(w$e()),QHe=$(R$e()),GHe=$(N$e()),Zte=jI(O$e());Object.defineProperty(Qn,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return Zte.CLUSTER_SLOT_STATES}});var VHe=$(D$e()),zHe=$(k$e()),KHe=$(L$e()),YHe=$(B$e()),JHe=$(M$e()),ere=jI(W$e());Object.defineProperty(Qn,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return ere.COMMAND_LIST_FILTER_BY}});var XHe=$($$e()),ZHe=$(F$e()),eQe=$(U$e()),tQe=$(q$e()),rQe=$(j$e()),nQe=$(H$e()),sQe=$(Q$e()),iQe=$(G$e()),aQe=$(V$e()),oQe=$(z$e()),cQe=$(K$e()),uQe=$(Y$e()),lQe=$(J$e()),dQe=$(X$e()),fQe=$(tFe()),pQe=$(cg()),mQe=$(nFe()),hQe=$(iFe()),gQe=$(oFe()),AQe=$(cFe()),yQe=$(uFe()),xQe=$(lFe()),bQe=$(AFe()),EQe=$(xFe()),_Qe=$(EFe()),SQe=$(iB()),vQe=$(ZC()),CQe=$(IFe()),IQe=$(wFe()),TQe=$(NFe()),wQe=$(gJ()),RQe=$(nI()),NQe=$(eI()),OQe=$(lg()),PQe=$(OFe()),DQe=$(PFe()),kQe=$(DFe()),LQe=$(kFe()),BQe=$(LFe()),MQe=$(BFe()),WQe=$(MFe()),$Qe=$(WFe()),FQe=$($Fe()),UQe=$(FFe()),qQe=$(UFe()),tre=jI(qFe());Object.defineProperty(Qn,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return tre.REDIS_FLUSH_MODES}});var jQe=$(jFe()),HQe=$(QFe()),QQe=$(VFe()),GQe=$(zFe()),VQe=$(KFe()),zQe=$(YFe()),KQe=$(JFe()),YQe=$(XFe()),JQe=$(LJ()),XQe=$(ZFe()),ZQe=$(eUe()),eGe=$(tUe()),tGe=$(rUe()),rGe=$(qJ()),nGe=$(nUe()),sGe=$(sUe()),iGe=$(iUe()),aGe=$(aUe()),oGe=$(oUe()),cGe=$(cUe()),uGe=$(uUe()),lGe=$(lUe()),dGe=$(dUe()),fGe=$(fUe()),pGe=$(pUe()),mGe=$(mUe()),hGe=$(hUe()),gGe=$(gUe()),AGe=$(AUe()),yGe=$(yUe()),xGe=$(xUe()),bGe=$(bUe()),EGe=$(EUe()),_Ge=$(_Ue()),SGe=$(SUe()),vGe=$(uX()),CGe=$(CUe()),IGe=$(TUe()),TGe=$(RUe()),wGe=$(NUe()),RGe=$(OUe()),NGe=$(PUe()),OGe=$(DUe()),PGe=$(LUe()),DGe=$(BUe()),kGe=$(MUe()),LGe=$(WUe()),BGe=$($Ue()),MGe=$(FUe()),WGe=$(UUe()),$Ge=$(qUe()),FGe=$(jUe()),UGe=$(HUe()),qGe=$(QUe()),jGe=$(IX()),HGe=$(GUe()),QGe=$(VUe()),GGe=$(zUe()),VGe=$(JUe()),zGe=$(NX()),KGe=$(ZUe()),YGe=$(aB()),JGe=$(e7e()),XGe=$(t7e()),ZGe=$(r7e()),eVe=$(n7e()),tVe=$(aY()),Lur=$(s7e()),rVe=$(i7e()),nVe=$(MX()),sVe=$(a7e()),iVe=$($X()),aVe=$(o7e()),oVe=$(c7e()),cVe=$(u7e()),uVe=$(l7e()),lVe=$(d7e()),dVe=$(f7e()),fVe=$(p7e()),pVe=$(m7e()),mVe=$(h7e()),hVe=$(g7e()),gVe=$(A7e()),AVe=$(y7e()),yVe=$(x7e()),xVe=$(b7e()),bVe=$(E7e()),EVe=$(_7e()),_Ve=$(S7e()),SVe=$(sZ()),vVe=$(T7e()),CVe=$(w7e()),IVe=$(R7e()),TVe=$(N7e()),wVe=$(O7e()),RVe=$(P7e()),NVe=$(D7e()),OVe=$(k7e()),PVe=$(L7e()),DVe=$(B7e()),kVe=$(M7e()),LVe=$(W7e()),BVe=$($7e()),MVe=$(F7e()),WVe=$(U7e()),$Ve=$(q7e()),FVe=$(j7e()),UVe=$(H7e()),qVe=$(Q7e()),jVe=$(G7e()),HVe=$(V7e()),QVe=$(z7e()),GVe=$(K7e()),VVe=$(Y7e()),zVe=$(J7e()),KVe=$(X7e()),YVe=$(Z7e()),JVe=$(e9e()),XVe=$(t9e()),ZVe=$(r9e()),eze=$(n9e()),tze=$(s9e()),rze=$(i9e()),nze=$(a9e()),sze=$(o9e()),ize=$(c9e()),aze=$(cI()),oze=$(u9e()),cze=$(l9e()),uze=$(d9e()),lze=$(f9e()),dze=$(p9e()),fze=$(m9e()),pze=$(h9e()),mze=$(g9e()),hze=$(A9e()),gze=$(y9e()),Aze=$(x9e()),yze=$(b9e()),xze=$(E9e()),bze=$(_9e()),Eze=$(S9e()),_ze=$(v9e()),Sze=$(C9e()),vze=$(I9e()),Cze=$(T9e()),Ize=$(w9e()),Tze=$(O9e()),wze=$(P9e()),Rze=$(oB()),Nze=$(D9e()),Oze=$(k9e()),Pze=$(L9e()),Dze=$(M9e()),kze=$(lee()),Lze=$(W9e()),Bze=$($9e()),Mze=$(F9e()),Wze=$(U9e()),$ze=$(q9e()),Fze=$(j9e()),Uze=$(H9e()),qze=$(Q9e()),jze=$(G9e()),Hze=$(V9e()),Qze=$(z9e()),Gze=$(K9e()),Vze=$(Y9e()),zze=$(J9e()),Kze=$(Z9e()),Yze=$(Cee()),Jze=$(tqe()),Xze=$(wee()),Zze=$(nqe()),eKe=$(Nee()),tKe=$(sqe()),rKe=$(iqe()),nKe=$(aqe()),sKe=$(oqe()),iKe=$(cqe()),aKe=$(uqe()),oKe=$(lqe()),cKe=$(dqe()),uKe=$(fqe()),lKe=$(pqe()),dKe=$(hqe()),fKe=$(gqe()),pKe=$(Aqe()),mKe=$(yqe()),hKe=$(Qee()),gKe=$(Gee()),AKe=$(Eqe()),yKe=$(_qe()),xKe=$(Sqe()),bKe=$(vqe()),EKe=$(wqe()),_Ke=$(Yee()),SKe=$(Rqe()),vKe=$(Oqe()),CKe=$(Dqe()),IKe=$(tte()),TKe=$(kqe()),wKe=$(Bqe()),RKe=$($qe()),NKe=$(uB()),OKe=$(Fqe()),PKe=$(Uqe()),DKe=$(qqe()),kKe=$(lY()),LKe=$(jqe()),BKe=$(Hqe()),MKe=$(lte()),WKe=$(Qqe()),$Ke=$(Gqe()),FKe=$(Kqe()),UKe=$(mte()),qKe=$(pte()),jKe=$(Xqe()),HKe=$(hte()),QKe=$(eje()),GKe=$(rje()),VKe=$(xte()),zKe=$(sje()),KKe=$(aje()),YKe=$(oje()),JKe=$(vte()),XKe=$(cje()),ZKe=$(lje()),eYe=$(dje()),tYe=$(fje()),rYe=$(pje()),nYe=$(mje()),sYe=$(gje()),iYe=$(Dte()),aYe=$(Aje()),oYe=$(xje()),cYe=$(bje()),uYe=$(Eje()),lYe=$($te()),dYe=$(Sje()),fYe=$(vje()),pYe=$(Cje()),mYe=$(jte()),hYe=$(Tje()),gYe=$(wje()),AYe=$(Rje()),yYe=$(Nje()),xYe=$(Oje()),bYe=$(Kte()),EYe=$(Dje()),_Ye=$(kje());Qn.default={ACL_CAT:Lje.default,aclCat:Lje.default,ACL_DELUSER:Bje.default,aclDelUser:Bje.default,ACL_DRYRUN:Mje.default,aclDryRun:Mje.default,ACL_GENPASS:Wje.default,aclGenPass:Wje.default,ACL_GETUSER:$je.default,aclGetUser:$je.default,ACL_LIST:Fje.default,aclList:Fje.default,ACL_LOAD:Uje.default,aclLoad:Uje.default,ACL_LOG_RESET:qje.default,aclLogReset:qje.default,ACL_LOG:jje.default,aclLog:jje.default,ACL_SAVE:Hje.default,aclSave:Hje.default,ACL_SETUSER:Qje.default,aclSetUser:Qje.default,ACL_USERS:Gje.default,aclUsers:Gje.default,ACL_WHOAMI:Vje.default,aclWhoAmI:Vje.default,APPEND:zje.default,append:zje.default,ASKING:Kje.default,asking:Kje.default,AUTH:Yje.default,auth:Yje.default,BGREWRITEAOF:Jje.default,bgRewriteAof:Jje.default,BGSAVE:Xje.default,bgSave:Xje.default,BITCOUNT:Zje.default,bitCount:Zje.default,BITFIELD_RO:eHe.default,bitFieldRo:eHe.default,BITFIELD:tHe.default,bitField:tHe.default,BITOP:rHe.default,bitOp:rHe.default,BITPOS:nHe.default,bitPos:nHe.default,BLMOVE:sHe.default,blMove:sHe.default,BLMPOP:iHe.default,blmPop:iHe.default,BLPOP:aHe.default,blPop:aHe.default,BRPOP:oHe.default,brPop:oHe.default,BRPOPLPUSH:cHe.default,brPopLPush:cHe.default,BZMPOP:uHe.default,bzmPop:uHe.default,BZPOPMAX:lHe.default,bzPopMax:lHe.default,BZPOPMIN:dHe.default,bzPopMin:dHe.default,CLIENT_CACHING:fHe.default,clientCaching:fHe.default,CLIENT_GETNAME:pHe.default,clientGetName:pHe.default,CLIENT_GETREDIR:mHe.default,clientGetRedir:mHe.default,CLIENT_ID:hHe.default,clientId:hHe.default,CLIENT_INFO:gHe.default,clientInfo:gHe.default,CLIENT_KILL:Jte.default,clientKill:Jte.default,CLIENT_LIST:AHe.default,clientList:AHe.default,"CLIENT_NO-EVICT":yHe.default,clientNoEvict:yHe.default,"CLIENT_NO-TOUCH":xHe.default,clientNoTouch:xHe.default,CLIENT_PAUSE:bHe.default,clientPause:bHe.default,CLIENT_SETNAME:EHe.default,clientSetName:EHe.default,CLIENT_TRACKING:_He.default,clientTracking:_He.default,CLIENT_TRACKINGINFO:SHe.default,clientTrackingInfo:SHe.default,CLIENT_UNPAUSE:vHe.default,clientUnpause:vHe.default,CLUSTER_ADDSLOTS:CHe.default,clusterAddSlots:CHe.default,CLUSTER_ADDSLOTSRANGE:IHe.default,clusterAddSlotsRange:IHe.default,CLUSTER_BUMPEPOCH:THe.default,clusterBumpEpoch:THe.default,"CLUSTER_COUNT-FAILURE-REPORTS":wHe.default,clusterCountFailureReports:wHe.default,CLUSTER_COUNTKEYSINSLOT:RHe.default,clusterCountKeysInSlot:RHe.default,CLUSTER_DELSLOTS:NHe.default,clusterDelSlots:NHe.default,CLUSTER_DELSLOTSRANGE:OHe.default,clusterDelSlotsRange:OHe.default,CLUSTER_FAILOVER:Xte.default,clusterFailover:Xte.default,CLUSTER_FLUSHSLOTS:PHe.default,clusterFlushSlots:PHe.default,CLUSTER_FORGET:DHe.default,clusterForget:DHe.default,CLUSTER_GETKEYSINSLOT:kHe.default,clusterGetKeysInSlot:kHe.default,CLUSTER_INFO:LHe.default,clusterInfo:LHe.default,CLUSTER_KEYSLOT:BHe.default,clusterKeySlot:BHe.default,CLUSTER_LINKS:MHe.default,clusterLinks:MHe.default,CLUSTER_MEET:WHe.default,clusterMeet:WHe.default,CLUSTER_MYID:$He.default,clusterMyId:$He.default,CLUSTER_MYSHARDID:FHe.default,clusterMyShardId:FHe.default,CLUSTER_NODES:UHe.default,clusterNodes:UHe.default,CLUSTER_REPLICAS:qHe.default,clusterReplicas:qHe.default,CLUSTER_REPLICATE:jHe.default,clusterReplicate:jHe.default,CLUSTER_RESET:HHe.default,clusterReset:HHe.default,CLUSTER_SAVECONFIG:QHe.default,clusterSaveConfig:QHe.default,"CLUSTER_SET-CONFIG-EPOCH":GHe.default,clusterSetConfigEpoch:GHe.default,CLUSTER_SETSLOT:Zte.default,clusterSetSlot:Zte.default,CLUSTER_SLOTS:VHe.default,clusterSlots:VHe.default,COMMAND_COUNT:zHe.default,commandCount:zHe.default,COMMAND_GETKEYS:KHe.default,commandGetKeys:KHe.default,COMMAND_GETKEYSANDFLAGS:YHe.default,commandGetKeysAndFlags:YHe.default,COMMAND_INFO:JHe.default,commandInfo:JHe.default,COMMAND_LIST:ere.default,commandList:ere.default,COMMAND:XHe.default,command:XHe.default,CONFIG_GET:ZHe.default,configGet:ZHe.default,CONFIG_RESETASTAT:eQe.default,configResetStat:eQe.default,CONFIG_REWRITE:tQe.default,configRewrite:tQe.default,CONFIG_SET:rQe.default,configSet:rQe.default,COPY:nQe.default,copy:nQe.default,DBSIZE:sQe.default,dbSize:sQe.default,DECR:iQe.default,decr:iQe.default,DECRBY:aQe.default,decrBy:aQe.default,DEL:oQe.default,del:oQe.default,DELEX:cQe.default,delEx:cQe.default,DIGEST:uQe.default,digest:uQe.default,DUMP:lQe.default,dump:lQe.default,ECHO:dQe.default,echo:dQe.default,EVAL_RO:fQe.default,evalRo:fQe.default,EVAL:pQe.default,eval:pQe.default,EVALSHA_RO:mQe.default,evalShaRo:mQe.default,EVALSHA:hQe.default,evalSha:hQe.default,EXISTS:$Qe.default,exists:$Qe.default,EXPIRE:FQe.default,expire:FQe.default,EXPIREAT:UQe.default,expireAt:UQe.default,EXPIRETIME:qQe.default,expireTime:qQe.default,FLUSHALL:tre.default,flushAll:tre.default,FLUSHDB:jQe.default,flushDb:jQe.default,FCALL:HQe.default,fCall:HQe.default,FCALL_RO:QQe.default,fCallRo:QQe.default,FUNCTION_DELETE:GQe.default,functionDelete:GQe.default,FUNCTION_DUMP:VQe.default,functionDump:VQe.default,FUNCTION_FLUSH:zQe.default,functionFlush:zQe.default,FUNCTION_KILL:KQe.default,functionKill:KQe.default,FUNCTION_LIST_WITHCODE:YQe.default,functionListWithCode:YQe.default,FUNCTION_LIST:JQe.default,functionList:JQe.default,FUNCTION_LOAD:XQe.default,functionLoad:XQe.default,FUNCTION_RESTORE:ZQe.default,functionRestore:ZQe.default,FUNCTION_STATS:eGe.default,functionStats:eGe.default,GEOADD:gQe.default,geoAdd:gQe.default,GEODIST:AQe.default,geoDist:AQe.default,GEOHASH:yQe.default,geoHash:yQe.default,GEOPOS:xQe.default,geoPos:xQe.default,GEORADIUS_RO_WITH:bQe.default,geoRadiusRoWith:bQe.default,GEORADIUS_RO:EQe.default,geoRadiusRo:EQe.default,GEORADIUS_STORE:_Qe.default,geoRadiusStore:_Qe.default,GEORADIUS_WITH:SQe.default,geoRadiusWith:SQe.default,GEORADIUS:vQe.default,geoRadius:vQe.default,GEORADIUSBYMEMBER_RO_WITH:CQe.default,geoRadiusByMemberRoWith:CQe.default,GEORADIUSBYMEMBER_RO:IQe.default,geoRadiusByMemberRo:IQe.default,GEORADIUSBYMEMBER_STORE:TQe.default,geoRadiusByMemberStore:TQe.default,GEORADIUSBYMEMBER_WITH:wQe.default,geoRadiusByMemberWith:wQe.default,GEORADIUSBYMEMBER:RQe.default,geoRadiusByMember:RQe.default,GEOSEARCH_WITH:NQe.default,geoSearchWith:NQe.default,GEOSEARCH:OQe.default,geoSearch:OQe.default,GEOSEARCHSTORE:PQe.default,geoSearchStore:PQe.default,GET:DQe.default,get:DQe.default,GETBIT:kQe.default,getBit:kQe.default,GETDEL:LQe.default,getDel:LQe.default,GETEX:BQe.default,getEx:BQe.default,GETRANGE:MQe.default,getRange:MQe.default,GETSET:WQe.default,getSet:WQe.default,HDEL:tGe.default,hDel:tGe.default,HELLO:rGe.default,hello:rGe.default,HEXISTS:nGe.default,hExists:nGe.default,HEXPIRE:sGe.default,hExpire:sGe.default,HEXPIREAT:iGe.default,hExpireAt:iGe.default,HEXPIRETIME:aGe.default,hExpireTime:aGe.default,HGET:oGe.default,hGet:oGe.default,HGETALL:cGe.default,hGetAll:cGe.default,HGETDEL:uGe.default,hGetDel:uGe.default,HGETEX:lGe.default,hGetEx:lGe.default,HINCRBY:dGe.default,hIncrBy:dGe.default,HINCRBYFLOAT:fGe.default,hIncrByFloat:fGe.default,HKEYS:pGe.default,hKeys:pGe.default,HLEN:mGe.default,hLen:mGe.default,HMGET:hGe.default,hmGet:hGe.default,HPERSIST:gGe.default,hPersist:gGe.default,HPEXPIRE:AGe.default,hpExpire:AGe.default,HPEXPIREAT:yGe.default,hpExpireAt:yGe.default,HPEXPIRETIME:xGe.default,hpExpireTime:xGe.default,HPTTL:bGe.default,hpTTL:bGe.default,HRANDFIELD_COUNT_WITHVALUES:EGe.default,hRandFieldCountWithValues:EGe.default,HRANDFIELD_COUNT:_Ge.default,hRandFieldCount:_Ge.default,HRANDFIELD:SGe.default,hRandField:SGe.default,HSCAN:vGe.default,hScan:vGe.default,HSCAN_NOVALUES:CGe.default,hScanNoValues:CGe.default,HSET:IGe.default,hSet:IGe.default,HSETEX:TGe.default,hSetEx:TGe.default,HSETNX:wGe.default,hSetNX:wGe.default,HSTRLEN:RGe.default,hStrLen:RGe.default,HTTL:NGe.default,hTTL:NGe.default,HVALS:OGe.default,hVals:OGe.default,HOTKEYS_GET:PGe.default,hotkeysGet:PGe.default,HOTKEYS_RESET:DGe.default,hotkeysReset:DGe.default,HOTKEYS_START:kGe.default,hotkeysStart:kGe.default,HOTKEYS_STOP:LGe.default,hotkeysStop:LGe.default,INCR:BGe.default,incr:BGe.default,INCRBY:MGe.default,incrBy:MGe.default,INCRBYFLOAT:WGe.default,incrByFloat:WGe.default,INFO:$Ge.default,info:$Ge.default,KEYS:FGe.default,keys:FGe.default,LASTSAVE:UGe.default,lastSave:UGe.default,LATENCY_DOCTOR:qGe.default,latencyDoctor:qGe.default,LATENCY_GRAPH:jGe.default,latencyGraph:jGe.default,LATENCY_HISTORY:HGe.default,latencyHistory:HGe.default,LATENCY_HISTOGRAM:_Ye.default,latencyHistogram:_Ye.default,LATENCY_LATEST:QGe.default,latencyLatest:QGe.default,LATENCY_RESET:GGe.default,latencyReset:GGe.default,LCS_IDX_WITHMATCHLEN:VGe.default,lcsIdxWithMatchLen:VGe.default,LCS_IDX:zGe.default,lcsIdx:zGe.default,LCS_LEN:KGe.default,lcsLen:KGe.default,LCS:YGe.default,lcs:YGe.default,LINDEX:JGe.default,lIndex:JGe.default,LINSERT:XGe.default,lInsert:XGe.default,LLEN:ZGe.default,lLen:ZGe.default,LMOVE:eVe.default,lMove:eVe.default,LMPOP:tVe.default,lmPop:tVe.default,LOLWUT:Lur.default,LPOP_COUNT:rVe.default,lPopCount:rVe.default,LPOP:nVe.default,lPop:nVe.default,LPOS_COUNT:sVe.default,lPosCount:sVe.default,LPOS:iVe.default,lPos:iVe.default,LPUSH:aVe.default,lPush:aVe.default,LPUSHX:oVe.default,lPushX:oVe.default,LRANGE:cVe.default,lRange:cVe.default,LREM:uVe.default,lRem:uVe.default,LSET:lVe.default,lSet:lVe.default,LTRIM:dVe.default,lTrim:dVe.default,MEMORY_DOCTOR:fVe.default,memoryDoctor:fVe.default,"MEMORY_MALLOC-STATS":pVe.default,memoryMallocStats:pVe.default,MEMORY_PURGE:mVe.default,memoryPurge:mVe.default,MEMORY_STATS:hVe.default,memoryStats:hVe.default,MEMORY_USAGE:gVe.default,memoryUsage:gVe.default,MGET:AVe.default,mGet:AVe.default,MIGRATE:yVe.default,migrate:yVe.default,MODULE_LIST:xVe.default,moduleList:xVe.default,MODULE_LOAD:bVe.default,moduleLoad:bVe.default,MODULE_UNLOAD:EVe.default,moduleUnload:EVe.default,MOVE:_Ve.default,move:_Ve.default,MSET:SVe.default,mSet:SVe.default,MSETEX:vVe.default,mSetEx:vVe.default,MSETNX:CVe.default,mSetNX:CVe.default,OBJECT_ENCODING:IVe.default,objectEncoding:IVe.default,OBJECT_FREQ:TVe.default,objectFreq:TVe.default,OBJECT_IDLETIME:wVe.default,objectIdleTime:wVe.default,OBJECT_REFCOUNT:RVe.default,objectRefCount:RVe.default,PERSIST:NVe.default,persist:NVe.default,PEXPIRE:OVe.default,pExpire:OVe.default,PEXPIREAT:PVe.default,pExpireAt:PVe.default,PEXPIRETIME:DVe.default,pExpireTime:DVe.default,PFADD:kVe.default,pfAdd:kVe.default,PFCOUNT:LVe.default,pfCount:LVe.default,PFMERGE:BVe.default,pfMerge:BVe.default,PING:MVe.default,ping:MVe.default,PSETEX:WVe.default,pSetEx:WVe.default,PTTL:$Ve.default,pTTL:$Ve.default,PUBLISH:FVe.default,publish:FVe.default,PUBSUB_CHANNELS:UVe.default,pubSubChannels:UVe.default,PUBSUB_NUMPAT:qVe.default,pubSubNumPat:qVe.default,PUBSUB_NUMSUB:jVe.default,pubSubNumSub:jVe.default,PUBSUB_SHARDNUMSUB:HVe.default,pubSubShardNumSub:HVe.default,PUBSUB_SHARDCHANNELS:QVe.default,pubSubShardChannels:QVe.default,RANDOMKEY:GVe.default,randomKey:GVe.default,READONLY:VVe.default,readonly:VVe.default,RENAME:zVe.default,rename:zVe.default,RENAMENX:KVe.default,renameNX:KVe.default,REPLICAOF:YVe.default,replicaOf:YVe.default,"RESTORE-ASKING":JVe.default,restoreAsking:JVe.default,RESTORE:XVe.default,restore:XVe.default,RPOP_COUNT:eze.default,rPopCount:eze.default,ROLE:ZVe.default,role:ZVe.default,RPOP:tze.default,rPop:tze.default,RPOPLPUSH:rze.default,rPopLPush:rze.default,RPUSH:nze.default,rPush:nze.default,RPUSHX:sze.default,rPushX:sze.default,SADD:ize.default,sAdd:ize.default,SCAN:aze.default,scan:aze.default,SCARD:oze.default,sCard:oze.default,SCRIPT_DEBUG:cze.default,scriptDebug:cze.default,SCRIPT_EXISTS:uze.default,scriptExists:uze.default,SCRIPT_FLUSH:lze.default,scriptFlush:lze.default,SCRIPT_KILL:dze.default,scriptKill:dze.default,SCRIPT_LOAD:fze.default,scriptLoad:fze.default,SDIFF:pze.default,sDiff:pze.default,SDIFFSTORE:mze.default,sDiffStore:mze.default,SET:hze.default,set:hze.default,SETBIT:gze.default,setBit:gze.default,SETEX:Aze.default,setEx:Aze.default,SETNX:yze.default,setNX:yze.default,SETRANGE:xze.default,setRange:xze.default,SINTER:bze.default,sInter:bze.default,SINTERCARD:Eze.default,sInterCard:Eze.default,SINTERSTORE:_ze.default,sInterStore:_ze.default,SISMEMBER:Sze.default,sIsMember:Sze.default,SMEMBERS:vze.default,sMembers:vze.default,SMISMEMBER:Cze.default,smIsMember:Cze.default,SMOVE:Ize.default,sMove:Ize.default,SORT_RO:Tze.default,sortRo:Tze.default,SORT_STORE:wze.default,sortStore:wze.default,SORT:Rze.default,sort:Rze.default,SPOP_COUNT:Nze.default,sPopCount:Nze.default,SPOP:Oze.default,sPop:Oze.default,SPUBLISH:Pze.default,sPublish:Pze.default,SRANDMEMBER_COUNT:Dze.default,sRandMemberCount:Dze.default,SRANDMEMBER:kze.default,sRandMember:kze.default,SREM:Lze.default,sRem:Lze.default,SSCAN:Bze.default,sScan:Bze.default,STRLEN:Mze.default,strLen:Mze.default,SUNION:Wze.default,sUnion:Wze.default,SUNIONSTORE:$ze.default,sUnionStore:$ze.default,SWAPDB:Fze.default,swapDb:Fze.default,TIME:Uze.default,time:Uze.default,TOUCH:qze.default,touch:qze.default,TTL:jze.default,ttl:jze.default,TYPE:Hze.default,type:Hze.default,UNLINK:Qze.default,unlink:Qze.default,WAIT:Gze.default,wait:Gze.default,XACK:Vze.default,xAck:Vze.default,XACKDEL:zze.default,xAckDel:zze.default,XADD_NOMKSTREAM:Kze.default,xAddNoMkStream:Kze.default,XADD:Yze.default,xAdd:Yze.default,XAUTOCLAIM_JUSTID:Jze.default,xAutoClaimJustId:Jze.default,XAUTOCLAIM:Xze.default,xAutoClaim:Xze.default,XCLAIM_JUSTID:Zze.default,xClaimJustId:Zze.default,XCLAIM:eKe.default,xClaim:eKe.default,XCFGSET:tKe.default,xCfgSet:tKe.default,XDEL:rKe.default,xDel:rKe.default,XDELEX:nKe.default,xDelEx:nKe.default,XGROUP_CREATE:sKe.default,xGroupCreate:sKe.default,XGROUP_CREATECONSUMER:iKe.default,xGroupCreateConsumer:iKe.default,XGROUP_DELCONSUMER:aKe.default,xGroupDelConsumer:aKe.default,XGROUP_DESTROY:oKe.default,xGroupDestroy:oKe.default,XGROUP_SETID:cKe.default,xGroupSetId:cKe.default,XINFO_CONSUMERS:uKe.default,xInfoConsumers:uKe.default,XINFO_GROUPS:lKe.default,xInfoGroups:lKe.default,XINFO_STREAM:dKe.default,xInfoStream:dKe.default,XLEN:fKe.default,xLen:fKe.default,XPENDING_RANGE:pKe.default,xPendingRange:pKe.default,XPENDING:mKe.default,xPending:mKe.default,XRANGE:hKe.default,xRange:hKe.default,XREAD:gKe.default,xRead:gKe.default,XREADGROUP:AKe.default,xReadGroup:AKe.default,XREVRANGE:yKe.default,xRevRange:yKe.default,XSETID:xKe.default,xSetId:xKe.default,XTRIM:bKe.default,xTrim:bKe.default,ZADD_INCR:EKe.default,zAddIncr:EKe.default,ZADD:_Ke.default,zAdd:_Ke.default,ZCARD:SKe.default,zCard:SKe.default,ZCOUNT:vKe.default,zCount:vKe.default,ZDIFF_WITHSCORES:CKe.default,zDiffWithScores:CKe.default,ZDIFF:IKe.default,zDiff:IKe.default,ZDIFFSTORE:TKe.default,zDiffStore:TKe.default,ZINCRBY:wKe.default,zIncrBy:wKe.default,ZINTER_WITHSCORES:RKe.default,zInterWithScores:RKe.default,ZINTER:NKe.default,zInter:NKe.default,ZINTERCARD:OKe.default,zInterCard:OKe.default,ZINTERSTORE:PKe.default,zInterStore:PKe.default,ZLEXCOUNT:DKe.default,zLexCount:DKe.default,ZMPOP:kKe.default,zmPop:kKe.default,ZMSCORE:LKe.default,zmScore:LKe.default,ZPOPMAX_COUNT:BKe.default,zPopMaxCount:BKe.default,ZPOPMAX:MKe.default,zPopMax:MKe.default,ZPOPMIN_COUNT:WKe.default,zPopMinCount:WKe.default,ZPOPMIN:$Ke.default,zPopMin:$Ke.default,ZRANDMEMBER_COUNT_WITHSCORES:FKe.default,zRandMemberCountWithScores:FKe.default,ZRANDMEMBER_COUNT:UKe.default,zRandMemberCount:UKe.default,ZRANDMEMBER:qKe.default,zRandMember:qKe.default,ZRANGE_WITHSCORES:jKe.default,zRangeWithScores:jKe.default,ZRANGE:HKe.default,zRange:HKe.default,ZRANGEBYLEX:QKe.default,zRangeByLex:QKe.default,ZRANGEBYSCORE_WITHSCORES:GKe.default,zRangeByScoreWithScores:GKe.default,ZRANGEBYSCORE:VKe.default,zRangeByScore:VKe.default,ZRANGESTORE:zKe.default,zRangeStore:zKe.default,ZRANK_WITHSCORE:YKe.default,zRankWithScore:YKe.default,ZRANK:JKe.default,zRank:JKe.default,ZREM:XKe.default,zRem:XKe.default,ZREMRANGEBYLEX:ZKe.default,zRemRangeByLex:ZKe.default,ZREMRANGEBYRANK:eYe.default,zRemRangeByRank:eYe.default,ZREMRANGEBYSCORE:KKe.default,zRemRangeByScore:KKe.default,ZREVRANK:tYe.default,zRevRank:tYe.default,ZSCAN:rYe.default,zScan:rYe.default,ZSCORE:nYe.default,zScore:nYe.default,ZUNION_WITHSCORES:sYe.default,zUnionWithScores:sYe.default,ZUNION:iYe.default,zUnion:iYe.default,ZUNIONSTORE:aYe.default,zUnionStore:aYe.default,VADD:oYe.default,vAdd:oYe.default,VCARD:cYe.default,vCard:cYe.default,VDIM:uYe.default,vDim:uYe.default,VEMB:lYe.default,vEmb:lYe.default,VEMB_RAW:dYe.default,vEmbRaw:dYe.default,VGETATTR:fYe.default,vGetAttr:fYe.default,VINFO:pYe.default,vInfo:pYe.default,VLINKS:mYe.default,vLinks:mYe.default,VLINKS_WITHSCORES:hYe.default,vLinksWithScores:hYe.default,VRANDMEMBER:gYe.default,vRandMember:gYe.default,VRANGE:AYe.default,vRange:AYe.default,VREM:yYe.default,vRem:yYe.default,VSETATTR:xYe.default,vSetAttr:xYe.default,VSIM:bYe.default,vSim:bYe.default,VSIM_WITHSCORES:EYe.default,vSimWithScores:EYe.default};var Bur=$(yu()),{HOTKEYS_GET:qJr,hotkeysGet:jJr,HOTKEYS_RESET:HJr,hotkeysReset:QJr,HOTKEYS_START:GJr,hotkeysStart:VJr,HOTKEYS_STOP:zJr,hotkeysStop:KJr,...Mur}=Bur.default;Qn.NON_STICKY_COMMANDS=Mur});var HI=E(or=>{"use strict";var SYe=or&&or.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},vYe;Object.defineProperty(or,"__esModule",{value:!0});or.emitDiagnostics=or.dbgMaintenance=or.MAINTENANCE_EVENTS=or.SMIGRATED_EVENT=void 0;var CYe=require("net"),Wur=require("dns/promises"),_b=SYe(require("node:assert")),$ur=require("node:timers/promises"),Fur=SYe(require("node:diagnostics_channel"));or.SMIGRATED_EVENT="__SMIGRATED";or.MAINTENANCE_EVENTS={PAUSE_WRITING:"pause-writing",RESUME_WRITING:"resume-writing",TIMEOUTS_UPDATE:"timeouts-update"};var q0={MOVING:"MOVING",MIGRATING:"MIGRATING",MIGRATED:"MIGRATED",FAILING_OVER:"FAILING_OVER",FAILED_OVER:"FAILED_OVER",SMIGRATING:"SMIGRATING",SMIGRATED:"SMIGRATED"},Uur=(...t)=>{if(process.env.REDIS_DEBUG_MAINTENANCE)return console.log(new Date().toISOString().slice(11,23),"[MNT]",...t)};or.dbgMaintenance=Uur;var qur=t=>{if(!process.env.REDIS_EMIT_DIAGNOSTICS)return;Fur.default.channel("redis.maintenance").publish(t)};or.emitDiagnostics=qur;var lB=class{#e;#t;#r=0;#n;static setupDefaultMaintOptions(e){e.maintNotifications===void 0&&(e.maintNotifications=e?.RESP===3?"auto":"disabled"),e.maintEndpointType===void 0&&(e.maintEndpointType="auto"),e.maintRelaxedSocketTimeout===void 0&&(e.maintRelaxedSocketTimeout=1e4),e.maintRelaxedCommandTimeout===void 0&&(e.maintRelaxedCommandTimeout=1e4)}static async getHandshakeCommand(e){if(e.maintNotifications==="disabled")return;let r=e.url?new URL(e.url).hostname:e.socket?.host;if(!r)return;let n=e.socket?.tls??!1;return{cmd:["CLIENT","MAINT_NOTIFICATIONS","ON","moving-endpoint-type",await Hur(n,r,e)],errorHandler:i=>{if((0,or.dbgMaintenance)("handshake failed:",i),e.maintNotifications==="enabled")throw i}}}constructor(e,r,n){this.#e=e,this.#t=n,this.#n=r,this.#e.addPushHandler(this.#a)}#a=e=>{if((0,or.dbgMaintenance)("ONPUSH:",e.map(String)),!Array.isArray(e)||!Object.values(q0).includes(String(e[0])))return!1;let r=String(e[0]);switch((0,or.emitDiagnostics)({type:r,timestamp:Date.now(),data:{push:e.map(String)}}),r){case q0.MOVING:{let n=e[2],s=e[3]?String(e[3]):null;return(0,or.dbgMaintenance)("Received MOVING:",n,s),this.#o(n,s),!0}case q0.MIGRATING:case q0.SMIGRATING:case q0.FAILING_OVER:return(0,or.dbgMaintenance)("Received MIGRATING|SMIGRATING|FAILING_OVER"),this.#s(),!0;case q0.MIGRATED:case q0.FAILED_OVER:return(0,or.dbgMaintenance)("Received MIGRATED|FAILED_OVER"),this.#i(),!0;case q0.SMIGRATED:return(0,or.dbgMaintenance)("Received SMIGRATED"),this.#c(e),this.#i(),!0}return!1};#o=async(e,r)=>{this.#s();let n,s;if(r===null){(0,_b.default)(this.#t.maintEndpointType==="none");let{host:u,port:l}=this.#l();n=u,s=l;let d=e*1e3/2;(0,or.dbgMaintenance)(`Wait for ${d}ms`),await(0,$ur.setTimeout)(d)}else{let u=r.split(":");n=u[0],s=Number(u[1])}(0,or.dbgMaintenance)("Pausing writing of new commands to old socket"),this.#n._pause(),(0,or.dbgMaintenance)("Creating new tmp client");let i=performance.now();if(this.#t.url){let u=new URL(this.#t.url);u.hostname=n,u.port=String(s),this.#t.url=u.toString()}else this.#t.socket={...this.#t.socket,host:n,port:s};let a=this.#n.duplicate();a.on("error",u=>{(0,or.dbgMaintenance)("[ERR]",u)}),(0,or.dbgMaintenance)(`Tmp client created in ${(performance.now()-i).toFixed(2)}ms`),(0,or.dbgMaintenance)(`Set timeout for tmp client to ${this.#t.maintRelaxedSocketTimeout}`),a._maintenanceUpdate({relaxedCommandTimeout:this.#t.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#t.maintRelaxedSocketTimeout}),(0,or.dbgMaintenance)(`Connecting tmp client: ${n}:${s}`),i=performance.now(),await a.connect(),(0,or.dbgMaintenance)(`Connected to tmp client in ${(performance.now()-i).toFixed(2)}ms`),(0,or.dbgMaintenance)("Wait for all in-flight commands to complete"),await this.#e.waitForInflightCommandsToComplete(),(0,or.dbgMaintenance)("In-flight commands completed"),(0,or.dbgMaintenance)("Swap client sockets...");let o=this.#n._ejectSocket(),c=a._ejectSocket();this.#n._insertSocket(c),a._insertSocket(o),a.destroy(),(0,or.dbgMaintenance)("Swap client sockets done."),(0,or.dbgMaintenance)("Resume writing"),this.#n._unpause(),this.#i()};#s=()=>{if(this.#r++,this.#r>1){(0,or.dbgMaintenance)("Timeout relaxation already done");return}let e={relaxedCommandTimeout:this.#t.maintRelaxedCommandTimeout,relaxedSocketTimeout:this.#t.maintRelaxedSocketTimeout};this.#n._maintenanceUpdate(e)};#i=()=>{if(this.#r=Math.max(this.#r-1,0),this.#r>0){(0,or.dbgMaintenance)("Not ready to unrelax timeouts yet");return}let e={relaxedCommandTimeout:void 0,relaxedSocketTimeout:void 0};this.#n._maintenanceUpdate(e)};#c=e=>{let r=vYe.parseSMigratedPush(e);(0,or.dbgMaintenance)("emit smigratedEvent",r),this.#n._handleSmigrated(r)};static parseSMigratedPush(e){let r=new Map;for(let[s,i,a]of e[2]){let o=String(s),[c,u]=String(i).split(":"),l=String(a).split(",").map(p=>{let m=p.indexOf("-");return m===-1?Number(p):[Number(p.substring(0,m)),Number(p.substring(m+1))]}),d=r.get(o)??[],f=d.find(p=>p.addr.host===c&&p.addr.port===Number(u));f?f.slots=f.slots.concat(l):d.push({addr:{host:c,port:Number(u)},slots:l}),r.set(o,d)}let n=[];for(let[s,i]of r.entries()){let[a,o]=s.split(":");n.push({source:{host:a,port:Number(o)},destinations:i})}return{seqId:e[1],entries:n}}#l(){(0,_b.default)(this.#t.socket!==void 0),(0,_b.default)("host"in this.#t.socket),(0,_b.default)(typeof this.#t.socket.host=="string");let e=this.#t.socket.host;(0,_b.default)(typeof this.#t.socket.port=="number");let r=this.#t.socket.port;return{host:e,port:r}}};vYe=lB;or.default=lB;function jur(t){let e=(0,CYe.isIP)(t);if(e===4){let r=t.split(".").map(Number);return r[0]===10||r[0]===172&&r[1]>=16&&r[1]<=31||r[0]===192&&r[1]===168}return e===6?t.startsWith("fc")||t.startsWith("fd")||t==="::1"||t.startsWith("fe80"):!1}async function Hur(t,e,r){if((0,_b.default)(r.maintEndpointType!==void 0),r.maintEndpointType!=="auto")return(0,or.dbgMaintenance)(`Determine endpoint type: ${r.maintEndpointType}`),r.maintEndpointType;let n=(0,CYe.isIP)(e)?e:(await(0,Wur.lookup)(e,{family:0})).address,s=jur(n),i;return t?i=s?"internal-fqdn":"external-fqdn":i=s?"internal-ip":"external-ip",(0,or.dbgMaintenance)(`Determine endpoint type: ${i}`),i}});var OYe=E(QI=>{"use strict";var NYe=QI&&QI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QI,"__esModule",{value:!0});var IYe=require("node:events"),TYe=NYe(require("node:net")),Qur=NYe(require("node:tls")),Ll=Pl(),wYe=require("node:timers/promises"),RYe=HI(),rre=class extends IYe.EventEmitter{#e;#t;#r;#n;#a;#o;#s;#i=!1;get isOpen(){return this.#i}#c=!1;get isReady(){return this.#c}#l=!1;#h=0;get socketEpoch(){return this.#h}constructor(e,r){super(),this.#e=e,this.#t=r?.connectTimeout??5e3,this.#r=this.#p(r),this.#n=this.#d(r),this.#a=r?.socketTimeout}#p(e){let r=e?.reconnectStrategy;return r===!1||typeof r=="number"?()=>r:r?(n,s)=>{try{let i=r(n,s);if(i!==!1&&!(i instanceof Error)&&typeof i!="number")throw new TypeError(`Reconnect strategy should return \`false | Error | number\`, got ${i} instead`);return i}catch(i){return this.emit("error",i),this.defaultReconnectStrategy(n,i)}}:this.defaultReconnectStrategy}#d(e){if(e?.tls===!0){let n={...e,port:e?.port??6379,noDelay:e?.noDelay??!0,keepAlive:e?.keepAlive??!0,keepAliveInitialDelay:e?.keepAliveInitialDelay??5e3,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return Qur.default.connect(n)},event:"secureConnect"}}if(e&&"path"in e){let n={...e,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return TYe.default.createConnection(n)},event:"connect"}}let r={...e,port:e?.port??6379,noDelay:e?.noDelay??!0,keepAlive:e?.keepAlive??!0,keepAliveInitialDelay:e?.keepAliveInitialDelay??5e3,timeout:void 0,onread:void 0,readable:!0,writable:!0};return{create(){return TYe.default.createConnection(r)},event:"connect"}}#f(e,r){let n=this.#r(e,r);return n===!1?(this.#i=!1,this.emit("error",r),r):n instanceof Error?(this.#i=!1,this.emit("error",r),new Ll.ReconnectStrategyError(n,r)):n}async connect(){if(this.#i)throw new Error("Socket already opened");return this.#i=!0,this.#m()}async#m(){let e=0;do try{this.#s=await this.#y(),this.emit("connect");try{if(await this.#e(),!this.#s||this.#s.destroyed||!this.#s.readable||!this.#s.writable){let r=this.#f(e++,new Ll.SocketClosedUnexpectedlyError);if(typeof r!="number")throw r;await(0,wYe.setTimeout)(r),this.emit("reconnecting");continue}}catch(r){throw this.#s.destroy(),this.#s=void 0,r}this.#c=!0,this.#h++,this.emit("ready")}catch(r){let n=this.#f(e++,r);if(typeof n!="number")throw n;this.emit("error",r),await(0,wYe.setTimeout)(n),this.emit("reconnecting")}while(this.#i&&!this.#c)}setMaintenanceTimeout(e){if((0,RYe.dbgMaintenance)(`Set socket timeout to ${e}`),this.#o===e){(0,RYe.dbgMaintenance)(`Socket already set maintenanceCommandTimeout to ${e}, skipping`);return}this.#o=e,e!==void 0?this.#s?.setTimeout(e):this.#s?.setTimeout(this.#a??0)}async#y(){let e=this.#n.create(),r;return this.#t!==void 0&&(r=()=>e.destroy(new Ll.ConnectionTimeoutError),e.once("timeout",r),e.setTimeout(this.#t)),this.#l&&e.unref(),await(0,IYe.once)(e,this.#n.event),r&&e.removeListener("timeout",r),this.#a&&(e.once("timeout",()=>{let n=this.#o?new Ll.SocketTimeoutDuringMaintenanceError(this.#o):new Ll.SocketTimeoutError(this.#a);e.destroy(n)}),e.setTimeout(this.#a)),e.once("error",n=>this.#g(n)).once("close",n=>{n||!this.#i||this.#s!==e||this.#g(new Ll.SocketClosedUnexpectedlyError)}).on("drain",()=>this.emit("drain")).on("data",n=>this.emit("data",n)),e}#g(e){let r=this.#c;this.#c=!1,this.emit("error",e),!(!r||!this.#i||typeof this.#f(0,e)!="number")&&(this.emit("reconnecting"),this.#m().catch(()=>{}))}write(e){if(this.#s){this.#s.cork();for(let r of e){for(let n of r)this.#s.write(n);if(this.#s.writableNeedDrain)break}this.#s.uncork()}}async quit(e){if(!this.#i)throw new Ll.ClientClosedError;this.#i=!1;let r=await e();return this.destroySocket(),r}close(){if(!this.#i)throw new Ll.ClientClosedError;this.#i=!1}destroy(){if(!this.#i)throw new Ll.ClientClosedError;this.#i=!1,this.destroySocket()}destroySocket(){this.#c=!1,this.#s&&(this.#s.destroy(),this.#s=void 0),this.emit("end")}ref(){this.#l=!1,this.#s?.ref()}unref(){this.#l=!0,this.#s?.unref()}defaultReconnectStrategy(e,r){if(r instanceof Ll.SocketTimeoutError)return!1;let n=Math.floor(Math.random()*200);return Math.min(Math.pow(2,e)*50,2e3)+n}};QI.default=rre});var sre=E(dB=>{"use strict";Object.defineProperty(dB,"__esModule",{value:!0});dB.Token=void 0;var nre=class{value;expiresAtMs;receivedAtMs;constructor(e,r,n){this.value=e,this.expiresAtMs=r,this.receivedAtMs=n}getTtlMs(e){return this.expiresAtMs<e?0:this.expiresAtMs-e}};dB.Token=nre});var PYe=E(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});Sb.TokenManager=Sb.IDPError=void 0;var Gur=sre(),fB=class extends Error{message;isRetryable;constructor(e,r){super(e),this.message=e,this.isRetryable=r,this.name="IDPError"}};Sb.IDPError=fB;var ire=class{identityProvider;config;currentToken=null;refreshTimeout=null;listener=null;retryAttempt=0;constructor(e,r){if(this.identityProvider=e,this.config=r,this.config.expirationRefreshRatio>1)throw new Error("expirationRefreshRatio must be less than or equal to 1");if(this.config.expirationRefreshRatio<0)throw new Error("expirationRefreshRatio must be greater or equal to 0")}start(e,r=0){return this.listener&&this.stop(),this.listener=e,this.retryAttempt=0,this.scheduleNextRefresh(r),{dispose:()=>this.stop()}}calculateRetryDelay(){if(!this.config.retry)return 0;let{initialDelayMs:e,maxDelayMs:r,backoffMultiplier:n,jitterPercentage:s}=this.config.retry,i=e*Math.pow(n,this.retryAttempt-1);if(i=Math.min(i,r),s){let o=i*(s/100),c=Math.random()*o-o/2;i+=c}return Math.max(0,Math.floor(i))}shouldRetry(e){if(!this.config.retry)return!1;let{maxAttempts:r,isRetryable:n}=this.config.retry;return this.retryAttempt>=r?!1:n?n(e,this.retryAttempt):!1}isRunning(){return this.listener!==null}async refresh(){if(!this.listener)throw new Error("TokenManager is not running, but refresh was called");try{await this.identityProvider.requestToken().then(this.handleNewToken),this.retryAttempt=0}catch(e){if(this.shouldRetry(e)){this.retryAttempt++;let r=this.calculateRetryDelay();this.notifyError(`Token refresh failed (attempt ${this.retryAttempt}), retrying in ${r}ms: ${e}`,!0),this.scheduleNextRefresh(r)}else this.notifyError(e,!1),this.stop()}}handleNewToken=async({token:e,ttlMs:r})=>{if(!this.listener)throw new Error("TokenManager is not running, but a new token was received");let n=this.wrapAndSetCurrentToken(e,r);this.listener.onNext(n),this.scheduleNextRefresh(this.calculateRefreshTime(n))};wrapAndSetCurrentToken(e,r){let n=Date.now(),s=new Gur.Token(e,n+r,n);return this.currentToken=s,s}scheduleNextRefresh(e){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null),e===0?this.refresh():this.refreshTimeout=setTimeout(()=>this.refresh(),e)}calculateRefreshTime(e,r=Date.now()){let n=e.getTtlMs(r);return Math.floor(n*this.config.expirationRefreshRatio)}stop(){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null),this.listener=null,this.currentToken=null,this.retryAttempt=0}getCurrentToken(){return this.currentToken}notifyError(e,r){let n=e instanceof Error?e.message:String(e);if(!this.listener)throw new Error(`TokenManager is not running but received an error: ${n}`);this.listener.onError(new fB(n,r))}};Sb.TokenManager=ire});var DYe=E(vb=>{"use strict";Object.defineProperty(vb,"__esModule",{value:!0});vb.UnableToObtainNewCredentialsError=vb.CredentialsError=void 0;var are=class extends Error{constructor(e){super(`Re-authentication with latest credentials failed: ${e}`),this.name="CredentialsError"}};vb.CredentialsError=are;var ore=class extends Error{constructor(e){super(`Unable to obtain new credentials : ${e}`),this.name="UnableToObtainNewCredentialsError"}};vb.UnableToObtainNewCredentialsError=ore});var BYe=E(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.Token=Ic.CredentialsError=Ic.UnableToObtainNewCredentialsError=Ic.IDPError=Ic.TokenManager=void 0;var kYe=PYe();Object.defineProperty(Ic,"TokenManager",{enumerable:!0,get:function(){return kYe.TokenManager}});Object.defineProperty(Ic,"IDPError",{enumerable:!0,get:function(){return kYe.IDPError}});var LYe=DYe();Object.defineProperty(Ic,"UnableToObtainNewCredentialsError",{enumerable:!0,get:function(){return LYe.UnableToObtainNewCredentialsError}});Object.defineProperty(Ic,"CredentialsError",{enumerable:!0,get:function(){return LYe.CredentialsError}});var Vur=sre();Object.defineProperty(Ic,"Token",{enumerable:!0,get:function(){return Vur.Token}})});var mB=E(Bl=>{"use strict";var zur=Bl&&Bl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Bl,"__esModule",{value:!0});Bl.EmptyAwareSinglyLinkedList=Bl.SinglyLinkedList=Bl.DoublyLinkedList=void 0;var Kur=zur(require("events")),cre=class{#e=0;get length(){return this.#e}#t;get head(){return this.#t}#r;get tail(){return this.#r}push(e){return++this.#e,this.#r===void 0?this.#t=this.#r={previous:this.#t,next:void 0,value:e}:this.#r=this.#r.next={previous:this.#r,next:void 0,value:e}}unshift(e){return++this.#e,this.#t===void 0?this.#t=this.#r={previous:void 0,next:void 0,value:e}:this.#t=this.#t.previous={previous:void 0,next:this.#t,value:e}}add(e,r=!1){return r?this.unshift(e):this.push(e)}shift(){if(this.#t===void 0)return;--this.#e;let e=this.#t;return e.next?(e.next.previous=void 0,this.#t=e.next,e.next=void 0):this.#t=this.#r=void 0,e.value}remove(e){this.#e!==0&&(--this.#e,this.#r===e&&(this.#r=e.previous),this.#t===e?this.#t=e.next:(e.previous&&(e.previous.next=e.next),e.next&&(e.next.previous=e.previous)),e.previous=void 0,e.next=void 0)}reset(){this.#e=0,this.#t=this.#r=void 0}*[Symbol.iterator](){let e=this.#t;for(;e!==void 0;)yield e.value,e=e.next}*nodes(){let e=this.#t;for(;e;){let r=e.next;yield e,e=r}}};Bl.DoublyLinkedList=cre;var pB=class{#e=0;get length(){return this.#e}#t;get head(){return this.#t}#r;get tail(){return this.#r}push(e){++this.#e;let r={value:e,next:void 0,removed:!1};return this.#t===void 0?this.#t=this.#r=r:this.#r.next=this.#r=r}remove(e,r){if(e.removed)throw new Error("node already removed");--this.#e,this.#t===e?this.#r===e?this.#t=this.#r=void 0:this.#t=e.next:this.#r===e?(this.#r=r,r.next=void 0):r.next=e.next,e.removed=!0}shift(){if(this.#t===void 0)return;let e=this.#t;return--this.#e===0?this.#t=this.#r=void 0:this.#t=e.next,e.removed=!0,e.value}reset(){this.#e=0,this.#t=this.#r=void 0}*[Symbol.iterator](){let e=this.#t;for(;e!==void 0;)yield e.value,e=e.next}};Bl.SinglyLinkedList=pB;var ure=class extends pB{events=new Kur.default;reset(){let e=this.length;super.reset(),e!==this.length&&this.length===0&&this.events.emit("empty")}shift(){let e=this.length,r=super.shift();return e!==this.length&&this.length===0&&this.events.emit("empty"),r}remove(e,r){let n=this.length;super.remove(e,r),n!==this.length&&this.length===0&&this.events.emit("empty")}};Bl.EmptyAwareSinglyLinkedList=ure});var MYe=E(lre=>{"use strict";Object.defineProperty(lre,"__esModule",{value:!0});var GI=`\r
|
|
`;function Yur(t){let e=[],r="*"+t.length+GI;for(let n=0;n<t.length;n++){let s=t[n];if(typeof s=="string")r+="$"+Buffer.byteLength(s)+GI+s+GI;else if(s instanceof Buffer)e.push(r+"$"+s.length.toString()+GI,s),r=GI;else throw new TypeError(`"arguments[${n}]" must be of type "string | Buffer", got ${typeof s} instead.`)}return e.push(r),e}lre.default=Yur});var fre=E((iXr,dre)=>{var WYe=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920],Jur=function(e){for(var r,n=0,s=0,i=[],a=e.length;n<a;n++)r=e.charCodeAt(n),r<128?i[s++]=r:r<2048?(i[s++]=r>>6|192,i[s++]=r&63|128):(r&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(r=65536+((r&1023)<<10)+(e.charCodeAt(++n)&1023),i[s++]=r>>18|240,i[s++]=r>>12&63|128,i[s++]=r>>6&63|128,i[s++]=r&63|128):(i[s++]=r>>12|224,i[s++]=r>>6&63|128,i[s++]=r&63|128);return i},$Ye=dre.exports=function(e){for(var r,n=0,s=-1,i=0,a=0,o=typeof e=="string"?Jur(e):e,c=o.length;n<c;){if(r=o[n++],s===-1)r===123&&(s=n);else if(r!==125)a=WYe[(r^a>>8)&255]^a<<8;else if(n-1!==s)return a&16383;i=WYe[(r^i>>8)&255]^i<<8}return i&16383};dre.exports.generateMulti=function(e){for(var r=1,n=e.length,s=$Ye(e[0]);r<n;)if($Ye(e[r++])!==s)return-1;return s}});var VI=E(kt=>{"use strict";var Xur=kt&&kt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kt,"__esModule",{value:!0});kt.PubSub=kt.PUBSUB_TYPE=void 0;var Zur=Xur(fre());kt.PUBSUB_TYPE={CHANNELS:"CHANNELS",PATTERNS:"PATTERNS",SHARDED:"SHARDED"};var xi={[kt.PUBSUB_TYPE.CHANNELS]:{subscribe:Buffer.from("subscribe"),unsubscribe:Buffer.from("unsubscribe"),message:Buffer.from("message")},[kt.PUBSUB_TYPE.PATTERNS]:{subscribe:Buffer.from("psubscribe"),unsubscribe:Buffer.from("punsubscribe"),message:Buffer.from("pmessage")},[kt.PUBSUB_TYPE.SHARDED]:{subscribe:Buffer.from("ssubscribe"),unsubscribe:Buffer.from("sunsubscribe"),message:Buffer.from("smessage")}},pre=class t{static isStatusReply(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return xi[kt.PUBSUB_TYPE.CHANNELS].subscribe.equals(r)||xi[kt.PUBSUB_TYPE.CHANNELS].unsubscribe.equals(r)||xi[kt.PUBSUB_TYPE.PATTERNS].subscribe.equals(r)||xi[kt.PUBSUB_TYPE.PATTERNS].unsubscribe.equals(r)||xi[kt.PUBSUB_TYPE.SHARDED].subscribe.equals(r)}static isShardedUnsubscribe(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return xi[kt.PUBSUB_TYPE.SHARDED].unsubscribe.equals(r)}static#e(e){return Array.isArray(e)?e:[e]}static#t(e,r){return r?e.buffers:e.strings}#r=0;#n=!1;get isActive(){return this.#n}listeners={[kt.PUBSUB_TYPE.CHANNELS]:new Map,[kt.PUBSUB_TYPE.PATTERNS]:new Map,[kt.PUBSUB_TYPE.SHARDED]:new Map};subscribe(e,r,n,s){let i=[xi[e].subscribe],a=t.#e(r);for(let o of a){let c=this.listeners[e].get(o);(!c||c.unsubscribing)&&i.push(o)}if(i.length===1){for(let o of a)t.#t(this.listeners[e].get(o),s).add(n);return}return this.#n=!0,this.#r++,{args:i,channelsCounter:i.length-1,resolve:()=>{this.#r--;for(let o of a){let c=this.listeners[e].get(o);c||(c={unsubscribing:!1,buffers:new Set,strings:new Set},this.listeners[e].set(o,c)),t.#t(c,s).add(n)}},reject:()=>{this.#r--,this.#s()}}}extendChannelListeners(e,r,n){if(this.#a(e,r,n))return this.#n=!0,this.#r++,{args:[xi[e].subscribe,r],channelsCounter:1,resolve:()=>this.#r--,reject:()=>{this.#r--,this.#s()}}}#a(e,r,n){let s=this.listeners[e].get(r);if(!s)return this.listeners[e].set(r,n),!0;for(let i of n.buffers)s.buffers.add(i);for(let i of n.strings)s.strings.add(i);return!1}extendTypeListeners(e,r){let n=[xi[e].subscribe];for(let[s,i]of r)this.#a(e,s,i)&&n.push(s);if(n.length!==1)return this.#n=!0,this.#r++,{args:n,channelsCounter:n.length-1,resolve:()=>this.#r--,reject:()=>{this.#r--,this.#s()}}}unsubscribe(e,r,n,s){let i=this.listeners[e];if(!r)return this.#o([xi[e].unsubscribe],NaN,()=>i.clear());let a=t.#e(r);if(!n)return this.#o([xi[e].unsubscribe,...a],a.length,()=>{for(let c of a)i.delete(c)});let o=[xi[e].unsubscribe];for(let c of a){let u=i.get(c);if(u){let l,d;if(s?(l=u.buffers,d=u.strings):(l=u.strings,d=u.buffers),(l.has(n)?l.size-1:l.size)!==0||d.size!==0)continue;u.unsubscribing=!0}o.push(c)}if(o.length===1){for(let c of a)t.#t(i.get(c),s).delete(n);return}return this.#o(o,o.length-1,()=>{for(let c of a){let u=i.get(c);u&&((s?u.buffers:u.strings).delete(n),u.buffers.size===0&&u.strings.size===0&&i.delete(c))}})}#o(e,r,n){return{args:e,channelsCounter:r,resolve:()=>{n(),this.#s()},reject:void 0}}#s(){this.#n=this.listeners[kt.PUBSUB_TYPE.CHANNELS].size!==0||this.listeners[kt.PUBSUB_TYPE.PATTERNS].size!==0||this.listeners[kt.PUBSUB_TYPE.SHARDED].size!==0||this.#r!==0}reset(){this.#n=!1,this.#r=0}resubscribe(){let e=[];for(let[r,n]of Object.entries(this.listeners))n.size&&(this.#n=!0,r===kt.PUBSUB_TYPE.SHARDED?this.#c(e,n):this.#i(e,r,n));return e}#i(e,r,n){this.#r++;let s=()=>this.#r--;e.push({args:[xi[r].subscribe,...n.keys()],channelsCounter:n.size,resolve:s,reject:s})}#c(e,r){let n=()=>this.#r--;for(let s of r.keys())this.#r++,e.push({args:[xi[kt.PUBSUB_TYPE.SHARDED].subscribe,s],channelsCounter:1,resolve:n,reject:n})}handleMessageReply(e){let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];return xi[kt.PUBSUB_TYPE.CHANNELS].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.CHANNELS,e[2],e[1]),!0):xi[kt.PUBSUB_TYPE.PATTERNS].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.PATTERNS,e[3],e[2],e[1]),!0):xi[kt.PUBSUB_TYPE.SHARDED].message.equals(r)?(this.#l(kt.PUBSUB_TYPE.SHARDED,e[2],e[1]),!0):!1}removeShardedListeners(e){let r=this.listeners[kt.PUBSUB_TYPE.SHARDED].get(e);return this.listeners[kt.PUBSUB_TYPE.SHARDED].delete(e),this.#s(),r}removeAllListeners(){let e={[kt.PUBSUB_TYPE.CHANNELS]:this.listeners[kt.PUBSUB_TYPE.CHANNELS],[kt.PUBSUB_TYPE.PATTERNS]:this.listeners[kt.PUBSUB_TYPE.PATTERNS],[kt.PUBSUB_TYPE.SHARDED]:this.listeners[kt.PUBSUB_TYPE.SHARDED]};return this.#s(),this.listeners[kt.PUBSUB_TYPE.CHANNELS]=new Map,this.listeners[kt.PUBSUB_TYPE.PATTERNS]=new Map,this.listeners[kt.PUBSUB_TYPE.SHARDED]=new Map,e}removeShardedPubSubListenersForSlots(e){let r=new Map;for(let[n,s]of this.listeners[kt.PUBSUB_TYPE.SHARDED])e.has((0,Zur.default)(n))&&(r.set(n,s),this.listeners[kt.PUBSUB_TYPE.SHARDED].delete(n));return this.#s(),{[kt.PUBSUB_TYPE.SHARDED]:r}}#l(e,r,n,s){let i=(s??n).toString(),a=this.listeners[e].get(i);if(!a)return;for(let u of a.buffers)u(r,n);if(!a.strings.size)return;let o=s?n.toString():i,c=o==="__redis__:invalidate"?r===null?null:r.map(u=>u.toString()):r.toString();for(let u of a.strings)u(c,o)}};kt.PubSub=pre});var UYe=E(KI=>{"use strict";var elr=KI&&KI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(KI,"__esModule",{value:!0});var FYe=mB(),tlr=elr(MYe()),zI=tB(),mre=VI(),Cb=Pl(),Ib=HI(),rlr=Buffer.from("pong"),nlr=Buffer.from("RESET"),slr={...zI.PUSH_TYPE_MAPPING,[zI.RESP_TYPES.SIMPLE_STRING]:Buffer},hre=class t{#e;#t;#r=new FYe.DoublyLinkedList;#n=new FYe.EmptyAwareSinglyLinkedList;#a;#o;decoder;#s=new mre.PubSub;#i=[this.#p.bind(this)];#c;setMaintenanceCommandTimeout(e){if(this.#c===e){(0,Ib.dbgMaintenance)(`Queue already set maintenanceCommandTimeout to ${e}, skipping`);return}if((0,Ib.dbgMaintenance)(`Setting maintenance command timeout to ${e}`),this.#c=e,this.#c===void 0){(0,Ib.dbgMaintenance)("Queue will keep maintenanceCommandTimeout for exisitng commands, just to be on the safe side. New commands will receive normal timeouts");return}let r=0,n=this.#r.length;for(let s of this.#r.nodes()){let i=s.value;t.#C(i),r++;let a=this.#c,o=AbortSignal.timeout(a);i.timeout={signal:o,listener:()=>{this.#r.remove(s),i.reject(new Cb.CommandTimeoutDuringMaintenanceError(a))},originalTimeout:i.timeout?.originalTimeout},o.addEventListener("abort",i.timeout.listener,{once:!0})}(0,Ib.dbgMaintenance)(`Total of ${r} of ${n} timeouts reset to ${e}`)}get isPubSubActive(){return this.#s.isActive}constructor(e,r,n){this.#e=e,this.#t=r,this.#a=n,this.decoder=this.#f()}#l(e){this.#n.shift().resolve(e)}#h(e){this.#n.shift().reject(e)}#p(e){if(this.#s.handleMessageReply(e))return!0;let r=mre.PubSub.isShardedUnsubscribe(e);if(r&&!this.#n.length){let n=e[1].toString();return this.#a(n,this.#s.removeShardedListeners(n)),!0}else if(r||mre.PubSub.isStatusReply(e)){let n=this.#n.head.value;return(Number.isNaN(n.channelsCounter)&&e[2]===0||--n.channelsCounter===0)&&this.#n.shift().resolve(),!0}return!1}#d(){return this.#n.head.value.typeMapping??{}}#f(){return new zI.Decoder({onReply:e=>this.#l(e),onErrorReply:e=>this.#h(e),onPush:e=>{for(let r of this.#i)if(r(e))return},getTypeMapping:()=>this.#d()})}addPushHandler(e){this.#i.push(e)}async waitForInflightCommandsToComplete(e){if(this.#n.length!==0)return new Promise(r=>{let n=()=>{s&&clearTimeout(s),r()},s,i=e?.timeoutMs;i!==void 0&&i>0&&(s=setTimeout(()=>{this.#n.events.off("empty",n);let a=this.#n.length;(0,Ib.dbgMaintenance)(`waitForInflightCommandsToComplete timed out after ${i}ms with ${a} commands still waiting`),e?.flushOnTimeout&&a>0&&((0,Ib.dbgMaintenance)(`Flushing ${a} commands that timed out waiting for reply`),this.#S(new Cb.TimeoutError)),r()},i)),this.#n.events.once("empty",n)})}addCommand(e,r){return this.#t&&this.#r.length+this.#n.length>=this.#t?Promise.reject(new Error("The queue is full")):r?.abortSignal?.aborted?Promise.reject(new Cb.AbortError):new Promise((n,s)=>{let i,a={args:e,chainId:r?.chainId,abort:void 0,timeout:void 0,resolve:n,reject:s,channelsCounter:void 0,typeMapping:r?.typeMapping};a.slotNumber=r?.slotNumber;let o=this.#c??r?.timeout,c=this.#c!==void 0;if(o){let l=AbortSignal.timeout(o);a.timeout={signal:l,listener:()=>{this.#r.remove(i),a.reject(c?new Cb.CommandTimeoutDuringMaintenanceError(o):new Cb.TimeoutError)},originalTimeout:r?.timeout},l.addEventListener("abort",a.timeout.listener,{once:!0})}let u=r?.abortSignal;u&&(a.abort={signal:u,listener:()=>{this.#r.remove(i),a.reject(new Cb.AbortError)}},u.addEventListener("abort",a.abort.listener,{once:!0})),i=this.#r.add(a,r?.asap)})}#m(e,r=!1,n){return new Promise((s,i)=>{this.#r.add({args:e.args,chainId:n,abort:void 0,timeout:void 0,resolve(){e.resolve(),s()},reject(a){e.reject?.(),i(a)},channelsCounter:e.channelsCounter,typeMapping:zI.PUSH_TYPE_MAPPING},r)})}#y(){this.#e===2&&(this.decoder.onReply=e=>{if(Array.isArray(e)){if(this.#p(e))return;let r=typeof e[0]=="string"?Buffer.from(e[0]):e[0];if(rlr.equals(r)){let{resolve:n,typeMapping:s}=this.#n.shift(),i=e[1].length===0?e[0]:e[1];n(s?.[zI.RESP_TYPES.SIMPLE_STRING]===Buffer?i:i.toString());return}}return this.#l(e)},this.decoder.getTypeMapping=()=>slr)}subscribe(e,r,n,s){let i=this.#s.subscribe(e,r,n,s);if(i)return this.#y(),this.#m(i)}#g(){this.decoder.onReply=e=>this.#l(e),this.decoder.getTypeMapping=()=>this.#d()}unsubscribe(e,r,n,s){let i=this.#s.unsubscribe(e,r,n,s);if(i){if(i&&this.#e===2){let{resolve:a}=i;i.resolve=()=>{this.#s.isActive||this.#g(),a()}}return this.#m(i)}}removeAllPubSubListeners(){return this.#s.removeAllListeners()}removeShardedPubSubListenersForSlots(e){return this.#s.removeShardedPubSubListenersForSlots(e)}resubscribe(e){let r=this.#s.resubscribe();if(r.length)return this.#y(),Promise.all(r.map(n=>this.#m(n,!0,e)))}extendPubSubChannelListeners(e,r,n){let s=this.#s.extendChannelListeners(e,r,n);if(s)return this.#y(),this.#m(s)}extendPubSubListeners(e,r){let n=this.#s.extendTypeListeners(e,r);if(n)return this.#y(),this.#m(n)}getPubSubListeners(e){return this.#s.listeners[e]}monitor(e,r){return new Promise((n,s)=>{let i=r?.typeMapping??{};this.#r.add({args:["MONITOR"],chainId:r?.chainId,abort:void 0,timeout:void 0,resolve:()=>{this.#E?this.#E=e:this.decoder.onReply=e,this.decoder.getTypeMapping=()=>i,n()},reject:s,channelsCounter:void 0,typeMapping:i},r?.asap)})}resetDecoder(){this.#g(),this.decoder.reset()}#E;async reset(e,r){return new Promise((n,s)=>{this.#E=this.decoder.onReply,this.decoder.onReply=i=>{if(typeof i=="string"&&i==="RESET"||i instanceof Buffer&&nlr.equals(i)){this.#g(),this.#E=void 0,this.#s.reset(),this.#n.shift().resolve(i);return}this.#E(i)},this.#r.push({args:["RESET"],chainId:e,abort:void 0,timeout:void 0,resolve:n,reject:s,channelsCounter:void 0,typeMapping:r})})}isWaitingToWrite(){return this.#r.length>0}*commandsToWrite(){let e=this.#r.shift();for(;e;){let r;try{r=(0,tlr.default)(e.args)}catch(n){e.reject(n),e=this.#r.shift();continue}e.args=void 0,e.abort&&(t.#A(e),e.abort=void 0),e.timeout&&(t.#C(e),e.timeout=void 0),this.#o=e.chainId,e.chainId=void 0,this.#n.push(e),yield r,e=this.#r.shift()}}#S(e){for(let r of this.#n)r.reject(e);this.#n.reset()}static#A(e){e.abort.signal.removeEventListener("abort",e.abort.listener)}static#C(e){e.timeout?.signal.removeEventListener("abort",e.timeout.listener)}static#_(e,r){e.abort&&t.#A(e),e.timeout&&t.#C(e),e.reject(r)}flushWaitingForReply(e){if(this.resetDecoder(),this.#s.reset(),this.#S(e),!!this.#o){for(;this.#r.head?.value.chainId===this.#o;)t.#_(this.#r.shift(),e);this.#o=void 0}}flushAll(e){this.resetDecoder(),this.#s.reset(),this.#S(e);for(let r of this.#r)t.#_(r,e);this.#r.reset()}isEmpty(){return this.#r.length===0&&this.#n.length===0}extractCommandsForSlots(e){let r=[],n=this.#r.head;for(;n!==void 0;)if(n.value.slotNumber!==void 0&&e.has(n.value.slotNumber)){r.push(n.value);let s=n;n=n.next,this.#r.remove(s)}else n=n.next;return r}extractAllCommands(){let e=[],r=this.#r.head;for(;r;)e.push(r.value),this.#r.remove(r),r=r.next;return e}prependCommandsToWrite(e){if(e.length)for(let r=e.length-1;r>=0;r--)this.#r.unshift(e[r])}};KI.default=hre});var Wl=E(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});Ml.scriptArgumentsPrefix=Ml.functionArgumentsPrefix=Ml.getTransformReply=Ml.attachConfig=void 0;function qYe(){throw new Error("Some RESP3 results for Redis Query Engine responses may change. Refer to the readme for guidance")}function ilr({BaseClass:t,commands:e,createCommand:r,createModuleCommand:n,createFunctionCommand:s,createScriptCommand:i,config:a}){let o=a?.RESP??2,c=class extends t{};for(let[u,l]of Object.entries(e))a?.RESP==3&&l.unstableResp3&&!a.unstableResp3?c.prototype[u]=qYe:c.prototype[u]=r(l,o);if(a?.modules)for(let[u,l]of Object.entries(a.modules)){let d=Object.create(null);for(let[f,p]of Object.entries(l))a.RESP==3&&p.unstableResp3&&!a.unstableResp3?d[f]=qYe:d[f]=n(p,o);jYe(c.prototype,u,d)}if(a?.functions)for(let[u,l]of Object.entries(a.functions)){let d=Object.create(null);for(let[f,p]of Object.entries(l))d[f]=s(f,p,o);jYe(c.prototype,u,d)}if(a?.scripts)for(let[u,l]of Object.entries(a.scripts))c.prototype[u]=i(l,o);return c}Ml.attachConfig=ilr;function jYe(t,e,r){Object.defineProperty(t,e,{get(){let n=Object.create(r);return n._self=this,Object.defineProperty(this,e,{value:n}),n}})}function alr(t,e){switch(typeof t.transformReply){case"function":return t.transformReply;case"object":return t.transformReply[e]}}Ml.getTransformReply=alr;function olr(t,e){let r=[e.IS_READ_ONLY?"FCALL_RO":"FCALL",t];return e.NUMBER_OF_KEYS!==void 0&&r.push(e.NUMBER_OF_KEYS.toString()),r}Ml.functionArgumentsPrefix=olr;function clr(t){let e=[t.IS_READ_ONLY?"EVALSHA_RO":"EVALSHA",t.SHA1];return t.NUMBER_OF_KEYS!==void 0&&e.push(t.NUMBER_OF_KEYS.toString()),e}Ml.scriptArgumentsPrefix=clr});var YI=E(Are=>{"use strict";Object.defineProperty(Are,"__esModule",{value:!0});var HYe=Pl(),gre=class{typeMapping;constructor(e){this.typeMapping=e}queue=[];scriptsInUse=new Set;addCommand(e,r){this.queue.push({args:e,transformReply:r})}addScript(e,r,n){let s=[];s.preserve=r.preserve,this.scriptsInUse.has(e.SHA1)?s.push("EVALSHA",e.SHA1):(this.scriptsInUse.add(e.SHA1),s.push("EVAL",e.SCRIPT)),e.NUMBER_OF_KEYS!==void 0&&s.push(e.NUMBER_OF_KEYS.toString()),s.push(...r),this.addCommand(s,n)}transformReplies(e){let r=[],n=e.map((s,i)=>{if(s instanceof HYe.ErrorReply)return r.push(i),s;let{transformReply:a,args:o}=this.queue[i];return a?a(s,o.preserve,this.typeMapping):s});if(r.length)throw new HYe.MultiErrorReply(n,r);return n}};Are.default=gre});var xre=E(JI=>{"use strict";var QYe=JI&&JI.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(JI,"__esModule",{value:!0});var ulr=QYe(yu()),llr=QYe(YI()),Tb=Wl(),hB=Dl(),yre=class t{static#e(e,r){let n=(0,Tb.getTransformReply)(e,r);return function(...s){let i=new hB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.addCommand(a,n)}}static#t(e,r){let n=(0,Tb.getTransformReply)(e,r);return function(...s){let i=new hB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this._self.addCommand(a,n)}}static#r(e,r,n){let s=(0,Tb.functionArgumentsPrefix)(e,r),i=(0,Tb.getTransformReply)(r,n);return function(...a){let o=new hB.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;return c.preserve=o.preserve,this._self.addCommand(c,i)}}static#n(e,r){let n=(0,Tb.getTransformReply)(e,r);return function(...s){let i=new hB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.#c(e,a,n)}}static extend(e){return(0,Tb.attachConfig)({BaseClass:t,commands:ulr.default,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e})}#a;#o;#s;#i;constructor(e,r,n){this.#a=new llr.default(n),this.#o=e,this.#s=r}SELECT(e,r){return this.#i=e,this.#a.addCommand(["SELECT",e.toString()],r),this}select=this.SELECT;addCommand(e,r){return this.#a.addCommand(e,r),this}#c(e,r,n){return this.#a.addScript(e,r,n),this}async exec(e=!1){return e?this.execAsPipeline():this.#a.transformReplies(await this.#o(this.#a.queue,this.#i))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#a.queue.length===0?[]:this.#a.transformReplies(await this.#s(this.#a.queue,this.#i))}execAsPipelineTyped(){return this.execAsPipeline()}};JI.default=yre});var zYe=E(Rb=>{"use strict";var GYe=Rb&&Rb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Rb,"__esModule",{value:!0});Rb.RedisLegacyClient=void 0;var dlr=Wl(),VYe=GYe(yu()),flr=GYe(YI()),wb=class t{static#e(e,r){let n;return typeof r[r.length-1]=="function"&&(n=r.pop()),t.pushArguments(e,r),n}static pushArguments(e,r){for(let n=0;n<r.length;++n){let s=r[n];Array.isArray(s)?t.pushArguments(e,s):e.push(typeof s=="number"||s instanceof Date?s.toString():s)}}static getTransformReply(e,r){return e.TRANSFORM_LEGACY_REPLY?(0,dlr.getTransformReply)(e,r):void 0}static#t(e,r,n){let s=t.getTransformReply(r,n);return function(...i){let a=[e],o=t.#e(a,i),c=this.#r.sendCommand(a);if(!o){c.catch(u=>this.#r.emit("error",u));return}c.then(u=>o(null,s?s(u):u)).catch(u=>o(u))}}#r;#n;constructor(e){this.#r=e;let r=e.options?.RESP??2;for(let[n,s]of Object.entries(VYe.default))this[n]=t.#t(n,s,r);this.#n=bre.factory(r)}sendCommand(...e){let r=[],n=t.#e(r,e),s=this.#r.sendCommand(r);if(!n){s.catch(i=>this.#r.emit("error",i));return}s.then(i=>n(null,i)).catch(i=>n(i))}multi(){return this.#n(this.#r)}};Rb.RedisLegacyClient=wb;var bre=class t{static#e(e,r,n){let s=wb.getTransformReply(r,n);return function(...i){let a=[e];return wb.pushArguments(a,i),this.#t.addCommand(a,s),this}}static factory(e){let r=class extends t{};for(let[n,s]of Object.entries(VYe.default))r.prototype[n]=t.#e(n,s,e);return n=>new r(n)}#t=new flr.default;#r;constructor(e){this.#r=e}sendCommand(...e){let r=[];return wb.pushArguments(r,e),this.#t.addCommand(r),this}exec(e){let r=this.#r._executeMulti(this.#t.queue);if(!e){r.catch(n=>this.#r.emit("error",n));return}r.then(n=>e(null,this.#t.transformReplies(n))).catch(n=>e?.(n))}}});var Nb=E(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.PooledNoRedirectClientSideCache=so.BasicPooledClientSideCache=so.PooledClientSideCacheProvider=so.BasicClientSideCache=so.ClientSideCacheProvider=so.CacheStats=void 0;var plr=require("stream"),XI=class t{hitCount;missCount;loadSuccessCount;loadFailureCount;totalLoadTime;evictionCount;constructor(e,r,n,s,i,a){if(this.hitCount=e,this.missCount=r,this.loadSuccessCount=n,this.loadFailureCount=s,this.totalLoadTime=i,this.evictionCount=a,e<0||r<0||n<0||s<0||i<0||a<0)throw new Error("All statistics values must be non-negative")}static of(e=0,r=0,n=0,s=0,i=0,a=0){return new t(e,r,n,s,i,a)}static empty(){return t.EMPTY_STATS}static EMPTY_STATS=new t(0,0,0,0,0,0);requestCount(){return this.hitCount+this.missCount}hitRate(){let e=this.requestCount();return e===0?1:this.hitCount/e}missRate(){let e=this.requestCount();return e===0?0:this.missCount/e}loadCount(){return this.loadSuccessCount+this.loadFailureCount}loadFailureRate(){let e=this.loadCount();return e===0?0:this.loadFailureCount/e}averageLoadPenalty(){let e=this.loadCount();return e===0?0:this.totalLoadTime/e}minus(e){return t.of(Math.max(0,this.hitCount-e.hitCount),Math.max(0,this.missCount-e.missCount),Math.max(0,this.loadSuccessCount-e.loadSuccessCount),Math.max(0,this.loadFailureCount-e.loadFailureCount),Math.max(0,this.totalLoadTime-e.totalLoadTime),Math.max(0,this.evictionCount-e.evictionCount))}plus(e){return t.of(this.hitCount+e.hitCount,this.missCount+e.missCount,this.loadSuccessCount+e.loadSuccessCount,this.loadFailureCount+e.loadFailureCount,this.totalLoadTime+e.totalLoadTime,this.evictionCount+e.evictionCount)}};so.CacheStats=XI;var gB=class t{static INSTANCE=new t;constructor(){}recordHits(e){}recordMisses(e){}recordLoadSuccess(e){}recordLoadFailure(e){}recordEvictions(e){}snapshot(){return XI.empty()}};function mlr(){return gB.INSTANCE}var AB=class t{#e=0;#t=0;#r=0;#n=0;#a=0;#o=0;recordHits(e){this.#e+=e}recordMisses(e){this.#t+=e}recordLoadSuccess(e){this.#r++,this.#a+=e}recordLoadFailure(e){this.#n++,this.#a+=e}recordEvictions(e){this.#o+=e}snapshot(){return XI.of(this.#e,this.#t,this.#r,this.#n,this.#a,this.#o)}static create(){return new t}};function hlr(t){let e=new Array(t.length*2);for(let r=0;r<t.length;r++)e[r]=t[r].length,e[r+t.length]=t[r];return e.join("_")}var yB=class{#e=!1;#t;constructor(e){e==0?this.#t=0:this.#t=Date.now()+e}invalidate(){this.#e=!0}validate(){return!this.#e&&(this.#t==0||Date.now()<this.#t)}},ZI=class extends yB{#e;get value(){return this.#e}constructor(e,r){super(e),this.#e=r}},eT=class extends yB{#e;get promise(){return this.#e}constructor(e,r){super(e),this.#e=r}},xB=class extends plr.EventEmitter{};so.ClientSideCacheProvider=xB;var bB=class extends xB{#e;#t;ttl;maxEntries;lru;#r;recordEvictions(e){this.#r.recordEvictions(e)}recordHits(e){this.#r.recordHits(e)}recordMisses(e){this.#r.recordMisses(e)}constructor(e){super(),this.#e=new Map,this.#t=new Map,this.ttl=e?.ttl??0,this.maxEntries=e?.maxEntries??0,this.lru=e?.evictPolicy!=="FIFO";let r=e?.recordStats!==!1;this.#r=r?AB.create():mlr()}async handleCache(e,r,n,s,i){let a,o=hlr(r.redisArgs),c=this.get(o);if(c){if(c instanceof ZI)return this.#r.recordHits(1),structuredClone(c.value);if(c instanceof eT)this.#r.recordMisses(1),a=await c.promise;else throw new Error("unknown cache entry type")}else{this.#r.recordMisses(1);let l=performance.now(),d=n();c=this.createPromiseEntry(e,d),this.set(o,c,r.keys);try{a=await d;let f=performance.now()-l;this.#r.recordLoadSuccess(f)}catch(f){let p=performance.now()-l;throw this.#r.recordLoadFailure(p),c.validate()&&this.delete(o),f}}let u;return s?u=s(a,r.preserve,i):u=a,c.validate()&&(c=this.createValueEntry(e,u),this.set(o,c,r.keys),this.emit("cached-key",o)),structuredClone(u)}trackingOn(){return["CLIENT","TRACKING","ON"]}invalidate(e){if(e===null){this.clear(!1),this.emit("invalidate",e);return}let r=this.#t.get(e.toString());if(r){for(let n of r){let s=this.#e.get(n);s&&s.invalidate(),this.#e.delete(n)}this.#t.delete(e.toString())}this.emit("invalidate",e)}clear(e=!0){let r=this.#e.size;this.#e.clear(),this.#t.clear(),e?this.#r instanceof gB||(this.#r=AB.create()):r>0&&this.#r.recordEvictions(r)}get(e){let r=this.#e.get(e);if(r&&!r.validate()){this.delete(e),this.#r.recordEvictions(1),this.emit("cache-evict",e);return}return r!==void 0&&this.lru&&(this.#e.delete(e),this.#e.set(e,r)),r}delete(e){let r=this.#e.get(e);r&&(r.invalidate(),this.#e.delete(e))}has(e){return this.#e.has(e)}set(e,r,n){let s=this.#e.size,i=this.#e.get(e);i&&(s--,i.invalidate()),this.maxEntries>0&&s>=this.maxEntries&&(this.deleteOldest(),this.#r.recordEvictions(1)),this.#e.set(e,r);for(let a of n)this.#t.has(a.toString())||this.#t.set(a.toString(),new Set),this.#t.get(a.toString()).add(e)}size(){return this.#e.size}createValueEntry(e,r){return new ZI(this.ttl,r)}createPromiseEntry(e,r){return new eT(this.ttl,r)}stats(){return this.#r.snapshot()}onError(){this.clear()}onClose(){this.clear()}deleteOldest(){let r=this.#e[Symbol.iterator]().next();if(!r.done){let n=r.value[0],s=this.#e.get(n);s&&s.invalidate(),this.#e.delete(n)}}entryEntries(){return this.#e.entries()}keySetEntries(){return this.#t.entries()}};so.BasicClientSideCache=bB;var EB=class extends bB{#e=!1;disable(){this.#e=!0}enable(){this.#e=!1}get(e){if(!this.#e)return super.get(e)}has(e){return this.#e?!1:super.has(e)}onPoolClose(){this.clear()}};so.PooledClientSideCacheProvider=EB;var _B=class extends EB{onError(){this.clear(!1)}onClose(){this.clear(!1)}};so.BasicPooledClientSideCache=_B;var Ere=class extends ZI{#e;constructor(e,r,n){super(e,n),this.#e=r}validate(){let e=super.validate();return this.#e&&(e=e&&this.#e.client.isReady&&this.#e.client.socketEpoch==this.#e.epoch),e}},_re=class extends eT{#e;constructor(e,r,n){super(e,n),this.#e=r}validate(){return super.validate()&&this.#e.client.isReady&&this.#e.client.socketEpoch==this.#e.epoch}},Sre=class extends _B{createValueEntry(e,r){let n={epoch:e.socketEpoch,client:e};return new Ere(this.ttl,n,r)}createPromiseEntry(e,r){let n={epoch:e.socketEpoch,client:e};return new _re(this.ttl,n,r)}onError(){}onClose(){}};so.PooledNoRedirectClientSideCache=Sre});var SB=E(Cre=>{"use strict";Object.defineProperty(Cre,"__esModule",{value:!0});var vre=class{#e;#t;get(e){return JSON.stringify(e,KYe())===this.#t?this.#e:void 0}set(e,r){this.#e=r,this.#t=JSON.stringify(e,KYe())}};Cre.default=vre;function KYe(){let t=new WeakSet;return function(r,n){return n&&typeof n=="object"?t.has(n)?"circular":(t.add(n),n):n}}});var Rre=E(Ob=>{"use strict";var wre=Ob&&Ob.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ob,"__esModule",{value:!0});Ob.RedisClientPool=void 0;var glr=yu(),Alr=wre(Pb()),ylr=require("node:events"),Ire=mB(),xlr=Pl(),mg=Wl(),blr=wre(xre()),YYe=Nb(),vB=Dl(),Elr=wre(SB()),Tre=class t extends ylr.EventEmitter{static#e(e,r){let n=(0,mg.getTransformReply)(e,r);return async function(...s){let i=new vB.BasicCommandParser;return e.parseCommand(i,...s),this.execute(a=>a._executeCommand(e,i,this._commandOptions,n))}}static#t(e,r){let n=(0,mg.getTransformReply)(e,r);return async function(...s){let i=new vB.BasicCommandParser;return e.parseCommand(i,...s),this._self.execute(a=>a._executeCommand(e,i,this._self._commandOptions,n))}}static#r(e,r,n){let s=(0,mg.functionArgumentsPrefix)(e,r),i=(0,mg.getTransformReply)(r,n);return async function(...a){let o=new vB.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self.execute(c=>c._executeCommand(r,o,this._self._commandOptions,i))}}static#n(e,r){let n=(0,mg.scriptArgumentsPrefix)(e),s=(0,mg.getTransformReply)(e,r);return async function(...i){let a=new vB.BasicCommandParser;return a.pushVariadic(n),e.parseCommand(a,...i),this.execute(o=>o._executeScript(e,a,this._commandOptions,s))}}static#a=new Elr.default;static create(e,r){let n=t.#a.get(e);return n||(n=(0,mg.attachConfig)({BaseClass:t,commands:glr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e}),n.prototype.Multi=blr.default.extend(e),t.#a.set(e,n)),Object.create(new n(e,r))}static#o={minimum:1,maximum:100,acquireTimeout:3e3,cleanupDelay:3e3};#s;#i;#c=new Ire.SinglyLinkedList;get idleClients(){return this._self.#c.length}#l=new Ire.DoublyLinkedList;get clientsInUse(){return this._self.#l.length}get totalClients(){return this._self.#c.length+this._self.#l.length}#h=new Ire.SinglyLinkedList;get tasksQueueLength(){return this._self.#h.length}#p=!1;get isOpen(){return this._self.#p}#d=!1;get isClosing(){return this._self.#d}#f;get clientSideCache(){return this._self.#f}constructor(e,r){if(super(),this.#i={...t.#o,...r},r?.clientSideCache)if(e===void 0&&(e={}),r.clientSideCache instanceof YYe.PooledClientSideCacheProvider)this.#f=e.clientSideCache=r.clientSideCache;else{let n=r.clientSideCache;this.#f=e.clientSideCache=new YYe.BasicPooledClientSideCache(n)}this.#s=Alr.default.factory(e).bind(void 0,e)}_self=this;_commandOptions;withCommandOptions(e){let r=Object.create(this._self);return r._commandOptions=e,r}#m(e,r){let n=Object.create(this._self);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._self.#m("typeMapping",e)}withAbortSignal(e){return this._self.#m("abortSignal",e)}asap(){return this._self.#m("asap",!0)}async connect(){if(this._self.#p)return;this._self.#p=!0;let e=[];for(;e.length<this._self.#i.minimum;)e.push(this._self.#y());try{await Promise.all(e)}catch(r){throw this.destroy(),r}return this}async#y(){let e=this._self.#l.push(this._self.#s().on("error",r=>this.emit("error",r)));try{await e.value.connect()}catch(r){throw this._self.#l.remove(e),r}this._self.#E(e)}execute(e){return new Promise((r,n)=>{let s=this._self.#c.shift(),{tail:i}=this._self.#h;if(!s){let o;this._self.#i.acquireTimeout>0&&(o=setTimeout(()=>{this._self.#h.remove(c,i),n(new xlr.TimeoutError("Timeout waiting for a client"))},this._self.#i.acquireTimeout));let c=this._self.#h.push({timeout:o,resolve:r,reject:n,fn:e});this.totalClients<this._self.#i.maximum&&this._self.#y();return}let a=this._self.#l.push(s);this._self.#g(a,r,n,e)})}#g(e,r,n,s){let i=s(e.value);i instanceof Promise?i.then(r,n).finally(()=>this.#E(e)):(r(i),this.#E(e))}#E(e){let r=this.#h.shift();if(r){clearTimeout(r.timeout),this.#g(e,r.resolve,r.reject,r.fn);return}this.#l.remove(e),this.#c.push(e.value),this.#S()}cleanupTimeout;#S(){this.totalClients<=this.#i.minimum||(clearTimeout(this.cleanupTimeout),this.cleanupTimeout=setTimeout(()=>this.#A(),this.#i.cleanupDelay))}#A(){let e=Math.min(this.#c.length,this.totalClients-this.#i.minimum);for(let r=0;r<e;r++)this.#c.shift().destroy()}sendCommand(e,r){return this.execute(n=>n.sendCommand(e,r))}MULTI(){return new this.Multi((e,r)=>this.execute(n=>n._executeMulti(e,r)),e=>this.execute(r=>r._executePipeline(e)),this._commandOptions?.typeMapping)}multi=this.MULTI;async close(){if(!this._self.#d&&this._self.#p){this._self.#d=!0;try{let e=[];for(let r of this._self.#c)e.push(r.close());for(let r of this._self.#l)e.push(r.close());await Promise.all(e),this._self.#f?.onPoolClose(),this._self.#c.reset(),this._self.#l.reset()}catch{}finally{this._self.#d=!1}}}destroy(){for(let e of this._self.#c)e.destroy();this._self.#c.reset();for(let e of this._self.#l)e.destroy();this._self.#f?.onPoolClose(),this._self.#l.reset(),this._self.#p=!1}};Ob.RedisClientPool=Tre});var JYe=E((AXr,_lr)=>{_lr.exports={name:"@redis/client",version:"5.11.0",license:"MIT",main:"./dist/index.js",types:"./dist/index.d.ts",files:["dist/","!dist/tsconfig.tsbuildinfo"],scripts:{test:"nyc -r text-summary -r lcov mocha -r tsx --reporter mocha-multi-reporters --reporter-options configFile=mocha-multi-reporter-config.json --exit './lib/**/*.spec.ts'",release:"release-it"},dependencies:{"cluster-key-slot":"1.1.2"},devDependencies:{"@node-rs/xxhash":"1.7.6","@redis/test-utils":"*","@types/sinon":"^17.0.3",sinon:"^17.0.1"},peerDependencies:{"@node-rs/xxhash":"^1.1.0"},peerDependenciesMeta:{"@node-rs/xxhash":{optional:!0}},engines:{node:">= 18"},repository:{type:"git",url:"git://github.com/redis/node-redis.git"},bugs:{url:"https://github.com/redis/node-redis/issues"},homepage:"https://github.com/redis/node-redis/tree/master/packages/client",keywords:["redis"]}});var Pb=E(bu=>{"use strict";var Slr=bu&&bu.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),vlr=bu&&bu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Clr=bu&&bu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Slr(e,t,r);return vlr(e,t),e},Lb=bu&&bu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},xu;Object.defineProperty(bu,"__esModule",{value:!0});var Db=Lb(yu()),Ilr=Lb(OYe()),XYe=BYe(),Tlr=Lb(UYe()),wlr=require("node:events"),hg=Wl(),j0=Pl(),Rlr=require("node:url"),kb=VI(),Nlr=Lb(xre()),Olr=Lb(qJ()),Plr=zYe(),Dlr=Rre(),gg=Ie(),ZYe=Nb(),CB=Dl(),klr=Lb(SB()),Llr=JYe(),IB=Clr(HI()),TB=class extends wlr.EventEmitter{static#e(e,r){let n=(0,hg.getTransformReply)(e,r);return async function(...s){let i=new CB.BasicCommandParser;return e.parseCommand(i,...s),this._self._executeCommand(e,i,this._commandOptions,n)}}static#t(e,r){let n=(0,hg.getTransformReply)(e,r);return async function(...s){let i=new CB.BasicCommandParser;return e.parseCommand(i,...s),this._self._executeCommand(e,i,this._self._commandOptions,n)}}static#r(e,r,n){let s=(0,hg.functionArgumentsPrefix)(e,r),i=(0,hg.getTransformReply)(r,n);return async function(...a){let o=new CB.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self._executeCommand(r,o,this._self._commandOptions,i)}}static#n(e,r){let n=(0,hg.scriptArgumentsPrefix)(e),s=(0,hg.getTransformReply)(e,r);return async function(...i){let a=new CB.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._executeScript(e,a,this._commandOptions,s)}}static#a=new klr.default;static factory(e){let r=xu.#a.get(e);return r||(r=(0,hg.attachConfig)({BaseClass:xu,commands:Db.default,createCommand:xu.#e,createModuleCommand:xu.#t,createFunctionCommand:xu.#r,createScriptCommand:xu.#n,config:e}),r.prototype.Multi=Nlr.default.extend(e),xu.#a.set(e,r)),n=>Object.create(new r(n))}static create(e){return xu.factory(e)(e)}static parseOptions(e){if(e?.url){let r=xu.parseURL(e.url);if(e.socket){if(e.socket.tls!==void 0&&e.socket.tls!==r.socket.tls)throw new TypeError(`tls socket option is set to ${e.socket.tls} which is mismatch with protocol or the URL ${e.url} passed`);r.socket=Object.assign(e.socket,r.socket)}Object.assign(e,r)}return e}static parseURL(e){let{hostname:r,port:n,protocol:s,username:i,password:a,pathname:o}=new Rlr.URL(e),c={socket:{host:r.replace(/^\[([0-9a-f:]+)\]$/,"$1"),tls:!1}};if(s!=="redis:"&&s!=="rediss:")throw new TypeError("Invalid protocol");if(c.socket.tls=s==="rediss:",n&&(c.socket.port=Number(n)),i&&(c.username=decodeURIComponent(i)),a&&(c.password=decodeURIComponent(a)),(i||a)&&(c.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:i?decodeURIComponent(i):void 0,password:a?decodeURIComponent(a):void 0})}),o.length>1){let u=Number(o.substring(1));if(isNaN(u))throw new TypeError("Invalid pathname");c.database=u}return c}#o;#s;#i;#c=0;#l;_self=this;_commandOptions;#h;#p;#d;#f=null;#m=!1;get clientSideCache(){return this._self.#d}get options(){return this._self.#o}get isOpen(){return this._self.#s.isOpen}get isReady(){return this._self.#s.isReady}get isPubSubActive(){return this._self.#i.isPubSubActive}get socketEpoch(){return this._self.#s.socketEpoch}get isWatching(){return this._self.#p!==void 0}get isDirtyWatch(){return this._self.#h!==void 0}setDirtyWatch(e){this._self.#h=e}constructor(e){if(super(),this.#y(e),this.#o=this.#g(e),this.#i=this.#E(),this.#s=this.#v(),this.#o.maintNotifications!=="disabled"&&new IB.default(this.#i,this,this.#o),this.#o.clientSideCache){if(this.#o.clientSideCache instanceof ZYe.ClientSideCacheProvider)this.#d=this.#o.clientSideCache;else{let r=this.#o.clientSideCache;this.#d=new ZYe.BasicClientSideCache(r)}this.#i.addPushHandler(r=>{if(r[0].toString()!=="invalidate")return!1;if(r[1]!==null)for(let n of r[1])this.#d?.invalidate(n);else this.#d?.invalidate(null);return!0})}else e?.emitInvalidate&&this.#i.addPushHandler(r=>{if(r[0].toString()!=="invalidate")return!1;if(r[1]!==null)for(let n of r[1])this.emit("invalidate",n);else this.emit("invalidate",null);return!0})}#y(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3");if(e?.emitInvalidate&&e?.RESP!==3)throw new Error("emitInvalidate is only supported with RESP3");if(e?.clientSideCache&&e?.emitInvalidate)throw new Error("emitInvalidate is not supported (or necessary) when clientSideCache is enabled");if(e?.maintNotifications&&e?.maintNotifications!=="disabled"&&e?.RESP!==3)throw new Error("Graceful Maintenance is only supported with RESP3")}#g(e={}){if(!e.credentialsProvider&&(e.username||e.password)&&(e.credentialsProvider={type:"async-credentials-provider",credentials:async()=>({username:e.username,password:e.password})}),e.database&&(this._self.#c=e.database),e.commandOptions&&(this._commandOptions=e.commandOptions),e.maintNotifications!=="disabled"&&IB.default.setupDefaultMaintOptions(e),e.url){let r=xu.parseOptions(e);return r?.database&&(this._self.#c=r.database),r}return e}#E(){return new Tlr.default(this.#o.RESP??2,this.#o.commandsQueueMaxLength,(e,r)=>this.emit("sharded-channel-moved",e,r))}reAuthenticate=async e=>{this.isPubSubActive&&!this.#o.RESP||await this.sendCommand((0,gg.parseArgs)(Db.default.AUTH,{username:e.username,password:e.password??""}))};#S(e){return e.subscribe({onNext:r=>{this.reAuthenticate(r).catch(n=>{let s=n instanceof Error?n.message:String(n);e.onReAuthenticationError(new XYe.CredentialsError(s))})},onError:r=>{let n=`Error from streaming credentials provider: ${r.message}`;e.onReAuthenticationError(new XYe.UnableToObtainNewCredentialsError(n))}})}async#A(e,r){let n=[],s=await this.#C();r&&s.reverse();for(let{cmd:i,errorHandler:a}of s)n.push(this.#i.addCommand(i,{chainId:e,asap:r}).catch(a));return n}async#C(){let e=[],r=this.#o.credentialsProvider;if(this.#o.RESP){let s={};if(r&&r.type==="async-credentials-provider"){let i=await r.credentials();i.password&&(s.AUTH={username:i.username??"default",password:i.password})}if(r&&r.type==="streaming-credentials-provider"){let[i,a]=await this.#S(r);this.#f=a,i.password&&(s.AUTH={username:i.username??"default",password:i.password})}this.#o.name&&(s.SETNAME=this.#o.name),e.push({cmd:(0,gg.parseArgs)(Olr.default,this.#o.RESP,s)})}else{if(r&&r.type==="async-credentials-provider"){let s=await r.credentials();(s.username||s.password)&&e.push({cmd:(0,gg.parseArgs)(Db.default.AUTH,{username:s.username,password:s.password??""})})}if(r&&r.type==="streaming-credentials-provider"){let[s,i]=await this.#S(r);this.#f=i,(s.username||s.password)&&e.push({cmd:(0,gg.parseArgs)(Db.default.AUTH,{username:s.username,password:s.password??""})})}this.#o.name&&e.push({cmd:(0,gg.parseArgs)(Db.default.CLIENT_SETNAME,this.#o.name)})}this.#c!==0&&e.push({cmd:["SELECT",this.#c.toString()]}),this.#o.readonly&&e.push({cmd:(0,gg.parseArgs)(Db.default.READONLY)}),this.#o.disableClientInfo||(e.push({cmd:["CLIENT","SETINFO","LIB-VER",Llr.version],errorHandler:()=>{}}),e.push({cmd:["CLIENT","SETINFO","LIB-NAME",this.#o.clientInfoTag?`node-redis(${this.#o.clientInfoTag})`:"node-redis"],errorHandler:()=>{}})),this.#d&&e.push({cmd:this.#d.trackingOn()}),this.#o?.emitInvalidate&&e.push({cmd:["CLIENT","TRACKING","ON"]});let n=await IB.default.getHandshakeCommand(this.#o);return n&&e.push(n),e}#_(e){e.on("data",r=>{try{this.#i.decoder.write(r)}catch(n){this.#i.resetDecoder(),this.emit("error",n)}}).on("error",r=>{this.emit("error",r),this.#d?.onError(),this.#s.isOpen&&!this.#o.disableOfflineQueue?this.#i.flushWaitingForReply(r):this.#i.flushAll(r)}).on("connect",()=>this.emit("connect")).on("ready",()=>{this.emit("ready"),this.#u(),this.#N()}).on("reconnecting",()=>this.emit("reconnecting")).on("drain",()=>this.#N()).on("end",()=>this.emit("end"))}#v(){let e=async()=>{let n=[],s=Symbol("Socket Initiator"),i=this.#i.resubscribe(s);if(i?.catch(a=>{a.message&&a.message.startsWith("MOVED")&&this.emit("__MOVED",this._self.#i.removeAllPubSubListeners())}),i&&n.push(i),this.#l&&n.push(this.#i.monitor(this.#l,{typeMapping:this._commandOptions?.typeMapping,chainId:s,asap:!0})),n.push(...await this.#A(s,!0)),n.length)return this.#P(),Promise.all(n)},r=new Ilr.default(e,this.#o.socket);return this.#_(r),r}#b;#u(){!this.#o.pingInterval||!this.#s.isReady||(clearTimeout(this.#b),this.#b=setTimeout(()=>{this.#s.isReady&&this.sendCommand(["PING"]).then(e=>this.emit("ping-interval",e)).catch(e=>this.emit("error",e)).finally(()=>this.#u())},this.#o.pingInterval))}withCommandOptions(e){let r=Object.create(this._self);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this._self);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}withAbortSignal(e){return this._commandOptionsProxy("abortSignal",e)}asap(){return this._commandOptionsProxy("asap",!0)}legacy(){return new Plr.RedisLegacyClient(this)}createPool(e){return Dlr.RedisClientPool.create(this._self.#o,e)}duplicate(e){return new(Object.getPrototypeOf(this)).constructor({...this._self.#o,commandOptions:this._commandOptions,...e})}async connect(){return await this._self.#s.connect(),this}_ejectSocket(){let e=this._self.#s;return this._self.#s=null,e.removeAllListeners(),e}_insertSocket(e){this._self.#s&&this._self._ejectSocket().destroy(),this._self.#s=e,this._self.#_(this._self.#s)}_maintenanceUpdate(e){this._self.#s.setMaintenanceTimeout(e.relaxedSocketTimeout),this._self.#i.setMaintenanceCommandTimeout(e.relaxedCommandTimeout)}_pause(){this._self.#m=!0}_unpause(){this._self.#m=!1,this._self.#N()}_handleSmigrated(e){this._self.emit(IB.SMIGRATED_EVENT,e)}_getQueue(){return this._self.#i}async _executeCommand(e,r,n,s){let i=this._self.#d,a=this._self.#o.commandOptions===n||this._self.#o.commandOptions?.typeMapping===n?.typeMapping,o=()=>this.sendCommand(r.redisArgs,n);if(i&&e.CACHEABLE&&a)return await i.handleCache(this._self,r,o,s,n?.typeMapping);{let c=await o();return s?s(c,r.preserve,n?.typeMapping):c}}async _executeScript(e,r,n,s){let i=r.redisArgs,a;try{a=await this.sendCommand(i,n)}catch(o){if(!o?.message?.startsWith?.("NOSCRIPT"))throw o;i[0]="EVAL",i[1]=e.SCRIPT,a=await this.sendCommand(i,n)}return s?s(a,r.preserve,n?.typeMapping):a}sendCommand(e,r){if(this._self.#s.isOpen){if(!this._self.#s.isReady&&this._self.#o.disableOfflineQueue)return Promise.reject(new j0.ClientOfflineError)}else return Promise.reject(new j0.ClientClosedError);let n={...this._self._commandOptions,...r},s=this._self.#i.addCommand(e,n);return this._self.#I(),s}async SELECT(e){await this.sendCommand(["SELECT",e.toString()]),this._self.#c=e}select=this.SELECT;#x(e){return e===void 0?Promise.resolve():(this.#I(),e)}SUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.CHANNELS,e,r,n))}subscribe=this.SUBSCRIBE;UNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.CHANNELS,e,r,n))}unsubscribe=this.UNSUBSCRIBE;PSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.PATTERNS,e,r,n))}pSubscribe=this.PSUBSCRIBE;PUNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.PATTERNS,e,r,n))}pUnsubscribe=this.PUNSUBSCRIBE;SSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.subscribe(kb.PUBSUB_TYPE.SHARDED,e,r,n))}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(e,r,n){return this._self.#x(this._self.#i.unsubscribe(kb.PUBSUB_TYPE.SHARDED,e,r,n))}sUnsubscribe=this.SUNSUBSCRIBE;async WATCH(e){let r=await this._self.sendCommand((0,gg.pushVariadicArguments)(["WATCH"],e));return this._self.#p??=this._self.socketEpoch,r}watch=this.WATCH;async UNWATCH(){let e=await this._self.sendCommand(["UNWATCH"]);return this._self.#p=void 0,e}unwatch=this.UNWATCH;getPubSubListeners(e){return this._self.#i.getPubSubListeners(e)}extendPubSubChannelListeners(e,r,n){return this._self.#x(this._self.#i.extendPubSubChannelListeners(e,r,n))}extendPubSubListeners(e,r){return this._self.#x(this._self.#i.extendPubSubListeners(e,r))}#P(){this.#m||this.#s.write(this.#i.commandsToWrite())}#T;#I(){!this.#s.isReady||this.#T||(this.#T=setImmediate(()=>{this.#P(),this.#T=void 0}))}#N(){this.#i.isWaitingToWrite()&&this.#I()}async _executePipeline(e,r){if(!this._self.#s.isOpen)return Promise.reject(new j0.ClientClosedError);let n=Symbol("Pipeline Chain"),s=Promise.all(e.map(({args:a})=>this._self.#i.addCommand(a,{chainId:n,typeMapping:this._commandOptions?.typeMapping})));this._self.#I();let i=await s;return r!==void 0&&(this._self.#c=r),i}async _executeMulti(e,r){let n=this._self.#h;this._self.#h=void 0;let s=this._self.#p;if(this._self.#p=void 0,!this._self.#s.isOpen)throw new j0.ClientClosedError;if(n)throw new j0.WatchError(n);if(s&&s!==this._self.socketEpoch)throw new j0.WatchError("Client reconnected after WATCH");let i=this._commandOptions?.typeMapping,a=Symbol("MULTI Chain"),o=[this._self.#i.addCommand(["MULTI"],{chainId:a})];for(let{args:l}of e)o.push(this._self.#i.addCommand(l,{chainId:a,typeMapping:i}));o.push(this._self.#i.addCommand(["EXEC"],{chainId:a})),this._self.#I();let c=await Promise.all(o),u=c[c.length-1];if(u===null)throw new j0.WatchError;return r!==void 0&&(this._self.#c=r),u}MULTI(){return new this.Multi(this._executeMulti.bind(this),this._executePipeline.bind(this),this._commandOptions?.typeMapping)}multi=this.MULTI;async*scanIterator(e){let r=e?.cursor??"0";do{let n=await this.scan(r,e);r=n.cursor,yield n.keys}while(r!=="0")}async*hScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScan(e,n,r);n=s.cursor,yield s.entries}while(n!=="0")}async*hScanValuesIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScanNoValues(e,n,r);n=s.cursor,yield s.fields}while(n!=="0")}async*hScanNoValuesIterator(e,r){let n=r?.cursor??"0";do{let s=await this.hScanNoValues(e,n,r);n=s.cursor,yield s.fields}while(n!=="0")}async*sScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.sScan(e,n,r);n=s.cursor,yield s.members}while(n!=="0")}async*zScanIterator(e,r){let n=r?.cursor??"0";do{let s=await this.zScan(e,n,r);n=s.cursor,yield s.members}while(n!=="0")}async MONITOR(e){let r=this._self.#i.monitor(e,{typeMapping:this._commandOptions?.typeMapping});this._self.#I(),await r,this._self.#l=e}monitor=this.MONITOR;async reset(){let e=Symbol("Reset Chain"),r=[this._self.#i.reset(e)],n=this._self.#o?.database??0;this._self.#f?.dispose(),this._self.#f=null,r.push(...await this._self.#A(e,!1)),this._self.#I(),await Promise.all(r),this._self.#c=n,this._self.#l=void 0,this._self.#h=void 0,this._self.#p=void 0}resetIfDirty(){let e=!1;if(this._self.#c!==(this._self.#o?.database??0)&&(console.warn("Returning a client with a different selected DB"),e=!0),this._self.#l&&(console.warn("Returning a client with active MONITOR"),e=!0),this._self.#i.isPubSubActive&&(console.warn("Returning a client with active PubSub"),e=!0),(this._self.#h||this._self.#p)&&(console.warn("Returning a client with active WATCH"),e=!0),e)return this.reset()}QUIT(){return this._self.#f?.dispose(),this._self.#f=null,this._self.#s.quit(async()=>{clearTimeout(this._self.#b);let e=this._self.#i.addCommand(["QUIT"]);return this._self.#I(),e})}quit=this.QUIT;disconnect(){return Promise.resolve(this.destroy())}close(){return new Promise(e=>{if(clearTimeout(this._self.#b),this._self.#s.close(),this._self.#d?.onClose(),this._self.#i.isEmpty())return this._self.#s.destroySocket(),e();let r=()=>{this._self.#i.isEmpty()&&(this._self.#s.off("data",r),this._self.#s.destroySocket(),e())};this._self.#s.on("data",r),this._self.#f?.dispose(),this._self.#f=null})}destroy(){clearTimeout(this._self.#b),this._self.#i.flushAll(new j0.DisconnectsClientError),this._self.#s.destroy(),this._self.#d?.onClose(),this._self.#f?.dispose(),this._self.#f=null}ref(){this._self.#s.ref()}unref(){this._self.#s.unref()}};xu=TB;bu.default=TB});var rJe=E($l=>{"use strict";var tJe=$l&&$l.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Ore;Object.defineProperty($l,"__esModule",{value:!0});$l.RESUBSCRIBE_LISTENERS_EVENT=void 0;var Blr=Pl(),Mlr=tJe(Pb()),Do=VI(),Nre=tJe(fre()),eJe=Nb(),io=HI();$l.RESUBSCRIBE_LISTENERS_EVENT="__resubscribeListeners";var wB=class{static#e=16384;#t;#r;#n;slots=new Array(Ore.#e);masters=new Array;replicas=new Array;nodeByAddress=new Map;pubSubNode;clientSideCache;smigratedSeqIdsSeen=new Set;#a=!1;get isOpen(){return this.#a}#o(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3")}constructor(e,r){this.#o(e),this.#t=e,e?.clientSideCache&&(e.clientSideCache instanceof eJe.PooledClientSideCacheProvider?this.clientSideCache=e.clientSideCache:this.clientSideCache=new eJe.BasicPooledClientSideCache(e.clientSideCache)),this.#r=Mlr.default.factory(this.#t),this.#n=r}async connect(){if(this.#a)throw new Error("Cluster already open");this.#a=!0;try{await this.#s(),this.#n("connect")}catch(e){throw this.#a=!1,e}}async#s(){let e=Math.floor(Math.random()*this.#t.rootNodes.length);for(let r=e;r<this.#t.rootNodes.length;r++){if(!this.#a)throw new Error("Cluster closed");if(await this.#c(this.#t.rootNodes[r]))return}for(let r=0;r<e;r++){if(!this.#a)throw new Error("Cluster closed");if(await this.#c(this.#t.rootNodes[r]))return}throw new Blr.RootNodesUnavailableError}#i(){this.slots=new Array(Ore.#e),this.masters=[],this.replicas=[],this._randomNodeIterator=void 0}async#c(e){this.clientSideCache?.clear(),this.clientSideCache?.disable();try{let r=new Set,n=[],s=this.#t.minimizeConnections!==!0,i=await this.#h(e);this.#i();for(let{from:a,to:o,master:c,replicas:u}of i){let l={master:this.#f(c,!1,s,r,n)};this.#t.useReplicas&&(l.replicas=u.map(d=>this.#f(d,!0,s,r,n)));for(let d=a;d<=o;d++)this.slots[d]=l}if(this.pubSubNode&&!r.has(this.pubSubNode.address)){let a=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.CHANNELS),o=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.PATTERNS);this.pubSubNode.client.destroy(),(a.size||o.size)&&n.push(this.#v({[Do.PUBSUB_TYPE.CHANNELS]:a,[Do.PUBSUB_TYPE.PATTERNS]:o}))}for(let[a,o]of this.nodeByAddress.entries()){if(r.has(a))continue;o.client&&o.client.destroy();let{pubSub:c}=o;c&&c.client.destroy(),this.nodeByAddress.delete(a)}return await Promise.all(n),this.clientSideCache?.enable(),!0}catch(r){return this.#n("error",r),!1}}#l=async e=>{if((0,io.dbgMaintenance)("[CSlots]: handle smigrated",JSON.stringify(e,null,2)),this.smigratedSeqIdsSeen.has(e.seqId)){(0,io.dbgMaintenance)(`[CSlots]: sequence id ${e.seqId} already seen, abort`);return}this.smigratedSeqIdsSeen.add(e.seqId);for(let r of e.entries){let n=`${r.source.host}:${r.source.port}`,s=this.nodeByAddress.get(n);if((0,io.dbgMaintenance)(`[CSlots]: Looking for sourceAddress=${n}. Available addresses in nodeByAddress: ${Array.from(this.nodeByAddress.keys()).join(", ")}`),!s){(0,io.dbgMaintenance)(`[CSlots]: address ${n} not in 'nodeByAddress', skipping this entry`);continue}if(s.client===void 0){(0,io.dbgMaintenance)(`[CSlots]: Node for ${n} does not have a client, skipping this entry`);continue}let i=new Set;try{s.client?._pause(),"pubSub"in s&&s.pubSub?.client._pause();let a;for(let{addr:{host:d,port:f},slots:p}of r.destinations){let m=`${d}:${f}`,h=this.nodeByAddress.get(m);(0,io.dbgMaintenance)(`[CSlots]: Looking for destAddress=${m}. Found in nodeByAddress: ${h?"YES":"NO"}`);let A;if(h){let y=[...new Set(this.slots)].map(v=>`${v.master.host}:${v.master.port}`);(0,io.dbgMaintenance)(`[CSlots]: Searching for shard with host=${d}, port=${f}. Available masters in slots: ${y.join(", ")}`);let x=this.slots.find(v=>v.master.host===d&&v.master.port===f);if(!x)throw(0,io.dbgMaintenance)("Could not find shard"),new Error("Could not find shard");A=x,h.client?._pause(),h.pubSub?.client._pause()}else{let y=[];h=this.#f({host:d,port:f,id:`smigrated-${d}:${f}`},!1,!0,new Set,y),await Promise.all([...y,this.#b(h)]),h.client?._pause(),h.pubSub?.client._pause(),A={master:h}}a=h;let g=new Set;for(let y of p)if(typeof y=="number")this.slots[y]=A,g.add(y),i.add(y);else for(let x=y[0];x<=y[1];x++)this.slots[x]=A,g.add(x),i.add(x);(0,io.dbgMaintenance)(`[CSlots]: Updated slots to point to destination ${h.address}. Sample slots: ${Array.from(p).slice(0,5).join(", ")}${p.length>5?"...":""}`);let b=s.client._getQueue().extractCommandsForSlots(g);h.client?._getQueue().prependCommandsToWrite(b),(0,io.dbgMaintenance)(`[CSlots]: Extracted ${b.length} commands for ${g.size} slots, prepended to ${h.address}`),h.client?._unpause(),h.pubSub?.client._unpause()}(0,io.dbgMaintenance)(`[CSlots]: Total ${i.size} slots moved from ${n}. Sample: ${Array.from(i).slice(0,10).join(", ")}${i.size>10?"...":""}`);let o=5e3,c=[],u={timeoutMs:o,flushOnTimeout:!0};if(c.push(s.client._getQueue().waitForInflightCommandsToComplete(u)),"pubSub"in s&&s.pubSub!==void 0&&c.push(s.pubSub.client._getQueue().waitForInflightCommandsToComplete(u)),this.pubSubNode?.address===n&&c.push(this.pubSubNode.client._getQueue().waitForInflightCommandsToComplete(u)),await Promise.all(c),this.slots.find(d=>d.master.address===n)!==void 0){if("pubSub"in s){let d=s.pubSub?.client._getQueue().removeShardedPubSubListenersForSlots(i);this.#n($l.RESUBSCRIBE_LISTENERS_EVENT,d)}s.client?._unpause(),"pubSub"in s&&s.pubSub?.client._unpause()}else{let d=s.client._getQueue().extractAllCommands();if(d.length>0&&a&&(a.client?._getQueue().prependCommandsToWrite(d),a.client?._unpause(),(0,io.dbgMaintenance)(`[CSlots]: Moved ${d.length} remaining slotless commands to ${a.address}`)),"pubSub"in s){let f=s.pubSub?.client._getQueue().removeAllPubSubListeners();this.#n($l.RESUBSCRIBE_LISTENERS_EVENT,f)}if(this.masters=this.masters.filter(f=>f.address!==n),this.replicas=this.replicas.filter(f=>f.address!==n),this.nodeByAddress.delete(n),this.pubSubNode?.address===n){let f=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.CHANNELS),p=this.pubSubNode.client.getPubSubListeners(Do.PUBSUB_TYPE.PATTERNS),m=this.pubSubNode.client;f.size||p.size?await this.#v({[Do.PUBSUB_TYPE.CHANNELS]:f,[Do.PUBSUB_TYPE.PATTERNS]:p}):this.pubSubNode=void 0,m.destroy()}s.client?.destroy(),"pubSub"in s&&s.pubSub?.client.destroy()}}catch(a){(0,io.dbgMaintenance)(`[CSlots]: Error during SMIGRATED handling for source ${n}: ${a}`),s.client?._unpause(),"pubSub"in s&&s.pubSub?.client._unpause(),this.#n("error",a)}}};async#h(e){let r=this.#d(e);r.socket??={},r.socket.reconnectStrategy=!1,r.RESP=this.#t.RESP,r.commandOptions=void 0,r.maintNotifications="disabled";let n=await this.#r(r).on("error",s=>this.#n("error",s)).connect();try{return await n.clusterSlots()}finally{n.destroy()}}#p(e){switch(typeof this.#t.nodeAddressMap){case"object":return this.#t.nodeAddressMap[e];case"function":return this.#t.nodeAddressMap(e)}}#d(e){if(!this.#t.defaults)return e;let r;return this.#t.defaults.socket?r={...this.#t.defaults.socket,...e?.socket}:r=e?.socket,{...this.#t.defaults,...e,socket:r}}#f(e,r,n,s,i){let a=`${e.host}:${e.port}`,o=this.nodeByAddress.get(a);return o||(o={...e,address:a,readonly:r,client:void 0,connectPromise:void 0},n&&i.push(this.#y(o)),this.nodeByAddress.set(a,o)),s.has(a)||(s.add(a),(r?this.replicas:this.masters).push(o)),o}#m(e,r=e.readonly){let n=this.#p(e.address)??{host:e.host,port:e.port},s=Object.freeze({host:n.host,port:n.port}),i=this.#n,a=this.#r(this.#d({clientSideCache:this.clientSideCache,RESP:this.#t.RESP,socket:n,readonly:r})).on("error",o=>i("node-error",o,s)).on("reconnecting",()=>i("node-reconnecting",s)).once("ready",()=>i("node-ready",s)).once("connect",()=>i("node-connect",s)).once("end",()=>i("node-disconnect",s)).on(io.SMIGRATED_EVENT,this.#l).on("__MOVED",async o=>{await this.rediscover(a),this.#n($l.RESUBSCRIBE_LISTENERS_EVENT,o)});return a}#y(e,r){let n=e.client=this.#m(e,r);return e.connectPromise=n.connect().finally(()=>e.connectPromise=void 0)}nodeClient(e){return e.connectPromise?e.connectPromise:e.client?Promise.resolve(e.client):this.#y(e)}#g;async rediscover(e){return this.#g??=this.#E(e).finally(()=>{this.#g=void 0}),this.#g}async#E(e){if(!await this.#c(e.options))return this.#s()}quit(){return this.#A(e=>e.quit())}disconnect(){return this.#A(e=>e.disconnect())}close(){return this.#A(e=>e.close())}destroy(){this.#a=!1;for(let e of this.#S())e.destroy();this.pubSubNode&&(this.pubSubNode.client.destroy(),this.pubSubNode=void 0),this.#i(),this.nodeByAddress.clear(),this.#n("disconnect")}*#S(){for(let e of this.masters)e.client&&(yield e.client),e.pubSub&&(yield e.pubSub.client);for(let e of this.replicas)e.client&&(yield e.client)}async#A(e){this.#a=!1;let r=[];for(let n of this.#S())r.push(e(n));this.pubSubNode&&(r.push(e(this.pubSubNode.client)),this.pubSubNode=void 0),this.#i(),this.nodeByAddress.clear(),await Promise.allSettled(r),this.#n("disconnect")}async getClientAndSlotNumber(e,r){if(!e)return{client:await this.nodeClient(this.getRandomNode())};let n=(0,Nre.default)(e);return r?{client:await this.nodeClient(this.getSlotRandomNode(n)),slotNumber:n}:{client:await this.nodeClient(this.slots[n].master),slotNumber:n}}*#C(){if(this.masters.length+this.replicas.length===0)return;let e=Math.floor(Math.random()*(this.masters.length+this.replicas.length));if(e<this.masters.length){do yield this.masters[e];while(++e<this.masters.length);for(let r of this.replicas)yield r}else{e-=this.masters.length;do yield this.replicas[e];while(++e<this.replicas.length)}for(;;){for(let r of this.masters)yield r;for(let r of this.replicas)yield r}}_randomNodeIterator;getRandomNode(){return this._randomNodeIterator??=this.#C(),this._randomNodeIterator.next().value}*#_(e){let r=Math.floor(Math.random()*(1+e.replicas.length));if(r<e.replicas.length)do yield e.replicas[r];while(++r<e.replicas.length);for(;;){yield e.master;for(let n of e.replicas)yield n}}getSlotRandomNode(e){let r=this.slots[e];return r.replicas?.length?(r.nodesIterator??=this.#_(r),r.nodesIterator.next().value):r.master}getMasterByAddress(e){let r=this.nodeByAddress.get(e);if(r)return this.nodeClient(r)}getPubSubClient(){return this.pubSubNode?this.pubSubNode.connectPromise??Promise.resolve(this.pubSubNode.client):this.#v()}async#v(e){let r=Math.floor(Math.random()*(this.masters.length+this.replicas.length)),n=r<this.masters.length?this.masters[r]:this.replicas[r-this.masters.length],s=this.#m(n,!1);return this.pubSubNode={address:n.address,client:s,connectPromise:s.connect().then(async i=>(e&&await Promise.all([i.extendPubSubListeners(Do.PUBSUB_TYPE.CHANNELS,e[Do.PUBSUB_TYPE.CHANNELS]),i.extendPubSubListeners(Do.PUBSUB_TYPE.PATTERNS,e[Do.PUBSUB_TYPE.PATTERNS])]),this.pubSubNode.connectPromise=void 0,i)).catch(i=>{throw this.pubSubNode=void 0,i})},this.pubSubNode.connectPromise}async executeUnsubscribeCommand(e){let r=await this.getPubSubClient();await e(r),r.isPubSubActive||(r.destroy(),this.pubSubNode=void 0)}getShardedPubSubClient(e){let{master:r}=this.slots[(0,Nre.default)(e)];return r.pubSub?r.pubSub.connectPromise??Promise.resolve(r.pubSub.client):this.#b(r)}async#b(e){let r=this.#m(e,!1).on("server-sunsubscribe",async(n,s)=>{try{await this.rediscover(r),await(await this.getShardedPubSubClient(n)).extendPubSubChannelListeners(Do.PUBSUB_TYPE.SHARDED,n,s)}catch(i){this.#n("sharded-shannel-moved-error",i,n,s)}});return e.pubSub={client:r,connectPromise:r.connect().then(n=>(e.pubSub.connectPromise=void 0,n)).catch(n=>{throw e.pubSub=void 0,n})},e.pubSub.connectPromise}async executeShardedUnsubscribeCommand(e,r){let{master:n}=this.slots[(0,Nre.default)(e)];if(!n.pubSub)return;let s=n.pubSub.connectPromise?await n.pubSub.connectPromise:n.pubSub.client;await r(s),s.isPubSubActive||(s.destroy(),n.pubSub=void 0)}};Ore=wB;$l.default=wB});var nJe=E(tT=>{"use strict";var Wlr=tT&&tT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tT,"__esModule",{value:!0});var $lr=yu(),Flr=Wlr(YI()),Bb=Wl(),RB=Dl(),Pre=class t{static#e(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new RB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this.addCommand(o,e.IS_READ_ONLY,a,n)}}static#t(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new RB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this._self.addCommand(o,e.IS_READ_ONLY,a,n)}}static#r(e,r,n){let s=(0,Bb.functionArgumentsPrefix)(e,r),i=(0,Bb.getTransformReply)(r,n);return function(...a){let o=new RB.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;c.preserve=o.preserve;let u=o.firstKey;return this._self.addCommand(u,r.IS_READ_ONLY,c,i)}}static#n(e,r){let n=(0,Bb.getTransformReply)(e,r);return function(...s){let i=new RB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;a.preserve=i.preserve;let o=i.firstKey;return this.#h(o,e.IS_READ_ONLY,e,a,n)}}static extend(e){return(0,Bb.attachConfig)({BaseClass:t,commands:$lr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e})}#a;#o;#s;#i;#c=!0;constructor(e,r,n,s){this.#a=new Flr.default(s),this.#o=e,this.#s=r,this.#i=n}#l(e,r){this.#i??=e,this.#c&&=r}addCommand(e,r,n,s){return this.#l(e,r),this.#a.addCommand(n,s),this}#h(e,r,n,s,i){return this.#l(e,r),this.#a.addScript(n,s,i),this}async exec(e=!1){return e?this.execAsPipeline():this.#a.transformReplies(await this.#o(this.#i,this.#c,this.#a.queue))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#a.queue.length===0?[]:this.#a.transformReplies(await this.#s(this.#i,this.#c,this.#a.queue))}execAsPipelineTyped(){return this.execAsPipeline()}};tT.default=Pre});var aJe=E(Eu=>{"use strict";var Ulr=Eu&&Eu.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),qlr=Eu&&Eu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),jlr=Eu&&Eu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ulr(e,t,r);return qlr(e,t),e},iJe=Eu&&Eu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Eu,"__esModule",{value:!0});var Hlr=yu(),Qlr=require("node:events"),Ag=Wl(),sJe=jlr(rJe()),Glr=iJe(nJe()),Vlr=Pl(),NB=Dl(),zlr=YK(),Klr=iJe(SB()),Dre=class t extends Qlr.EventEmitter{static#e(e,r){let n=(0,Ag.getTransformReply)(e,r);return async function(...s){let i=new NB.BasicCommandParser;return e.parseCommand(i,...s),this._self._execute(i.firstKey,e.IS_READ_ONLY,this._commandOptions,(a,o)=>a._executeCommand(e,i,o,n))}}static#t(e,r){let n=(0,Ag.getTransformReply)(e,r);return async function(...s){let i=new NB.BasicCommandParser;return e.parseCommand(i,...s),this._self._execute(i.firstKey,e.IS_READ_ONLY,this._self._commandOptions,(a,o)=>a._executeCommand(e,i,o,n))}}static#r(e,r,n){let s=(0,Ag.functionArgumentsPrefix)(e,r),i=(0,Ag.getTransformReply)(r,n);return async function(...a){let o=new NB.BasicCommandParser;return o.push(...s),r.parseCommand(o,...a),this._self._execute(o.firstKey,r.IS_READ_ONLY,this._self._commandOptions,(c,u)=>c._executeCommand(r,o,u,i))}}static#n(e,r){let n=(0,Ag.scriptArgumentsPrefix)(e),s=(0,Ag.getTransformReply)(e,r);return async function(...i){let a=new NB.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._self._execute(a.firstKey,e.IS_READ_ONLY,this._commandOptions,(o,c)=>o._executeScript(e,a,c,s))}}static#a=new Klr.default;static factory(e){let r=t.#a.get(e);return r||(r=(0,Ag.attachConfig)({BaseClass:t,commands:Hlr.NON_STICKY_COMMANDS,createCommand:t.#e,createModuleCommand:t.#t,createFunctionCommand:t.#r,createScriptCommand:t.#n,config:e}),r.prototype.Multi=Glr.default.extend(e),t.#a.set(e,r)),n=>Object.create(new r(n))}static create(e){return t.factory(e)(e)}_options;_slots;_self=this;_commandOptions;get slots(){return this._self._slots.slots}get clientSideCache(){return this._self._slots.clientSideCache}get masters(){return this._self._slots.masters}get replicas(){return this._self._slots.replicas}get nodeByAddress(){return this._self._slots.nodeByAddress}get pubSubNode(){return this._self._slots.pubSubNode}get isOpen(){return this._self._slots.isOpen}constructor(e){super(),this._options=e,this._slots=new sJe.default(e,this.emit.bind(this)),this.on(sJe.RESUBSCRIBE_LISTENERS_EVENT,this.resubscribeAllPubSubListeners.bind(this)),e?.commandOptions&&(this._commandOptions=e.commandOptions)}duplicate(e){return new(Object.getPrototypeOf(this)).constructor({...this._self._options,commandOptions:this._commandOptions,...e})}async connect(){return await this._self._slots.connect(),this}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._commandOptions=Object.create(this._commandOptions??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}_handleAsk(e){return async(r,n)=>{let s=Symbol("asking chain"),i=n?{...n}:{};return i.chainId=s,(await Promise.all([r.sendCommand([zlr.ASKING_CMD],{chainId:s}),e(r,i)]))[1]}}async _execute(e,r,n,s){let i=this._options.maxCommandRedirections??16,{client:a,slotNumber:o}=await this._slots.getClientAndSlotNumber(e,r),c=0,u=s;for(;;)try{let l=n??{};return l.slotNumber=o,await u(a,l)}catch(l){if(u=s,++c>i||!(l instanceof Error))throw l;if(l.message.startsWith("ASK")){let d=l.message.substring(l.message.lastIndexOf(" ")+1),f=await this._slots.getMasterByAddress(d);if(f||(await this._slots.rediscover(a),f=await this._slots.getMasterByAddress(d)),!f)throw new Error(`Cannot find node ${d}`);a=f,u=this._handleAsk(s);continue}if(l.message.startsWith("MOVED")){await this._slots.rediscover(a);let d=await this._slots.getClientAndSlotNumber(e,r);a=d.client,o=d.slotNumber;continue}throw l}}async sendCommand(e,r,n,s){let i={...this._self._commandOptions,...s};return this._self._execute(e,r,i,(a,o)=>a.sendCommand(n,o))}MULTI(e){return new this.Multi(async(r,n,s)=>{let{client:i}=await this._self._slots.getClientAndSlotNumber(r,n);return i._executeMulti(s)},async(r,n,s)=>{let{client:i}=await this._self._slots.getClientAndSlotNumber(r,n);return i._executePipeline(s)},e,this._commandOptions?.typeMapping)}multi=this.MULTI;async SUBSCRIBE(e,r,n){return(await this._self._slots.getPubSubClient()).SUBSCRIBE(e,r,n)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(e,r,n){return this._self._slots.executeUnsubscribeCommand(s=>s.UNSUBSCRIBE(e,r,n))}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(e,r,n){return(await this._self._slots.getPubSubClient()).PSUBSCRIBE(e,r,n)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(e,r,n){return this._self._slots.executeUnsubscribeCommand(s=>s.PUNSUBSCRIBE(e,r,n))}pUnsubscribe=this.PUNSUBSCRIBE;async SSUBSCRIBE(e,r,n){let s=this._self._options.maxCommandRedirections??16,i=Array.isArray(e)?e[0]:e,a=await this._self._slots.getShardedPubSubClient(i);for(let o=0;;o++)try{return await a.SSUBSCRIBE(e,r,n)}catch(c){if(++o>s||!(c instanceof Vlr.ErrorReply))throw c;if(c.message.startsWith("MOVED")){await this._self._slots.rediscover(a),a=await this._self._slots.getShardedPubSubClient(i);continue}throw c}}sSubscribe=this.SSUBSCRIBE;SUNSUBSCRIBE(e,r,n){return this._self._slots.executeShardedUnsubscribeCommand(Array.isArray(e)?e[0]:e,s=>s.SUNSUBSCRIBE(e,r,n))}resubscribeAllPubSubListeners(e){if(e.CHANNELS)for(let[r,n]of e.CHANNELS)n.buffers.forEach(s=>{this.subscribe(r,s,!0)}),n.strings.forEach(s=>{this.subscribe(r,s)});if(e.PATTERNS)for(let[r,n]of e.PATTERNS)n.buffers.forEach(s=>{this.pSubscribe(r,s,!0)}),n.strings.forEach(s=>{this.pSubscribe(r,s)});if(e.SHARDED)for(let[r,n]of e.SHARDED)n.buffers.forEach(s=>{this.sSubscribe(r,s,!0)}),n.strings.forEach(s=>{this.sSubscribe(r,s)})}sUnsubscribe=this.SUNSUBSCRIBE;quit(){return this._self._slots.quit()}disconnect(){return this._self._slots.disconnect()}close(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.close()}destroy(){return this._self._slots.clientSideCache?.onPoolClose(),this._self._slots.destroy()}nodeClient(e){return this._self._slots.nodeClient(e)}getRandomNode(){return this._self._slots.getRandomNode()}getSlotRandomNode(e){return this._self._slots.getSlotRandomNode(e)}getMasters(){return this.masters}getSlotMaster(e){return this.slots[e].master}};Eu.default=Dre});var cJe=E(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.getMappedNode=ni.createScriptCommand=ni.createModuleCommand=ni.createFunctionCommand=ni.createCommand=ni.clientSocketToNode=ni.createNodeList=ni.parseNode=void 0;var OB=Dl(),Mb=Wl();function oJe(t){if(!(t.flags.includes("s_down")||t.flags.includes("disconnected")||t.flags.includes("failover_in_progress")))return{host:t.ip,port:Number(t.port)}}ni.parseNode=oJe;function Ylr(t){var e=[];for(let r of t){let n=oJe(r);n!==void 0&&e.push(n)}return e}ni.createNodeList=Ylr;function Jlr(t){let e=t;return{host:e.host,port:e.port}}ni.clientSocketToNode=Jlr;function Xlr(t,e){let r=(0,Mb.getTransformReply)(t,e);return async function(...n){let s=new OB.BasicCommandParser;return t.parseCommand(s,...n),this._self._execute(t.IS_READ_ONLY,i=>i._executeCommand(t,s,this.commandOptions,r))}}ni.createCommand=Xlr;function Zlr(t,e,r){let n=(0,Mb.functionArgumentsPrefix)(t,e),s=(0,Mb.getTransformReply)(e,r);return async function(...i){let a=new OB.BasicCommandParser;return a.push(...n),e.parseCommand(a,...i),this._self._execute(e.IS_READ_ONLY,o=>o._executeCommand(e,a,this._self.commandOptions,s))}}ni.createFunctionCommand=Zlr;function edr(t,e){let r=(0,Mb.getTransformReply)(t,e);return async function(...n){let s=new OB.BasicCommandParser;return t.parseCommand(s,...n),this._self._execute(t.IS_READ_ONLY,i=>i._executeCommand(t,s,this._self.commandOptions,r))}}ni.createModuleCommand=edr;function tdr(t,e){let r=(0,Mb.scriptArgumentsPrefix)(t),n=(0,Mb.getTransformReply)(t,e);return async function(...s){let i=new OB.BasicCommandParser;return i.push(...r),t.parseCommand(i,...s),this._self._execute(t.IS_READ_ONLY,a=>a._executeScript(t,i,this.commandOptions,n))}}ni.createScriptCommand=tdr;function rdr(t,e,r){if(r===void 0)return{host:t,port:e};let n=`${t}:${e}`;switch(typeof r){case"object":return r[n]??{host:t,port:e};case"function":return r(n)??{host:t,port:e}}}ni.getMappedNode=rdr});var lJe=E(rT=>{"use strict";var ndr=rT&&rT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(rT,"__esModule",{value:!0});var sdr=yu(),uJe=ndr(YI()),Wb=Wl(),PB=Dl(),kre=class t{static _createCommand(e,r){let n=(0,Wb.getTransformReply)(e,r);return function(...s){let i=new PB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.addCommand(e.IS_READ_ONLY,a,n)}}static _createModuleCommand(e,r){let n=(0,Wb.getTransformReply)(e,r);return function(...s){let i=new PB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this._self.addCommand(e.IS_READ_ONLY,a,n)}}static _createFunctionCommand(e,r,n){let s=(0,Wb.functionArgumentsPrefix)(e,r),i=(0,Wb.getTransformReply)(r,n);return function(...a){let o=new PB.BasicCommandParser;o.push(...s),r.parseCommand(o,...a);let c=o.redisArgs;return c.preserve=o.preserve,this._self.addCommand(r.IS_READ_ONLY,c,i)}}static _createScriptCommand(e,r){let n=(0,Wb.getTransformReply)(e,r);return function(...s){let i=new PB.BasicCommandParser;e.parseCommand(i,...s);let a=i.redisArgs;return a.preserve=i.preserve,this.#a(e.IS_READ_ONLY,e,a,n)}}static extend(e){return(0,Wb.attachConfig)({BaseClass:t,commands:sdr.NON_STICKY_COMMANDS,createCommand:t._createCommand,createModuleCommand:t._createModuleCommand,createFunctionCommand:t._createFunctionCommand,createScriptCommand:t._createScriptCommand,config:e})}#e=new uJe.default;#t;#r=!0;constructor(e,r){this.#e=new uJe.default(r),this.#t=e}#n(e){this.#r&&=e}addCommand(e,r,n){return this.#n(e),this.#e.addCommand(r,n),this}#a(e,r,n,s){return this.#n(e),this.#e.addScript(r,n,s),this}async exec(e=!1){return e?this.execAsPipeline():this.#e.transformReplies(await this.#t._executeMulti(this.#r,this.#e.queue))}EXEC=this.exec;execTyped(e=!1){return this.exec(e)}async execAsPipeline(){return this.#e.queue.length===0?[]:this.#e.transformReplies(await this.#t._executePipeline(this.#r,this.#e.queue))}execAsPipelineTyped(){return this.execAsPipeline()}};rT.default=kre});var pJe=E($b=>{"use strict";var fJe=$b&&$b.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($b,"__esModule",{value:!0});$b.PubSubProxy=void 0;var idr=fJe(require("node:events")),H0=VI(),dJe=fJe(Pb()),Lre=class extends idr.default{#e;#t;#r;#n;#a;constructor(e,r){super(),this.#e=e,this.#t=r}#o(){if(this.#r===void 0)throw new Error("pubSubProxy: didn't define node to do pubsub against");return new dJe.default({...this.#e,socket:{...this.#e.socket,host:this.#r.host,port:this.#r.port}})}async#s(e=!1){let r=this.#o().on("error",this.#t),n=r.connect().then(async s=>this.#n?.client!==s?(s.destroy(),this.#n?.connectPromise):(e&&this.#a&&await Promise.all([s.extendPubSubListeners(H0.PUBSUB_TYPE.CHANNELS,this.#a[H0.PUBSUB_TYPE.CHANNELS]),s.extendPubSubListeners(H0.PUBSUB_TYPE.PATTERNS,this.#a[H0.PUBSUB_TYPE.PATTERNS])]),this.#n.client!==s?(s.destroy(),this.#n?.connectPromise):(this.#n.connectPromise=void 0,s))).catch(s=>{throw this.#n=void 0,s});return this.#n={client:r,connectPromise:n},n}#i(){return this.#n?this.#n.connectPromise??this.#n.client:this.#s()}async changeNode(e){this.#r=e,this.#n&&(this.#n.connectPromise===void 0&&(this.#a={[H0.PUBSUB_TYPE.CHANNELS]:this.#n.client.getPubSubListeners(H0.PUBSUB_TYPE.CHANNELS),[H0.PUBSUB_TYPE.PATTERNS]:this.#n.client.getPubSubListeners(H0.PUBSUB_TYPE.PATTERNS)},this.#n.client.destroy()),await this.#s(!0))}#c(e){let r=this.#i();return r instanceof dJe.default?e(r):r.then(n=>{if(n!==void 0)return e(n)}).catch(n=>{throw this.#n?.client.isPubSubActive&&(this.#n.client.destroy(),this.#n=void 0),n})}subscribe(e,r,n){return this.#c(s=>s.SUBSCRIBE(e,r,n))}#l(e){return this.#c(async r=>{let n=await e(r);return r.isPubSubActive||(r.destroy(),this.#n=void 0),n})}async unsubscribe(e,r,n){return this.#l(s=>s.UNSUBSCRIBE(e,r,n))}async pSubscribe(e,r,n){return this.#c(s=>s.PSUBSCRIBE(e,r,n))}async pUnsubscribe(e,r,n){return this.#l(s=>s.PUNSUBSCRIBE(e,r,n))}destroy(){this.#a=void 0,this.#n!==void 0&&(this.#n.connectPromise||this.#n.client.destroy(),this.#n=void 0)}};$b.PubSubProxy=Lre});var mJe=E(Bre=>{"use strict";Object.defineProperty(Bre,"__esModule",{value:!0});var adr=Ie();Bre.default={parseCommand(t,e){t.push("SENTINEL","MASTER",e)},transformReply:{2:adr.transformTuplesReply,3:void 0}}});var hJe=E(Mre=>{"use strict";Object.defineProperty(Mre,"__esModule",{value:!0});Mre.default={parseCommand(t,e,r,n,s){t.push("SENTINEL","MONITOR",e,r,n,s)},transformReply:void 0}});var gJe=E(Wre=>{"use strict";Object.defineProperty(Wre,"__esModule",{value:!0});var odr=Ie();Wre.default={parseCommand(t,e){t.push("SENTINEL","REPLICAS",e)},transformReply:{2:(t,e,r)=>{let n=t,s=[];return n.reduce((i,a)=>(i.push((0,odr.transformTuplesReply)(a,void 0,r)),i),s)},3:void 0}}});var AJe=E($re=>{"use strict";Object.defineProperty($re,"__esModule",{value:!0});var cdr=Ie();$re.default={parseCommand(t,e){t.push("SENTINEL","SENTINELS",e)},transformReply:{2:(t,e,r)=>{let n=t,s=[];return n.reduce((i,a)=>(i.push((0,cdr.transformTuplesReply)(a,void 0,r)),i),s)},3:void 0}}});var yJe=E(Fre=>{"use strict";Object.defineProperty(Fre,"__esModule",{value:!0});Fre.default={parseCommand(t,e,r){t.push("SENTINEL","SET",e);for(let n of r)t.push(n.option,n.value)},transformReply:void 0}});var vJe=E(nT=>{"use strict";var sT=nT&&nT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nT,"__esModule",{value:!0});var xJe=sT(mJe()),bJe=sT(hJe()),EJe=sT(gJe()),_Je=sT(AJe()),SJe=sT(yJe());nT.default={SENTINEL_SENTINELS:_Je.default,sentinelSentinels:_Je.default,SENTINEL_MASTER:xJe.default,sentinelMaster:xJe.default,SENTINEL_REPLICAS:EJe.default,sentinelReplicas:EJe.default,SENTINEL_MONITOR:bJe.default,sentinelMonitor:bJe.default,SENTINEL_SET:SJe.default,sentinelSet:SJe.default}});var CJe=E(iT=>{"use strict";var udr=iT&&iT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iT,"__esModule",{value:!0});var ldr=udr(vJe());iT.default={sentinel:ldr.default}});var TJe=E(DB=>{"use strict";Object.defineProperty(DB,"__esModule",{value:!0});DB.WaitQueue=void 0;var IJe=mB(),Ure=class{#e=new IJe.SinglyLinkedList;#t=new IJe.SinglyLinkedList;push(e){let r=this.#t.shift();if(r!==void 0){r(e);return}this.#e.push(e)}shift(){return this.#e.shift()}wait(){return new Promise(e=>this.#t.push(e))}};DB.WaitQueue=Ure});var PJe=E(Tf=>{"use strict";var Qre=Tf&&Tf.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Tf,"__esModule",{value:!0});Tf.RedisSentinelFactory=Tf.RedisSentinelClient=void 0;var Gre=require("node:events"),Fb=Qre(Pb()),RJe=Wl(),NJe=yu(),Fn=cJe(),OJe=Qre(lJe()),ddr=pJe(),fdr=require("node:timers/promises"),kB=Qre(CJe()),pdr=TJe(),wJe=Nb(),aT=class t{#e;#t;_self;get isOpen(){return this._self.#t.isOpen}get isReady(){return this._self.#t.isReady}get commandOptions(){return this._self.#r}#r;constructor(e,r,n){this._self=this,this.#t=e,this.#e=r,this.#r=n}static factory(e){let r=(0,RJe.attachConfig)({BaseClass:t,commands:NJe.NON_STICKY_COMMANDS,createCommand:Fn.createCommand,createModuleCommand:Fn.createModuleCommand,createFunctionCommand:Fn.createFunctionCommand,createScriptCommand:Fn.createScriptCommand,config:e});return r.prototype.Multi=OJe.default.extend(e),(n,s,i)=>Object.create(new r(n,s,i))}static create(e,r,n,s){return t.factory(e)(r,n,s)}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._commandOptions=Object.create(this._self.#r??null),n._commandOptions[e]=r,n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}async _execute(e,r){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return await this._self.#t.execute(r,this._self.#e)}async sendCommand(e,r,n){return this._execute(e,s=>s.sendCommand(r,n))}async _executePipeline(e,r){return this._execute(e,n=>n._executePipeline(r))}async _executeMulti(e,r){return this._execute(e,n=>n._executeMulti(r))}MULTI(){return new this.Multi(this)}multi=this.MULTI;WATCH(e){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,r=>r.watch(e))}watch=this.WATCH;UNWATCH(){if(this._self.#e===void 0)throw new Error("Attempted execution on released RedisSentinelClient lease");return this._execute(!1,e=>e.unwatch())}unwatch=this.UNWATCH;release(){if(this._self.#e===void 0)throw new Error("RedisSentinelClient lease already released");let e=this._self.#t.releaseClientLease(this._self.#e);return this._self.#e=void 0,e}};Tf.RedisSentinelClient=aT;var qre=class t extends Gre.EventEmitter{_self;#e;#t;get isOpen(){return this._self.#e.isOpen}get isReady(){return this._self.#e.isReady}get commandOptions(){return this._self.#r}#r;#n=()=>{};#a;#o=0;#s;get clientSideCache(){return this._self.#e.clientSideCache}constructor(e){super(),this._self=this,this.#t=e,e.commandOptions&&(this.#r=e.commandOptions),this.#e=new jre(e),this.#e.on("error",r=>this.emit("error",r)),this.#e.on("topology-change",r=>{this.emit("topology-change",r)||this._self.#n(`RedisSentinel: re-emit for topology-change for ${r.type} event returned false`)})}static factory(e){let r=(0,RJe.attachConfig)({BaseClass:t,commands:NJe.NON_STICKY_COMMANDS,createCommand:Fn.createCommand,createModuleCommand:Fn.createModuleCommand,createFunctionCommand:Fn.createFunctionCommand,createScriptCommand:Fn.createScriptCommand,config:e});return r.prototype.Multi=OJe.default.extend(e),n=>Object.create(new r(n))}static create(e){return t.factory(e)(e)}withCommandOptions(e){let r=Object.create(this);return r._commandOptions=e,r}_commandOptionsProxy(e,r){let n=Object.create(this);return n._self.#r={...this._self.#r||{},[e]:r},n}withTypeMapping(e){return this._commandOptionsProxy("typeMapping",e)}async connect(){return await this._self.#e.connect(),this._self.#t.reserveClient&&(this._self.#a=await this._self.#e.getClientLease()),this}async _execute(e,r){let n;(!e||!this._self.#e.useReplicas)&&(this._self.#a?n=this._self.#a:(this._self.#s??=await this._self.#e.getClientLease(),n=this._self.#s,this._self.#o++));try{return await this._self.#e.execute(r,n)}finally{if(n!==void 0&&n===this._self.#s&&--this._self.#o===0){let s=this._self.#e.releaseClientLease(n);this._self.#s=void 0,s&&await s}}}async use(e){let r=await this._self.#e.getClientLease();try{return await e(aT.create(this._self.#t,this._self.#e,r,this._self.#r))}finally{let n=this._self.#e.releaseClientLease(r);n&&await n}}async sendCommand(e,r,n){return this._execute(e,s=>s.sendCommand(r,n))}async _executePipeline(e,r){return this._execute(e,n=>n._executePipeline(r))}async _executeMulti(e,r){return this._execute(e,n=>n._executeMulti(r))}MULTI(){return new this.Multi(this)}multi=this.MULTI;async close(){return this._self.#e.close()}destroy(){return this._self.#e.destroy()}async SUBSCRIBE(e,r,n){return this._self.#e.subscribe(e,r,n)}subscribe=this.SUBSCRIBE;async UNSUBSCRIBE(e,r,n){return this._self.#e.unsubscribe(e,r,n)}unsubscribe=this.UNSUBSCRIBE;async PSUBSCRIBE(e,r,n){return this._self.#e.pSubscribe(e,r,n)}pSubscribe=this.PSUBSCRIBE;async PUNSUBSCRIBE(e,r,n){return this._self.#e.pUnsubscribe(e,r,n)}pUnsubscribe=this.PUNSUBSCRIBE;async acquire(){let e=await this._self.#e.getClientLease();return aT.create(this._self.#t,this._self.#e,e,this._self.#r)}getSentinelNode(){return this._self.#e.getSentinelNode()}getMasterNode(){return this._self.#e.getMasterNode()}getReplicaNodes(){return this._self.#e.getReplicaNodes()}setTracer(e){e?this._self.#n=r=>{e.push(r)}:this._self.#n=()=>{},this._self.#e.setTracer(e)}};Tf.default=qre;var jre=class extends Gre.EventEmitter{#e=!1;get isOpen(){return this.#e}#t=!1;get isReady(){return this.#t}#r;#n;#a;#o;#s;#i;#c;#l=!1;#h=0;#p;#d;#f=[];#m;#y;#g=[];#E=0;#S;get useReplicas(){return this.#S>0}#A;#C;#_;#v;#b=!1;#u=()=>{};#x;get clientSideCache(){return this.#x}#P(e){if(e?.clientSideCache&&e?.RESP!==3)throw new Error("Client Side Caching is only supported with RESP3")}constructor(e){if(super(),this.#P(e),this.#r=e.name,this.#c=e.RESP,this.#p=Array.from(e.sentinelRootNodes),this.#C=e.maxCommandRediscovers??16,this.#y=e.masterPoolSize??1,this.#S=e.replicaPoolSize??0,this.#o=e.nodeAddressMap,this.#s=e.scanInterval??0,this.#i=e.passthroughClientErrorEvents??!1,this.#n=e.nodeClientOptions?{...e.nodeClientOptions}:{},this.#n.url!==void 0)throw new Error("invalid nodeClientOptions for Sentinel");if(e.clientSideCache)if(e.clientSideCache instanceof wJe.PooledClientSideCacheProvider)this.#x=this.#n.clientSideCache=e.clientSideCache;else{let r=e.clientSideCache;this.#x=this.#n.clientSideCache=new wJe.BasicPooledClientSideCache(r)}if(this.#a=e.sentinelClientOptions?Object.assign({},e.sentinelClientOptions):{},this.#a.modules=kB.default,this.#a.url!==void 0)throw new Error("invalid sentinelClientOptions for Sentinel");this.#m=new pdr.WaitQueue;for(let r=0;r<this.#y;r++)this.#m.push(r);this.#_=new ddr.PubSubProxy(this.#n,r=>this.emit("error",r))}#T(e,r,n){let s=(0,Fn.getMappedNode)(e.host,e.port,this.#o);return Fb.default.create({RESP:this.#c,...r,socket:{...r.socket,host:s.host,port:s.port,...n!==void 0&&{reconnectStrategy:n}}})}getClientLease(){let e=this.#m.shift();return e!==void 0?Promise.resolve({id:e}):this.#m.wait().then(r=>({id:r}))}releaseClientLease(e){let r=this.#f[e.id];if(r!==void 0){let n=r.resetIfDirty();if(n)return n.then(()=>this.#m.push(e.id))}this.#m.push(e.id)}async connect(){if(this.#e)throw new Error("already attempting to open");try{this.#e=!0,this.#A=this.#I(),await this.#A,this.#t=!0}finally{this.#A=void 0,this.#s>0&&(this.#v=setInterval(this.#O.bind(this),this.#s))}}async#I(){let e=0;for(;;){if(this.#u("starting connect loop"),e+=1,this.#b){this.#u("in #connect and want to destroy");return}try{if(this.#l=!1,await this.transform(this.analyze(await this.observe())),this.#l){this.#u("#connect: anotherReset is true, so continuing");continue}this.#u("#connect: returning");return}catch(r){if(this.#u(`#connect: exception ${r.message}`),!this.#t&&e>this.#C)throw r;r.message!=="no valid master node"&&console.log(r),await(0,fdr.setTimeout)(1e3)}finally{this.#u("finished connect")}}}async execute(e,r){let n=0;for(;;){this.#A!==void 0&&await this.#A;let s=this.#R(r);if(!s.isReady){await this.#O();continue}let i=s.options?.socket;this.#u("attemping to send command to "+i?.host+":"+i?.port);try{return await e(s)}catch(a){if(++n>this.#C||!(a instanceof Error))throw a;if(r!==void 0&&(a.message.startsWith("READONLY")||!s.isReady)){await this.#O();continue}throw a}}}async#N(e){return await e.pSubscribe(["switch-master","[-+]sdown","+slave","+sentinel","[-+]odown","+slave-reconf-done"],(r,n)=>{this.#M(n,r)},!0),e}async#M(e,r){this.#u("pubsub control channel message on "+e),this.#O()}#R(e){if(e!==void 0)return this.#f[e.id];if(this.#E>=this.#g.length&&(this.#E=0),this.#g.length==0)throw new Error("no replicas available for read");return this.#g[this.#E++]}async#O(){if(!(this.#t==!1||this.#b==!0)){if(this.#A!==void 0)return this.#l=!0,await this.#A;try{return this.#A=this.#I(),await this.#A}finally{this.#u("finished reconfgure"),this.#A=void 0}}}#D(e){let r=this.#p.findIndex(n=>n.host===e.host&&n.port===e.port);r!==-1&&this.#p.splice(r,1),this.#O()}async close(){this.#b=!0,this.#A!=null&&await this.#A,this.#t=!1,this.#x?.onPoolClose(),this.#v&&(clearInterval(this.#v),this.#v=void 0);let e=[];this.#d!==void 0&&(this.#d.isOpen&&e.push(this.#d.close()),this.#d=void 0);for(let r of this.#f)r.isOpen&&e.push(r.close());this.#f=[];for(let r of this.#g)r.isOpen&&e.push(r.close());this.#g=[],await Promise.all(e),this.#_.destroy(),this.#e=!1}async destroy(){this.#b=!0,this.#A!=null&&await this.#A,this.#t=!1,this.#x?.onPoolClose(),this.#v&&(clearInterval(this.#v),this.#v=void 0),this.#d!==void 0&&(this.#d.isOpen&&this.#d.destroy(),this.#d=void 0);for(let e of this.#f)e.isOpen&&e.destroy();this.#f=[];for(let e of this.#g)e.isOpen&&e.destroy();this.#g=[],this.#_.destroy(),this.#e=!1,this.#b=!1}async subscribe(e,r,n){return this.#_.subscribe(e,r,n)}async unsubscribe(e,r,n){return this.#_.unsubscribe(e,r,n)}async pSubscribe(e,r,n){return this.#_.pSubscribe(e,r,n)}async pUnsubscribe(e,r,n){return this.#_.pUnsubscribe(e,r,n)}async observe(){for(let e of this.#p){let r;try{this.#u(`observe: trying to connect to sentinel: ${e.host}:${e.port}`),r=this.#T(e,this.#a,!1),r.on("error",o=>this.emit("error",`obseve client error: ${o}`)),await r.connect(),this.#u("observe: connected to sentinel");let[n,s,i]=await Promise.all([r.sentinel.sentinelSentinels(this.#r),r.sentinel.sentinelMaster(this.#r),r.sentinel.sentinelReplicas(this.#r)]);return this.#u("observe: got all sentinel data"),{sentinelConnected:e,sentinelData:n,masterData:s,replicaData:i,currentMaster:this.getMasterNode(),currentReplicas:this.getReplicaNodes(),currentSentinel:this.getSentinelNode(),replicaPoolSize:this.#S,useReplicas:this.useReplicas}}catch(n){this.#u(`observe: error ${n}`),this.emit("error",n)}finally{r!==void 0&&r.isOpen&&(this.#u("observe: destroying sentinel client"),r.destroy())}}throw this.#u("observe: none of the sentinels are available"),new Error("None of the sentinels are available")}analyze(e){let r=(0,Fn.parseNode)(e.masterData);if(r===void 0)throw this.#u(`analyze: no valid master node because ${e.masterData.flags}`),new Error("no valid master node");r.host===e.currentMaster?.host&&r.port===e.currentMaster?.port?(this.#u(`analyze: master node hasn't changed from ${e.currentMaster?.host}:${e.currentMaster?.port}`),r=void 0):this.#u(`analyze: master node has changed to ${r.host}:${r.port} from ${e.currentMaster?.host}:${e.currentMaster?.port}`);let n=e.sentinelConnected;n.host===e.currentSentinel?.host&&n.port===e.currentSentinel.port?(this.#u("analyze: sentinel node hasn't changed"),n=void 0):this.#u(`analyze: sentinel node has changed to ${n.host}:${n.port}`);let s=[],i=new Map,a=new Set,o=new Set;if(e.useReplicas){let u=(0,Fn.createNodeList)(e.replicaData);for(let l of u)a.add(JSON.stringify(l));for(let[l,d]of e.currentReplicas)a.has(JSON.stringify(l))?(o.add(JSON.stringify(l)),d!=e.replicaPoolSize&&(i.set(l,e.replicaPoolSize-d),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToOpen`))):(s.push(l),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToClose`));for(let l of u)o.has(JSON.stringify(l))||(i.set(l,e.replicaPoolSize),this.#u(`analyze: adding ${l.host}:${l.port} to replicsToOpen`))}return{sentinelList:[e.sentinelConnected].concat((0,Fn.createNodeList)(e.sentinelData)),epoch:Number(e.masterData["config-epoch"]),sentinelToOpen:n,masterToOpen:r,replicasToClose:s,replicasToOpen:i}}async transform(e){this.#u("transform: enter");let r=[];if(e.sentinelToOpen){this.#u("transform: opening a new sentinel"),this.#d!==void 0&&this.#d.isOpen?(this.#u("transform: destroying old sentinel as open"),this.#d.destroy(),this.#d=void 0):this.#u("transform: not destroying old sentinel as not open"),this.#u(`transform: creating new sentinel to ${e.sentinelToOpen.host}:${e.sentinelToOpen.port}`);let a=e.sentinelToOpen,o=this.#T(e.sentinelToOpen,this.#a,!1);o.on("error",l=>{this.#i&&this.emit("error",new Error(`Sentinel Client (${a.host}:${a.port}): ${l.message}`,{cause:l}));let d={type:"SENTINEL",node:(0,Fn.clientSocketToNode)(o.options.socket),error:l};this.emit("client-error",d),this.#D(a)}).on("end",()=>this.#D(a)),this.#d=o,this.#u("transform: adding sentinel client connect() to promise list");let c=this.#d.connect().then(l=>this.#N(l));r.push(c),this.#u(`created sentinel client to ${e.sentinelToOpen.host}:${e.sentinelToOpen.port}`);let u={type:"SENTINEL_CHANGE",node:e.sentinelToOpen};this.#u("transform: emiting topology-change event for sentinel_change"),this.emit("topology-change",u)||this.#u("transform: emit for topology-change for sentinel_change returned false")}if(e.masterToOpen){this.#u("transform: opening a new master");let a=[],o=[];this.#u("transform: destroying old masters if open");for(let u of this.#f)o.push(u.isWatching||u.isDirtyWatch),u.isOpen&&u.destroy();this.#f=[],this.#u("transform: creating all master clients and adding connect promises");for(let u=0;u<this.#y;u++){let l=e.masterToOpen,d=this.#T(e.masterToOpen,this.#n);d.on("error",f=>{this.#i&&this.emit("error",new Error(`Master Client (${l.host}:${l.port}): ${f.message}`,{cause:f}));let p={type:"MASTER",node:(0,Fn.clientSocketToNode)(d.options.socket),error:f};this.emit("client-error",p)}),o[u]&&d.setDirtyWatch("sentinel config changed in middle of a WATCH Transaction"),this.#f.push(d),a.push(d.connect()),this.#u(`created master client to ${e.masterToOpen.host}:${e.masterToOpen.port}`)}this.#u("transform: adding promise to change #pubSubProxy node"),a.push(this.#_.changeNode(e.masterToOpen)),r.push(...a);let c={type:"MASTER_CHANGE",node:e.masterToOpen};this.#u("transform: emiting topology-change event for master_change"),this.emit("topology-change",c)||this.#u("transform: emit for topology-change for master_change returned false"),this.#h++}let n=new Set;for(let a of e.replicasToClose){let o=JSON.stringify(a);n.add(o)}let s=[],i=new Set;for(let a of this.#g){let o=(0,Fn.clientSocketToNode)(a.options.socket),c=JSON.stringify(o);if(n.has(c)||!a.isOpen){if(a.isOpen){let u=a.options?.socket;this.#u(`destroying replica client to ${u?.host}:${u?.port}`),a.destroy()}if(!i.has(c)){let u={type:"REPLICA_REMOVE",node:o};this.emit("topology-change",u),i.add(c)}}else s.push(a)}if(this.#g=s,e.replicasToOpen.size!=0)for(let[a,o]of e.replicasToOpen){for(let u=0;u<o;u++){let l=this.#T(a,this.#n);l.on("error",d=>{this.#i&&this.emit("error",new Error(`Replica Client (${a.host}:${a.port}): ${d.message}`,{cause:d}));let f={type:"REPLICA",node:(0,Fn.clientSocketToNode)(l.options.socket),error:d};this.emit("client-error",f)}),this.#g.push(l),r.push(l.connect()),this.#u(`created replica client to ${a.host}:${a.port}`)}let c={type:"REPLICA_ADD",node:a};this.emit("topology-change",c)}if(e.sentinelList.length!=this.#p.length){this.#p=e.sentinelList;let a={type:"SENTINE_LIST_CHANGE",size:e.sentinelList.length};this.emit("topology-change",a)}await Promise.all(r),this.#u("transform: exit")}getMasterNode(){if(this.#f.length!=0){for(let e of this.#f)if(e.isReady)return(0,Fn.clientSocketToNode)(e.options.socket)}}getSentinelNode(){if(this.#d!==void 0)return(0,Fn.clientSocketToNode)(this.#d.options.socket)}getReplicaNodes(){let e=new Map,r=new Map;for(let n of this.#g){let s=(0,Fn.clientSocketToNode)(n.options.socket),i=JSON.stringify(s);n.isReady?r.set(i,(r.get(i)??0)+1):r.has(i)||r.set(i,0)}for(let[n,s]of r)e.set(JSON.parse(n),s);return e}setTracer(e){e?this.#u=r=>{e.push(r)}:this.#u=()=>{}}},Hre=class extends Gre.EventEmitter{options;#e;#t=-1;constructor(e){super(),this.options=e,this.#e=e.sentinelRootNodes}async updateSentinelRootNodes(){for(let e of this.#e){let r=Fb.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:e.host,port:e.port,reconnectStrategy:!1},modules:kB.default}).on("error",n=>this.emit(`updateSentinelRootNodes: ${n}`));try{await r.connect()}catch{r.isOpen&&r.destroy();continue}try{let n=await r.sentinel.sentinelSentinels(this.options.name);this.#e=[e].concat((0,Fn.createNodeList)(n));return}finally{r.destroy()}}throw new Error("Couldn't connect to any sentinel node")}async getMasterNode(){let e=!1;for(let r of this.#e){let n=Fb.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:r.host,port:r.port,reconnectStrategy:!1},modules:kB.default}).on("error",s=>this.emit(`getMasterNode: ${s}`));try{await n.connect()}catch{n.isOpen&&n.destroy();continue}e=!0;try{let s=await n.sentinel.sentinelMaster(this.options.name),i=(0,Fn.parseNode)(s);if(i===void 0)continue;return i}finally{n.destroy()}}throw e?new Error("Master Node Not Enumerated"):new Error("couldn't connect to any sentinels")}async getMasterClient(){let e=await this.getMasterNode(),r=(0,Fn.getMappedNode)(e.host,e.port,this.options.nodeAddressMap);return Fb.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:r.host,port:r.port}})}async getReplicaNodes(){let e=!1;for(let r of this.#e){let n=Fb.default.create({...this.options.sentinelClientOptions,socket:{...this.options.sentinelClientOptions?.socket,host:r.host,port:r.port,reconnectStrategy:!1},modules:kB.default}).on("error",s=>this.emit(`getReplicaNodes: ${s}`));try{await n.connect()}catch{n.isOpen&&n.destroy();continue}e=!0;try{let s=await n.sentinel.sentinelReplicas(this.options.name),i=(0,Fn.createNodeList)(s);if(i.length==0)continue;return i}finally{n.destroy()}}throw e?new Error("No Replicas Nodes Enumerated"):new Error("couldn't connect to any sentinels")}async getReplicaClient(){let e=await this.getReplicaNodes();if(e.length==0)throw new Error("no available replicas");this.#t++,this.#t>=e.length&&(this.#t=0);let r=e[this.#t],n=(0,Fn.getMappedNode)(r.host,r.port,this.options.nodeAddressMap);return Fb.default.create({...this.options.nodeClientOptions,socket:{...this.options.nodeClientOptions?.socket,host:n.host,port:n.port}})}};Tf.RedisSentinelFactory=Hre});var cT=E(Vt=>{"use strict";var mdr=Vt&&Vt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),hdr=Vt&&Vt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&mdr(e,t,r)},Vre=Vt&&Vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Vt,"__esModule",{value:!0});Vt.BasicPooledClientSideCache=Vt.BasicClientSideCache=Vt.REDIS_FLUSH_MODES=Vt.COMMAND_LIST_FILTER_BY=Vt.CLUSTER_SLOT_STATES=Vt.FAILOVER_MODES=Vt.CLIENT_KILL_FILTERS=Vt.GEO_REPLY_WITH=Vt.createSentinel=Vt.createCluster=Vt.createClientPool=Vt.createClient=Vt.digest=Vt.defineScript=Vt.VerbatimString=Vt.RESP_TYPES=void 0;var gdr=tB();Object.defineProperty(Vt,"RESP_TYPES",{enumerable:!0,get:function(){return gdr.RESP_TYPES}});var Adr=pK();Object.defineProperty(Vt,"VerbatimString",{enumerable:!0,get:function(){return Adr.VerbatimString}});var ydr=aWe();Object.defineProperty(Vt,"defineScript",{enumerable:!0,get:function(){return ydr.defineScript}});var xdr=oWe();Object.defineProperty(Vt,"digest",{enumerable:!0,get:function(){return xdr.digest}});hdr(Pl(),Vt);var bdr=Vre(Pb());Vt.createClient=bdr.default.create;var Edr=Rre();Vt.createClientPool=Edr.RedisClientPool.create;var _dr=Vre(aJe());Vt.createCluster=_dr.default.create;var Sdr=Vre(PJe());Vt.createSentinel=Sdr.default.create;var vdr=eI();Object.defineProperty(Vt,"GEO_REPLY_WITH",{enumerable:!0,get:function(){return vdr.GEO_REPLY_WITH}});var oT=yu();Object.defineProperty(Vt,"CLIENT_KILL_FILTERS",{enumerable:!0,get:function(){return oT.CLIENT_KILL_FILTERS}});Object.defineProperty(Vt,"FAILOVER_MODES",{enumerable:!0,get:function(){return oT.FAILOVER_MODES}});Object.defineProperty(Vt,"CLUSTER_SLOT_STATES",{enumerable:!0,get:function(){return oT.CLUSTER_SLOT_STATES}});Object.defineProperty(Vt,"COMMAND_LIST_FILTER_BY",{enumerable:!0,get:function(){return oT.COMMAND_LIST_FILTER_BY}});Object.defineProperty(Vt,"REDIS_FLUSH_MODES",{enumerable:!0,get:function(){return oT.REDIS_FLUSH_MODES}});var DJe=Nb();Object.defineProperty(Vt,"BasicClientSideCache",{enumerable:!0,get:function(){return DJe.BasicClientSideCache}});Object.defineProperty(Vt,"BasicPooledClientSideCache",{enumerable:!0,get:function(){return DJe.BasicPooledClientSideCache}})});var kJe=E(zre=>{"use strict";Object.defineProperty(zre,"__esModule",{value:!0});var Cdr=Ie();zre.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BF.ADD"),t.pushKey(e),t.push(r)},transformReply:Cdr.transformBooleanReply}});var LJe=E(Kre=>{"use strict";Object.defineProperty(Kre,"__esModule",{value:!0});Kre.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("BF.CARD"),t.pushKey(e)},transformReply:void 0}});var BJe=E(Yre=>{"use strict";Object.defineProperty(Yre,"__esModule",{value:!0});var Idr=Ie();Yre.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.EXISTS"),t.pushKey(e),t.push(r)},transformReply:Idr.transformBooleanReply}});var Jre=E(LB=>{"use strict";Object.defineProperty(LB,"__esModule",{value:!0});LB.transformInfoV2Reply=void 0;var Tdr=cT();function wdr(t,e){switch(e?e[Tdr.RESP_TYPES.MAP]:void 0){case Array:return t;case Map:{let n=new Map;for(let s=0;s<t.length;s+=2)n.set(t[s].toString(),t[s+1]);return n}default:{let n=Object.create(null);for(let s=0;s<t.length;s+=2)n[t[s].toString()]=t[s+1];return n}}}LB.transformInfoV2Reply=wdr});var MJe=E(Xre=>{"use strict";Object.defineProperty(Xre,"__esModule",{value:!0});var Rdr=Jre();Xre.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("BF.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Rdr.transformInfoV2Reply)(t,r),3:void 0}}});var WJe=E(Zre=>{"use strict";Object.defineProperty(Zre,"__esModule",{value:!0});var Ndr=Ie();Zre.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BF.INSERT"),t.pushKey(e),n?.CAPACITY!==void 0&&t.push("CAPACITY",n.CAPACITY.toString()),n?.ERROR!==void 0&&t.push("ERROR",n.ERROR.toString()),n?.EXPANSION!==void 0&&t.push("EXPANSION",n.EXPANSION.toString()),n?.NOCREATE&&t.push("NOCREATE"),n?.NONSCALING&&t.push("NONSCALING"),t.push("ITEMS"),t.pushVariadic(r)},transformReply:Ndr.transformBooleanArrayReply}});var $Je=E(ene=>{"use strict";Object.defineProperty(ene,"__esModule",{value:!0});ene.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("BF.LOADCHUNK"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var FJe=E(tne=>{"use strict";Object.defineProperty(tne,"__esModule",{value:!0});var Odr=Ie();tne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("BF.MADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:Odr.transformBooleanArrayReply}});var UJe=E(rne=>{"use strict";Object.defineProperty(rne,"__esModule",{value:!0});var Pdr=Ie();rne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.MEXISTS"),t.pushKey(e),t.pushVariadic(r)},transformReply:Pdr.transformBooleanArrayReply}});var qJe=E(nne=>{"use strict";Object.defineProperty(nne,"__esModule",{value:!0});nne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("BF.RESERVE"),t.pushKey(e),t.push(r.toString(),n.toString()),s?.EXPANSION&&t.push("EXPANSION",s.EXPANSION.toString()),s?.NONSCALING&&t.push("NONSCALING")},transformReply:void 0}});var jJe=E(sne=>{"use strict";Object.defineProperty(sne,"__esModule",{value:!0});sne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("BF.SCANDUMP"),t.pushKey(e),t.push(r.toString())},transformReply(t){return{iterator:t[0],chunk:t[1]}}}});var Ub=E(Fl=>{"use strict";var Ddr=Fl&&Fl.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),kdr=Fl&&Fl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ddr(e,t,r)},Ul=Fl&&Fl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Fl,"__esModule",{value:!0});var HJe=Ul(kJe()),QJe=Ul(LJe()),GJe=Ul(BJe()),VJe=Ul(MJe()),zJe=Ul(WJe()),KJe=Ul($Je()),YJe=Ul(FJe()),JJe=Ul(UJe()),XJe=Ul(qJe()),ZJe=Ul(jJe());kdr(Jre(),Fl);Fl.default={ADD:HJe.default,add:HJe.default,CARD:QJe.default,card:QJe.default,EXISTS:GJe.default,exists:GJe.default,INFO:VJe.default,info:VJe.default,INSERT:zJe.default,insert:zJe.default,LOADCHUNK:KJe.default,loadChunk:KJe.default,MADD:YJe.default,mAdd:YJe.default,MEXISTS:JJe.default,mExists:JJe.default,RESERVE:XJe.default,reserve:XJe.default,SCANDUMP:ZJe.default,scanDump:ZJe.default}});var tXe=E(ine=>{"use strict";Object.defineProperty(ine,"__esModule",{value:!0});ine.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("CMS.INCRBY"),t.pushKey(e),Array.isArray(r))for(let n of r)eXe(t,n);else eXe(t,r)},transformReply:void 0};function eXe(t,{item:e,incrementBy:r}){t.push(e,r.toString())}});var rXe=E(ane=>{"use strict";Object.defineProperty(ane,"__esModule",{value:!0});var Ldr=Ub();ane.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("CMS.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Ldr.transformInfoV2Reply)(t,r),3:void 0}}});var nXe=E(one=>{"use strict";Object.defineProperty(one,"__esModule",{value:!0});one.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CMS.INITBYDIM"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var sXe=E(cne=>{"use strict";Object.defineProperty(cne,"__esModule",{value:!0});cne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CMS.INITBYPROB"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:void 0}});var iXe=E(une=>{"use strict";Object.defineProperty(une,"__esModule",{value:!0});une.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("CMS.MERGE"),t.pushKey(e),t.push(r.length.toString()),Bdr(r))t.pushVariadic(r);else{for(let n=0;n<r.length;n++)t.push(r[n].name);t.push("WEIGHTS");for(let n=0;n<r.length;n++)t.push(r[n].weight.toString())}},transformReply:void 0};function Bdr(t){return typeof t[0]=="string"||t[0]instanceof Buffer}});var aXe=E(lne=>{"use strict";Object.defineProperty(lne,"__esModule",{value:!0});lne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CMS.QUERY"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var pXe=E(uT=>{"use strict";var qb=uT&&uT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uT,"__esModule",{value:!0});var oXe=qb(tXe()),cXe=qb(rXe()),uXe=qb(nXe()),lXe=qb(sXe()),dXe=qb(iXe()),fXe=qb(aXe());uT.default={INCRBY:oXe.default,incrBy:oXe.default,INFO:cXe.default,info:cXe.default,INITBYDIM:uXe.default,initByDim:uXe.default,INITBYPROB:lXe.default,initByProb:lXe.default,MERGE:dXe.default,merge:dXe.default,QUERY:fXe.default,query:fXe.default}});var mXe=E(dne=>{"use strict";Object.defineProperty(dne,"__esModule",{value:!0});var Mdr=Ie();dne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.ADD"),t.pushKey(e),t.push(r)},transformReply:Mdr.transformBooleanReply}});var hXe=E(fne=>{"use strict";Object.defineProperty(fne,"__esModule",{value:!0});var Wdr=Ie();fne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.ADDNX"),t.pushKey(e),t.push(r)},transformReply:Wdr.transformBooleanReply}});var gXe=E(pne=>{"use strict";Object.defineProperty(pne,"__esModule",{value:!0});pne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CF.COUNT"),t.pushKey(e),t.push(r)},transformReply:void 0}});var AXe=E(mne=>{"use strict";Object.defineProperty(mne,"__esModule",{value:!0});var $dr=Ie();mne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.DEL"),t.pushKey(e),t.push(r)},transformReply:$dr.transformBooleanReply}});var yXe=E(hne=>{"use strict";Object.defineProperty(hne,"__esModule",{value:!0});var Fdr=Ie();hne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("CF.EXISTS"),t.pushKey(e),t.push(r)},transformReply:Fdr.transformBooleanReply}});var xXe=E(gne=>{"use strict";Object.defineProperty(gne,"__esModule",{value:!0});var Udr=Ub();gne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("CF.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Udr.transformInfoV2Reply)(t,r),3:void 0}}});var Ane=E(lT=>{"use strict";Object.defineProperty(lT,"__esModule",{value:!0});lT.parseCfInsertArguments=void 0;var qdr=Ie();function bXe(t,e,r,n){t.pushKey(e),n?.CAPACITY!==void 0&&t.push("CAPACITY",n.CAPACITY.toString()),n?.NOCREATE&&t.push("NOCREATE"),t.push("ITEMS"),t.pushVariadic(r)}lT.parseCfInsertArguments=bXe;lT.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("CF.INSERT"),bXe(...t)},transformReply:qdr.transformBooleanArrayReply}});var EXe=E(wf=>{"use strict";var jdr=wf&&wf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Hdr=wf&&wf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Qdr=wf&&wf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&jdr(e,t,r);return Hdr(e,t),e};Object.defineProperty(wf,"__esModule",{value:!0});var yne=Qdr(Ane());wf.default={IS_READ_ONLY:yne.default.IS_READ_ONLY,parseCommand(...t){t[0].push("CF.INSERTNX"),(0,yne.parseCfInsertArguments)(...t)},transformReply:yne.default.transformReply}});var _Xe=E(xne=>{"use strict";Object.defineProperty(xne,"__esModule",{value:!0});xne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CF.LOADCHUNK"),t.pushKey(e),t.push(r.toString(),n)},transformReply:void 0}});var SXe=E(bne=>{"use strict";Object.defineProperty(bne,"__esModule",{value:!0});bne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("CF.RESERVE"),t.pushKey(e),t.push(r.toString()),n?.BUCKETSIZE!==void 0&&t.push("BUCKETSIZE",n.BUCKETSIZE.toString()),n?.MAXITERATIONS!==void 0&&t.push("MAXITERATIONS",n.MAXITERATIONS.toString()),n?.EXPANSION!==void 0&&t.push("EXPANSION",n.EXPANSION.toString())},transformReply:void 0}});var vXe=E(Ene=>{"use strict";Object.defineProperty(Ene,"__esModule",{value:!0});Ene.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("CF.SCANDUMP"),t.pushKey(e),t.push(r.toString())},transformReply(t){return{iterator:t[0],chunk:t[1]}}}});var BXe=E(dT=>{"use strict";var _u=dT&&dT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dT,"__esModule",{value:!0});var CXe=_u(mXe()),IXe=_u(hXe()),TXe=_u(gXe()),wXe=_u(AXe()),RXe=_u(yXe()),NXe=_u(xXe()),OXe=_u(Ane()),PXe=_u(EXe()),DXe=_u(_Xe()),kXe=_u(SXe()),LXe=_u(vXe());dT.default={ADD:CXe.default,add:CXe.default,ADDNX:IXe.default,addNX:IXe.default,COUNT:TXe.default,count:TXe.default,DEL:wXe.default,del:wXe.default,EXISTS:RXe.default,exists:RXe.default,INFO:NXe.default,info:NXe.default,INSERT:OXe.default,insert:OXe.default,INSERTNX:PXe.default,insertNX:PXe.default,LOADCHUNK:DXe.default,loadChunk:DXe.default,RESERVE:kXe.default,reserve:kXe.default,SCANDUMP:LXe.default,scanDump:LXe.default}});var MXe=E(_ne=>{"use strict";Object.defineProperty(_ne,"__esModule",{value:!0});_ne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TDIGEST.ADD"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:void 0}});var Sne=E(fT=>{"use strict";Object.defineProperty(fT,"__esModule",{value:!0});fT.transformByRankArguments=void 0;var Gdr=Ie();function WXe(t,e,r){t.pushKey(e);for(let n of r)t.push(n.toString())}fT.transformByRankArguments=WXe;fT.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TDIGEST.BYRANK"),WXe(...t)},transformReply:Gdr.transformDoubleArrayReply}});var $Xe=E(Rf=>{"use strict";var Vdr=Rf&&Rf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),zdr=Rf&&Rf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Kdr=Rf&&Rf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Vdr(e,t,r);return zdr(e,t),e};Object.defineProperty(Rf,"__esModule",{value:!0});var vne=Kdr(Sne());Rf.default={IS_READ_ONLY:vne.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TDIGEST.BYREVRANK"),(0,vne.transformByRankArguments)(...t)},transformReply:vne.default.transformReply}});var FXe=E(Cne=>{"use strict";Object.defineProperty(Cne,"__esModule",{value:!0});var Ydr=Ie();Cne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TDIGEST.CDF"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:Ydr.transformDoubleArrayReply}});var UXe=E(Ine=>{"use strict";Object.defineProperty(Ine,"__esModule",{value:!0});Ine.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TDIGEST.CREATE"),t.pushKey(e),r?.COMPRESSION!==void 0&&t.push("COMPRESSION",r.COMPRESSION.toString())},transformReply:void 0}});var qXe=E(Tne=>{"use strict";Object.defineProperty(Tne,"__esModule",{value:!0});var Jdr=Ub();Tne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(0,Jdr.transformInfoV2Reply)(t,r),3:void 0}}});var jXe=E(wne=>{"use strict";Object.defineProperty(wne,"__esModule",{value:!0});var Xdr=Ie();wne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.MAX"),t.pushKey(e)},transformReply:Xdr.transformDoubleReply}});var HXe=E(Rne=>{"use strict";Object.defineProperty(Rne,"__esModule",{value:!0});Rne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TDIGEST.MERGE"),t.pushKey(e),t.pushKeysLength(r),n?.COMPRESSION!==void 0&&t.push("COMPRESSION",n.COMPRESSION.toString()),n?.OVERRIDE&&t.push("OVERRIDE")},transformReply:void 0}});var QXe=E(Nne=>{"use strict";Object.defineProperty(Nne,"__esModule",{value:!0});var Zdr=Ie();Nne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TDIGEST.MIN"),t.pushKey(e)},transformReply:Zdr.transformDoubleReply}});var GXe=E(One=>{"use strict";Object.defineProperty(One,"__esModule",{value:!0});var efr=Ie();One.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TDIGEST.QUANTILE"),t.pushKey(e);for(let n of r)t.push(n.toString())},transformReply:efr.transformDoubleArrayReply}});var Pne=E(pT=>{"use strict";Object.defineProperty(pT,"__esModule",{value:!0});pT.transformRankArguments=void 0;function VXe(t,e,r){t.pushKey(e);for(let n of r)t.push(n.toString())}pT.transformRankArguments=VXe;pT.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TDIGEST.RANK"),VXe(...t)},transformReply:void 0}});var zXe=E(Dne=>{"use strict";Object.defineProperty(Dne,"__esModule",{value:!0});Dne.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TDIGEST.RESET"),t.pushKey(e)},transformReply:void 0}});var KXe=E(Nf=>{"use strict";var tfr=Nf&&Nf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),rfr=Nf&&Nf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),nfr=Nf&&Nf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&tfr(e,t,r);return rfr(e,t),e};Object.defineProperty(Nf,"__esModule",{value:!0});var kne=nfr(Pne());Nf.default={IS_READ_ONLY:kne.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TDIGEST.REVRANK"),(0,kne.transformRankArguments)(...t)},transformReply:kne.default.transformReply}});var YXe=E(Lne=>{"use strict";Object.defineProperty(Lne,"__esModule",{value:!0});var sfr=Ie();Lne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("TDIGEST.TRIMMED_MEAN"),t.pushKey(e),t.push(r.toString(),n.toString())},transformReply:sfr.transformDoubleReply}});var dZe=E(mT=>{"use strict";var ao=mT&&mT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mT,"__esModule",{value:!0});var JXe=ao(MXe()),XXe=ao(Sne()),ZXe=ao($Xe()),eZe=ao(FXe()),tZe=ao(UXe()),rZe=ao(qXe()),nZe=ao(jXe()),sZe=ao(HXe()),iZe=ao(QXe()),aZe=ao(GXe()),oZe=ao(Pne()),cZe=ao(zXe()),uZe=ao(KXe()),lZe=ao(YXe());mT.default={ADD:JXe.default,add:JXe.default,BYRANK:XXe.default,byRank:XXe.default,BYREVRANK:ZXe.default,byRevRank:ZXe.default,CDF:eZe.default,cdf:eZe.default,CREATE:tZe.default,create:tZe.default,INFO:rZe.default,info:rZe.default,MAX:nZe.default,max:nZe.default,MERGE:sZe.default,merge:sZe.default,MIN:iZe.default,min:iZe.default,QUANTILE:aZe.default,quantile:aZe.default,RANK:oZe.default,rank:oZe.default,RESET:cZe.default,reset:cZe.default,REVRANK:uZe.default,revRank:uZe.default,TRIMMED_MEAN:lZe.default,trimmedMean:lZe.default}});var fZe=E(Bne=>{"use strict";Object.defineProperty(Bne,"__esModule",{value:!0});Bne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TOPK.ADD"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var pZe=E(Mne=>{"use strict";Object.defineProperty(Mne,"__esModule",{value:!0});Mne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TOPK.COUNT"),t.pushKey(e),t.pushVariadic(r)},transformReply:void 0}});var hZe=E(Wne=>{"use strict";Object.defineProperty(Wne,"__esModule",{value:!0});function mZe(t,{item:e,incrementBy:r}){t.push(e,r.toString())}Wne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){if(t.push("TOPK.INCRBY"),t.pushKey(e),Array.isArray(r))for(let n of r)mZe(t,n);else mZe(t,r)},transformReply:void 0}});var gZe=E($ne=>{"use strict";Object.defineProperty($ne,"__esModule",{value:!0});var ifr=Ie(),afr=Ub();$ne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>(t[7]=ifr.transformDoubleReply[2](t[7],e,r),(0,afr.transformInfoV2Reply)(t,r)),3:void 0}}});var AZe=E(Fne=>{"use strict";Object.defineProperty(Fne,"__esModule",{value:!0});Fne.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.LIST"),t.pushKey(e),t.push("WITHCOUNT")},transformReply(t){let e=[];for(let r=0;r<t.length;r++)e.push({item:t[r],count:t[++r]});return e}}});var yZe=E(Une=>{"use strict";Object.defineProperty(Une,"__esModule",{value:!0});Une.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TOPK.LIST"),t.pushKey(e)},transformReply:void 0}});var xZe=E(qne=>{"use strict";Object.defineProperty(qne,"__esModule",{value:!0});var ofr=Ie();qne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TOPK.QUERY"),t.pushKey(e),t.pushVariadic(r)},transformReply:ofr.transformBooleanArrayReply}});var bZe=E(jne=>{"use strict";Object.defineProperty(jne,"__esModule",{value:!0});jne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TOPK.RESERVE"),t.pushKey(e),t.push(r.toString()),n&&t.push(n.width.toString(),n.depth.toString(),n.decay.toString())},transformReply:void 0}});var RZe=E(hT=>{"use strict";var Q0=hT&&hT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hT,"__esModule",{value:!0});var EZe=Q0(fZe()),_Ze=Q0(pZe()),SZe=Q0(hZe()),vZe=Q0(gZe()),CZe=Q0(AZe()),IZe=Q0(yZe()),TZe=Q0(xZe()),wZe=Q0(bZe());hT.default={ADD:EZe.default,add:EZe.default,COUNT:_Ze.default,count:_Ze.default,INCRBY:SZe.default,incrBy:SZe.default,INFO:vZe.default,info:vZe.default,LIST_WITHCOUNT:CZe.default,listWithCount:CZe.default,LIST:IZe.default,list:IZe.default,QUERY:TZe.default,query:TZe.default,RESERVE:wZe.default,reserve:wZe.default}});var NZe=E(gT=>{"use strict";var AT=gT&&gT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gT,"__esModule",{value:!0});var cfr=AT(Ub()),ufr=AT(pXe()),lfr=AT(BXe()),dfr=AT(dZe()),ffr=AT(RZe());gT.default={bf:cfr.default,cms:ufr.default,cf:lfr.default,tDigest:dfr.default,topK:ffr.default}});var Hne=E(jb=>{"use strict";var pfr=jb&&jb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jb,"__esModule",{value:!0});jb.default=void 0;var mfr=NZe();Object.defineProperty(jb,"default",{enumerable:!0,get:function(){return pfr(mfr).default}})});var PZe=E(Qne=>{"use strict";Object.defineProperty(Qne,"__esModule",{value:!0});var OZe=Ie();Qne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,...s){t.push("JSON.ARRAPPEND"),t.pushKey(e),t.push(r,(0,OZe.transformRedisJsonArgument)(n));for(let i=0;i<s.length;i++)t.push((0,OZe.transformRedisJsonArgument)(s[i]))},transformReply:void 0}});var DZe=E(Gne=>{"use strict";Object.defineProperty(Gne,"__esModule",{value:!0});var hfr=Ie();Gne.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("JSON.ARRINDEX"),t.pushKey(e),t.push(r,(0,hfr.transformRedisJsonArgument)(n)),s?.range&&(t.push(s.range.start.toString()),s.range.stop!==void 0&&t.push(s.range.stop.toString()))},transformReply:void 0}});var LZe=E(Vne=>{"use strict";Object.defineProperty(Vne,"__esModule",{value:!0});var kZe=Ie();Vne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,...i){t.push("JSON.ARRINSERT"),t.pushKey(e),t.push(r,n.toString(),(0,kZe.transformRedisJsonArgument)(s));for(let a=0;a<i.length;a++)t.push((0,kZe.transformRedisJsonArgument)(i[a]))},transformReply:void 0}});var BZe=E(zne=>{"use strict";Object.defineProperty(zne,"__esModule",{value:!0});zne.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.ARRLEN"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var MZe=E(Yne=>{"use strict";Object.defineProperty(Yne,"__esModule",{value:!0});var Kne=Ie();Yne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.ARRPOP"),t.pushKey(e),r&&(t.push(r.path),r.index!==void 0&&t.push(r.index.toString()))},transformReply(t){return(0,Kne.isArrayReply)(t)?t.map(e=>(0,Kne.transformRedisJsonNullReply)(e)):(0,Kne.transformRedisJsonNullReply)(t)}}});var WZe=E(Jne=>{"use strict";Object.defineProperty(Jne,"__esModule",{value:!0});Jne.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("JSON.ARRTRIM"),t.pushKey(e),t.push(r,n.toString(),s.toString())},transformReply:void 0}});var $Ze=E(Xne=>{"use strict";Object.defineProperty(Xne,"__esModule",{value:!0});Xne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.CLEAR"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var FZe=E(Zne=>{"use strict";Object.defineProperty(Zne,"__esModule",{value:!0});Zne.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.DEBUG","MEMORY"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var UZe=E(ese=>{"use strict";Object.defineProperty(ese,"__esModule",{value:!0});ese.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.DEL"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var qZe=E(tse=>{"use strict";Object.defineProperty(tse,"__esModule",{value:!0});tse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.FORGET"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var jZe=E(rse=>{"use strict";Object.defineProperty(rse,"__esModule",{value:!0});var gfr=Ie();rse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.GET"),t.pushKey(e),r?.path!==void 0&&t.pushVariadic(r.path)},transformReply:gfr.transformRedisJsonNullReply}});var HZe=E(nse=>{"use strict";Object.defineProperty(nse,"__esModule",{value:!0});var Afr=Ie();nse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.MERGE"),t.pushKey(e),t.push(r,(0,Afr.transformRedisJsonArgument)(n))},transformReply:void 0}});var QZe=E(sse=>{"use strict";Object.defineProperty(sse,"__esModule",{value:!0});var yfr=Ie();sse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.MGET"),t.pushKeys(e),t.push(r)},transformReply(t){return t.map(e=>(0,yfr.transformRedisJsonNullReply)(e))}}});var GZe=E(ise=>{"use strict";Object.defineProperty(ise,"__esModule",{value:!0});var xfr=Ie();ise.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("JSON.MSET");for(let r=0;r<e.length;r++)t.pushKey(e[r].key),t.push(e[r].path,(0,xfr.transformRedisJsonArgument)(e[r].value))},transformReply:void 0}});var ose=E(ase=>{"use strict";Object.defineProperty(ase,"__esModule",{value:!0});ase.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.NUMINCRBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:{2:t=>JSON.parse(t.toString()),3:void 0}}});var VZe=E(yT=>{"use strict";var bfr=yT&&yT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yT,"__esModule",{value:!0});var Efr=bfr(ose());yT.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.NUMMULTBY"),t.pushKey(e),t.push(r,n.toString())},transformReply:Efr.default.transformReply}});var zZe=E(cse=>{"use strict";Object.defineProperty(cse,"__esModule",{value:!0});cse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.OBJKEYS"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var KZe=E(use=>{"use strict";Object.defineProperty(use,"__esModule",{value:!0});use.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.OBJLEN"),t.pushKey(e),r?.path!==void 0&&t.push(r.path)},transformReply:void 0}});var YZe=E(lse=>{"use strict";Object.defineProperty(lse,"__esModule",{value:!0});var _fr=Ie();lse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("JSON.SET"),t.pushKey(e),t.push(r,(0,_fr.transformRedisJsonArgument)(n)),s?.condition?t.push(s?.condition):s?.NX?t.push("NX"):s?.XX&&t.push("XX")},transformReply:void 0}});var JZe=E(dse=>{"use strict";Object.defineProperty(dse,"__esModule",{value:!0});var Sfr=Ie();dse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("JSON.STRAPPEND"),t.pushKey(e),n?.path!==void 0&&t.push(n.path),t.push((0,Sfr.transformRedisJsonArgument)(r))},transformReply:void 0}});var XZe=E(fse=>{"use strict";Object.defineProperty(fse,"__esModule",{value:!0});fse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.STRLEN"),t.pushKey(e),r?.path&&t.push(r.path)},transformReply:void 0}});var ZZe=E(pse=>{"use strict";Object.defineProperty(pse,"__esModule",{value:!0});pse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("JSON.TOGGLE"),t.pushKey(e),t.push(r)},transformReply:void 0}});var eet=E(mse=>{"use strict";Object.defineProperty(mse,"__esModule",{value:!0});mse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("JSON.TYPE"),t.pushKey(e),r?.path&&t.push(r.path)},transformReply:{2:void 0,3:t=>t[0]}}});var Iet=E(Su=>{"use strict";var Gn=Su&&Su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Su,"__esModule",{value:!0});Su.transformRedisJsonNullReply=Su.transformRedisJsonReply=Su.transformRedisJsonArgument=void 0;var tet=Gn(PZe()),ret=Gn(DZe()),net=Gn(LZe()),set=Gn(BZe()),iet=Gn(MZe()),aet=Gn(WZe()),oet=Gn($Ze()),cet=Gn(FZe()),uet=Gn(UZe()),det=Gn(qZe()),fet=Gn(jZe()),pet=Gn(HZe()),met=Gn(QZe()),het=Gn(GZe()),get=Gn(ose()),Aet=Gn(VZe()),yet=Gn(zZe()),xet=Gn(KZe()),bet=Gn(YZe()),Eet=Gn(JZe()),_et=Gn(XZe()),vet=Gn(ZZe()),Cet=Gn(eet()),hse=Ie();Object.defineProperty(Su,"transformRedisJsonArgument",{enumerable:!0,get:function(){return hse.transformRedisJsonArgument}});Object.defineProperty(Su,"transformRedisJsonReply",{enumerable:!0,get:function(){return hse.transformRedisJsonReply}});Object.defineProperty(Su,"transformRedisJsonNullReply",{enumerable:!0,get:function(){return hse.transformRedisJsonNullReply}});Su.default={ARRAPPEND:tet.default,arrAppend:tet.default,ARRINDEX:ret.default,arrIndex:ret.default,ARRINSERT:net.default,arrInsert:net.default,ARRLEN:set.default,arrLen:set.default,ARRPOP:iet.default,arrPop:iet.default,ARRTRIM:aet.default,arrTrim:aet.default,CLEAR:oet.default,clear:oet.default,DEBUG_MEMORY:cet.default,debugMemory:cet.default,DEL:uet.default,del:uet.default,FORGET:det.default,forget:det.default,GET:fet.default,get:fet.default,MERGE:pet.default,merge:pet.default,MGET:met.default,mGet:met.default,MSET:het.default,mSet:het.default,NUMINCRBY:get.default,numIncrBy:get.default,NUMMULTBY:Aet.default,numMultBy:Aet.default,OBJKEYS:yet.default,objKeys:yet.default,OBJLEN:xet.default,objLen:xet.default,SET:bet.default,set:bet.default,STRAPPEND:Eet.default,strAppend:Eet.default,STRLEN:_et.default,strLen:_et.default,TOGGLE:vet.default,toggle:vet.default,TYPE:Cet.default,type:Cet.default}});var gse=E(Hb=>{"use strict";var vfr=Hb&&Hb.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Hb,"__esModule",{value:!0});Hb.default=void 0;var Cfr=Iet();Object.defineProperty(Hb,"default",{enumerable:!0,get:function(){return vfr(Cfr).default}})});var Tet=E(Ase=>{"use strict";Object.defineProperty(Ase,"__esModule",{value:!0});Ase.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t){t.push("FT._LIST")},transformReply:{2:void 0,3:void 0}}});var BB=E(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.REDISEARCH_LANGUAGE=In.parseSchema=In.SCHEMA_GEO_SHAPE_COORD_SYSTEM=In.VAMANA_COMPRESSION_ALGORITHM=In.SCHEMA_VECTOR_FIELD_ALGORITHM=In.SCHEMA_TEXT_FIELD_PHONETIC=In.SCHEMA_FIELD_TYPE=void 0;var wet=Ie();In.SCHEMA_FIELD_TYPE={TEXT:"TEXT",NUMERIC:"NUMERIC",GEO:"GEO",TAG:"TAG",VECTOR:"VECTOR",GEOSHAPE:"GEOSHAPE"};In.SCHEMA_TEXT_FIELD_PHONETIC={DM_EN:"dm:en",DM_FR:"dm:fr",DM_PT:"dm:pt",DM_ES:"dm:es"};In.SCHEMA_VECTOR_FIELD_ALGORITHM={FLAT:"FLAT",HNSW:"HNSW",VAMANA:"SVS-VAMANA"};In.VAMANA_COMPRESSION_ALGORITHM={LVQ4:"LVQ4",LVQ8:"LVQ8",LVQ4x4:"LVQ4x4",LVQ4x8:"LVQ4x8",LeanVec4x8:"LeanVec4x8",LeanVec8x8:"LeanVec8x8"};In.SCHEMA_GEO_SHAPE_COORD_SYSTEM={SPHERICAL:"SPHERICAL",FLAT:"FLAT"};function yse(t,e){e.SORTABLE&&(t.push("SORTABLE"),e.SORTABLE==="UNF"&&t.push("UNF")),e.NOINDEX&&t.push("NOINDEX")}function Ret(t,e){for(let[r,n]of Object.entries(e)){let s=Array.isArray(n)?n:[n];for(let i of s){if(t.push(r),typeof i=="string"){t.push(i);continue}switch(i.AS&&t.push("AS",i.AS),t.push(i.type),i.INDEXMISSING&&t.push("INDEXMISSING"),i.type){case In.SCHEMA_FIELD_TYPE.TEXT:i.NOSTEM&&t.push("NOSTEM"),i.WEIGHT!==void 0&&t.push("WEIGHT",i.WEIGHT.toString()),i.PHONETIC&&t.push("PHONETIC",i.PHONETIC),i.WITHSUFFIXTRIE&&t.push("WITHSUFFIXTRIE"),i.INDEXEMPTY&&t.push("INDEXEMPTY"),yse(t,i);break;case In.SCHEMA_FIELD_TYPE.NUMERIC:case In.SCHEMA_FIELD_TYPE.GEO:yse(t,i);break;case In.SCHEMA_FIELD_TYPE.TAG:i.SEPARATOR&&t.push("SEPARATOR",i.SEPARATOR),i.CASESENSITIVE&&t.push("CASESENSITIVE"),i.WITHSUFFIXTRIE&&t.push("WITHSUFFIXTRIE"),i.INDEXEMPTY&&t.push("INDEXEMPTY"),yse(t,i);break;case In.SCHEMA_FIELD_TYPE.VECTOR:t.push(i.ALGORITHM);let a=[];switch(a.push("TYPE",i.TYPE,"DIM",i.DIM.toString(),"DISTANCE_METRIC",i.DISTANCE_METRIC),i.INITIAL_CAP!==void 0&&a.push("INITIAL_CAP",i.INITIAL_CAP.toString()),i.ALGORITHM){case In.SCHEMA_VECTOR_FIELD_ALGORITHM.FLAT:i.BLOCK_SIZE!==void 0&&a.push("BLOCK_SIZE",i.BLOCK_SIZE.toString());break;case In.SCHEMA_VECTOR_FIELD_ALGORITHM.HNSW:i.M!==void 0&&a.push("M",i.M.toString()),i.EF_CONSTRUCTION!==void 0&&a.push("EF_CONSTRUCTION",i.EF_CONSTRUCTION.toString()),i.EF_RUNTIME!==void 0&&a.push("EF_RUNTIME",i.EF_RUNTIME.toString());break;case In.SCHEMA_VECTOR_FIELD_ALGORITHM.VAMANA:i.COMPRESSION&&a.push("COMPRESSION",i.COMPRESSION),i.CONSTRUCTION_WINDOW_SIZE!==void 0&&a.push("CONSTRUCTION_WINDOW_SIZE",i.CONSTRUCTION_WINDOW_SIZE.toString()),i.GRAPH_MAX_DEGREE!==void 0&&a.push("GRAPH_MAX_DEGREE",i.GRAPH_MAX_DEGREE.toString()),i.SEARCH_WINDOW_SIZE!==void 0&&a.push("SEARCH_WINDOW_SIZE",i.SEARCH_WINDOW_SIZE.toString()),i.EPSILON!==void 0&&a.push("EPSILON",i.EPSILON.toString()),i.TRAINING_THRESHOLD!==void 0&&a.push("TRAINING_THRESHOLD",i.TRAINING_THRESHOLD.toString()),i.REDUCE!==void 0&&a.push("REDUCE",i.REDUCE.toString());break}t.pushVariadicWithLength(a);break;case In.SCHEMA_FIELD_TYPE.GEOSHAPE:i.COORD_SYSTEM!==void 0&&t.push("COORD_SYSTEM",i.COORD_SYSTEM);break}}}}In.parseSchema=Ret;In.REDISEARCH_LANGUAGE={ARABIC:"Arabic",BASQUE:"Basque",CATALANA:"Catalan",DANISH:"Danish",DUTCH:"Dutch",ENGLISH:"English",FINNISH:"Finnish",FRENCH:"French",GERMAN:"German",GREEK:"Greek",HUNGARIAN:"Hungarian",INDONESAIN:"Indonesian",IRISH:"Irish",ITALIAN:"Italian",LITHUANIAN:"Lithuanian",NEPALI:"Nepali",NORWEIGAN:"Norwegian",PORTUGUESE:"Portuguese",ROMANIAN:"Romanian",RUSSIAN:"Russian",SPANISH:"Spanish",SWEDISH:"Swedish",TAMIL:"Tamil",TURKISH:"Turkish",CHINESE:"Chinese"};In.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.CREATE",e),n?.ON&&t.push("ON",n.ON),(0,wet.parseOptionalVariadicArgument)(t,"PREFIX",n?.PREFIX),n?.FILTER&&t.push("FILTER",n.FILTER),n?.LANGUAGE&&t.push("LANGUAGE",n.LANGUAGE),n?.LANGUAGE_FIELD&&t.push("LANGUAGE_FIELD",n.LANGUAGE_FIELD),n?.SCORE&&t.push("SCORE",n.SCORE.toString()),n?.SCORE_FIELD&&t.push("SCORE_FIELD",n.SCORE_FIELD),n?.MAXTEXTFIELDS&&t.push("MAXTEXTFIELDS"),n?.TEMPORARY&&t.push("TEMPORARY",n.TEMPORARY.toString()),n?.NOOFFSETS&&t.push("NOOFFSETS"),n?.NOHL&&t.push("NOHL"),n?.NOFIELDS&&t.push("NOFIELDS"),n?.NOFREQS&&t.push("NOFREQS"),n?.SKIPINITIALSCAN&&t.push("SKIPINITIALSCAN"),(0,wet.parseOptionalVariadicArgument)(t,"STOPWORDS",n?.STOPWORDS),t.push("SCHEMA"),Ret(t,r)},transformReply:void 0}});var Net=E(xse=>{"use strict";Object.defineProperty(xse,"__esModule",{value:!0});var Ifr=BB();xse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALTER",e,"SCHEMA","ADD"),(0,Ifr.parseSchema)(t,r)},transformReply:void 0}});var Qb=E(MB=>{"use strict";Object.defineProperty(MB,"__esModule",{value:!0});MB.DEFAULT_DIALECT=void 0;MB.DEFAULT_DIALECT="2"});var xg=E(yg=>{"use strict";Object.defineProperty(yg,"__esModule",{value:!0});yg.parseSearchOptions=yg.parseParamsArgument=void 0;var xT=Ie(),Tfr=Qb();function Oet(t,e){if(e){t.push("PARAMS");let r=[];for(let n in e){if(!Object.hasOwn(e,n))continue;let s=e[n];r.push(n,typeof s=="number"?s.toString():s)}t.pushVariadicWithLength(r)}}yg.parseParamsArgument=Oet;function Pet(t,e){e?.VERBATIM&&t.push("VERBATIM"),e?.NOSTOPWORDS&&t.push("NOSTOPWORDS"),(0,xT.parseOptionalVariadicArgument)(t,"INKEYS",e?.INKEYS),(0,xT.parseOptionalVariadicArgument)(t,"INFIELDS",e?.INFIELDS),(0,xT.parseOptionalVariadicArgument)(t,"RETURN",e?.RETURN),e?.SUMMARIZE&&(t.push("SUMMARIZE"),typeof e.SUMMARIZE=="object"&&((0,xT.parseOptionalVariadicArgument)(t,"FIELDS",e.SUMMARIZE.FIELDS),e.SUMMARIZE.FRAGS!==void 0&&t.push("FRAGS",e.SUMMARIZE.FRAGS.toString()),e.SUMMARIZE.LEN!==void 0&&t.push("LEN",e.SUMMARIZE.LEN.toString()),e.SUMMARIZE.SEPARATOR!==void 0&&t.push("SEPARATOR",e.SUMMARIZE.SEPARATOR))),e?.HIGHLIGHT&&(t.push("HIGHLIGHT"),typeof e.HIGHLIGHT=="object"&&((0,xT.parseOptionalVariadicArgument)(t,"FIELDS",e.HIGHLIGHT.FIELDS),e.HIGHLIGHT.TAGS&&t.push("TAGS",e.HIGHLIGHT.TAGS.open,e.HIGHLIGHT.TAGS.close))),e?.SLOP!==void 0&&t.push("SLOP",e.SLOP.toString()),e?.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString()),e?.INORDER&&t.push("INORDER"),e?.LANGUAGE&&t.push("LANGUAGE",e.LANGUAGE),e?.EXPANDER&&t.push("EXPANDER",e.EXPANDER),e?.SCORER&&t.push("SCORER",e.SCORER),e?.SORTBY&&(t.push("SORTBY"),typeof e.SORTBY=="string"||e.SORTBY instanceof Buffer?t.push(e.SORTBY):(t.push(e.SORTBY.BY),e.SORTBY.DIRECTION&&t.push(e.SORTBY.DIRECTION))),e?.LIMIT&&t.push("LIMIT",e.LIMIT.from.toString(),e.LIMIT.size.toString()),Oet(t,e?.PARAMS),e?.DIALECT?t.push("DIALECT",e.DIALECT.toString()):t.push("DIALECT",Tfr.DEFAULT_DIALECT)}yg.parseSearchOptions=Pet;yg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.SEARCH",e,r),Pet(t,n)},transformReply:{2:t=>{let e=t.length>2&&!Array.isArray(t[2]),r=[],n=1;for(;n<t.length;)r.push({id:t[n++],value:e?Object.create(null):wfr(t[n++])});return{total:t[0],documents:r}},3:void 0},unstableResp3:!0};function wfr(t){let e=Object.create(null);if(!t)return e;let r=0;for(;r<t.length;){let n=t[r++],s=t[r++];if(n==="$")try{Object.assign(e,JSON.parse(s));continue}catch{}e[n]=s}return e}});var Gb=E(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.parseGroupByReducer=on.parseAggregateOptions=on.FT_AGGREGATE_GROUP_BY_REDUCERS=on.FT_AGGREGATE_STEPS=void 0;var Rfr=xg(),Nfr=Ie(),Ofr=Qb();on.FT_AGGREGATE_STEPS={GROUPBY:"GROUPBY",SORTBY:"SORTBY",APPLY:"APPLY",LIMIT:"LIMIT",FILTER:"FILTER"};on.FT_AGGREGATE_GROUP_BY_REDUCERS={COUNT:"COUNT",COUNT_DISTINCT:"COUNT_DISTINCT",COUNT_DISTINCTISH:"COUNT_DISTINCTISH",SUM:"SUM",MIN:"MIN",MAX:"MAX",AVG:"AVG",STDDEV:"STDDEV",QUANTILE:"QUANTILE",TOLIST:"TOLIST",FIRST_VALUE:"FIRST_VALUE",RANDOM_SAMPLE:"RANDOM_SAMPLE"};on.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!1,parseCommand(t,e,r,n){return t.push("FT.AGGREGATE",e,r),Let(t,n)},transformReply:{2:(t,e,r)=>{let n=[];for(let s=1;s<t.length;s++)n.push((0,Nfr.transformTuplesReply)(t[s],e,r));return{total:Number(t[0]),results:n}},3:void 0},unstableResp3:!0};function Let(t,e){if(e?.VERBATIM&&t.push("VERBATIM"),e?.ADDSCORES&&t.push("ADDSCORES"),e?.LOAD){let r=[];if(Array.isArray(e.LOAD))for(let n of e.LOAD)Det(r,n);else Det(r,e.LOAD);t.push("LOAD"),t.pushVariadicWithLength(r)}if(e?.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString()),e?.STEPS)for(let r of e.STEPS)switch(t.push(r.type),r.type){case on.FT_AGGREGATE_STEPS.GROUPBY:if(r.properties?t.pushVariadicWithLength(r.properties):t.push("0"),Array.isArray(r.REDUCE))for(let s of r.REDUCE)bse(t,s);else bse(t,r.REDUCE);break;case on.FT_AGGREGATE_STEPS.SORTBY:let n=[];if(Array.isArray(r.BY))for(let s of r.BY)ket(n,s);else ket(n,r.BY);r.MAX&&n.push("MAX",r.MAX.toString()),t.pushVariadicWithLength(n);break;case on.FT_AGGREGATE_STEPS.APPLY:t.push(r.expression,"AS",r.AS);break;case on.FT_AGGREGATE_STEPS.LIMIT:t.push(r.from.toString(),r.size.toString());break;case on.FT_AGGREGATE_STEPS.FILTER:t.push(r.expression);break}(0,Rfr.parseParamsArgument)(t,e?.PARAMS),e?.DIALECT?t.push("DIALECT",e.DIALECT.toString()):t.push("DIALECT",Ofr.DEFAULT_DIALECT)}on.parseAggregateOptions=Let;function Det(t,e){typeof e=="string"||e instanceof Buffer?t.push(e):(t.push(e.identifier),e.AS&&t.push("AS",e.AS))}function bse(t,e){switch(t.push("REDUCE",e.type),e.type){case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT:t.push("0");break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCT:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.COUNT_DISTINCTISH:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.SUM:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.MIN:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.MAX:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.AVG:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.STDDEV:case on.FT_AGGREGATE_GROUP_BY_REDUCERS.TOLIST:t.push("1",e.property);break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.QUANTILE:t.push("2",e.property,e.quantile.toString());break;case on.FT_AGGREGATE_GROUP_BY_REDUCERS.FIRST_VALUE:{let r=[e.property];e.BY&&(r.push("BY"),typeof e.BY=="string"||e.BY instanceof Buffer?r.push(e.BY):(r.push(e.BY.property),e.BY.direction&&r.push(e.BY.direction))),t.pushVariadicWithLength(r);break}case on.FT_AGGREGATE_GROUP_BY_REDUCERS.RANDOM_SAMPLE:t.push("2",e.property,e.sampleSize.toString());break}e.AS&&t.push("AS",e.AS)}on.parseGroupByReducer=bse;function ket(t,e){typeof e=="string"||e instanceof Buffer?t.push(e):(t.push(e.BY),e.DIRECTION&&t.push(e.DIRECTION))}});var _se=E(bT=>{"use strict";var Pfr=bT&&bT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bT,"__esModule",{value:!0});var Ese=Pfr(Gb());bT.default={IS_READ_ONLY:Ese.default.IS_READ_ONLY,parseCommand(t,e,r,n){Ese.default.parseCommand(t,e,r,n),t.push("WITHCURSOR"),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.MAXIDLE!==void 0&&t.push("MAXIDLE",n.MAXIDLE.toString())},transformReply:{2:t=>({...Ese.default.transformReply[2](t[0]),cursor:t[1]}),3:void 0},unstableResp3:!0}});var Bet=E(Sse=>{"use strict";Object.defineProperty(Sse,"__esModule",{value:!0});Sse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALIASADD",e,r)},transformReply:void 0}});var Met=E(vse=>{"use strict";Object.defineProperty(vse,"__esModule",{value:!0});vse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.ALIASDEL",e)},transformReply:void 0}});var Wet=E(Cse=>{"use strict";Object.defineProperty(Cse,"__esModule",{value:!0});Cse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.ALIASUPDATE",e,r)},transformReply:void 0}});var $et=E(Ise=>{"use strict";Object.defineProperty(Ise,"__esModule",{value:!0});Ise.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.CONFIG","GET",e)},transformReply(t){let e=Object.create(null);for(let r of t){let[n,s]=r;e[n.toString()]=s}return e}}});var Fet=E(Tse=>{"use strict";Object.defineProperty(Tse,"__esModule",{value:!0});Tse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.CONFIG","SET",e,r)},transformReply:void 0}});var Uet=E(wse=>{"use strict";Object.defineProperty(wse,"__esModule",{value:!0});wse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.CURSOR","DEL",e,r.toString())},transformReply:void 0}});var qet=E(ET=>{"use strict";var Dfr=ET&&ET.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ET,"__esModule",{value:!0});var kfr=Dfr(_se());ET.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.CURSOR","READ",e,r.toString()),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString())},transformReply:kfr.default.transformReply,unstableResp3:!0}});var jet=E(Rse=>{"use strict";Object.defineProperty(Rse,"__esModule",{value:!0});Rse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DICTADD",e),t.pushVariadic(r)},transformReply:void 0}});var Het=E(Nse=>{"use strict";Object.defineProperty(Nse,"__esModule",{value:!0});Nse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DICTDEL",e),t.pushVariadic(r)},transformReply:void 0}});var Qet=E(Ose=>{"use strict";Object.defineProperty(Ose,"__esModule",{value:!0});Ose.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.DICTDUMP",e)},transformReply:{2:void 0,3:void 0}}});var Get=E(Pse=>{"use strict";Object.defineProperty(Pse,"__esModule",{value:!0});Pse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.DROPINDEX",e),r?.DD&&t.push("DD")},transformReply:{2:void 0,3:void 0}}});var Vet=E(Dse=>{"use strict";Object.defineProperty(Dse,"__esModule",{value:!0});var Lfr=xg(),Bfr=Qb();Dse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.EXPLAIN",e,r),(0,Lfr.parseParamsArgument)(t,n?.PARAMS),n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",Bfr.DEFAULT_DIALECT)},transformReply:void 0}});var zet=E(kse=>{"use strict";Object.defineProperty(kse,"__esModule",{value:!0});var Mfr=Qb();kse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.EXPLAINCLI",e,r),n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",Mfr.DEFAULT_DIALECT)},transformReply:void 0}});var Jet=E(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.FT_HYBRID_COMBINE_METHOD=vu.FT_HYBRID_VECTOR_METHOD=void 0;var Ket=Ie(),Wfr=xg(),$fr=Gb();vu.FT_HYBRID_VECTOR_METHOD={KNN:"KNN",RANGE:"RANGE"};vu.FT_HYBRID_COMBINE_METHOD={RRF:"RRF",LINEAR:"LINEAR"};function Ffr(t,e){t.push("SEARCH",e.query),e.SCORER&&t.push("SCORER",e.SCORER),e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}function Ufr(t,e){if(t.push("VSIM",e.field,e.vector),e.method){if(e.method.type===vu.FT_HYBRID_VECTOR_METHOD.KNN){let r=2;e.method.EF_RUNTIME!==void 0&&(r+=2),t.push("KNN",r.toString(),"K",e.method.K.toString()),e.method.EF_RUNTIME!==void 0&&t.push("EF_RUNTIME",e.method.EF_RUNTIME.toString())}if(e.method.type===vu.FT_HYBRID_VECTOR_METHOD.RANGE){let r=2;e.method.EPSILON!==void 0&&(r+=2),t.push("RANGE",r.toString(),"RADIUS",e.method.RADIUS.toString()),e.method.EPSILON!==void 0&&t.push("EPSILON",e.method.EPSILON.toString())}}e.FILTER&&t.push("FILTER",e.FILTER),e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}function qfr(t,e){if(e){if(t.push("COMBINE"),e.method.type===vu.FT_HYBRID_COMBINE_METHOD.RRF){let r=0;e.method.WINDOW!==void 0&&(r+=2),e.method.CONSTANT!==void 0&&(r+=2),e.YIELD_SCORE_AS&&(r+=2),t.push("RRF",r.toString()),e.method.WINDOW!==void 0&&t.push("WINDOW",e.method.WINDOW.toString()),e.method.CONSTANT!==void 0&&t.push("CONSTANT",e.method.CONSTANT.toString())}if(e.method.type===vu.FT_HYBRID_COMBINE_METHOD.LINEAR){let r=0;e.method.ALPHA!==void 0&&(r+=2),e.method.BETA!==void 0&&(r+=2),e.method.WINDOW!==void 0&&(r+=2),e.YIELD_SCORE_AS&&(r+=2),t.push("LINEAR",r.toString()),e.method.ALPHA!==void 0&&t.push("ALPHA",e.method.ALPHA.toString()),e.method.BETA!==void 0&&t.push("BETA",e.method.BETA.toString()),e.method.WINDOW!==void 0&&t.push("WINDOW",e.method.WINDOW.toString())}e.YIELD_SCORE_AS&&t.push("YIELD_SCORE_AS",e.YIELD_SCORE_AS)}}function jfr(t,e){t.push("APPLY",e.expression),e.AS&&t.push("AS",e.AS)}function Hfr(t,e){if(Ffr(t,e.SEARCH),Ufr(t,e.VSIM),e.COMBINE&&qfr(t,e.COMBINE),e.LOAD&&(e.LOAD==="*"?t.push("LOAD","*"):(0,Ket.parseOptionalVariadicArgument)(t,"LOAD",e.LOAD)),e.GROUPBY&&((0,Ket.parseOptionalVariadicArgument)(t,"GROUPBY",e.GROUPBY.fields),e.GROUPBY.REDUCE)){let n=Array.isArray(e.GROUPBY.REDUCE)?e.GROUPBY.REDUCE:[e.GROUPBY.REDUCE];for(let s of n)(0,$fr.parseGroupByReducer)(t,s)}if(e.APPLY){let n=Array.isArray(e.APPLY)?e.APPLY:[e.APPLY];for(let s of n)jfr(t,s)}if(e.SORTBY){let n=e.SORTBY.fields.reduce((s,i)=>i.direction?s+2:s+1,0);t.push("SORTBY",n.toString());for(let s of e.SORTBY.fields)t.push(s.field),s.direction&&t.push(s.direction)}e.NOSORT&&t.push("NOSORT"),e.FILTER&&t.push("FILTER",e.FILTER),e.LIMIT&&t.push("LIMIT",e.LIMIT.offset.toString(),e.LIMIT.count.toString());let r=e.PARAMS&&Object.keys(e.PARAMS).length>0;(0,Wfr.parseParamsArgument)(t,r?e.PARAMS:void 0),e.TIMEOUT!==void 0&&t.push("TIMEOUT",e.TIMEOUT.toString())}vu.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.HYBRID",e),Hfr(t,r)},transformReply:{2:t=>Qfr(t),3:void 0},unstableResp3:!0};function Qfr(t){let e=Yet(t),r=e.total_results??0,n=e.results??[],s=e.warnings??[],i=e.execution_time?Number.parseFloat(e.execution_time):0,a=[];for(let o of n){let c=Yet(o),u=Object.create(null);for(let[l,d]of Object.entries(c))if(l==="$")try{Object.assign(u,JSON.parse(d))}catch{u[l]=d}else u[l]=d;a.push(u)}return{totalResults:r,executionTime:i,warnings:s,results:a}}function Yet(t){let e={};if(!Array.isArray(t))return e;for(let r=0;r<t.length;r+=2){let n=t[r],s=t[r+1];typeof n=="string"&&(e[n]=s)}return e}});var Xet=E(Bse=>{"use strict";Object.defineProperty(Bse,"__esModule",{value:!0});var Lse=Ie();Bse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.INFO",e)},transformReply:{2:Gfr,3:void 0},unstableResp3:!0};function Gfr(t,e,r){let n=(0,Lse.createTransformTuplesReplyFunc)(e,r),s={};for(let i=0;i<t.length;i+=2){let a=t[i].toString();switch(a){case"index_name":case"index_options":case"num_docs":case"max_doc_id":case"num_terms":case"num_records":case"total_inverted_index_blocks":case"hash_indexing_failures":case"indexing":case"number_of_uses":case"cleaning":case"stopwords_list":s[a]=t[i+1];break;case"inverted_sz_mb":case"vector_index_sz_mb":case"offset_vectors_sz_mb":case"doc_table_size_mb":case"sortable_values_size_mb":case"key_table_size_mb":case"text_overhead_sz_mb":case"tag_overhead_sz_mb":case"total_index_memory_sz_mb":case"geoshapes_sz_mb":case"records_per_doc_avg":case"bytes_per_record_avg":case"offsets_per_term_avg":case"offset_bits_per_record_avg":case"total_indexing_time":case"percent_indexed":s[a]=Lse.transformDoubleReply[2](t[i+1],void 0,r);break;case"index_definition":s[a]=n(t[i+1]);break;case"attributes":s[a]=t[i+1].map(o=>n(o));break;case"gc_stats":{let o={},c=t[i+1];for(let u=0;u<c.length;u+=2){let l=c[u].toString();switch(l){case"bytes_collected":case"total_ms_run":case"total_cycles":case"average_cycle_time_ms":case"last_run_time_ms":case"gc_numeric_trees_missed":case"gc_blocks_denied":o[l]=Lse.transformDoubleReply[2](c[u+1],void 0,r);break}}s[a]=o;break}case"cursor_stats":{let o={},c=t[i+1];for(let u=0;u<c.length;u+=2){let l=c[u].toString();switch(l){case"global_idle":case"global_total":case"index_capacity":case"index_total":o[l]=c[u+1];break}}s[a]=o;break}}}return s}});var ett=E(Of=>{"use strict";var Vfr=Of&&Of.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),zfr=Of&&Of.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Kfr=Of&&Of.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Vfr(e,t,r);return zfr(e,t),e};Object.defineProperty(Of,"__esModule",{value:!0});var Zet=Kfr(xg());Of.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.PROFILE",e,"SEARCH"),n?.LIMITED&&t.push("LIMITED"),t.push("QUERY",r),(0,Zet.parseSearchOptions)(t,n)},transformReply:{2:t=>({results:Zet.default.transformReply[2](t[0]),profile:t[1]}),3:t=>t},unstableResp3:!0}});var rtt=E(Pf=>{"use strict";var Yfr=Pf&&Pf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Jfr=Pf&&Pf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Xfr=Pf&&Pf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Yfr(e,t,r);return Jfr(e,t),e};Object.defineProperty(Pf,"__esModule",{value:!0});var ttt=Xfr(Gb());Pf.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.PROFILE",e,"AGGREGATE"),n?.LIMITED&&t.push("LIMITED"),t.push("QUERY",r),(0,ttt.parseAggregateOptions)(t,n)},transformReply:{2:t=>({results:ttt.default.transformReply[2](t[0]),profile:t[1]}),3:t=>t},unstableResp3:!0}});var ntt=E(_T=>{"use strict";var Zfr=_T&&_T.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_T,"__esModule",{value:!0});var Mse=Zfr(xg());_T.default={NOT_KEYED_COMMAND:Mse.default.NOT_KEYED_COMMAND,IS_READ_ONLY:Mse.default.IS_READ_ONLY,parseCommand(...t){Mse.default.parseCommand(...t),t[0].push("NOCONTENT")},transformReply:{2:t=>({total:t[0],documents:t.slice(1)}),3:void 0},unstableResp3:!0}});var itt=E(Wse=>{"use strict";Object.defineProperty(Wse,"__esModule",{value:!0});var epr=Qb();Wse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n){if(t.push("FT.SPELLCHECK",e,r),n?.DISTANCE&&t.push("DISTANCE",n.DISTANCE.toString()),n?.TERMS)if(Array.isArray(n.TERMS))for(let s of n.TERMS)stt(t,s);else stt(t,n.TERMS);n?.DIALECT?t.push("DIALECT",n.DIALECT.toString()):t.push("DIALECT",epr.DEFAULT_DIALECT)},transformReply:{2:t=>t.map(([,e,r])=>({term:e,suggestions:r.map(([n,s])=>({score:Number(n),suggestion:s}))})),3:void 0},unstableResp3:!0};function stt(t,{mode:e,dictionary:r}){t.push("TERMS",e,r)}});var att=E($se=>{"use strict";Object.defineProperty($se,"__esModule",{value:!0});$se.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("FT.SUGADD"),t.pushKey(e),t.push(r,n.toString()),s?.INCR&&t.push("INCR"),s?.PAYLOAD&&t.push("PAYLOAD",s.PAYLOAD)},transformReply:void 0}});var ott=E(Fse=>{"use strict";Object.defineProperty(Fse,"__esModule",{value:!0});Fse.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.SUGDEL"),t.pushKey(e),t.push(r)},transformReply:void 0}});var ST=E(Use=>{"use strict";Object.defineProperty(Use,"__esModule",{value:!0});Use.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("FT.SUGGET"),t.pushKey(e),t.push(r),n?.FUZZY&&t.push("FUZZY"),n?.MAX!==void 0&&t.push("MAX",n.MAX.toString())},transformReply:void 0}});var utt=E(vT=>{"use strict";var tpr=vT&&vT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vT,"__esModule",{value:!0});var rpr=Ie(),ctt=tpr(ST());vT.default={IS_READ_ONLY:ctt.default.IS_READ_ONLY,parseCommand(...t){ctt.default.parseCommand(...t),t[0].push("WITHPAYLOADS")},transformReply(t){if((0,rpr.isNullReply)(t))return null;let e=new Array(t.length/2),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],payload:t[r++]};return e}}});var dtt=E(CT=>{"use strict";var npr=CT&&CT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CT,"__esModule",{value:!0});var qse=Ie(),ltt=npr(ST());CT.default={IS_READ_ONLY:ltt.default.IS_READ_ONLY,parseCommand(...t){ltt.default.parseCommand(...t),t[0].push("WITHSCORES","WITHPAYLOADS")},transformReply:{2:(t,e,r)=>{if((0,qse.isNullReply)(t))return null;let n=new Array(t.length/3),s=0,i=0;for(;s<t.length;)n[i++]={suggestion:t[s++],score:qse.transformDoubleReply[2](t[s++],e,r),payload:t[s++]};return n},3:t=>{if((0,qse.isNullReply)(t))return null;let e=new Array(t.length/3),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],score:t[r++],payload:t[r++]};return e}}}});var ptt=E(IT=>{"use strict";var spr=IT&&IT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(IT,"__esModule",{value:!0});var jse=Ie(),ftt=spr(ST());IT.default={IS_READ_ONLY:ftt.default.IS_READ_ONLY,parseCommand(...t){ftt.default.parseCommand(...t),t[0].push("WITHSCORES")},transformReply:{2:(t,e,r)=>{if((0,jse.isNullReply)(t))return null;let n=new Array(t.length/2),s=0,i=0;for(;s<t.length;)n[i++]={suggestion:t[s++],score:jse.transformDoubleReply[2](t[s++],e,r)};return n},3:t=>{if((0,jse.isNullReply)(t))return null;let e=new Array(t.length/2),r=0,n=0;for(;r<t.length;)e[n++]={suggestion:t[r++],score:t[r++]};return e}}}});var mtt=E(Hse=>{"use strict";Object.defineProperty(Hse,"__esModule",{value:!0});Hse.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.SUGLEN",e)},transformReply:void 0}});var htt=E(Qse=>{"use strict";Object.defineProperty(Qse,"__esModule",{value:!0});Qse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("FT.SYNDUMP",e)},transformReply:{2:t=>{let e={},r=0;for(;r<t.length;){let n=t[r++].toString(),s=t[r++];e[n]=s}return e},3:void 0}}});var gtt=E(Gse=>{"use strict";Object.defineProperty(Gse,"__esModule",{value:!0});Gse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r,n,s){t.push("FT.SYNUPDATE",e,r),s?.SKIPINITIALSCAN&&t.push("SKIPINITIALSCAN"),t.pushVariadic(n)},transformReply:void 0}});var Att=E(Vse=>{"use strict";Object.defineProperty(Vse,"__esModule",{value:!0});Vse.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("FT.TAGVALS",e,r)},transformReply:{2:void 0,3:void 0}}});var Ztt=E(TT=>{"use strict";var _r=TT&&TT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(TT,"__esModule",{value:!0});var ytt=_r(Tet()),xtt=_r(Net()),btt=_r(_se()),Ett=_r(Gb()),_tt=_r(Bet()),Stt=_r(Met()),vtt=_r(Wet()),Ctt=_r($et()),Itt=_r(Fet()),Ttt=_r(BB()),wtt=_r(Uet()),Rtt=_r(qet()),Ntt=_r(jet()),Ott=_r(Het()),Ptt=_r(Qet()),Dtt=_r(Get()),ktt=_r(Vet()),Ltt=_r(zet()),Btt=_r(Jet()),Mtt=_r(Xet()),Wtt=_r(ett()),$tt=_r(rtt()),Ftt=_r(ntt()),Utt=_r(xg()),qtt=_r(itt()),jtt=_r(att()),Htt=_r(ott()),Qtt=_r(utt()),Gtt=_r(dtt()),Vtt=_r(ptt()),ztt=_r(ST()),Ktt=_r(mtt()),Ytt=_r(htt()),Jtt=_r(gtt()),Xtt=_r(Att());TT.default={_LIST:ytt.default,_list:ytt.default,ALTER:xtt.default,alter:xtt.default,AGGREGATE_WITHCURSOR:btt.default,aggregateWithCursor:btt.default,AGGREGATE:Ett.default,aggregate:Ett.default,ALIASADD:_tt.default,aliasAdd:_tt.default,ALIASDEL:Stt.default,aliasDel:Stt.default,ALIASUPDATE:vtt.default,aliasUpdate:vtt.default,CONFIG_GET:Ctt.default,configGet:Ctt.default,CONFIG_SET:Itt.default,configSet:Itt.default,CREATE:Ttt.default,create:Ttt.default,CURSOR_DEL:wtt.default,cursorDel:wtt.default,CURSOR_READ:Rtt.default,cursorRead:Rtt.default,DICTADD:Ntt.default,dictAdd:Ntt.default,DICTDEL:Ott.default,dictDel:Ott.default,DICTDUMP:Ptt.default,dictDump:Ptt.default,DROPINDEX:Dtt.default,dropIndex:Dtt.default,EXPLAIN:ktt.default,explain:ktt.default,EXPLAINCLI:Ltt.default,explainCli:Ltt.default,HYBRID:Btt.default,hybrid:Btt.default,INFO:Mtt.default,info:Mtt.default,PROFILESEARCH:Wtt.default,profileSearch:Wtt.default,PROFILEAGGREGATE:$tt.default,profileAggregate:$tt.default,SEARCH_NOCONTENT:Ftt.default,searchNoContent:Ftt.default,SEARCH:Utt.default,search:Utt.default,SPELLCHECK:qtt.default,spellCheck:qtt.default,SUGADD:jtt.default,sugAdd:jtt.default,SUGDEL:Htt.default,sugDel:Htt.default,SUGGET_WITHPAYLOADS:Qtt.default,sugGetWithPayloads:Qtt.default,SUGGET_WITHSCORES_WITHPAYLOADS:Gtt.default,sugGetWithScoresWithPayloads:Gtt.default,SUGGET_WITHSCORES:Vtt.default,sugGetWithScores:Vtt.default,SUGGET:ztt.default,sugGet:ztt.default,SUGLEN:Ktt.default,sugLen:Ktt.default,SYNDUMP:Ytt.default,synDump:Ytt.default,SYNUPDATE:Jtt.default,synUpdate:Jtt.default,TAGVALS:Xtt.default,tagVals:Xtt.default}});var zse=E(si=>{"use strict";var ipr=si&&si.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(si,"__esModule",{value:!0});si.FT_AGGREGATE_STEPS=si.FT_AGGREGATE_GROUP_BY_REDUCERS=si.SCHEMA_VECTOR_FIELD_ALGORITHM=si.SCHEMA_TEXT_FIELD_PHONETIC=si.SCHEMA_FIELD_TYPE=si.REDISEARCH_LANGUAGE=si.default=void 0;var apr=Ztt();Object.defineProperty(si,"default",{enumerable:!0,get:function(){return ipr(apr).default}});var WB=BB();Object.defineProperty(si,"REDISEARCH_LANGUAGE",{enumerable:!0,get:function(){return WB.REDISEARCH_LANGUAGE}});Object.defineProperty(si,"SCHEMA_FIELD_TYPE",{enumerable:!0,get:function(){return WB.SCHEMA_FIELD_TYPE}});Object.defineProperty(si,"SCHEMA_TEXT_FIELD_PHONETIC",{enumerable:!0,get:function(){return WB.SCHEMA_TEXT_FIELD_PHONETIC}});Object.defineProperty(si,"SCHEMA_VECTOR_FIELD_ALGORITHM",{enumerable:!0,get:function(){return WB.SCHEMA_VECTOR_FIELD_ALGORITHM}});var ert=Gb();Object.defineProperty(si,"FT_AGGREGATE_GROUP_BY_REDUCERS",{enumerable:!0,get:function(){return ert.FT_AGGREGATE_GROUP_BY_REDUCERS}});Object.defineProperty(si,"FT_AGGREGATE_STEPS",{enumerable:!0,get:function(){return ert.FT_AGGREGATE_STEPS}})});var ii=E(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.transformRESP2LabelsWithSources=gr.transformRESP2Labels=gr.parseSelectedLabelsArguments=gr.resp3MapToValue=gr.resp2MapToValue=gr.transformSamplesReply=gr.transformSampleReply=gr.parseLabelsArgument=gr.transformTimestampArgument=gr.parseDuplicatePolicy=gr.TIME_SERIES_DUPLICATE_POLICIES=gr.parseChunkSizeArgument=gr.parseEncodingArgument=gr.TIME_SERIES_ENCODING=gr.parseRetentionArgument=gr.parseIgnoreArgument=void 0;var Kse=cT();function opr(t,e){e!==void 0&&t.push("IGNORE",e.maxTimeDiff.toString(),e.maxValDiff.toString())}gr.parseIgnoreArgument=opr;function cpr(t,e){e!==void 0&&t.push("RETENTION",e.toString())}gr.parseRetentionArgument=cpr;gr.TIME_SERIES_ENCODING={COMPRESSED:"COMPRESSED",UNCOMPRESSED:"UNCOMPRESSED"};function upr(t,e){e!==void 0&&t.push("ENCODING",e)}gr.parseEncodingArgument=upr;function lpr(t,e){e!==void 0&&t.push("CHUNK_SIZE",e.toString())}gr.parseChunkSizeArgument=lpr;gr.TIME_SERIES_DUPLICATE_POLICIES={BLOCK:"BLOCK",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM"};function dpr(t,e){e!==void 0&&t.push("DUPLICATE_POLICY",e)}gr.parseDuplicatePolicy=dpr;function fpr(t){return typeof t=="string"?t:(typeof t=="number"?t:t.getTime()).toString()}gr.transformTimestampArgument=fpr;function ppr(t,e){if(e){t.push("LABELS");for(let[r,n]of Object.entries(e))t.push(r,n)}}gr.parseLabelsArgument=ppr;gr.transformSampleReply={2(t){let[e,r]=t;return{timestamp:e,value:Number(r)}},3(t){let[e,r]=t;return{timestamp:e,value:r}}};gr.transformSamplesReply={2(t){return t.map(e=>gr.transformSampleReply[2](e))},3(t){return t.map(e=>gr.transformSampleReply[3](e))}};function mpr(t,e,r){let n=t;switch(r?.[Kse.RESP_TYPES.MAP]){case Map:{let s=new Map;for(let i of n){let a=i,o=a[0];s.set(o.toString(),e(a))}return s}case Array:{for(let s of n){let i=s;i[1]=e(i)}return n}default:{let s=Object.create(null);for(let i of n){let a=i,o=a[0];s[o.toString()]=e(a)}return s}}}gr.resp2MapToValue=mpr;function hpr(t,e){let r=t;if(r instanceof Array)for(let n=1;n<r.length;n+=2)r[n]=e(r[n]);else if(r instanceof Map)for(let[n,s]of r.entries())r.set(n,e(s));else for(let[n,s]of Object.entries(r))r[n]=e(s);return r}gr.resp3MapToValue=hpr;function gpr(t,e){t.push("SELECTED_LABELS"),t.pushVariadic(e)}gr.parseSelectedLabelsArguments=gpr;function Apr(t,e){let r=t;switch(e?.[Kse.RESP_TYPES.MAP]){case Map:let n=new Map;for(let i of r){let[a,o]=i,c=a;n.set(c.toString(),o)}return n;case Array:return r.flat();case Object:default:let s=Object.create(null);for(let i of r){let[a,o]=i,c=a;s[c.toString()]=o}return s}}gr.transformRESP2Labels=Apr;function ypr(t,e){let r=t,n=r.length-2,s;switch(e?.[Kse.RESP_TYPES.MAP]){case Map:let c=new Map;for(let l=0;l<n;l++){let[d,f]=r[l],p=d;c.set(p.toString(),f)}s=c;break;case Array:s=r.slice(0,n).flat();break;case Object:default:let u=Object.create(null);for(let l=0;l<n;l++){let[d,f]=r[l],p=d;u[p.toString()]=f}s=u;break}let a=r[r.length-1],o=xpr(a[1]);return{labels:s,sources:o}}gr.transformRESP2LabelsWithSources=ypr;function xpr(t){let e=t;if(typeof e=="string")return e.split(",");let r=e.indexOf(",");if(r===-1)return[e];let n=[e.subarray(0,r)],s=r+1;for(;;){let i=e.indexOf(",",s);if(i===-1){n.push(e.subarray(s));break}let a=e.subarray(s,i);n.push(a),s=i+1}return n}});var trt=E(Yse=>{"use strict";Object.defineProperty(Yse,"__esModule",{value:!0});var Vb=ii();Yse.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s){t.push("TS.ADD"),t.pushKey(e),t.push((0,Vb.transformTimestampArgument)(r),n.toString()),(0,Vb.parseRetentionArgument)(t,s?.RETENTION),(0,Vb.parseEncodingArgument)(t,s?.ENCODING),(0,Vb.parseChunkSizeArgument)(t,s?.CHUNK_SIZE),s?.ON_DUPLICATE&&t.push("ON_DUPLICATE",s.ON_DUPLICATE),(0,Vb.parseLabelsArgument)(t,s?.LABELS),(0,Vb.parseIgnoreArgument)(t,s?.IGNORE)},transformReply:void 0}});var rrt=E(Jse=>{"use strict";Object.defineProperty(Jse,"__esModule",{value:!0});var wT=ii();Jse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.ALTER"),t.pushKey(e),(0,wT.parseRetentionArgument)(t,r?.RETENTION),(0,wT.parseChunkSizeArgument)(t,r?.CHUNK_SIZE),(0,wT.parseDuplicatePolicy)(t,r?.DUPLICATE_POLICY),(0,wT.parseLabelsArgument)(t,r?.LABELS),(0,wT.parseIgnoreArgument)(t,r?.IGNORE)},transformReply:void 0}});var nrt=E(Xse=>{"use strict";Object.defineProperty(Xse,"__esModule",{value:!0});var zb=ii();Xse.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.CREATE"),t.pushKey(e),(0,zb.parseRetentionArgument)(t,r?.RETENTION),(0,zb.parseEncodingArgument)(t,r?.ENCODING),(0,zb.parseChunkSizeArgument)(t,r?.CHUNK_SIZE),(0,zb.parseDuplicatePolicy)(t,r?.DUPLICATE_POLICY),(0,zb.parseLabelsArgument)(t,r?.LABELS),(0,zb.parseIgnoreArgument)(t,r?.IGNORE)},transformReply:void 0}});var Zse=E(RT=>{"use strict";Object.defineProperty(RT,"__esModule",{value:!0});RT.TIME_SERIES_AGGREGATION_TYPE=void 0;RT.TIME_SERIES_AGGREGATION_TYPE={AVG:"AVG",FIRST:"FIRST",LAST:"LAST",MIN:"MIN",MAX:"MAX",SUM:"SUM",RANGE:"RANGE",COUNT:"COUNT",COUNT_NAN:"COUNTNAN",COUNT_ALL:"COUNTALL",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S",TWA:"TWA"};RT.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n,s,i){t.push("TS.CREATERULE"),t.pushKeys([e,r]),t.push("AGGREGATION",n,s.toString()),i!==void 0&&t.push(i.toString())},transformReply:void 0}});var eie=E(OT=>{"use strict";Object.defineProperty(OT,"__esModule",{value:!0});OT.parseIncrByArguments=void 0;var NT=ii();function srt(t,e,r,n){t.pushKey(e),t.push(r.toString()),n?.TIMESTAMP!==void 0&&n?.TIMESTAMP!==null&&t.push("TIMESTAMP",(0,NT.transformTimestampArgument)(n.TIMESTAMP)),(0,NT.parseRetentionArgument)(t,n?.RETENTION),n?.UNCOMPRESSED&&t.push("UNCOMPRESSED"),(0,NT.parseChunkSizeArgument)(t,n?.CHUNK_SIZE),(0,NT.parseLabelsArgument)(t,n?.LABELS),(0,NT.parseIgnoreArgument)(t,n?.IGNORE)}OT.parseIncrByArguments=srt;OT.default={IS_READ_ONLY:!1,parseCommand(...t){t[0].push("TS.INCRBY"),srt(...t)},transformReply:void 0}});var irt=E(Df=>{"use strict";var bpr=Df&&Df.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Epr=Df&&Df.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),_pr=Df&&Df.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&bpr(e,t,r);return Epr(e,t),e};Object.defineProperty(Df,"__esModule",{value:!0});var tie=_pr(eie());Df.default={IS_READ_ONLY:tie.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TS.DECRBY"),(0,tie.parseIncrByArguments)(...t)},transformReply:tie.default.transformReply}});var ort=E(rie=>{"use strict";Object.defineProperty(rie,"__esModule",{value:!0});var art=ii();rie.default={IS_READ_ONLY:!1,parseCommand(t,e,r,n){t.push("TS.DEL"),t.pushKey(e),t.push((0,art.transformTimestampArgument)(r),(0,art.transformTimestampArgument)(n))},transformReply:void 0}});var crt=E(nie=>{"use strict";Object.defineProperty(nie,"__esModule",{value:!0});nie.default={IS_READ_ONLY:!1,parseCommand(t,e,r){t.push("TS.DELETERULE"),t.pushKeys([e,r])},transformReply:void 0}});var urt=E(sie=>{"use strict";Object.defineProperty(sie,"__esModule",{value:!0});sie.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.GET"),t.pushKey(e),r?.LATEST&&t.push("LATEST")},transformReply:{2(t){return t.length===0?null:{timestamp:t[0],value:Number(t[1])}},3(t){return t.length===0?null:{timestamp:t[0],value:t[1]}}}}});var aie=E(iie=>{"use strict";Object.defineProperty(iie,"__esModule",{value:!0});var Spr=Ie();iie.default={IS_READ_ONLY:!0,parseCommand(t,e){t.push("TS.INFO"),t.pushKey(e)},transformReply:{2:(t,e,r)=>{let n={};for(let s=0;s<t.length;s+=2){let i=t[s].toString();switch(i){case"totalSamples":case"memoryUsage":case"firstTimestamp":case"lastTimestamp":case"retentionTime":case"chunkCount":case"chunkSize":case"chunkType":case"duplicatePolicy":case"sourceKey":case"ignoreMaxTimeDiff":n[i]=t[s+1];break;case"labels":n[i]=t[s+1].map(([a,o])=>({name:a,value:o}));break;case"rules":n[i]=t[s+1].map(([a,o,c])=>({key:a,timeBucket:o,aggregationType:c}));break;case"ignoreMaxValDiff":n[i]=Spr.transformDoubleReply[2](t[27],void 0,r);break}}return n},3:void 0},unstableResp3:!0}});var lrt=E(PT=>{"use strict";var vpr=PT&&PT.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(PT,"__esModule",{value:!0});var oie=vpr(aie());PT.default={IS_READ_ONLY:oie.default.IS_READ_ONLY,parseCommand(t,e){oie.default.parseCommand(t,e),t.push("DEBUG")},transformReply:{2:(t,e,r)=>{let n=oie.default.transformReply[2](t,e,r);for(let s=0;s<t.length;s+=2){let i=t[s].toString();switch(i){case"keySelfName":{n[i]=t[s+1];break}case"Chunks":{n.chunks=t[s+1].map(a=>({startTimestamp:a[1],endTimestamp:a[3],samples:a[5],size:a[7],bytesPerSample:a[9]}));break}}}return n},3:void 0},unstableResp3:!0}});var drt=E(cie=>{"use strict";Object.defineProperty(cie,"__esModule",{value:!0});var Cpr=ii();cie.default={IS_READ_ONLY:!1,parseCommand(t,e){t.push("TS.MADD");for(let{key:r,timestamp:n,value:s}of e)t.pushKey(r),t.push((0,Cpr.transformTimestampArgument)(n),s.toString())},transformReply:void 0}});var ql=E(bg=>{"use strict";Object.defineProperty(bg,"__esModule",{value:!0});bg.parseFilterArgument=bg.parseLatestArgument=void 0;var $B=ii();function frt(t,e){e&&t.push("LATEST")}bg.parseLatestArgument=frt;function prt(t,e){t.push("FILTER"),t.pushVariadic(e)}bg.parseFilterArgument=prt;bg.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.MGET"),frt(t,r?.LATEST),prt(t,e)},transformReply:{2(t,e,r){return(0,$B.resp2MapToValue)(t,([,,n])=>({sample:$B.transformSampleReply[2](n)}),r)},3(t){return(0,$B.resp3MapToValue)(t,([,e])=>({sample:$B.transformSampleReply[3](e)}))}}}});var uie=E(kT=>{"use strict";Object.defineProperty(kT,"__esModule",{value:!0});kT.createTransformMGetLabelsReply=void 0;var mrt=ql(),DT=ii();function hrt(){return{2(t,e,r){return(0,DT.resp2MapToValue)(t,([,n,s])=>({labels:(0,DT.transformRESP2Labels)(n),sample:DT.transformSampleReply[2](s)}),r)},3(t){return(0,DT.resp3MapToValue)(t,([e,r])=>({labels:e,sample:DT.transformSampleReply[3](r)}))}}}kT.createTransformMGetLabelsReply=hrt;kT.default={IS_READ_ONLY:!0,parseCommand(t,e,r){t.push("TS.MGET"),(0,mrt.parseLatestArgument)(t,r?.LATEST),t.push("WITHLABELS"),(0,mrt.parseFilterArgument)(t,e)},transformReply:hrt()}});var Art=E(lie=>{"use strict";Object.defineProperty(lie,"__esModule",{value:!0});var grt=ql(),Ipr=ii(),Tpr=uie();lie.default={IS_READ_ONLY:!0,parseCommand(t,e,r,n){t.push("TS.MGET"),(0,grt.parseLatestArgument)(t,n?.LATEST),(0,Ipr.parseSelectedLabelsArguments)(t,r),(0,grt.parseFilterArgument)(t,e)},transformReply:(0,Tpr.createTransformMGetLabelsReply)()}});var jl=E(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.transformRangeArguments=kf.parseRangeArguments=kf.TIME_SERIES_BUCKET_TIMESTAMP=void 0;var Eg=ii();kf.TIME_SERIES_BUCKET_TIMESTAMP={LOW:"-",MIDDLE:"~",END:"+"};function yrt(t,e,r,n){if(t.push((0,Eg.transformTimestampArgument)(e),(0,Eg.transformTimestampArgument)(r)),n?.LATEST&&t.push("LATEST"),n?.FILTER_BY_TS){t.push("FILTER_BY_TS");for(let s of n.FILTER_BY_TS)t.push((0,Eg.transformTimestampArgument)(s))}n?.FILTER_BY_VALUE&&t.push("FILTER_BY_VALUE",n.FILTER_BY_VALUE.min.toString(),n.FILTER_BY_VALUE.max.toString()),n?.COUNT!==void 0&&t.push("COUNT",n.COUNT.toString()),n?.AGGREGATION&&(n?.ALIGN!==void 0&&t.push("ALIGN",(0,Eg.transformTimestampArgument)(n.ALIGN)),t.push("AGGREGATION",n.AGGREGATION.type,(0,Eg.transformTimestampArgument)(n.AGGREGATION.timeBucket)),n.AGGREGATION.BUCKETTIMESTAMP&&t.push("BUCKETTIMESTAMP",n.AGGREGATION.BUCKETTIMESTAMP),n.AGGREGATION.EMPTY&&t.push("EMPTY"))}kf.parseRangeArguments=yrt;function xrt(t,e,r,n,s){t.pushKey(e),yrt(t,r,n,s)}kf.transformRangeArguments=xrt;kf.default={IS_READ_ONLY:!0,parseCommand(...t){t[0].push("TS.RANGE"),xrt(...t)},transformReply:{2(t){return Eg.transformSamplesReply[2](t)},3(t){return Eg.transformSamplesReply[3](t)}}}});var Kb=E(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});Cu.extractResp3MRangeSources=Cu.createTransformMRangeGroupByArguments=Cu.parseGroupByArguments=Cu.TIME_SERIES_REDUCERS=void 0;var FB=ii(),wpr=jl(),Rpr=ql();Cu.TIME_SERIES_REDUCERS={AVG:"AVG",SUM:"SUM",MIN:"MIN",MAX:"MAX",RANGE:"RANGE",COUNT:"COUNT",COUNTNAN:"COUNTNAN",COUNTALL:"COUNTALL",STD_P:"STD.P",STD_S:"STD.S",VAR_P:"VAR.P",VAR_S:"VAR.S"};function brt(t,e){t.push("GROUPBY",e.label,"REDUCE",e.REDUCE)}Cu.parseGroupByArguments=brt;function Ert(t){return(e,r,n,s,i,a)=>{e.push(t),(0,wpr.parseRangeArguments)(e,r,n,a),(0,Rpr.parseFilterArgument)(e,s),brt(e,i)}}Cu.createTransformMRangeGroupByArguments=Ert;function _rt(t){let e=t;return e instanceof Map?e.get("sources"):e instanceof Array?e[1]:e.sources}Cu.extractResp3MRangeSources=_rt;Cu.default={IS_READ_ONLY:!0,parseCommand:Ert("TS.MRANGE"),transformReply:{2(t,e,r){return(0,FB.resp2MapToValue)(t,([n,s,i])=>({samples:FB.transformSamplesReply[2](i)}),r)},3(t){return(0,FB.resp3MapToValue)(t,([e,r,n,s])=>({sources:_rt(n),samples:FB.transformSamplesReply[3](s)}))}}}});var UB=E(LT=>{"use strict";Object.defineProperty(LT,"__esModule",{value:!0});LT.createTransformMRangeSelectedLabelsArguments=void 0;var Yb=ii(),Npr=jl(),Opr=ql();function Srt(t){return(e,r,n,s,i,a)=>{e.push(t),(0,Npr.parseRangeArguments)(e,r,n,a),(0,Yb.parseSelectedLabelsArguments)(e,s),(0,Opr.parseFilterArgument)(e,i)}}LT.createTransformMRangeSelectedLabelsArguments=Srt;LT.default={IS_READ_ONLY:!0,parseCommand:Srt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,Yb.resp2MapToValue)(t,([n,s,i])=>({labels:(0,Yb.transformRESP2Labels)(s,r),samples:Yb.transformSamplesReply[2](i)}),r)},3(t){return(0,Yb.resp3MapToValue)(t,([e,r,n])=>({labels:r,samples:Yb.transformSamplesReply[3](n)}))}}}});var fie=E(_g=>{"use strict";var Ppr=_g&&_g.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_g,"__esModule",{value:!0});_g.createMRangeSelectedLabelsGroupByTransformArguments=void 0;var die=ii(),Dpr=jl(),vrt=Kb(),kpr=ql(),Lpr=Ppr(UB());function Crt(t){return(e,r,n,s,i,a,o)=>{e.push(t),(0,Dpr.parseRangeArguments)(e,r,n,o),(0,die.parseSelectedLabelsArguments)(e,s),(0,kpr.parseFilterArgument)(e,i),(0,vrt.parseGroupByArguments)(e,a)}}_g.createMRangeSelectedLabelsGroupByTransformArguments=Crt;_g.default={IS_READ_ONLY:!0,parseCommand:Crt("TS.MRANGE"),transformReply:{2:Lpr.default.transformReply[2],3(t){return(0,die.resp3MapToValue)(t,([e,r,n,s])=>({labels:e,sources:(0,vrt.extractResp3MRangeSources)(n),samples:die.transformSamplesReply[3](s)}))}}}});var pie=E(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});MT.createMRangeWithLabelsGroupByTransformArguments=void 0;var BT=ii(),Bpr=jl(),Irt=Kb(),Mpr=ql();function Trt(t){return(e,r,n,s,i,a)=>{e.push(t),(0,Bpr.parseRangeArguments)(e,r,n,a),e.push("WITHLABELS"),(0,Mpr.parseFilterArgument)(e,s),(0,Irt.parseGroupByArguments)(e,i)}}MT.createMRangeWithLabelsGroupByTransformArguments=Trt;MT.default={IS_READ_ONLY:!0,parseCommand:Trt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,BT.resp2MapToValue)(t,([n,s,i])=>{let a=(0,BT.transformRESP2LabelsWithSources)(s);return{labels:a.labels,sources:a.sources,samples:BT.transformSamplesReply[2](i)}},r)},3(t){return(0,BT.resp3MapToValue)(t,([e,r,n,s])=>({labels:e,sources:(0,Irt.extractResp3MRangeSources)(n),samples:BT.transformSamplesReply[3](s)}))}}}});var mie=E(WT=>{"use strict";Object.defineProperty(WT,"__esModule",{value:!0});WT.createTransformMRangeWithLabelsArguments=void 0;var qB=ii(),Wpr=jl(),$pr=ql();function wrt(t){return(e,r,n,s,i)=>{e.push(t),(0,Wpr.parseRangeArguments)(e,r,n,i),e.push("WITHLABELS"),(0,$pr.parseFilterArgument)(e,s)}}WT.createTransformMRangeWithLabelsArguments=wrt;WT.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:wrt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,qB.resp2MapToValue)(t,([n,s,i])=>{let a=s,o=Object.create(null);for(let c of a){let[u,l]=c,d=u;o[d.toString()]=l}return{labels:o,samples:qB.transformSamplesReply[2](i)}},r)},3(t){return(0,qB.resp3MapToValue)(t,([e,r,n])=>({labels:e,samples:qB.transformSamplesReply[3](n)}))}}}});var hie=E($T=>{"use strict";Object.defineProperty($T,"__esModule",{value:!0});$T.createTransformMRangeArguments=void 0;var jB=ii(),Fpr=jl(),Upr=ql();function Rrt(t){return(e,r,n,s,i)=>{e.push(t),(0,Fpr.parseRangeArguments)(e,r,n,i),(0,Upr.parseFilterArgument)(e,s)}}$T.createTransformMRangeArguments=Rrt;$T.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand:Rrt("TS.MRANGE"),transformReply:{2(t,e,r){return(0,jB.resp2MapToValue)(t,([n,s,i])=>jB.transformSamplesReply[2](i),r)},3(t){return(0,jB.resp3MapToValue)(t,([e,r,n])=>jB.transformSamplesReply[3](n))}}}});var Nrt=E(Lf=>{"use strict";var qpr=Lf&&Lf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),jpr=Lf&&Lf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Hpr=Lf&&Lf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&qpr(e,t,r);return jpr(e,t),e};Object.defineProperty(Lf,"__esModule",{value:!0});var gie=Hpr(Kb());Lf.default={IS_READ_ONLY:gie.default.IS_READ_ONLY,parseCommand:(0,gie.createTransformMRangeGroupByArguments)("TS.MREVRANGE"),transformReply:gie.default.transformReply}});var Ort=E(Bf=>{"use strict";var Qpr=Bf&&Bf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Gpr=Bf&&Bf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Vpr=Bf&&Bf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Qpr(e,t,r);return Gpr(e,t),e};Object.defineProperty(Bf,"__esModule",{value:!0});var Aie=Vpr(fie());Bf.default={IS_READ_ONLY:Aie.default.IS_READ_ONLY,parseCommand:(0,Aie.createMRangeSelectedLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:Aie.default.transformReply}});var Prt=E(Mf=>{"use strict";var zpr=Mf&&Mf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Kpr=Mf&&Mf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Ypr=Mf&&Mf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&zpr(e,t,r);return Kpr(e,t),e};Object.defineProperty(Mf,"__esModule",{value:!0});var yie=Ypr(UB());Mf.default={IS_READ_ONLY:yie.default.IS_READ_ONLY,parseCommand:(0,yie.createTransformMRangeSelectedLabelsArguments)("TS.MREVRANGE"),transformReply:yie.default.transformReply}});var Drt=E(Wf=>{"use strict";var Jpr=Wf&&Wf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Xpr=Wf&&Wf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Zpr=Wf&&Wf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Jpr(e,t,r);return Xpr(e,t),e};Object.defineProperty(Wf,"__esModule",{value:!0});var xie=Zpr(pie());Wf.default={IS_READ_ONLY:xie.default.IS_READ_ONLY,parseCommand:(0,xie.createMRangeWithLabelsGroupByTransformArguments)("TS.MREVRANGE"),transformReply:xie.default.transformReply}});var krt=E($f=>{"use strict";var e0r=$f&&$f.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),t0r=$f&&$f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r0r=$f&&$f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&e0r(e,t,r);return t0r(e,t),e};Object.defineProperty($f,"__esModule",{value:!0});var HB=r0r(mie());$f.default={NOT_KEYED_COMMAND:HB.default.NOT_KEYED_COMMAND,IS_READ_ONLY:HB.default.IS_READ_ONLY,parseCommand:(0,HB.createTransformMRangeWithLabelsArguments)("TS.MREVRANGE"),transformReply:HB.default.transformReply}});var Lrt=E(Ff=>{"use strict";var n0r=Ff&&Ff.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),s0r=Ff&&Ff.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i0r=Ff&&Ff.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&n0r(e,t,r);return s0r(e,t),e};Object.defineProperty(Ff,"__esModule",{value:!0});var QB=i0r(hie());Ff.default={NOT_KEYED_COMMAND:QB.default.NOT_KEYED_COMMAND,IS_READ_ONLY:QB.default.IS_READ_ONLY,parseCommand:(0,QB.createTransformMRangeArguments)("TS.MREVRANGE"),transformReply:QB.default.transformReply}});var Brt=E(bie=>{"use strict";Object.defineProperty(bie,"__esModule",{value:!0});bie.default={NOT_KEYED_COMMAND:!0,IS_READ_ONLY:!0,parseCommand(t,e){t.push("TS.QUERYINDEX"),t.pushVariadic(e)},transformReply:{2:void 0,3:void 0}}});var Mrt=E(Uf=>{"use strict";var a0r=Uf&&Uf.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),o0r=Uf&&Uf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),c0r=Uf&&Uf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&a0r(e,t,r);return o0r(e,t),e};Object.defineProperty(Uf,"__esModule",{value:!0});var Eie=c0r(jl());Uf.default={IS_READ_ONLY:Eie.default.IS_READ_ONLY,parseCommand(...t){t[0].push("TS.REVRANGE"),(0,Eie.transformRangeArguments)(...t)},transformReply:Eie.default.transformReply}});var mnt=E(Hl=>{"use strict";var u0r=Hl&&Hl.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),l0r=Hl&&Hl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&u0r(e,t,r)},Kr=Hl&&Hl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Hl,"__esModule",{value:!0});var Wrt=Kr(trt()),$rt=Kr(rrt()),Frt=Kr(nrt()),Urt=Kr(Zse()),qrt=Kr(irt()),jrt=Kr(ort()),Hrt=Kr(crt()),Qrt=Kr(urt()),Grt=Kr(eie()),Vrt=Kr(lrt()),zrt=Kr(aie()),Krt=Kr(drt()),Yrt=Kr(Art()),Jrt=Kr(uie()),Xrt=Kr(ql()),Zrt=Kr(Kb()),ent=Kr(fie()),tnt=Kr(UB()),rnt=Kr(pie()),nnt=Kr(mie()),snt=Kr(hie()),int=Kr(Nrt()),ant=Kr(Ort()),ont=Kr(Prt()),cnt=Kr(Drt()),unt=Kr(krt()),lnt=Kr(Lrt()),dnt=Kr(Brt()),fnt=Kr(jl()),pnt=Kr(Mrt());l0r(ii(),Hl);Hl.default={ADD:Wrt.default,add:Wrt.default,ALTER:$rt.default,alter:$rt.default,CREATE:Frt.default,create:Frt.default,CREATERULE:Urt.default,createRule:Urt.default,DECRBY:qrt.default,decrBy:qrt.default,DEL:jrt.default,del:jrt.default,DELETERULE:Hrt.default,deleteRule:Hrt.default,GET:Qrt.default,get:Qrt.default,INCRBY:Grt.default,incrBy:Grt.default,INFO_DEBUG:Vrt.default,infoDebug:Vrt.default,INFO:zrt.default,info:zrt.default,MADD:Krt.default,mAdd:Krt.default,MGET_SELECTED_LABELS:Yrt.default,mGetSelectedLabels:Yrt.default,MGET_WITHLABELS:Jrt.default,mGetWithLabels:Jrt.default,MGET:Xrt.default,mGet:Xrt.default,MRANGE_GROUPBY:Zrt.default,mRangeGroupBy:Zrt.default,MRANGE_SELECTED_LABELS_GROUPBY:ent.default,mRangeSelectedLabelsGroupBy:ent.default,MRANGE_SELECTED_LABELS:tnt.default,mRangeSelectedLabels:tnt.default,MRANGE_WITHLABELS_GROUPBY:rnt.default,mRangeWithLabelsGroupBy:rnt.default,MRANGE_WITHLABELS:nnt.default,mRangeWithLabels:nnt.default,MRANGE:snt.default,mRange:snt.default,MREVRANGE_GROUPBY:int.default,mRevRangeGroupBy:int.default,MREVRANGE_SELECTED_LABELS_GROUPBY:ant.default,mRevRangeSelectedLabelsGroupBy:ant.default,MREVRANGE_SELECTED_LABELS:ont.default,mRevRangeSelectedLabels:ont.default,MREVRANGE_WITHLABELS_GROUPBY:cnt.default,mRevRangeWithLabelsGroupBy:cnt.default,MREVRANGE_WITHLABELS:unt.default,mRevRangeWithLabels:unt.default,MREVRANGE:lnt.default,mRevRange:lnt.default,QUERYINDEX:dnt.default,queryIndex:dnt.default,RANGE:fnt.default,range:fnt.default,REVRANGE:pnt.default,revRange:pnt.default}});var Sie=E(Vi=>{"use strict";var d0r=Vi&&Vi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Vi,"__esModule",{value:!0});Vi.TIME_SERIES_REDUCERS=Vi.TIME_SERIES_BUCKET_TIMESTAMP=Vi.TIME_SERIES_AGGREGATION_TYPE=Vi.TIME_SERIES_DUPLICATE_POLICIES=Vi.TIME_SERIES_ENCODING=Vi.default=void 0;var _ie=mnt();Object.defineProperty(Vi,"default",{enumerable:!0,get:function(){return d0r(_ie).default}});Object.defineProperty(Vi,"TIME_SERIES_ENCODING",{enumerable:!0,get:function(){return _ie.TIME_SERIES_ENCODING}});Object.defineProperty(Vi,"TIME_SERIES_DUPLICATE_POLICIES",{enumerable:!0,get:function(){return _ie.TIME_SERIES_DUPLICATE_POLICIES}});var f0r=Zse();Object.defineProperty(Vi,"TIME_SERIES_AGGREGATION_TYPE",{enumerable:!0,get:function(){return f0r.TIME_SERIES_AGGREGATION_TYPE}});var p0r=jl();Object.defineProperty(Vi,"TIME_SERIES_BUCKET_TIMESTAMP",{enumerable:!0,get:function(){return p0r.TIME_SERIES_BUCKET_TIMESTAMP}});var m0r=Kb();Object.defineProperty(Vi,"TIME_SERIES_REDUCERS",{enumerable:!0,get:function(){return m0r.TIME_SERIES_REDUCERS}})});var hnt=E(gs=>{"use strict";var h0r=gs&&gs.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),FT=gs&&gs.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&h0r(e,t,r)},GB=gs&&gs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gs,"__esModule",{value:!0});gs.createSentinel=gs.createCluster=gs.createClientPool=gs.createClient=void 0;var VB=cT(),g0r=GB(Hne()),A0r=GB(gse()),y0r=GB(zse()),x0r=GB(Sie());FT(cT(),gs);FT(Hne(),gs);FT(gse(),gs);FT(zse(),gs);FT(Sie(),gs);var zB={...g0r.default,json:A0r.default,ft:y0r.default,ts:x0r.default};function b0r(t){return(0,VB.createClient)({...t,modules:{...zB,...t?.modules}})}gs.createClient=b0r;function E0r(t,e){return(0,VB.createClientPool)({...t,modules:{...zB,...t?.modules}},e)}gs.createClientPool=E0r;function _0r(t){return(0,VB.createCluster)({...t,modules:{...zB,...t?.modules}})}gs.createCluster=_0r;function S0r(t){return(0,VB.createSentinel)({...t,modules:{...zB,...t?.modules}})}gs.createSentinel=S0r});var JB={};is(JB,{closeLocalRedisConnection:()=>T0r,getLocalRedisCaches:()=>C0r,getLocalRedisKey:()=>gnt,judgeLocalRedisValid:()=>I0r,setLocalRedisKey:()=>KB,setLocalRedisKeyWithExpiry:()=>v0r,updateLocalRedisCaches:()=>YB});async function Jb(){if(rs)return rs;let t=O.localRedisUrl;try{_("info","[Utils] [Local-Redis] \u6B63\u5728\u8FDE\u63A5\u672C\u5730 Redis");let{createClient:e}=await Promise.resolve().then(()=>Re(hnt(),1));return rs=e({url:t,socket:{reconnectStrategy:r=>r>=0?new Error("\u5DF2\u8FBE\u5230\u6700\u5927\u91CD\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u91CD\u8FDE"):1e3}}),rs.on("error",r=>{_("error","[Utils] [Local-Redis] \u8FDE\u63A5\u9519\u8BEF"),O.localRedisValid=!1}),rs.on("connect",()=>{_("info","[Utils] [Local-Redis] \u8FDE\u63A5\u6210\u529F")}),await rs.connect(),O.localRedisValid=!0,_("info","[Utils] [Local-Redis] Redis \u5BA2\u6237\u7AEF\u521D\u59CB\u5316\u5B8C\u6210"),rs}catch(e){return _("error","[Utils] [Local-Redis] \u521D\u59CB\u5316\u5931\u8D25:",e.message),O.localRedisValid=!1,null}}async function Xb(){if(!rs)return!1;try{return await rs.ping()==="PONG"}catch(t){return _("error","[Utils] [Local-Redis] \u8FDE\u63A5\u68C0\u67E5\u5931\u8D25:",t.message),O.localRedisValid=!1,!1}}async function gnt(t){try{if(await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");return await rs.get(t)}catch(e){return _("error","[Utils] [Local-Redis] GET \u8BF7\u6C42\u5931\u8D25:",e.message),null}}async function KB(t,e){let r=fb(t,e),n=an(r);if(O.lastHashes[t]===n)return _("info",`[Utils] [Local-Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SET \u8BF7\u6C42`),{result:"OK"};try{if(await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let s=await rs.set(t,r);return O.lastHashes[t]=n,_("info",`[Utils] [Local-Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F`),{result:s}}catch(s){return _("error","[Utils] [Local-Redis] SET \u8BF7\u6C42\u5931\u8D25:",s.message),{result:"ERROR"}}}async function v0r(t,e,r){let n=fb(t,e),s=an(n);if(O.lastHashes[t]===s)return _("info",`[Utils] [Local-Redis] \u952E ${t} \u65E0\u53D8\u5316\uFF0C\u8DF3\u8FC7 SETEX \u8BF7\u6C42`),{result:"OK"};try{if(await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let i=await rs.setEx(t,r,n);return O.lastHashes[t]=s,_("info",`[Utils] [Local-Redis] \u952E ${t} \u66F4\u65B0\u6210\u529F\uFF08\u5E26\u8FC7\u671F\u65F6\u95F4 ${r}s\uFF09`),{result:i}}catch(i){return _("error","[Utils] [Local-Redis] SETEX \u8BF7\u6C42\u5931\u8D25:",i.message),{result:"ERROR"}}}async function C0r(){if(!O.localCacheInitialized)try{if(_("info","[Utils] [Local-Redis] getLocalRedisCaches start."),await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let t=["animes","episodeIds","episodeNum","reqRecords","lastSelectMap","todayReqNum"],e=await Promise.all(t.map(n=>gnt(n)));O.animes=e[0]?JSON.parse(e[0]):O.animes,O.episodeIds=e[1]?JSON.parse(e[1]):O.episodeIds,O.episodeNum=e[2]?JSON.parse(e[2]):O.episodeNum,O.reqRecords=e[3]?JSON.parse(e[3]):O.reqRecords;let r=e[4]?JSON.parse(e[4]):null;r&&typeof r=="object"&&(O.lastSelectMap=new Map(Object.entries(r)),_("info",`[Utils] [Local-Redis] Restored lastSelectMap from Local Redis with ${O.lastSelectMap.size} entries`)),O.todayReqNum=e[5]?parseInt(e[5],10):O.todayReqNum,O.lastHashes.animes=an(JSON.stringify(O.animes)),O.lastHashes.episodeIds=an(JSON.stringify(O.episodeIds)),O.lastHashes.episodeNum=an(JSON.stringify(O.episodeNum)),O.lastHashes.reqRecords=an(JSON.stringify(O.reqRecords)),O.lastHashes.lastSelectMap=an(JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.lastHashes.todayReqNum=an(JSON.stringify(O.todayReqNum)),O.localCacheInitialized=!0,_("info","[Utils] [Local-Redis] getLocalRedisCaches completed successfully.")}catch(t){_("error",`[Utils] [Local-Redis] getLocalRedisCaches failed: ${t.message}`,t.stack),O.localCacheInitialized=!0}}async function YB(){try{if(_("info","[Utils] [Local-Redis] updateLocalRedisCaches start."),await Xb()||await Jb(),!rs)throw new Error("\u672C\u5730 Redis \u5BA2\u6237\u7AEF\u672A\u521D\u59CB\u5316");let t=[],e=[{key:"animes",value:O.animes},{key:"episodeIds",value:O.episodeIds},{key:"episodeNum",value:O.episodeNum},{key:"reqRecords",value:O.reqRecords},{key:"lastSelectMap",value:O.lastSelectMap},{key:"todayReqNum",value:O.todayReqNum}];for(let{key:r,value:n}of e){let s=JSON.stringify(r==="lastSelectMap"?Object.fromEntries(n):n),i=an(s);i!==O.lastHashes[r]&&t.push({key:r,value:n,hash:i})}if(t.length>0){_("info",`[Utils] [Local-Redis] Updating ${t.length} changed keys: ${t.map(a=>a.key).join(", ")}`);let r=t.map(async({key:a,value:o})=>KB(a,o)),n=await Promise.all(r),s=0,i=0;n.forEach((a,o)=>{a&&a.result==="OK"?s++:(i++,_("warn",`[Utils] [Local-Redis] Failed to update Local Redis key: ${t[o]?.key}, result: ${JSON.stringify(a)}`))}),i===0?(t.forEach(({key:a,hash:o})=>{O.lastHashes[a]=o}),_("info",`[Utils] [Local-Redis] Local Redis update completed successfully: ${s} keys updated`)):_("warn",`[Utils] [Local-Redis] Local Redis update partially failed: ${s} succeeded, ${i} failed`)}else _("info","[Utils] [Local-Redis] No changes detected, skipping Local Redis update.")}catch(t){_("error",`[Utils] [Local-Redis] updateLocalRedisCaches failed: ${t.message}`,t.stack),_("error",`[Utils] [Local-Redis] Error details - Name: ${t.name}, Cause: ${t.cause?t.cause.message:"N/A"}`)}}async function I0r(t){if(!O.localRedisValid&&O.localRedisUrl&&t!=="/favicon.ico"&&t!=="/robots.txt")try{await Xb()||await Jb(),rs&&await rs.ping()==="PONG"&&(O.localRedisValid=!0)}catch(e){_("error","[Utils] [Local-Redis] \u8FDE\u63A5\u68C0\u67E5\u5931\u8D25:",e.message),O.localRedisValid=!1}}async function T0r(){if(rs)try{await rs.quit(),rs=null,O.localRedisValid=!1,_("info","[Utils] [Local-Redis] \u8FDE\u63A5\u5DF2\u5173\u95ED")}catch(t){_("error","[Utils] [Local-Redis] \u5173\u95ED\u8FDE\u63A5\u5931\u8D25:",t.message)}}var rs,UT=dr(()=>{Pt();St();Is();rs=null});var Lo,iE=dr(()=>{Pt();St();Lo=class{constructor(){}updateLocalEnv(e,r){return typeof O.env<"u"?O.env[e]=r:typeof process<"u"&&(process.env[e]=r),O.reInit(),_("info",`[system] [Server] \u2713 Environment variable updated successfully: ${e}`),!0}delLocalEnv(e){return typeof O.env<"u"&&O.env[e]?delete O.env[e]:typeof process<"u"&&process.env?.[e]&&delete process.env[e],O.reInit(),_("info",`[system] [Server] \u2713 Environment variable deleted successfully: ${e}`),!0}getAllEnv(){let e=O.originalEnvVars,r=O.envVarConfig,n={};for(let[s,i]of Object.entries(e)){let a=r[s]||{category:"system",type:"text",description:"\u672A\u5206\u7C7B\u914D\u7F6E\u9879"};n[s]={value:i,category:a.category,type:a.type,description:a.description,options:a.options}}return n}getEnv(e){return this.getAllEnv()[e]}async setEnv(e,r){throw new Error("Method 'setEnv' must be implemented")}async addEnv(e,r){throw new Error("Method 'addEnv' must be implemented")}async delEnv(e){throw new Error("Method 'delEnv' must be implemented")}async checkParams(e,r,n){throw new Error("Method 'checkParams' must be implemented")}async deploy(e,r,n){throw new Error("Method 'deploy' must be implemented")}}});var Kst={};is(Kst,{CloudflareHandler:()=>Hie});var Hie,Yst=dr(()=>{iE();Pt();St();ar();Hie=class extends Lo{API_URL="https://api.cloudflare.com";async _getAllEnvs(e,r,n){let s=`${this.API_URL}/client/v4/accounts/${e}/workers/scripts/${r}/settings`,i={headers:{Authorization:`Bearer ${n}`}},a=await ge(s,i);return a&&a?.data&&a?.data?.result&&a?.data?.result?.bindings?a?.data?.result?.bindings:null}_setEnv(e,r,n){let s=e.findIndex(i=>i.name===r);return n==null?s!==-1&&e.splice(s,1):s!==-1?e[s].text=n:e.push({name:r,text:n,type:"plain_text"}),e}async setEnv(e,r){try{let n=await this._getAllEnvs(O.deployPlatformAccount,O.deployPlatformProject,O.deployPlatformToken);if(n===null){_("error","[system] [Server] \u2717 Failed to set environment variable: envs is null");return}let s=`${this.API_URL}/client/v4/accounts/${O.deployPlatformAccount}/workers/scripts/${O.deployPlatformProject}/settings`,i={headers:{Authorization:`Bearer ${O.deployPlatformToken}`}},a=new FormData,o={bindings:this._setEnv(n,e,r==null?null:r.toString())};return a.append("settings",new Blob([JSON.stringify(o)],{type:"application/json"}),"settings.json"),await RL(s,a,i),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){return await this.setEnv(e,null),this.delLocalEnv(e)}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){return _("info","[system] [Server] After modifying the environment variables on the cloudflare platform, it will be automatically deployed."),!0}}});var Jst={};is(Jst,{VercelHandler:()=>Qie});var Qie,Xst=dr(()=>{iE();Pt();St();ar();Qie=class extends Lo{API_URL="https://api.vercel.com";async _getAllEnvs(e,r){let n=`${this.API_URL}/v10/projects/${e}/env`,s={headers:{Authorization:`Bearer ${r}`}};return(await ge(n,s)).data.envs}async _getEevId(e){try{let n=(await this._getAllEnvs(O.deployPlatformProject,O.deployPlatformToken)).find(s=>s.key===e);return n||null}catch(r){_("error","[system] [Server] \u2717 Failed to _getEevId:",r.message)}}async setEnv(e,r){let n=await this._getEevId(e);if(!n){_("error","[system] [Server] Error setEnv: \u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u73AF\u5883\u53D8\u91CF\uFF01");return}try{let s=`${this.API_URL}/v9/projects/${O.deployPlatformProject}/env/${n.id}`,i={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},a={key:e,value:r.toString(),target:n.target,type:n.type};return await RL(s,JSON.stringify(a),i),this.updateLocalEnv(e,r)}catch(s){_("error","[system] [Server] \u2717 Failed to set environment variable:",s.message)}}async addEnv(e,r){try{let n=`${this.API_URL}/v10/projects/${O.deployPlatformProject}/env`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},i={key:e,value:r.toString(),target:["production","preview","development"],type:"encrypted"};return await Vr(n,JSON.stringify(i),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async delEnv(e){let r=await this._getEevId(e);if(!r){_("error","[system] [Server] Error setEnv: \u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u73AF\u5883\u53D8\u91CF\uFF01");return}try{let n=`${this.API_URL}/v9/projects/${O.deployPlatformProject}/env/${r.id}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await lb(n,s),this.delLocalEnv(e)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/v6/deployments?projectId=${O.deployPlatformProject}&limit=1`,r={headers:{Authorization:`Bearer ${O.deployPlatformToken}`}},n=await ge(e,r),s;if(n?.data&&n?.data?.deployments&&n?.data?.deployments.length>0)s=n.data.deployments[0].uid;else return _("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(n?.data)),!1;let i=`${this.API_URL}/v13/deployments`,a={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},o={name:O.deployPlatformProject,deploymentId:s,target:"production"},c=await Vr(i,JSON.stringify(o),a);return c?.data?.id?!0:(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(c?.data)),!1)}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var Zst={};is(Zst,{NetlifyHandler:()=>Gie});var Gie,eit=dr(()=>{iE();Pt();St();ar();Gie=class extends Lo{API_URL="https://api.netlify.com";async _getAllEnvs(e,r,n){let s=`${this.API_URL}/api/v1/accounts/${e}/env?site_id=${r}`,i={headers:{Authorization:`Bearer ${n}`}};return await ge(s,i)}async setEnv(e,r){try{let n=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env/${e}?site_id=${O.deployPlatformProject}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},i={key:e,values:[{context:"all",value:r.toString()}]};return await v8e(n,JSON.stringify(i),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){try{let n=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env?site_id=${O.deployPlatformProject}`,s={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await Vr(n,JSON.stringify([{key:e,values:[{context:"all",value:r}]}]),s),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to add environment variable:",n.message)}}async delEnv(e){try{let r=`${this.API_URL}/api/v1/accounts/${O.deployPlatformAccount}/env/${e}?site_id=${O.deployPlatformProject}`,n={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}};return await lb(r,n),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to add environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/api/v1/sites/${O.deployPlatformProject}/builds`,r={headers:{Authorization:`Bearer ${O.deployPlatformToken}`,"Content-Type":"application/json"}},s=await Vr(e,JSON.stringify({}),r);return s?.data?.id?!0:(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(s?.data)),!1)}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var tit={};is(tit,{EdgeoneHandler:()=>Vie});var Vie,rit=dr(()=>{iE();Pt();St();ar();Vie=class extends Lo{API_URL="https://pages-api.cloud.tencent.com/v1";async _httpPost(e,r){let n=`${this.API_URL}`,s={headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}};return await Vr(n,JSON.stringify(r),s)}async _getAllEnvs(e,r){let n={Action:"ModifyPagesProjectEnvs",ProjectId:e},s=await this._httpPost(r,n);if(s?.data?.Code!==0)return null;let i=s?.data.Data?.Response?.EnvVars??[];return Object.fromEntries(i.map(({Key:a,Value:o})=>[a,o]))}async setEnv(e,r){try{let n={Action:"ModifyPagesProjectEnvs",ProjectId:O.deployPlatformProject,EnvVars:[{Key:e,Value:r.toString()}]};return await this._httpPost(O.deployPlatformToken,n),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){try{let r={Action:"DeletePagesProjectEnvs",ProjectId:O.deployPlatformProject,EnvVars:[e]};return await this._httpPost(O.deployPlatformToken,r),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to del environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e={Action:"CreatePagesDeployment",ProjectId:O.deployPlatformProject,RepoBranch:"main",ViaMeta:"Github",Provider:"Github"},r=await this._httpPost(O.deployPlatformToken,e);return r?.data?.Code!==0?(_("error","[system] [Server] \u2717 Failed to deploy:",JSON.stringify(r?.data)),!1):!0}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var nit={};is(nit,{HuggingfaceHandler:()=>zie});var zie,sit=dr(()=>{iE();Pt();St();ar();zie=class extends Lo{API_URL="https://huggingface.co";get repoId(){return`${O.deployPlatformAccount}/${O.deployPlatformProject}`}_getOptions(e=O.deployPlatformToken){return{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}}}_getVariablesUrl(e){return`${this.API_URL}/api/spaces/${e}/variables`}async _getAllEnvs(e,r,n){let s=`${e}/${r}`,i=this._getVariablesUrl(s);return(await ge(i,this._getOptions(n)))?.data}async setEnv(e,r){try{let n=this._getVariablesUrl(this.repoId),s={key:e,value:r.toString()};return await Vr(n,JSON.stringify(s),this._getOptions()),this.updateLocalEnv(e,r)}catch(n){_("error","[system] [Server] \u2717 Failed to set environment variable:",n.message)}}async addEnv(e,r){return await this.setEnv(e,r)}async delEnv(e){try{let r=this._getVariablesUrl(this.repoId);return await lb(r,{...this._getOptions(),body:JSON.stringify({key:e})}),this.delLocalEnv(e)}catch(r){_("error","[system] [Server] \u2717 Failed to del environment variable:",r.message)}}async checkParams(e,r,n){try{return await this._getAllEnvs(e,r,n),!0}catch(s){return _("error","[system] [Server] checkParams failed! accountId, projectId or token is not valid:",s.message),!1}}async deploy(){try{let e=`${this.API_URL}/api/spaces/${this.repoId}/restart`;return await Vr(e,void 0,this._getOptions()),!0}catch(e){return _("error","[system] [Server] \u2717 Failed to deploy:",e.message),!1}}}});var zlt=E(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.removeTrailingChar=cA.merge=void 0;var GTr=(...t)=>{let e={};return t.forEach(function(r){var n;for(n in r)n in e&&e[n]===null?e[n]=r[n]:n in e&&Array.isArray(e[n])?e[n]=e[n].concat(r[n]):n in e&&typeof e[n]=="object"?e[n]=(0,cA.merge)(e[n],r[n]):e[n]=r[n]}),e};cA.merge=GTr;var VTr=(t,e)=>t.length>1&&t.endsWith(e)?t.substring(0,t.length-1):t;cA.removeTrailingChar=VTr});var DE=E(cm=>{"use strict";Object.defineProperty(cm,"__esModule",{value:!0});cm.DataError=cm.DatabaseError=cm.NestedError=void 0;var i2=class extends Error{inner;id;constructor(e,r,n){super(e),this.inner=n,this.id=r,this.name=this.constructor.name}toString(){let e=this.name+": "+this.message;return this.inner?e+`:
|
|
`+this.inner:e}};cm.NestedError=i2;var oue=class extends i2{};cm.DatabaseError=oue;var cue=class extends i2{};cm.DataError=cue});var pue=E(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.getArrayIndicies=Sa.validateArrayIndex=Sa.validateArrayIndicies=Sa.isInt=Sa.ArrayInfo=Sa.arrayRegex=void 0;var kM=DE(),zTr=()=>/^([\.0-9a-zA-Z_$\-][0-9a-zA-Z_\-$\.]*)\[((?!(\]|\[)).*|)\]$/gm;Sa.arrayRegex=zTr;var uue={},lue=class t{property;index=0;append=!1;indicies=[];constructor(e,r){this.property=e;let n=r[0]??0;if(this.append=n===""||r[r.length-1]==="",this.indicies=r,due(n))this.index=parseInt(n);else if(!this.append)throw new kM.DataError("Only numerical values accepted for array index",200)}static processArray(e){if(typeof e>"u")return null;if(uue[e])return uue[e];let n=(0,Sa.arrayRegex)().exec(e.trim());if(n!=null){let s=n[1],i="["+n[2].toString()+"]",a=fue(i);return Klt(a),uue[e]=new t(s,a)}return null}getIndex(e,r){if(this.append)return-1;let n=this.index;if(n==-1){let s=r?e:e[this.property];return s.length===0?0:s.length-1}return n}getData(e){if(this.append)throw new kM.DataError("Can't get data when appending",100);let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);return n[r]}setData(e,r){if(this.append){let n=e[this.property];this.indicies.forEach(s=>{s!==""&&(s=+s,s===-1&&(s=n.length-1),n=n[+s])}),n.push(r)}else{let{index:n,dataForProperty:s}=this.getArrayDataAndIndexFromProperty(e);n===-1?s.push(r):s[n]=r}}delete(e){if(this.append)throw new kM.DataError("Can't delete an appended data",10);let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);n.splice(r,1)}isValid(e){let{index:r,dataForProperty:n}=this.getArrayDataAndIndexFromProperty(e);return n.hasOwnProperty(r)}getArrayDataAndIndexFromProperty(e){let r=0,n=e instanceof Array?e:e[this.property]??e;if(this.indicies.length>0){r=+this.indicies[this.indicies.length-1];for(let s=0;s<this.indicies.length-1;s++){let i=+this.indicies[s];i===-1&&(i=n.length-1),n=n[i]}r===-1&&(r=n.length-1)}return{index:r,dataForProperty:n}}isMultiDimensional(){return this.indicies.length>1}};Sa.ArrayInfo=lue;function due(t){return!isNaN(t)&&Number(t)==t&&!isNaN(parseInt(t,10))}Sa.isInt=due;function Klt(t){let e=t.filter(r=>r==="");if(e.length>1)throw Error("Only one append index is supported for nested arrays");if(e.length===1&&t[t.length-1]!=="")throw Error("Append index must be at the end of the nested array")}Sa.validateArrayIndicies=Klt;function Ylt(t){if(t.length!==0&&!due(t))throw new kM.DataError("Only numerical values accepted for array index",200)}Sa.validateArrayIndex=Ylt;function fue(t){if(t.length===0)return[];if(t.charAt(0)!=="[")throw new Error("Invalid array syntax detected");let e=t.substring(1,t.indexOf("]"));Ylt(e);let r=e.length+2;return[e,...fue(t.substring(r))]}Sa.getArrayIndicies=fue});var Zlt=E(LM=>{"use strict";Object.defineProperty(LM,"__esModule",{value:!0});LM.DBParentData=void 0;var Jlt=pue(),Xlt=DE(),mue=class{parent;data;db;dataPath;constructor(e,r,n,s){this.parent=s,this.data=e,this.db=r,this.dataPath=n}checkArray(e=!1){let r=Jlt.ArrayInfo.processArray(this.parent);if(r&&(!r.append||e)&&!r.isValid(this.data))throw new Xlt.DataError("DataPath: /"+this.dataPath+". Can't find index "+r.index+" in array "+r.property,10);return r}getData(){if(this.parent===void 0)return this.data;let e=this.checkArray();return e?e.getData(this.data):this.data[this.parent]}setData(e){if(this.parent===void 0){this.db.resetData(e);return}let r=Jlt.ArrayInfo.processArray(this.parent);if(r){if(!this.data.hasOwnProperty(r.property))this.data[r.property]=[];else if(!Array.isArray(this.data[r.property]))throw new Xlt.DataError("DataPath: /"+this.dataPath+". "+r.property+" is not an array.",11);r.setData(this.data,e)}else this.data[this.parent]=e}delete(){if(this.parent===void 0){this.db.resetData({});return}let e=this.checkArray(!0);e?e.delete(this.data):delete this.data[this.parent]}};LM.DBParentData=mue});var tdt=E((f0n,edt)=>{edt.exports=function(){"use strict";function t(){this.readers=0,this.queue=[]}function e(i,a,o){var c;typeof i!="function"?(s.hasOwnProperty(i)||(s[i]=new t),c=s[i]):(o=a,a=i,c=n),o||(o={});var u=null;o.hasOwnProperty("scope")&&(u=o.scope);var l=function(){var p=!1;return function(){p||(p=!0,c.readers--,c.queue.length&&c.queue[0]())}}();if(c.readers<0||c.queue.length){var d=!1;if(c.queue.push(function(){!d&&c.readers>=0&&(d=!0,c.queue.shift(),c.readers++,a.call(u,l),c.queue.length&&c.queue[0]())}),o.hasOwnProperty("timeout")){var f=null;o.hasOwnProperty("timeoutCallback")&&(f=o.timeoutCallback),setTimeout(function(){d||(d=!0,c.queue.shift(),f&&f.call(o.scope))},o.timeout)}}else c.readers++,a.call(o.scope,l)}function r(i,a,o){var c;typeof i!="function"?(s.hasOwnProperty(i)||(s[i]=new t),c=s[i]):(o=a,a=i,c=n),o||(o={});var u=null;o.hasOwnProperty("scope")&&(u=o.scope);var l=function(){var p=!1;return function(){p||(p=!0,c.readers=0,c.queue.length&&c.queue[0]())}}();if(c.readers||c.queue.length){var d=!1;if(c.queue.push(function(){d||c.readers||(d=!0,c.queue.shift(),c.readers=-1,a.call(o.scope,l))}),o.hasOwnProperty("timeout")){var f=null;o.hasOwnProperty("timeoutCallback")&&(f=o.timeoutCallback),setTimeout(function(){d||(d=!0,c.queue.shift(),f&&f.call(u))},o.timeout)}}else c.readers=-1,a.call(o.scope,l)}var n=new t,s={};this.readLock=e,this.writeLock=r,this.async={readLock:function(i,a,o){typeof i!="function"?e(i,function(c){a.call(this,null,c)},o):(a=i,o=a,e(function(c){a.call(this,null,c)},o))},writeLock:function(i,a,o){typeof i!="function"?r(i,function(c){a.call(this,null,c)},o):(a=i,o=a,r(function(c){a.call(this,null,c)},o))}}}});var rdt=E(BM=>{"use strict";Object.defineProperty(BM,"__esModule",{value:!0});BM.TimeoutError=void 0;var KTr=DE(),hue=class extends KTr.NestedError{};BM.TimeoutError=hue});var idt=E(kE=>{"use strict";Object.defineProperty(kE,"__esModule",{value:!0});kE.writeLockAsync=kE.readLockAsync=void 0;var YTr=tdt(),ndt=rdt(),sdt=new YTr,JTr=(t,e=null)=>{let r={};return e!=null&&(r={timeout:e}),new Promise((n,s)=>{sdt.readLock(async i=>{try{let a=await t();n(a)}catch(a){s(a)}finally{i()}},{...r,timeoutCallback(){s(new ndt.TimeoutError("Timeout",100))}})})};kE.readLockAsync=JTr;var XTr=(t,e=null)=>{let r={};return e!=null&&(r={timeout:e}),new Promise((n,s)=>{sdt.writeLock(async i=>{try{let a=await t();n(a)}catch(a){s(a)}finally{i()}},{...r,timeoutCallback(){s(new ndt.TimeoutError("Timeout",100))}})})};kE.writeLockAsync=XTr});var Aue=E(MM=>{"use strict";Object.defineProperty(MM,"__esModule",{value:!0});MM.JsonAdapter=void 0;var gue=class{adapter;humanReadable;dateRegex=new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}","m");constructor(e,r=!1){this.adapter=e,this.humanReadable=r}replacer(e,r){return r}reviver(e,r){return typeof r=="string"&&this.dateRegex.exec(r)!=null?new Date(r):r}async readAsync(){let e=await this.adapter.readAsync();return e==null?(await this.writeAsync({}),{}):JSON.parse(e,this.reviver.bind(this))}writeAsync(e){let r="";return this.humanReadable?r=JSON.stringify(e,this.replacer.bind(this),4):r=JSON.stringify(e,this.replacer.bind(this)),this.adapter.writeAsync(r)}};MM.JsonAdapter=gue});var xue=E($M=>{"use strict";Object.defineProperty($M,"__esModule",{value:!0});$M.FileAdapter=void 0;var WM=require("fs/promises"),ZTr=require("path"),yue=class{filename;fsync;constructor(e,r){this.filename=e,this.fsync=r}async readAsync(){try{return await(0,WM.readFile)(this.filename,{encoding:"utf-8"})}catch(e){if(e.code==="ENOENT")return null;throw e}}async writeAsync(e){let r=null;try{r=await(0,WM.open)(this.filename,"w")}catch(n){if(n.code!=="ENOENT")throw n;let s=ZTr.dirname(this.filename);await(0,WM.mkdir)(s,{recursive:!0}),r=await(0,WM.open)(this.filename,"w")}try{await r.writeFile(e,{encoding:"utf-8"}),this.fsync&&await r.sync()}finally{await r.close()}}};$M.FileAdapter=yue});var adt=E(LE=>{"use strict";Object.defineProperty(LE,"__esModule",{value:!0});LE.ConfigWithAdapter=LE.Config=void 0;var ewr=require("path"),twr=Aue(),rwr=xue(),bue=class{adapter;filename;saveOnPush;separator;constructor(e,r=!0,n=!1,s="/",i=!1){this.filename=e,ewr.extname(e)===""&&(this.filename+=".json"),this.saveOnPush=r,this.separator=s,this.adapter=new twr.JsonAdapter(new rwr.FileAdapter(this.filename,i),n)}};LE.Config=bue;var Eue=class{adapter;saveOnPush;separator;constructor(e,r=!0,n="/"){this.adapter=e,this.saveOnPush=r,this.separator=n}};LE.ConfigWithAdapter=Eue});var ldt=E(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.JsonDB=Ji.FileAdapter=Ji.JsonAdapter=Ji.DataError=Ji.DatabaseError=Ji.ConfigWithAdapter=Ji.Config=void 0;var odt=zlt(),Yi=DE(),nwr=Zlt(),swr=pue(),_ue=idt(),cdt=adt();Object.defineProperty(Ji,"Config",{enumerable:!0,get:function(){return cdt.Config}});Object.defineProperty(Ji,"ConfigWithAdapter",{enumerable:!0,get:function(){return cdt.ConfigWithAdapter}});var udt=DE();Object.defineProperty(Ji,"DatabaseError",{enumerable:!0,get:function(){return udt.DatabaseError}});Object.defineProperty(Ji,"DataError",{enumerable:!0,get:function(){return udt.DataError}});var iwr=Aue();Object.defineProperty(Ji,"JsonAdapter",{enumerable:!0,get:function(){return iwr.JsonAdapter}});var awr=xue();Object.defineProperty(Ji,"FileAdapter",{enumerable:!0,get:function(){return awr.FileAdapter}});var Sue=class{loaded=!1;data={};config;constructor(e){this.config=e}processDataPath(e){if(e===void 0||!e.trim())throw new Yi.DataError("The Data Path can't be empty",6);if(e==this.config.separator)return[];e=(0,odt.removeTrailingChar)(e,this.config.separator);let r=e.split(this.config.separator);return r.shift(),r}async retrieveData(e,r=!1){await this.load();let n=this,s=(i,a)=>{let o=e[a];function c(l=!1){if(i.hasOwnProperty(o))i=i[o];else if(r)l?i[o]=[]:i[o]={},i=i[o];else throw new Yi.DataError(`Can't find dataPath: ${n.config.separator}${e.join(n.config.separator)}. Stopped at ${o}`,5)}let u=swr.ArrayInfo.processArray(o);if(u){if(o=u.property,c(!0),!Array.isArray(i))throw new Yi.DataError(`DataPath: ${n.config.separator}${e.join(n.config.separator)}. ${o} is not an array.`,11);let l=u.getIndex(i,!0);if(!u.append&&i.hasOwnProperty(l))i=u.getData(i);else if(r)u.append?(i.push({}),i=i[i.length-1]):(i[l]={},i=i[l]);else throw new Yi.DataError(`DataPath: ${n.config.separator}${e.join(n.config.separator)}. . Can't find index ${u.index} in array ${o}`,10)}else c();return e.length==++a?i:s(i,a)};return e.length===0?this.data:s(this.data,0)}async getParentData(e,r){let n=this.processDataPath(e),s=n.pop();return new nwr.DBParentData(await this.retrieveData(n,r),this,e,s)}getData(e){return(0,_ue.readLockAsync)(async()=>{let r=this.processDataPath(e);return this.retrieveData(r,!1)})}getObject(e){return this.getData(e)}async getObjectDefault(e,r){try{return await this.getData(e)}catch(n){if(!(n instanceof Yi.DataError)||n.id!=5)throw n;return r}}async exists(e){try{return await this.getData(e),!0}catch(r){if(r instanceof Yi.DataError)return!1;throw r}}async count(e){let r=await this.getData(e);if(!Array.isArray(r))throw new Yi.DataError(`DataPath: ${e} is not an array.`,11);let n=this.processDataPath(e);return(await this.retrieveData(n,!1)).length}async getIndex(e,r,n="id"){return(await this.getArrayData(e)).map(function(i){return i[n]}).indexOf(r)}async getIndexValue(e,r){return(await this.getArrayData(e)).indexOf(r)}async getArrayData(e){let r=await this.getData(e);if(!Array.isArray(r))throw new Yi.DataError(`DataPath: ${e} is not an array.`,11);let n=this.processDataPath(e);return this.retrieveData(n,!1)}async filter(e,r){let n=await this.getData(e);if(Array.isArray(n))return n.filter(r);if(n instanceof Object){let i=Object.entries(n).filter(a=>r(a[1],a[0]));return!i||i.length<1?void 0:i.map(a=>a[1])}throw new Yi.DataError("The entry at the path ("+e+") needs to be either an Object or an Array",12)}async find(e,r){let n=await this.getData(e);if(Array.isArray(n))return n.find(r);if(n instanceof Object){let i=Object.entries(n).find(a=>r(a[1],a[0]));return!i||i.length<2?void 0:i[1]}throw new Yi.DataError("The entry at the path ("+e+") needs to be either an Object or an Array",12)}async push(e,r,n=!0){return(0,_ue.writeLockAsync)(async()=>{let s=await this.getParentData(e,!0),i=r;if(!n){if(Array.isArray(r)){let a=s.getData();if(a===void 0)a=[];else if(!Array.isArray(a))throw new Yi.DataError("Can't merge another type of data with an Array",3);i=a.concat(r)}else if(r===Object(r)){if(Array.isArray(s.getData()))throw new Yi.DataError("Can't merge an Array with an Object",4);i=(0,odt.merge)(s.getData(),r)}}s.setData(i),this.config.saveOnPush&&await this.save()})}async delete(e){await(0,_ue.writeLockAsync)(async()=>{(await this.getParentData(e,!0)).delete(),this.config.saveOnPush&&await this.save()})}resetData(e){this.data=e}async reload(){this.loaded=!1,await this.load()}async load(){if(!this.loaded)try{this.data=await this.config.adapter.readAsync(),this.loaded=!0}catch(e){throw new Yi.DatabaseError("Can't Load Database",1,e)}}async save(e){if(e=e||!1,!e&&!this.loaded)throw new Yi.DatabaseError("DataBase not loaded. Can't write",7);try{await this.config.adapter.writeAsync(this.data)}catch(r){throw new Yi.DatabaseError("Can't save the database",2,r)}}async fromPath(e,r="id"){let[,...n]=e.split("/"),s=n.reduce((a,o,c)=>{if(c%2===0)a[`${o}`]="";else{let l=Object.keys(a);a[`${l[l.length-1]}`]=`${o}`}return a},{}),i=[];for await(let a of Object.keys(s)){i.push(`/${a}`);let o=s[a];try{let c=await this.getIndex(i.join(""),o,r);i.push(`[${c}]`)}catch(c){throw new Yi.DataError(`DataPath: ${i.join("")}/${o} not found.`,13,c)}}return i.join("")}};Ji.JsonDB=Sue});var fOr={};is(fOr,{start:()=>lOr,stop:()=>dOr});module.exports=K0t(fOr);var fpt=Re(Zwe(),1);var OE=Re(require("node:fs/promises"),1),Ms=Re(require("node:path"),1),PM=require("node:crypto"),Llt=require("node:module"),nue=require("node:url");function NS(t,e){return function(){return t.apply(e,arguments)}}var{toString:rqt}=Object.prototype,{getPrototypeOf:bj}=Object,s3=(t=>e=>{let r=rqt.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),ul=t=>(t=t.toLowerCase(),e=>s3(e)===t),i3=t=>e=>typeof e===t,{isArray:sx}=Array,OS=i3("undefined");function nqt(t){return t!==null&&!OS(t)&&t.constructor!==null&&!OS(t.constructor)&&uc(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var r2e=ul("ArrayBuffer");function sqt(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&r2e(t.buffer),e}var iqt=i3("string"),uc=i3("function"),n2e=i3("number"),a3=t=>t!==null&&typeof t=="object",aqt=t=>t===!0||t===!1,n3=t=>{if(s3(t)!=="object")return!1;let e=bj(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},oqt=ul("Date"),cqt=ul("File"),uqt=ul("Blob"),lqt=ul("FileList"),dqt=t=>a3(t)&&uc(t.pipe),fqt=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||uc(t.append)&&((e=s3(t))==="formdata"||e==="object"&&uc(t.toString)&&t.toString()==="[object FormData]"))},pqt=ul("URLSearchParams"),mqt=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function PS(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let n,s;if(typeof t!="object"&&(t=[t]),sx(t))for(n=0,s=t.length;n<s;n++)e.call(null,t[n],n,t);else{let i=r?Object.getOwnPropertyNames(t):Object.keys(t),a=i.length,o;for(n=0;n<a;n++)o=i[n],e.call(null,t[o],o,t)}}function s2e(t,e){e=e.toLowerCase();let r=Object.keys(t),n=r.length,s;for(;n-- >0;)if(s=r[n],e===s.toLowerCase())return s;return null}var i2e=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,a2e=t=>!OS(t)&&t!==i2e;function xj(){let{caseless:t}=a2e(this)&&this||{},e={},r=(n,s)=>{let i=t&&s2e(e,s)||s;n3(e[i])&&n3(n)?e[i]=xj(e[i],n):n3(n)?e[i]=xj({},n):sx(n)?e[i]=n.slice():e[i]=n};for(let n=0,s=arguments.length;n<s;n++)arguments[n]&&PS(arguments[n],r);return e}var hqt=(t,e,r,{allOwnKeys:n}={})=>(PS(e,(s,i)=>{r&&uc(s)?t[i]=NS(s,r):t[i]=s},{allOwnKeys:n}),t),gqt=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Aqt=(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},yqt=(t,e,r,n)=>{let s,i,a,o={};if(e=e||{},t==null)return e;do{for(s=Object.getOwnPropertyNames(t),i=s.length;i-- >0;)a=s[i],(!n||n(a,t,e))&&!o[a]&&(e[a]=t[a],o[a]=!0);t=r!==!1&&bj(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},xqt=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return n!==-1&&n===r},bqt=t=>{if(!t)return null;if(sx(t))return t;let e=t.length;if(!n2e(e))return null;let r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},Eqt=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&bj(Uint8Array)),_qt=(t,e)=>{let n=(t&&t[Symbol.iterator]).call(t),s;for(;(s=n.next())&&!s.done;){let i=s.value;e.call(t,i[0],i[1])}},Sqt=(t,e)=>{let r,n=[];for(;(r=t.exec(e))!==null;)n.push(r);return n},vqt=ul("HTMLFormElement"),Cqt=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,s){return n.toUpperCase()+s}),e2e=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),Iqt=ul("RegExp"),o2e=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};PS(r,(s,i)=>{let a;(a=e(s,i,t))!==!1&&(n[i]=a||s)}),Object.defineProperties(t,n)},Tqt=t=>{o2e(t,(e,r)=>{if(uc(t)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=t[r];if(uc(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},wqt=(t,e)=>{let r={},n=s=>{s.forEach(i=>{r[i]=!0})};return sx(t)?n(t):n(String(t).split(e)),r},Rqt=()=>{},Nqt=(t,e)=>(t=+t,Number.isFinite(t)?t:e),yj="abcdefghijklmnopqrstuvwxyz",t2e="0123456789",c2e={DIGIT:t2e,ALPHA:yj,ALPHA_DIGIT:yj+yj.toUpperCase()+t2e},Oqt=(t=16,e=c2e.ALPHA_DIGIT)=>{let r="",{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r};function Pqt(t){return!!(t&&uc(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}var Dqt=t=>{let e=new Array(10),r=(n,s)=>{if(a3(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[s]=n;let i=sx(n)?[]:{};return PS(n,(a,o)=>{let c=r(a,s+1);!OS(c)&&(i[o]=c)}),e[s]=void 0,i}}return n};return r(t,0)},kqt=ul("AsyncFunction"),Lqt=t=>t&&(a3(t)||uc(t))&&uc(t.then)&&uc(t.catch),le={isArray:sx,isArrayBuffer:r2e,isBuffer:nqt,isFormData:fqt,isArrayBufferView:sqt,isString:iqt,isNumber:n2e,isBoolean:aqt,isObject:a3,isPlainObject:n3,isUndefined:OS,isDate:oqt,isFile:cqt,isBlob:uqt,isRegExp:Iqt,isFunction:uc,isStream:dqt,isURLSearchParams:pqt,isTypedArray:Eqt,isFileList:lqt,forEach:PS,merge:xj,extend:hqt,trim:mqt,stripBOM:gqt,inherits:Aqt,toFlatObject:yqt,kindOf:s3,kindOfTest:ul,endsWith:xqt,toArray:bqt,forEachEntry:_qt,matchAll:Sqt,isHTMLForm:vqt,hasOwnProperty:e2e,hasOwnProp:e2e,reduceDescriptors:o2e,freezeMethods:Tqt,toObjectSet:wqt,toCamelCase:Cqt,noop:Rqt,toFiniteNumber:Nqt,findKey:s2e,global:i2e,isContextDefined:a2e,ALPHABET:c2e,generateString:Oqt,isSpecCompliantForm:Pqt,toJSONObject:Dqt,isAsyncFn:kqt,isThenable:Lqt};function ix(t,e,r,n,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),s&&(this.response=s)}le.inherits(ix,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:le.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var u2e=ix.prototype,l2e={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{l2e[t]={value:t}});Object.defineProperties(ix,l2e);Object.defineProperty(u2e,"isAxiosError",{value:!0});ix.from=(t,e,r,n,s,i)=>{let a=Object.create(u2e);return le.toFlatObject(t,a,function(c){return c!==Error.prototype},o=>o!=="isAxiosError"),ix.call(a,t.message,e,r,n,s),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};var Xe=ix;var fNe=Re(dNe(),1),g3=fNe.default;function Uj(t){return le.isPlainObject(t)||le.isArray(t)}function mNe(t){return le.endsWith(t,"[]")?t.slice(0,-2):t}function pNe(t,e,r){return t?t.concat(e).map(function(s,i){return s=mNe(s),!r&&i?"["+s+"]":s}).join(r?".":""):e}function bHt(t){return le.isArray(t)&&!t.some(Uj)}var EHt=le.toFlatObject(le,{},null,function(e){return/^is[A-Z]/.test(e)});function _Ht(t,e,r){if(!le.isObject(t))throw new TypeError("target must be an object");e=e||new(g3||FormData),r=le.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,A){return!le.isUndefined(A[h])});let n=r.metaTokens,s=r.visitor||l,i=r.dots,a=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&le.isSpecCompliantForm(e);if(!le.isFunction(s))throw new TypeError("visitor must be a function");function u(m){if(m===null)return"";if(le.isDate(m))return m.toISOString();if(!c&&le.isBlob(m))throw new Xe("Blob is not supported. Use a Buffer instead.");return le.isArrayBuffer(m)||le.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function l(m,h,A){let g=m;if(m&&!A&&typeof m=="object"){if(le.endsWith(h,"{}"))h=n?h:h.slice(0,-2),m=JSON.stringify(m);else if(le.isArray(m)&&bHt(m)||(le.isFileList(m)||le.endsWith(h,"[]"))&&(g=le.toArray(m)))return h=mNe(h),g.forEach(function(y,x){!(le.isUndefined(y)||y===null)&&e.append(a===!0?pNe([h],x,i):a===null?h:h+"[]",u(y))}),!1}return Uj(m)?!0:(e.append(pNe(A,h,i),u(m)),!1)}let d=[],f=Object.assign(EHt,{defaultVisitor:l,convertValue:u,isVisitable:Uj});function p(m,h){if(!le.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(m),le.forEach(m,function(g,b){(!(le.isUndefined(g)||g===null)&&s.call(e,g,le.isString(b)?b.trim():b,h,f))===!0&&p(g,h?h.concat(b):[b])}),d.pop()}}if(!le.isObject(t))throw new TypeError("data must be an object");return p(t),e}var Kp=_Ht;function hNe(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function gNe(t,e){this._pairs=[],t&&Kp(t,this,e)}var ANe=gNe.prototype;ANe.append=function(e,r){this._pairs.push([e,r])};ANe.toString=function(e){let r=e?function(n){return e.call(this,n,hNe)}:hNe;return this._pairs.map(function(s){return r(s[0])+"="+r(s[1])},"").join("&")};var yNe=gNe;function SHt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function fh(t,e,r){if(!e)return t;let n=r&&r.encode||SHt,s=r&&r.serialize,i;if(s?i=s(e,r):i=le.isURLSearchParams(e)?e.toString():new yNe(e,r).toString(n),i){let a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t}var qj=class{constructor(){this.handlers=[]}use(e,r,n){return this.handlers.push({fulfilled:e,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){le.forEach(this.handlers,function(n){n!==null&&e(n)})}},jj=qj;var lx={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var xNe=Re(require("url"),1),bNe=xNe.default.URLSearchParams;var ENe={isNode:!0,classes:{URLSearchParams:bNe,FormData:g3,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};var Hj={};is(Hj,{hasBrowserEnv:()=>_Ne,hasStandardBrowserEnv:()=>vHt,hasStandardBrowserWebWorkerEnv:()=>CHt});var _Ne=typeof window<"u"&&typeof document<"u",vHt=(t=>_Ne&&["ReactNative","NativeScript","NS"].indexOf(t)<0)(typeof navigator<"u"&&navigator.product),CHt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function";var ws={...Hj,...ENe};function Qj(t,e){return Kp(t,new ws.classes.URLSearchParams,Object.assign({visitor:function(r,n,s,i){return ws.isNode&&le.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}function IHt(t){return le.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function THt(t){let e={},r=Object.keys(t),n,s=r.length,i;for(n=0;n<s;n++)i=r[n],e[i]=t[i];return e}function wHt(t){function e(r,n,s,i){let a=r[i++];if(a==="__proto__")return!0;let o=Number.isFinite(+a),c=i>=r.length;return a=!a&&le.isArray(s)?s.length:a,c?(le.hasOwnProp(s,a)?s[a]=[s[a],n]:s[a]=n,!o):((!s[a]||!le.isObject(s[a]))&&(s[a]=[]),e(r,n,s[a],i)&&le.isArray(s[a])&&(s[a]=THt(s[a])),!o)}if(le.isFormData(t)&&le.isFunction(t.entries)){let r={};return le.forEachEntry(t,(n,s)=>{e(IHt(n),s,r,0)}),r}return null}var A3=wHt;function RHt(t,e,r){if(le.isString(t))try{return(e||JSON.parse)(t),le.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}var Gj={transitional:lx,adapter:["xhr","http"],transformRequest:[function(e,r){let n=r.getContentType()||"",s=n.indexOf("application/json")>-1,i=le.isObject(e);if(i&&le.isHTMLForm(e)&&(e=new FormData(e)),le.isFormData(e))return s?JSON.stringify(A3(e)):e;if(le.isArrayBuffer(e)||le.isBuffer(e)||le.isStream(e)||le.isFile(e)||le.isBlob(e))return e;if(le.isArrayBufferView(e))return e.buffer;if(le.isURLSearchParams(e))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Qj(e,this.formSerializer).toString();if((o=le.isFileList(e))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return Kp(o?{"files[]":e}:e,c&&new c,this.formSerializer)}}return i||s?(r.setContentType("application/json",!1),RHt(e)):e}],transformResponse:[function(e){let r=this.transitional||Gj.transitional,n=r&&r.forcedJSONParsing,s=this.responseType==="json";if(e&&le.isString(e)&&(n&&!this.responseType||s)){let a=!(r&&r.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(o){if(a)throw o.name==="SyntaxError"?Xe.from(o,Xe.ERR_BAD_RESPONSE,this,null,this.response):o}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ws.classes.FormData,Blob:ws.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};le.forEach(["delete","get","head","post","put","patch"],t=>{Gj.headers[t]={}});var dx=Gj;var NHt=le.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),SNe=t=>{let e={},r,n,s;return t&&t.split(`
|
|
`).forEach(function(a){s=a.indexOf(":"),r=a.substring(0,s).trim().toLowerCase(),n=a.substring(s+1).trim(),!(!r||e[r]&&NHt[r])&&(r==="set-cookie"?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)}),e};var vNe=Symbol("internals");function WS(t){return t&&String(t).trim().toLowerCase()}function y3(t){return t===!1||t==null?t:le.isArray(t)?t.map(y3):String(t)}function OHt(t){let e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}var PHt=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Vj(t,e,r,n,s){if(le.isFunction(n))return n.call(this,e,r);if(s&&(e=r),!!le.isString(e)){if(le.isString(n))return e.indexOf(n)!==-1;if(le.isRegExp(n))return n.test(e)}}function DHt(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,n)=>r.toUpperCase()+n)}function kHt(t,e){let r=le.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{value:function(s,i,a){return this[n].call(this,e,s,i,a)},configurable:!0})})}var fx=class{constructor(e){e&&this.set(e)}set(e,r,n){let s=this;function i(o,c,u){let l=WS(c);if(!l)throw new Error("header name must be a non-empty string");let d=le.findKey(s,l);(!d||s[d]===void 0||u===!0||u===void 0&&s[d]!==!1)&&(s[d||c]=y3(o))}let a=(o,c)=>le.forEach(o,(u,l)=>i(u,l,c));return le.isPlainObject(e)||e instanceof this.constructor?a(e,r):le.isString(e)&&(e=e.trim())&&!PHt(e)?a(SNe(e),r):e!=null&&i(r,e,n),this}get(e,r){if(e=WS(e),e){let n=le.findKey(this,e);if(n){let s=this[n];if(!r)return s;if(r===!0)return OHt(s);if(le.isFunction(r))return r.call(this,s,n);if(le.isRegExp(r))return r.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,r){if(e=WS(e),e){let n=le.findKey(this,e);return!!(n&&this[n]!==void 0&&(!r||Vj(this,this[n],n,r)))}return!1}delete(e,r){let n=this,s=!1;function i(a){if(a=WS(a),a){let o=le.findKey(n,a);o&&(!r||Vj(n,n[o],o,r))&&(delete n[o],s=!0)}}return le.isArray(e)?e.forEach(i):i(e),s}clear(e){let r=Object.keys(this),n=r.length,s=!1;for(;n--;){let i=r[n];(!e||Vj(this,this[i],i,e,!0))&&(delete this[i],s=!0)}return s}normalize(e){let r=this,n={};return le.forEach(this,(s,i)=>{let a=le.findKey(n,i);if(a){r[a]=y3(s),delete r[i];return}let o=e?DHt(i):String(i).trim();o!==i&&delete r[i],r[o]=y3(s),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let r=Object.create(null);return le.forEach(this,(n,s)=>{n!=null&&n!==!1&&(r[s]=e&&le.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,r])=>e+": "+r).join(`
|
|
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...r){let n=new this(e);return r.forEach(s=>n.set(s)),n}static accessor(e){let n=(this[vNe]=this[vNe]={accessors:{}}).accessors,s=this.prototype;function i(a){let o=WS(a);n[o]||(kHt(s,a),n[o]=!0)}return le.isArray(e)?e.forEach(i):i(e),this}};fx.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);le.reduceDescriptors(fx.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[r]=n}}});le.freezeMethods(fx);var Rs=fx;function $S(t,e){let r=this||dx,n=e||r,s=Rs.from(n.headers),i=n.data;return le.forEach(t,function(o){i=o.call(r,i,s.normalize(),e?e.status:void 0)}),s.normalize(),i}function FS(t){return!!(t&&t.__CANCEL__)}function CNe(t,e,r){Xe.call(this,t??"canceled",Xe.ERR_CANCELED,e,r),this.name="CanceledError"}le.inherits(CNe,Xe,{__CANCEL__:!0});var ru=CNe;function Yp(t,e,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new Xe("Request failed with status code "+r.status,[Xe.ERR_BAD_REQUEST,Xe.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function zj(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Kj(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function ph(t,e){return t&&!zj(e)?Kj(t,e):e}var aOe=Re(TNe(),1),oOe=Re(require("http"),1),cOe=Re(require("https"),1),uOe=Re(require("util"),1),lOe=Re(GNe(),1),Bd=Re(require("zlib"),1);var Ah="1.6.7";function QS(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}var xQt=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function fH(t,e,r){let n=r&&r.Blob||ws.classes.Blob,s=QS(t);if(e===void 0&&n&&(e=!0),s==="data"){t=s.length?t.slice(s.length+1):t;let i=xQt.exec(t);if(!i)throw new Xe("Invalid URL",Xe.ERR_INVALID_URL);let a=i[1],o=i[2],c=i[3],u=Buffer.from(decodeURIComponent(c),o?"base64":"utf8");if(e){if(!n)throw new Xe("Blob is not supported",Xe.ERR_NOT_SUPPORT);return new n([u],{type:a})}return u}throw new Xe("Unsupported protocol "+s,Xe.ERR_NOT_SUPPORT)}var yh=Re(require("stream"),1);var zNe=Re(require("stream"),1);function bQt(t,e){let r=0,n=1e3/e,s=null;return function(a,o){let c=Date.now();if(a||c-r>n)return s&&(clearTimeout(s),s=null),r=c,t.apply(null,o);s||(s=setTimeout(()=>(s=null,r=Date.now(),t.apply(null,o)),n-(c-r)))}}var VNe=bQt;function EQt(t,e){t=t||10;let r=new Array(t),n=new Array(t),s=0,i=0,a;return e=e!==void 0?e:1e3,function(c){let u=Date.now(),l=n[i];a||(a=u),r[s]=c,n[s]=u;let d=i,f=0;for(;d!==s;)f+=r[d++],d=d%t;if(s=(s+1)%t,s===i&&(i=(i+1)%t),u-a<e)return;let p=l&&u-l;return p?Math.round(f*1e3/p):void 0}}var S3=EQt;var v3=Symbol("internals"),pH=class extends zNe.default.Transform{constructor(e){e=le.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(o,c)=>!le.isUndefined(c[o])),super({readableHighWaterMark:e.chunkSize});let r=this,n=this[v3]={length:e.length,timeWindow:e.timeWindow,ticksRate:e.ticksRate,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null},s=S3(n.ticksRate*e.samplesCount,n.timeWindow);this.on("newListener",o=>{o==="progress"&&(n.isCaptured||(n.isCaptured=!0))});let i=0;n.updateProgress=VNe(function(){let c=n.length,u=n.bytesSeen,l=u-i;if(!l||r.destroyed)return;let d=s(l);i=u,process.nextTick(()=>{r.emit("progress",{loaded:u,total:c,progress:c?u/c:void 0,bytes:l,rate:d||void 0,estimated:d&&c&&u<=c?(c-u)/d:void 0})})},n.ticksRate);let a=()=>{n.updateProgress(!0)};this.once("end",a),this.once("error",a)}_read(e){let r=this[v3];return r.onReadCallback&&r.onReadCallback(),super._read(e)}_transform(e,r,n){let s=this,i=this[v3],a=i.maxRate,o=this.readableHighWaterMark,c=i.timeWindow,u=1e3/c,l=a/u,d=i.minChunkSize!==!1?Math.max(i.minChunkSize,l*.01):0;function f(m,h){let A=Buffer.byteLength(m);i.bytesSeen+=A,i.bytes+=A,i.isCaptured&&i.updateProgress(),s.push(m)?process.nextTick(h):i.onReadCallback=()=>{i.onReadCallback=null,process.nextTick(h)}}let p=(m,h)=>{let A=Buffer.byteLength(m),g=null,b=o,y,x=0;if(a){let v=Date.now();(!i.ts||(x=v-i.ts)>=c)&&(i.ts=v,y=l-i.bytes,i.bytes=y<0?-y:0,x=0),y=l-i.bytes}if(a){if(y<=0)return setTimeout(()=>{h(null,m)},c-x);y<b&&(b=y)}b&&A>b&&A-b>d&&(g=m.subarray(b),m=m.subarray(0,b)),f(m,g?()=>{process.nextTick(h,null,g)}:h)};p(e,function m(h,A){if(h)return n(h);A?p(A,m):n(null)})}setLength(e){return this[v3].length=+e,this}},mH=pH;var dOe=Re(require("events"),1);var YNe=require("util"),JNe=require("stream");var{asyncIterator:KNe}=Symbol,_Qt=async function*(t){t.stream?yield*t.stream():t.arrayBuffer?yield await t.arrayBuffer():t[KNe]?yield*t[KNe]():yield t},C3=_Qt;var SQt=le.ALPHABET.ALPHA_DIGIT+"-_",GS=new YNe.TextEncoder,Xp=`\r
|
|
`,vQt=GS.encode(Xp),CQt=2,hH=class{constructor(e,r){let{escapeName:n}=this.constructor,s=le.isString(r),i=`Content-Disposition: form-data; name="${n(e)}"${!s&&r.name?`; filename="${n(r.name)}"`:""}${Xp}`;s?r=GS.encode(String(r).replace(/\r?\n|\r\n?/g,Xp)):i+=`Content-Type: ${r.type||"application/octet-stream"}${Xp}`,this.headers=GS.encode(i+Xp),this.contentLength=s?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+CQt,this.name=e,this.value=r}async*encode(){yield this.headers;let{value:e}=this;le.isTypedArray(e)?yield e:yield*C3(e),yield vQt}static escapeName(e){return String(e).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},IQt=(t,e,r)=>{let{tag:n="form-data-boundary",size:s=25,boundary:i=n+"-"+le.generateString(s,SQt)}=r||{};if(!le.isFormData(t))throw TypeError("FormData instance required");if(i.length<1||i.length>70)throw Error("boundary must be 10-70 characters long");let a=GS.encode("--"+i+Xp),o=GS.encode("--"+i+"--"+Xp+Xp),c=o.byteLength,u=Array.from(t.entries()).map(([d,f])=>{let p=new hH(d,f);return c+=p.size,p});c+=a.byteLength*u.length,c=le.toFiniteNumber(c);let l={"Content-Type":`multipart/form-data; boundary=${i}`};return Number.isFinite(c)&&(l["Content-Length"]=c),e&&e(l),JNe.Readable.from(async function*(){for(let d of u)yield a,yield*d.encode();yield o}())},XNe=IQt;var ZNe=Re(require("stream"),1),gH=class extends ZNe.default.Transform{__transform(e,r,n){this.push(e),n()}_transform(e,r,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let s=Buffer.alloc(2);s[0]=120,s[1]=156,this.push(s,r)}this.__transform(e,r,n)}},eOe=gH;var TQt=(t,e)=>le.isAsyncFn(t)?function(...r){let n=r.pop();t.apply(this,r).then(s=>{try{e?n(null,...e(s)):n(null,s)}catch(i){n(i)}},n)}:t,tOe=TQt;var rOe={flush:Bd.default.constants.Z_SYNC_FLUSH,finishFlush:Bd.default.constants.Z_SYNC_FLUSH},wQt={flush:Bd.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Bd.default.constants.BROTLI_OPERATION_FLUSH},nOe=le.isFunction(Bd.default.createBrotliDecompress),{http:RQt,https:NQt}=lOe.default,OQt=/https:?/,sOe=ws.protocols.map(t=>t+":");function PQt(t,e){t.beforeRedirects.proxy&&t.beforeRedirects.proxy(t),t.beforeRedirects.config&&t.beforeRedirects.config(t,e)}function fOe(t,e,r){let n=e;if(!n&&n!==!1){let s=(0,aOe.getProxyForUrl)(r);s&&(n=new URL(s))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let i=Buffer.from(n.auth,"utf8").toString("base64");t.headers["Proxy-Authorization"]="Basic "+i}t.headers.host=t.hostname+(t.port?":"+t.port:"");let s=n.hostname||n.host;t.hostname=s,t.host=s,t.port=n.port,t.path=r,n.protocol&&(t.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}t.beforeRedirects.proxy=function(i){fOe(i,e,i.href)}}var DQt=typeof process<"u"&&le.kindOf(process)==="process",kQt=t=>new Promise((e,r)=>{let n,s,i=(c,u)=>{s||(s=!0,n&&n(c,u))},a=c=>{i(c),e(c)},o=c=>{i(c,!0),r(c)};t(a,o,c=>n=c).catch(o)}),LQt=({address:t,family:e})=>{if(!le.isString(t))throw TypeError("address must be a string");return{address:t,family:e||(t.indexOf(".")<0?6:4)}},iOe=(t,e)=>LQt(le.isObject(t)?t:{address:t,family:e}),pOe=DQt&&function(e){return kQt(async function(n,s,i){let{data:a,lookup:o,family:c}=e,{responseType:u,responseEncoding:l}=e,d=e.method.toUpperCase(),f,p=!1,m;if(o){let F=tOe(o,V=>le.isArray(V)?V:[V]);o=(V,j,J)=>{F(V,j,(se,oe,ue)=>{if(se)return J(se);let Ce=le.isArray(oe)?oe.map(we=>iOe(we)):[iOe(oe,ue)];j.all?J(se,Ce):J(se,Ce[0].address,Ce[0].family)})}}let h=new dOe.default,A=()=>{e.cancelToken&&e.cancelToken.unsubscribe(g),e.signal&&e.signal.removeEventListener("abort",g),h.removeAllListeners()};i((F,V)=>{f=!0,V&&(p=!0,A())});function g(F){h.emit("abort",!F||F.type?new ru(null,e,m):F)}h.once("abort",s),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(g),e.signal&&(e.signal.aborted?g():e.signal.addEventListener("abort",g)));let b=ph(e.baseURL,e.url),y=new URL(b,"http://localhost"),x=y.protocol||sOe[0];if(x==="data:"){let F;if(d!=="GET")return Yp(n,s,{status:405,statusText:"method not allowed",headers:{},config:e});try{F=fH(e.url,u==="blob",{Blob:e.env&&e.env.Blob})}catch(V){throw Xe.from(V,Xe.ERR_BAD_REQUEST,e)}return u==="text"?(F=F.toString(l),(!l||l==="utf8")&&(F=le.stripBOM(F))):u==="stream"&&(F=yh.default.Readable.from(F)),Yp(n,s,{data:F,status:200,statusText:"OK",headers:new Rs,config:e})}if(sOe.indexOf(x)===-1)return s(new Xe("Unsupported protocol "+x,Xe.ERR_BAD_REQUEST,e));let v=Rs.from(e.headers).normalize();v.set("User-Agent","axios/"+Ah,!1);let C=e.onDownloadProgress,R=e.onUploadProgress,w=e.maxRate,N,P;if(le.isSpecCompliantForm(a)){let F=v.getContentType(/boundary=([-_\w\d]{10,70})/i);a=XNe(a,V=>{v.set(V)},{tag:`axios-${Ah}-boundary`,boundary:F&&F[1]||void 0})}else if(le.isFormData(a)&&le.isFunction(a.getHeaders)){if(v.set(a.getHeaders()),!v.hasContentLength())try{let F=await uOe.default.promisify(a.getLength).call(a);Number.isFinite(F)&&F>=0&&v.setContentLength(F)}catch{}}else if(le.isBlob(a))a.size&&v.setContentType(a.type||"application/octet-stream"),v.setContentLength(a.size||0),a=yh.default.Readable.from(C3(a));else if(a&&!le.isStream(a)){if(!Buffer.isBuffer(a))if(le.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(le.isString(a))a=Buffer.from(a,"utf-8");else return s(new Xe("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",Xe.ERR_BAD_REQUEST,e));if(v.setContentLength(a.length,!1),e.maxBodyLength>-1&&a.length>e.maxBodyLength)return s(new Xe("Request body larger than maxBodyLength limit",Xe.ERR_BAD_REQUEST,e))}let L=le.toFiniteNumber(v.getContentLength());le.isArray(w)?(N=w[0],P=w[1]):N=P=w,a&&(R||N)&&(le.isStream(a)||(a=yh.default.Readable.from(a,{objectMode:!1})),a=yh.default.pipeline([a,new mH({length:L,maxRate:le.toFiniteNumber(N)})],le.noop),R&&a.on("progress",F=>{R(Object.assign(F,{upload:!0}))}));let M;if(e.auth){let F=e.auth.username||"",V=e.auth.password||"";M=F+":"+V}if(!M&&y.username){let F=y.username,V=y.password;M=F+":"+V}M&&v.delete("authorization");let k;try{k=fh(y.pathname+y.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(F){let V=new Error(F.message);return V.config=e,V.url=e.url,V.exists=!0,s(V)}v.set("Accept-Encoding","gzip, compress, deflate"+(nOe?", br":""),!1);let B={path:k,method:d,headers:v.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:M,protocol:x,family:c,beforeRedirect:PQt,beforeRedirects:{}};!le.isUndefined(o)&&(B.lookup=o),e.socketPath?B.socketPath=e.socketPath:(B.hostname=y.hostname,B.port=y.port,fOe(B,e.proxy,x+"//"+y.hostname+(y.port?":"+y.port:"")+B.path));let Z,W=OQt.test(B.protocol);if(B.agent=W?e.httpsAgent:e.httpAgent,e.transport?Z=e.transport:e.maxRedirects===0?Z=W?cOe.default:oOe.default:(e.maxRedirects&&(B.maxRedirects=e.maxRedirects),e.beforeRedirect&&(B.beforeRedirects.config=e.beforeRedirect),Z=W?NQt:RQt),e.maxBodyLength>-1?B.maxBodyLength=e.maxBodyLength:B.maxBodyLength=1/0,e.insecureHTTPParser&&(B.insecureHTTPParser=e.insecureHTTPParser),m=Z.request(B,function(V){if(m.destroyed)return;let j=[V],J=+V.headers["content-length"];if(C){let we=new mH({length:le.toFiniteNumber(J),maxRate:le.toFiniteNumber(P)});C&&we.on("progress",qe=>{C(Object.assign(qe,{download:!0}))}),j.push(we)}let se=V,oe=V.req||m;if(e.decompress!==!1&&V.headers["content-encoding"])switch((d==="HEAD"||V.statusCode===204)&&delete V.headers["content-encoding"],(V.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":j.push(Bd.default.createUnzip(rOe)),delete V.headers["content-encoding"];break;case"deflate":j.push(new eOe),j.push(Bd.default.createUnzip(rOe)),delete V.headers["content-encoding"];break;case"br":nOe&&(j.push(Bd.default.createBrotliDecompress(wQt)),delete V.headers["content-encoding"])}se=j.length>1?yh.default.pipeline(j,le.noop):j[0];let ue=yh.default.finished(se,()=>{ue(),A()}),Ce={status:V.statusCode,statusText:V.statusMessage,headers:new Rs(V.headers),config:e,request:oe};if(u==="stream")Ce.data=se,Yp(n,s,Ce);else{let we=[],qe=0;se.on("data",function(_e){we.push(_e),qe+=_e.length,e.maxContentLength>-1&&qe>e.maxContentLength&&(p=!0,se.destroy(),s(new Xe("maxContentLength size of "+e.maxContentLength+" exceeded",Xe.ERR_BAD_RESPONSE,e,oe)))}),se.on("aborted",function(){if(p)return;let _e=new Xe("maxContentLength size of "+e.maxContentLength+" exceeded",Xe.ERR_BAD_RESPONSE,e,oe);se.destroy(_e),s(_e)}),se.on("error",function(_e){m.destroyed||s(Xe.from(_e,null,e,oe))}),se.on("end",function(){try{let _e=we.length===1?we[0]:Buffer.concat(we);u!=="arraybuffer"&&(_e=_e.toString(l),(!l||l==="utf8")&&(_e=le.stripBOM(_e))),Ce.data=_e}catch(_e){return s(Xe.from(_e,null,e,Ce.request,Ce))}Yp(n,s,Ce)})}h.once("abort",we=>{se.destroyed||(se.emit("error",we),se.destroy())})}),h.once("abort",F=>{s(F),m.destroy(F)}),m.on("error",function(V){s(Xe.from(V,null,e,m))}),m.on("socket",function(V){V.setKeepAlive(!0,1e3*60)}),e.timeout){let F=parseInt(e.timeout,10);if(Number.isNaN(F)){s(new Xe("error trying to parse `config.timeout` to int",Xe.ERR_BAD_OPTION_VALUE,e,m));return}m.setTimeout(F,function(){if(f)return;let j=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",J=e.transitional||lx;e.timeoutErrorMessage&&(j=e.timeoutErrorMessage),s(new Xe(j,J.clarifyTimeoutError?Xe.ETIMEDOUT:Xe.ECONNABORTED,e,m)),g()})}if(le.isStream(a)){let F=!1,V=!1;a.on("end",()=>{F=!0}),a.once("error",j=>{V=!0,m.destroy(j)}),a.on("close",()=>{!F&&!V&&g(new ru("Request stream has been aborted",e,m))}),a.pipe(m)}else m.end(a)})};var mOe=ws.hasStandardBrowserEnv?{write(t,e,r,n,s,i){let a=[t+"="+encodeURIComponent(e)];le.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),le.isString(n)&&a.push("path="+n),le.isString(s)&&a.push("domain="+s),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){let e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var hOe=ws.hasStandardBrowserEnv?function(){let e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function s(i){let a=i;return e&&(r.setAttribute("href",a),a=r.href),r.setAttribute("href",a),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=s(window.location.href),function(a){let o=le.isString(a)?s(a):a;return o.protocol===n.protocol&&o.host===n.host}}():function(){return function(){return!0}}();function gOe(t,e){let r=0,n=S3(50,250);return s=>{let i=s.loaded,a=s.lengthComputable?s.total:void 0,o=i-r,c=n(o),u=i<=a;r=i;let l={loaded:i,total:a,progress:a?i/a:void 0,bytes:o,rate:c||void 0,estimated:c&&a&&u?(a-i)/c:void 0,event:s};l[e?"download":"upload"]=!0,t(l)}}var BQt=typeof XMLHttpRequest<"u",AOe=BQt&&function(t){return new Promise(function(r,n){let s=t.data,i=Rs.from(t.headers).normalize(),{responseType:a,withXSRFToken:o}=t,c;function u(){t.cancelToken&&t.cancelToken.unsubscribe(c),t.signal&&t.signal.removeEventListener("abort",c)}let l;if(le.isFormData(s)){if(ws.hasStandardBrowserEnv||ws.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if((l=i.getContentType())!==!1){let[h,...A]=l?l.split(";").map(g=>g.trim()).filter(Boolean):[];i.setContentType([h||"multipart/form-data",...A].join("; "))}}let d=new XMLHttpRequest;if(t.auth){let h=t.auth.username||"",A=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";i.set("Authorization","Basic "+btoa(h+":"+A))}let f=ph(t.baseURL,t.url);d.open(t.method.toUpperCase(),fh(f,t.params,t.paramsSerializer),!0),d.timeout=t.timeout;function p(){if(!d)return;let h=Rs.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),g={data:!a||a==="text"||a==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:h,config:t,request:d};Yp(function(y){r(y),u()},function(y){n(y),u()},g),d=null}if("onloadend"in d?d.onloadend=p:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(p)},d.onabort=function(){d&&(n(new Xe("Request aborted",Xe.ECONNABORTED,t,d)),d=null)},d.onerror=function(){n(new Xe("Network Error",Xe.ERR_NETWORK,t,d)),d=null},d.ontimeout=function(){let A=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",g=t.transitional||lx;t.timeoutErrorMessage&&(A=t.timeoutErrorMessage),n(new Xe(A,g.clarifyTimeoutError?Xe.ETIMEDOUT:Xe.ECONNABORTED,t,d)),d=null},ws.hasStandardBrowserEnv&&(o&&le.isFunction(o)&&(o=o(t)),o||o!==!1&&hOe(f))){let h=t.xsrfHeaderName&&t.xsrfCookieName&&mOe.read(t.xsrfCookieName);h&&i.set(t.xsrfHeaderName,h)}s===void 0&&i.setContentType(null),"setRequestHeader"in d&&le.forEach(i.toJSON(),function(A,g){d.setRequestHeader(g,A)}),le.isUndefined(t.withCredentials)||(d.withCredentials=!!t.withCredentials),a&&a!=="json"&&(d.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&d.addEventListener("progress",gOe(t.onDownloadProgress,!0)),typeof t.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",gOe(t.onUploadProgress)),(t.cancelToken||t.signal)&&(c=h=>{d&&(n(!h||h.type?new ru(null,t,d):h),d.abort(),d=null)},t.cancelToken&&t.cancelToken.subscribe(c),t.signal&&(t.signal.aborted?c():t.signal.addEventListener("abort",c)));let m=QS(f);if(m&&ws.protocols.indexOf(m)===-1){n(new Xe("Unsupported protocol "+m+":",Xe.ERR_BAD_REQUEST,t));return}d.send(s||null)})};var AH={http:pOe,xhr:AOe};le.forEach(AH,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var yOe=t=>`- ${t}`,MQt=t=>le.isFunction(t)||t===null||t===!1,I3={getAdapter:t=>{t=le.isArray(t)?t:[t];let{length:e}=t,r,n,s={};for(let i=0;i<e;i++){r=t[i];let a;if(n=r,!MQt(r)&&(n=AH[(a=String(r)).toLowerCase()],n===void 0))throw new Xe(`Unknown adapter '${a}'`);if(n)break;s[a||"#"+i]=n}if(!n){let i=Object.entries(s).map(([o,c])=>`adapter ${o} `+(c===!1?"is not supported by the environment":"is not available in the build")),a=e?i.length>1?`since :
|
|
`+i.map(yOe).join(`
|
|
`):" "+yOe(i[0]):"as no adapter specified";throw new Xe("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n},adapters:AH};function yH(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ru(null,t)}function T3(t){return yH(t),t.headers=Rs.from(t.headers),t.data=$S.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),I3.getAdapter(t.adapter||dx.adapter)(t).then(function(n){return yH(t),n.data=$S.call(t,t.transformResponse,n),n.headers=Rs.from(n.headers),n},function(n){return FS(n)||(yH(t),n&&n.response&&(n.response.data=$S.call(t,t.transformResponse,n.response),n.response.headers=Rs.from(n.response.headers))),Promise.reject(n)})}var xOe=t=>t instanceof Rs?t.toJSON():t;function Md(t,e){e=e||{};let r={};function n(u,l,d){return le.isPlainObject(u)&&le.isPlainObject(l)?le.merge.call({caseless:d},u,l):le.isPlainObject(l)?le.merge({},l):le.isArray(l)?l.slice():l}function s(u,l,d){if(le.isUndefined(l)){if(!le.isUndefined(u))return n(void 0,u,d)}else return n(u,l,d)}function i(u,l){if(!le.isUndefined(l))return n(void 0,l)}function a(u,l){if(le.isUndefined(l)){if(!le.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function o(u,l,d){if(d in e)return n(u,l);if(d in t)return n(void 0,u)}let c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(u,l)=>s(xOe(u),xOe(l),!0)};return le.forEach(Object.keys(Object.assign({},t,e)),function(l){let d=c[l]||s,f=d(t[l],e[l],l);le.isUndefined(f)&&d!==o||(r[l]=f)}),r}var xH={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{xH[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var bOe={};xH.transitional=function(e,r,n){function s(i,a){return"[Axios v"+Ah+"] Transitional option '"+i+"'"+a+(n?". "+n:"")}return(i,a,o)=>{if(e===!1)throw new Xe(s(a," has been removed"+(r?" in "+r:"")),Xe.ERR_DEPRECATED);return r&&!bOe[a]&&(bOe[a]=!0,console.warn(s(a," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(i,a,o):!0}};function WQt(t,e,r){if(typeof t!="object")throw new Xe("options must be an object",Xe.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),s=n.length;for(;s-- >0;){let i=n[s],a=e[i];if(a){let o=t[i],c=o===void 0||a(o,i,t);if(c!==!0)throw new Xe("option "+i+" must be "+c,Xe.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new Xe("Unknown option "+i,Xe.ERR_BAD_OPTION)}}var w3={assertOptions:WQt,validators:xH};var Zp=w3.validators,Ax=class{constructor(e){this.defaults=e,this.interceptors={request:new jj,response:new jj}}async request(e,r){try{return await this._request(e,r)}catch(n){if(n instanceof Error){let s;Error.captureStackTrace?Error.captureStackTrace(s={}):s=new Error;let i=s.stack?s.stack.replace(/^.+\n/,""):"";n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=`
|
|
`+i):n.stack=i}throw n}}_request(e,r){typeof e=="string"?(r=r||{},r.url=e):r=e||{},r=Md(this.defaults,r);let{transitional:n,paramsSerializer:s,headers:i}=r;n!==void 0&&w3.assertOptions(n,{silentJSONParsing:Zp.transitional(Zp.boolean),forcedJSONParsing:Zp.transitional(Zp.boolean),clarifyTimeoutError:Zp.transitional(Zp.boolean)},!1),s!=null&&(le.isFunction(s)?r.paramsSerializer={serialize:s}:w3.assertOptions(s,{encode:Zp.function,serialize:Zp.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let a=i&&le.merge(i.common,i[r.method]);i&&le.forEach(["delete","get","head","post","put","patch","common"],m=>{delete i[m]}),r.headers=Rs.concat(a,i);let o=[],c=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(r)===!1||(c=c&&h.synchronous,o.unshift(h.fulfilled,h.rejected))});let u=[];this.interceptors.response.forEach(function(h){u.push(h.fulfilled,h.rejected)});let l,d=0,f;if(!c){let m=[T3.bind(this),void 0];for(m.unshift.apply(m,o),m.push.apply(m,u),f=m.length,l=Promise.resolve(r);d<f;)l=l.then(m[d++],m[d++]);return l}f=o.length;let p=r;for(d=0;d<f;){let m=o[d++],h=o[d++];try{p=m(p)}catch(A){h.call(this,A);break}}try{l=T3.call(this,p)}catch(m){return Promise.reject(m)}for(d=0,f=u.length;d<f;)l=l.then(u[d++],u[d++]);return l}getUri(e){e=Md(this.defaults,e);let r=ph(e.baseURL,e.url);return fh(r,e.params,e.paramsSerializer)}};le.forEach(["delete","get","head","options"],function(e){Ax.prototype[e]=function(r,n){return this.request(Md(n||{},{method:e,url:r,data:(n||{}).data}))}});le.forEach(["post","put","patch"],function(e){function r(n){return function(i,a,o){return this.request(Md(o||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:a}))}}Ax.prototype[e]=r(),Ax.prototype[e+"Form"]=r(!0)});var VS=Ax;var bH=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});let n=this;this.promise.then(s=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](s);n._listeners=null}),this.promise.then=s=>{let i,a=new Promise(o=>{n.subscribe(o),i=o}).then(s);return a.cancel=function(){n.unsubscribe(i)},a},e(function(i,a,o){n.reason||(n.reason=new ru(i,a,o),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}static source(){let e;return{token:new t(function(s){e=s}),cancel:e}}},EOe=bH;function EH(t){return function(r){return t.apply(null,r)}}function _H(t){return le.isObject(t)&&t.isAxiosError===!0}var SH={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(SH).forEach(([t,e])=>{SH[e]=t});var _Oe=SH;function SOe(t){let e=new VS(t),r=NS(VS.prototype.request,e);return le.extend(r,VS.prototype,e,{allOwnKeys:!0}),le.extend(r,e,null,{allOwnKeys:!0}),r.create=function(s){return SOe(Md(t,s))},r}var bs=SOe(dx);bs.Axios=VS;bs.CanceledError=ru;bs.CancelToken=EOe;bs.isCancel=FS;bs.VERSION=Ah;bs.toFormData=Kp;bs.AxiosError=Xe;bs.Cancel=bs.CanceledError;bs.all=function(e){return Promise.all(e)};bs.spread=EH;bs.isAxiosError=_H;bs.mergeConfig=Md;bs.AxiosHeaders=Rs;bs.formToJSON=t=>A3(le.isHTMLForm(t)?new FormData(t):t);bs.getAdapter=I3.getAdapter;bs.HttpStatusCode=_Oe;bs.default=bs;var Ae=bs;var{Axios:aWr,AxiosError:oWr,CanceledError:cWr,isCancel:uWr,CancelToken:lWr,VERSION:dWr,all:fWr,Cancel:pWr,isAxiosError:mWr,spread:hWr,toFormData:gWr,AxiosHeaders:AWr,HttpStatusCode:yWr,formToJSON:xWr,getAdapter:bWr,mergeConfig:EWr}=Ae;var vOe=Re(require("https"),1),COe=Re(require("http"),1),$Qt=Number.parseInt(process.env.CATPAW_REQ_TIMEOUT_MS||"20000",10)||2e4,FQt=Ae.create({timeout:$Qt,httpsAgent:new vOe.default.Agent({keepAlive:!1,rejectUnauthorized:!1,maxCachedSessions:0}),httpAgent:new COe.default.Agent({keepAlive:!1}),proxy:!1}),he=FQt;var Sv={};is(Sv,{contains:()=>sJt,default:()=>nJt,html:()=>BH,load:()=>Me,merge:()=>iJt,parseHTML:()=>aJt,root:()=>oJt,text:()=>Ud,xml:()=>MH});var UQt={xml:!1,decodeEntities:!0},zS=UQt,IOe={_useHtmlParser2:!0,xmlMode:!0};function KS(t){return t?.xml?typeof t.xml=="boolean"?IOe:{...IOe,...t.xml}:t??void 0}var n0={};is(n0,{contains:()=>WH,html:()=>BH,merge:()=>PGt,parseHTML:()=>NGt,root:()=>OGt,text:()=>Ud,xml:()=>MH});var r0={};is(r0,{DocumentPosition:()=>fc,append:()=>fGt,appendChild:()=>dGt,compareDocumentPosition:()=>ePe,existsOne:()=>XOe,filter:()=>_x,find:()=>U3,findAll:()=>gGt,findOne:()=>q3,findOneChild:()=>hGt,getAttributeValue:()=>oGt,getChildren:()=>Ex,getElementById:()=>bGt,getElements:()=>xGt,getElementsByClassName:()=>EGt,getElementsByTagName:()=>Sh,getElementsByTagType:()=>_Gt,getFeed:()=>LH,getInnerHTML:()=>aGt,getName:()=>uGt,getOuterHTML:()=>YOe,getParent:()=>JOe,getSiblings:()=>DH,getText:()=>W3,hasAttrib:()=>cGt,hasChildren:()=>rn,innerText:()=>rv,isCDATA:()=>yx,isComment:()=>_h,isDocument:()=>nu,isTag:()=>st,isText:()=>za,nextElementSibling:()=>$3,prepend:()=>mGt,prependChild:()=>pGt,prevElementSibling:()=>F3,removeElement:()=>Fd,removeSubsets:()=>SGt,replaceElement:()=>lGt,testElement:()=>yGt,textContent:()=>$d,uniqueSort:()=>e0});var wr;(function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"})(wr||(wr={}));function TOe(t){return t.type===wr.Tag||t.type===wr.Script||t.type===wr.Style}var wOe=wr.Root,ROe=wr.Text,NOe=wr.Directive,OOe=wr.Comment,POe=wr.Script,DOe=wr.Style,kOe=wr.Tag,LOe=wr.CDATA,BOe=wr.Doctype;var R3=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(e){this.parent=e}get previousSibling(){return this.prev}set previousSibling(e){this.prev=e}get nextSibling(){return this.next}set nextSibling(e){this.next=e}cloneNode(e=!1){return ZS(this,e)}},YS=class extends R3{constructor(e){super(),this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}},ll=class extends YS{constructor(){super(...arguments),this.type=wr.Text}get nodeType(){return 3}},xh=class extends YS{constructor(){super(...arguments),this.type=wr.Comment}get nodeType(){return 8}},bh=class extends YS{constructor(e,r){super(r),this.name=e,this.type=wr.Directive}get nodeType(){return 1}},JS=class extends R3{constructor(e){super(),this.children=e}get firstChild(){var e;return(e=this.children[0])!==null&&e!==void 0?e:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}},XS=class extends JS{constructor(){super(...arguments),this.type=wr.CDATA}get nodeType(){return 4}},Eo=class extends JS{constructor(){super(...arguments),this.type=wr.Root}get nodeType(){return 9}},Eh=class extends JS{constructor(e,r,n=[],s=e==="script"?wr.Script:e==="style"?wr.Style:wr.Tag){super(n),this.name=e,this.attribs=r,this.type=s}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map(e=>{var r,n;return{name:e,value:this.attribs[e],namespace:(r=this["x-attribsNamespace"])===null||r===void 0?void 0:r[e],prefix:(n=this["x-attribsPrefix"])===null||n===void 0?void 0:n[e]}})}};function st(t){return TOe(t)}function yx(t){return t.type===wr.CDATA}function za(t){return t.type===wr.Text}function _h(t){return t.type===wr.Comment}function N3(t){return t.type===wr.Directive}function nu(t){return t.type===wr.Root}function rn(t){return Object.prototype.hasOwnProperty.call(t,"children")}function ZS(t,e=!1){let r;if(za(t))r=new ll(t.data);else if(_h(t))r=new xh(t.data);else if(st(t)){let n=e?vH(t.children):[],s=new Eh(t.name,{...t.attribs},n);n.forEach(i=>i.parent=s),t.namespace!=null&&(s.namespace=t.namespace),t["x-attribsNamespace"]&&(s["x-attribsNamespace"]={...t["x-attribsNamespace"]}),t["x-attribsPrefix"]&&(s["x-attribsPrefix"]={...t["x-attribsPrefix"]}),r=s}else if(yx(t)){let n=e?vH(t.children):[],s=new XS(n);n.forEach(i=>i.parent=s),r=s}else if(nu(t)){let n=e?vH(t.children):[],s=new Eo(n);n.forEach(i=>i.parent=s),t["x-mode"]&&(s["x-mode"]=t["x-mode"]),r=s}else if(N3(t)){let n=new bh(t.name,t.data);t["x-name"]!=null&&(n["x-name"]=t["x-name"],n["x-publicId"]=t["x-publicId"],n["x-systemId"]=t["x-systemId"]),r=n}else throw new Error(`Not implemented yet: ${t.type}`);return r.startIndex=t.startIndex,r.endIndex=t.endIndex,t.sourceCodeLocation!=null&&(r.sourceCodeLocation=t.sourceCodeLocation),r}function vH(t){let e=t.map(r=>ZS(r,!0));for(let r=1;r<e.length;r++)e[r].prev=e[r-1],e[r-1].next=e[r];return e}var WOe={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},xx=class{constructor(e,r,n){this.dom=[],this.root=new Eo(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,typeof r=="function"&&(n=r,r=WOe),typeof e=="object"&&(r=e,e=void 0),this.callback=e??null,this.options=r??WOe,this.elementCB=n??null}onparserinit(e){this.parser=e}onreset(){this.dom=[],this.root=new Eo(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(e){this.handleCallback(e)}onclosetag(){this.lastNode=null;let e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)}onopentag(e,r){let n=this.options.xmlMode?wr.Tag:void 0,s=new Eh(e,r,void 0,n);this.addNode(s),this.tagStack.push(s)}ontext(e){let{lastNode:r}=this;if(r&&r.type===wr.Text)r.data+=e,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{let n=new ll(e);this.addNode(n),this.lastNode=n}}oncomment(e){if(this.lastNode&&this.lastNode.type===wr.Comment){this.lastNode.data+=e;return}let r=new xh(e);this.addNode(r),this.lastNode=r}oncommentend(){this.lastNode=null}oncdatastart(){let e=new ll(""),r=new XS([e]);this.addNode(r),e.parent=r,this.lastNode=e}oncdataend(){this.lastNode=null}onprocessinginstruction(e,r){let n=new bh(e,r);this.addNode(n)}handleCallback(e){if(typeof this.callback=="function")this.callback(e,this.dom);else if(e)throw e}addNode(e){let r=this.tagStack[this.tagStack.length-1],n=r.children[r.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),r.children.push(e),n&&(e.prev=n,n.next=e),e.parent=r,this.lastNode=null}};var O3=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(t=>t.charCodeAt(0)));var P3=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(t=>t.charCodeAt(0)));var CH,qQt=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),bx=(CH=String.fromCodePoint)!==null&&CH!==void 0?CH:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e};function ev(t){var e;return t>=55296&&t<=57343||t>1114111?65533:(e=qQt.get(t))!==null&&e!==void 0?e:t}var Js;(function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"})(Js||(Js={}));var jQt=32,dc;(function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"})(dc||(dc={}));function IH(t){return t>=Js.ZERO&&t<=Js.NINE}function HQt(t){return t>=Js.UPPER_A&&t<=Js.UPPER_F||t>=Js.LOWER_A&&t<=Js.LOWER_F}function QQt(t){return t>=Js.UPPER_A&&t<=Js.UPPER_Z||t>=Js.LOWER_A&&t<=Js.LOWER_Z||IH(t)}function GQt(t){return t===Js.EQUALS||QQt(t)}var Ys;(function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"})(Ys||(Ys={}));var Wd;(function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"})(Wd||(Wd={}));var D3=class{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=Ys.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Wd.Strict}startEntity(e){this.decodeMode=e,this.state=Ys.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case Ys.EntityStart:return e.charCodeAt(r)===Js.NUM?(this.state=Ys.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=Ys.NamedEntity,this.stateNamedEntity(e,r));case Ys.NumericStart:return this.stateNumericStart(e,r);case Ys.NumericDecimal:return this.stateNumericDecimal(e,r);case Ys.NumericHex:return this.stateNumericHex(e,r);case Ys.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|jQt)===Js.LOWER_X?(this.state=Ys.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=Ys.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,s){if(r!==n){let i=n-r;this.result=this.result*Math.pow(s,i)+parseInt(e.substr(r,i),s),this.consumed+=i}}stateNumericHex(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(IH(s)||HQt(s))r+=1;else return this.addToNumericResult(e,n,r,16),this.emitNumericEntity(s,3)}return this.addToNumericResult(e,n,r,16),-1}stateNumericDecimal(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(IH(s))r+=1;else return this.addToNumericResult(e,n,r,10),this.emitNumericEntity(s,2)}return this.addToNumericResult(e,n,r,10),-1}emitNumericEntity(e,r){var n;if(this.consumed<=r)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Js.SEMI)this.consumed+=1;else if(this.decodeMode===Wd.Strict)return 0;return this.emitCodePoint(ev(this.result),this.consumed),this.errors&&(e!==Js.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,r){let{decodeTree:n}=this,s=n[this.treeIndex],i=(s&dc.VALUE_LENGTH)>>14;for(;r<e.length;r++,this.excess++){let a=e.charCodeAt(r);if(this.treeIndex=TH(n,s,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===Wd.Attribute&&(i===0||GQt(a))?0:this.emitNotTerminatedNamedEntity();if(s=n[this.treeIndex],i=(s&dc.VALUE_LENGTH)>>14,i!==0){if(a===Js.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Wd.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:r,decodeTree:n}=this,s=(n[r]&dc.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,s,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){let{decodeTree:s}=this;return this.emitCodePoint(r===1?s[e]&~dc.VALUE_LENGTH:s[e+1],n),r===3&&this.emitCodePoint(s[e+2],n),n}end(){var e;switch(this.state){case Ys.NamedEntity:return this.result!==0&&(this.decodeMode!==Wd.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ys.NumericDecimal:return this.emitNumericEntity(0,2);case Ys.NumericHex:return this.emitNumericEntity(0,3);case Ys.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ys.EntityStart:return 0}}};function $Oe(t){let e="",r=new D3(t,n=>e+=bx(n));return function(s,i){let a=0,o=0;for(;(o=s.indexOf("&",o))>=0;){e+=s.slice(a,o),r.startEntity(i);let u=r.write(s,o+1);if(u<0){a=o+r.end();break}a=o+u,o=u===0?a+1:a}let c=e+s.slice(a);return e="",c}}function TH(t,e,r,n){let s=(e&dc.BRANCH_LENGTH)>>7,i=e&dc.JUMP_TABLE;if(s===0)return i!==0&&n===i?r:-1;if(i){let c=n-i;return c<0||c>=s?-1:t[r+c]-1}let a=r,o=a+s-1;for(;a<=o;){let c=a+o>>>1,u=t[c];if(u<n)a=c+1;else if(u>n)o=c-1;else return t[c+s]}return-1}var $Wr=$Oe(O3),FWr=$Oe(P3);function k3(t){for(let e=1;e<t.length;e++)t[e][0]+=t[e-1][0]+1;return t}var VQt=new Map(k3([[9,"	"],[0,"
"],[22,"!"],[0,"""],[0,"#"],[0,"$"],[0,"%"],[0,"&"],[0,"'"],[0,"("],[0,")"],[0,"*"],[0,"+"],[0,","],[1,"."],[0,"/"],[10,":"],[0,";"],[0,{v:"<",n:8402,o:"<⃒"}],[0,{v:"=",n:8421,o:"=⃥"}],[0,{v:">",n:8402,o:">⃒"}],[0,"?"],[0,"@"],[26,"["],[0,"\"],[0,"]"],[0,"^"],[0,"_"],[0,"`"],[5,{n:106,o:"fj"}],[20,"{"],[0,"|"],[0,"}"],[34," "],[0,"¡"],[0,"¢"],[0,"£"],[0,"¤"],[0,"¥"],[0,"¦"],[0,"§"],[0,"¨"],[0,"©"],[0,"ª"],[0,"«"],[0,"¬"],[0,"­"],[0,"®"],[0,"¯"],[0,"°"],[0,"±"],[0,"²"],[0,"³"],[0,"´"],[0,"µ"],[0,"¶"],[0,"·"],[0,"¸"],[0,"¹"],[0,"º"],[0,"»"],[0,"¼"],[0,"½"],[0,"¾"],[0,"¿"],[0,"À"],[0,"Á"],[0,"Â"],[0,"Ã"],[0,"Ä"],[0,"Å"],[0,"Æ"],[0,"Ç"],[0,"È"],[0,"É"],[0,"Ê"],[0,"Ë"],[0,"Ì"],[0,"Í"],[0,"Î"],[0,"Ï"],[0,"Ð"],[0,"Ñ"],[0,"Ò"],[0,"Ó"],[0,"Ô"],[0,"Õ"],[0,"Ö"],[0,"×"],[0,"Ø"],[0,"Ù"],[0,"Ú"],[0,"Û"],[0,"Ü"],[0,"Ý"],[0,"Þ"],[0,"ß"],[0,"à"],[0,"á"],[0,"â"],[0,"ã"],[0,"ä"],[0,"å"],[0,"æ"],[0,"ç"],[0,"è"],[0,"é"],[0,"ê"],[0,"ë"],[0,"ì"],[0,"í"],[0,"î"],[0,"ï"],[0,"ð"],[0,"ñ"],[0,"ò"],[0,"ó"],[0,"ô"],[0,"õ"],[0,"ö"],[0,"÷"],[0,"ø"],[0,"ù"],[0,"ú"],[0,"û"],[0,"ü"],[0,"ý"],[0,"þ"],[0,"ÿ"],[0,"Ā"],[0,"ā"],[0,"Ă"],[0,"ă"],[0,"Ą"],[0,"ą"],[0,"Ć"],[0,"ć"],[0,"Ĉ"],[0,"ĉ"],[0,"Ċ"],[0,"ċ"],[0,"Č"],[0,"č"],[0,"Ď"],[0,"ď"],[0,"Đ"],[0,"đ"],[0,"Ē"],[0,"ē"],[2,"Ė"],[0,"ė"],[0,"Ę"],[0,"ę"],[0,"Ě"],[0,"ě"],[0,"Ĝ"],[0,"ĝ"],[0,"Ğ"],[0,"ğ"],[0,"Ġ"],[0,"ġ"],[0,"Ģ"],[1,"Ĥ"],[0,"ĥ"],[0,"Ħ"],[0,"ħ"],[0,"Ĩ"],[0,"ĩ"],[0,"Ī"],[0,"ī"],[2,"Į"],[0,"į"],[0,"İ"],[0,"ı"],[0,"IJ"],[0,"ij"],[0,"Ĵ"],[0,"ĵ"],[0,"Ķ"],[0,"ķ"],[0,"ĸ"],[0,"Ĺ"],[0,"ĺ"],[0,"Ļ"],[0,"ļ"],[0,"Ľ"],[0,"ľ"],[0,"Ŀ"],[0,"ŀ"],[0,"Ł"],[0,"ł"],[0,"Ń"],[0,"ń"],[0,"Ņ"],[0,"ņ"],[0,"Ň"],[0,"ň"],[0,"ʼn"],[0,"Ŋ"],[0,"ŋ"],[0,"Ō"],[0,"ō"],[2,"Ő"],[0,"ő"],[0,"Œ"],[0,"œ"],[0,"Ŕ"],[0,"ŕ"],[0,"Ŗ"],[0,"ŗ"],[0,"Ř"],[0,"ř"],[0,"Ś"],[0,"ś"],[0,"Ŝ"],[0,"ŝ"],[0,"Ş"],[0,"ş"],[0,"Š"],[0,"š"],[0,"Ţ"],[0,"ţ"],[0,"Ť"],[0,"ť"],[0,"Ŧ"],[0,"ŧ"],[0,"Ũ"],[0,"ũ"],[0,"Ū"],[0,"ū"],[0,"Ŭ"],[0,"ŭ"],[0,"Ů"],[0,"ů"],[0,"Ű"],[0,"ű"],[0,"Ų"],[0,"ų"],[0,"Ŵ"],[0,"ŵ"],[0,"Ŷ"],[0,"ŷ"],[0,"Ÿ"],[0,"Ź"],[0,"ź"],[0,"Ż"],[0,"ż"],[0,"Ž"],[0,"ž"],[19,"ƒ"],[34,"Ƶ"],[63,"ǵ"],[65,"ȷ"],[142,"ˆ"],[0,"ˇ"],[16,"˘"],[0,"˙"],[0,"˚"],[0,"˛"],[0,"˜"],[0,"˝"],[51,"̑"],[127,"Α"],[0,"Β"],[0,"Γ"],[0,"Δ"],[0,"Ε"],[0,"Ζ"],[0,"Η"],[0,"Θ"],[0,"Ι"],[0,"Κ"],[0,"Λ"],[0,"Μ"],[0,"Ν"],[0,"Ξ"],[0,"Ο"],[0,"Π"],[0,"Ρ"],[1,"Σ"],[0,"Τ"],[0,"Υ"],[0,"Φ"],[0,"Χ"],[0,"Ψ"],[0,"Ω"],[7,"α"],[0,"β"],[0,"γ"],[0,"δ"],[0,"ε"],[0,"ζ"],[0,"η"],[0,"θ"],[0,"ι"],[0,"κ"],[0,"λ"],[0,"μ"],[0,"ν"],[0,"ξ"],[0,"ο"],[0,"π"],[0,"ρ"],[0,"ς"],[0,"σ"],[0,"τ"],[0,"υ"],[0,"φ"],[0,"χ"],[0,"ψ"],[0,"ω"],[7,"ϑ"],[0,"ϒ"],[2,"ϕ"],[0,"ϖ"],[5,"Ϝ"],[0,"ϝ"],[18,"ϰ"],[0,"ϱ"],[3,"ϵ"],[0,"϶"],[10,"Ё"],[0,"Ђ"],[0,"Ѓ"],[0,"Є"],[0,"Ѕ"],[0,"І"],[0,"Ї"],[0,"Ј"],[0,"Љ"],[0,"Њ"],[0,"Ћ"],[0,"Ќ"],[1,"Ў"],[0,"Џ"],[0,"А"],[0,"Б"],[0,"В"],[0,"Г"],[0,"Д"],[0,"Е"],[0,"Ж"],[0,"З"],[0,"И"],[0,"Й"],[0,"К"],[0,"Л"],[0,"М"],[0,"Н"],[0,"О"],[0,"П"],[0,"Р"],[0,"С"],[0,"Т"],[0,"У"],[0,"Ф"],[0,"Х"],[0,"Ц"],[0,"Ч"],[0,"Ш"],[0,"Щ"],[0,"Ъ"],[0,"Ы"],[0,"Ь"],[0,"Э"],[0,"Ю"],[0,"Я"],[0,"а"],[0,"б"],[0,"в"],[0,"г"],[0,"д"],[0,"е"],[0,"ж"],[0,"з"],[0,"и"],[0,"й"],[0,"к"],[0,"л"],[0,"м"],[0,"н"],[0,"о"],[0,"п"],[0,"р"],[0,"с"],[0,"т"],[0,"у"],[0,"ф"],[0,"х"],[0,"ц"],[0,"ч"],[0,"ш"],[0,"щ"],[0,"ъ"],[0,"ы"],[0,"ь"],[0,"э"],[0,"ю"],[0,"я"],[1,"ё"],[0,"ђ"],[0,"ѓ"],[0,"є"],[0,"ѕ"],[0,"і"],[0,"ї"],[0,"ј"],[0,"љ"],[0,"њ"],[0,"ћ"],[0,"ќ"],[1,"ў"],[0,"џ"],[7074," "],[0," "],[0," "],[0," "],[1," "],[0," "],[0," "],[0," "],[0,"​"],[0,"‌"],[0,"‍"],[0,"‎"],[0,"‏"],[0,"‐"],[2,"–"],[0,"—"],[0,"―"],[0,"‖"],[1,"‘"],[0,"’"],[0,"‚"],[1,"“"],[0,"”"],[0,"„"],[1,"†"],[0,"‡"],[0,"•"],[2,"‥"],[0,"…"],[9,"‰"],[0,"‱"],[0,"′"],[0,"″"],[0,"‴"],[0,"‵"],[3,"‹"],[0,"›"],[3,"‾"],[2,"⁁"],[1,"⁃"],[0,"⁄"],[10,"⁏"],[7,"⁗"],[7,{v:" ",n:8202,o:"  "}],[0,"⁠"],[0,"⁡"],[0,"⁢"],[0,"⁣"],[72,"€"],[46,"⃛"],[0,"⃜"],[37,"ℂ"],[2,"℅"],[4,"ℊ"],[0,"ℋ"],[0,"ℌ"],[0,"ℍ"],[0,"ℎ"],[0,"ℏ"],[0,"ℐ"],[0,"ℑ"],[0,"ℒ"],[0,"ℓ"],[1,"ℕ"],[0,"№"],[0,"℗"],[0,"℘"],[0,"ℙ"],[0,"ℚ"],[0,"ℛ"],[0,"ℜ"],[0,"ℝ"],[0,"℞"],[3,"™"],[1,"ℤ"],[2,"℧"],[0,"ℨ"],[0,"℩"],[2,"ℬ"],[0,"ℭ"],[1,"ℯ"],[0,"ℰ"],[0,"ℱ"],[1,"ℳ"],[0,"ℴ"],[0,"ℵ"],[0,"ℶ"],[0,"ℷ"],[0,"ℸ"],[12,"ⅅ"],[0,"ⅆ"],[0,"ⅇ"],[0,"ⅈ"],[10,"⅓"],[0,"⅔"],[0,"⅕"],[0,"⅖"],[0,"⅗"],[0,"⅘"],[0,"⅙"],[0,"⅚"],[0,"⅛"],[0,"⅜"],[0,"⅝"],[0,"⅞"],[49,"←"],[0,"↑"],[0,"→"],[0,"↓"],[0,"↔"],[0,"↕"],[0,"↖"],[0,"↗"],[0,"↘"],[0,"↙"],[0,"↚"],[0,"↛"],[1,{v:"↝",n:824,o:"↝̸"}],[0,"↞"],[0,"↟"],[0,"↠"],[0,"↡"],[0,"↢"],[0,"↣"],[0,"↤"],[0,"↥"],[0,"↦"],[0,"↧"],[1,"↩"],[0,"↪"],[0,"↫"],[0,"↬"],[0,"↭"],[0,"↮"],[1,"↰"],[0,"↱"],[0,"↲"],[0,"↳"],[1,"↵"],[0,"↶"],[0,"↷"],[2,"↺"],[0,"↻"],[0,"↼"],[0,"↽"],[0,"↾"],[0,"↿"],[0,"⇀"],[0,"⇁"],[0,"⇂"],[0,"⇃"],[0,"⇄"],[0,"⇅"],[0,"⇆"],[0,"⇇"],[0,"⇈"],[0,"⇉"],[0,"⇊"],[0,"⇋"],[0,"⇌"],[0,"⇍"],[0,"⇎"],[0,"⇏"],[0,"⇐"],[0,"⇑"],[0,"⇒"],[0,"⇓"],[0,"⇔"],[0,"⇕"],[0,"⇖"],[0,"⇗"],[0,"⇘"],[0,"⇙"],[0,"⇚"],[0,"⇛"],[1,"⇝"],[6,"⇤"],[0,"⇥"],[15,"⇵"],[7,"⇽"],[0,"⇾"],[0,"⇿"],[0,"∀"],[0,"∁"],[0,{v:"∂",n:824,o:"∂̸"}],[0,"∃"],[0,"∄"],[0,"∅"],[1,"∇"],[0,"∈"],[0,"∉"],[1,"∋"],[0,"∌"],[2,"∏"],[0,"∐"],[0,"∑"],[0,"−"],[0,"∓"],[0,"∔"],[1,"∖"],[0,"∗"],[0,"∘"],[1,"√"],[2,"∝"],[0,"∞"],[0,"∟"],[0,{v:"∠",n:8402,o:"∠⃒"}],[0,"∡"],[0,"∢"],[0,"∣"],[0,"∤"],[0,"∥"],[0,"∦"],[0,"∧"],[0,"∨"],[0,{v:"∩",n:65024,o:"∩︀"}],[0,{v:"∪",n:65024,o:"∪︀"}],[0,"∫"],[0,"∬"],[0,"∭"],[0,"∮"],[0,"∯"],[0,"∰"],[0,"∱"],[0,"∲"],[0,"∳"],[0,"∴"],[0,"∵"],[0,"∶"],[0,"∷"],[0,"∸"],[1,"∺"],[0,"∻"],[0,{v:"∼",n:8402,o:"∼⃒"}],[0,{v:"∽",n:817,o:"∽̱"}],[0,{v:"∾",n:819,o:"∾̳"}],[0,"∿"],[0,"≀"],[0,"≁"],[0,{v:"≂",n:824,o:"≂̸"}],[0,"≃"],[0,"≄"],[0,"≅"],[0,"≆"],[0,"≇"],[0,"≈"],[0,"≉"],[0,"≊"],[0,{v:"≋",n:824,o:"≋̸"}],[0,"≌"],[0,{v:"≍",n:8402,o:"≍⃒"}],[0,{v:"≎",n:824,o:"≎̸"}],[0,{v:"≏",n:824,o:"≏̸"}],[0,{v:"≐",n:824,o:"≐̸"}],[0,"≑"],[0,"≒"],[0,"≓"],[0,"≔"],[0,"≕"],[0,"≖"],[0,"≗"],[1,"≙"],[0,"≚"],[1,"≜"],[2,"≟"],[0,"≠"],[0,{v:"≡",n:8421,o:"≡⃥"}],[0,"≢"],[1,{v:"≤",n:8402,o:"≤⃒"}],[0,{v:"≥",n:8402,o:"≥⃒"}],[0,{v:"≦",n:824,o:"≦̸"}],[0,{v:"≧",n:824,o:"≧̸"}],[0,{v:"≨",n:65024,o:"≨︀"}],[0,{v:"≩",n:65024,o:"≩︀"}],[0,{v:"≪",n:new Map(k3([[824,"≪̸"],[7577,"≪⃒"]]))}],[0,{v:"≫",n:new Map(k3([[824,"≫̸"],[7577,"≫⃒"]]))}],[0,"≬"],[0,"≭"],[0,"≮"],[0,"≯"],[0,"≰"],[0,"≱"],[0,"≲"],[0,"≳"],[0,"≴"],[0,"≵"],[0,"≶"],[0,"≷"],[0,"≸"],[0,"≹"],[0,"≺"],[0,"≻"],[0,"≼"],[0,"≽"],[0,"≾"],[0,{v:"≿",n:824,o:"≿̸"}],[0,"⊀"],[0,"⊁"],[0,{v:"⊂",n:8402,o:"⊂⃒"}],[0,{v:"⊃",n:8402,o:"⊃⃒"}],[0,"⊄"],[0,"⊅"],[0,"⊆"],[0,"⊇"],[0,"⊈"],[0,"⊉"],[0,{v:"⊊",n:65024,o:"⊊︀"}],[0,{v:"⊋",n:65024,o:"⊋︀"}],[1,"⊍"],[0,"⊎"],[0,{v:"⊏",n:824,o:"⊏̸"}],[0,{v:"⊐",n:824,o:"⊐̸"}],[0,"⊑"],[0,"⊒"],[0,{v:"⊓",n:65024,o:"⊓︀"}],[0,{v:"⊔",n:65024,o:"⊔︀"}],[0,"⊕"],[0,"⊖"],[0,"⊗"],[0,"⊘"],[0,"⊙"],[0,"⊚"],[0,"⊛"],[1,"⊝"],[0,"⊞"],[0,"⊟"],[0,"⊠"],[0,"⊡"],[0,"⊢"],[0,"⊣"],[0,"⊤"],[0,"⊥"],[1,"⊧"],[0,"⊨"],[0,"⊩"],[0,"⊪"],[0,"⊫"],[0,"⊬"],[0,"⊭"],[0,"⊮"],[0,"⊯"],[0,"⊰"],[1,"⊲"],[0,"⊳"],[0,{v:"⊴",n:8402,o:"⊴⃒"}],[0,{v:"⊵",n:8402,o:"⊵⃒"}],[0,"⊶"],[0,"⊷"],[0,"⊸"],[0,"⊹"],[0,"⊺"],[0,"⊻"],[1,"⊽"],[0,"⊾"],[0,"⊿"],[0,"⋀"],[0,"⋁"],[0,"⋂"],[0,"⋃"],[0,"⋄"],[0,"⋅"],[0,"⋆"],[0,"⋇"],[0,"⋈"],[0,"⋉"],[0,"⋊"],[0,"⋋"],[0,"⋌"],[0,"⋍"],[0,"⋎"],[0,"⋏"],[0,"⋐"],[0,"⋑"],[0,"⋒"],[0,"⋓"],[0,"⋔"],[0,"⋕"],[0,"⋖"],[0,"⋗"],[0,{v:"⋘",n:824,o:"⋘̸"}],[0,{v:"⋙",n:824,o:"⋙̸"}],[0,{v:"⋚",n:65024,o:"⋚︀"}],[0,{v:"⋛",n:65024,o:"⋛︀"}],[2,"⋞"],[0,"⋟"],[0,"⋠"],[0,"⋡"],[0,"⋢"],[0,"⋣"],[2,"⋦"],[0,"⋧"],[0,"⋨"],[0,"⋩"],[0,"⋪"],[0,"⋫"],[0,"⋬"],[0,"⋭"],[0,"⋮"],[0,"⋯"],[0,"⋰"],[0,"⋱"],[0,"⋲"],[0,"⋳"],[0,"⋴"],[0,{v:"⋵",n:824,o:"⋵̸"}],[0,"⋶"],[0,"⋷"],[1,{v:"⋹",n:824,o:"⋹̸"}],[0,"⋺"],[0,"⋻"],[0,"⋼"],[0,"⋽"],[0,"⋾"],[6,"⌅"],[0,"⌆"],[1,"⌈"],[0,"⌉"],[0,"⌊"],[0,"⌋"],[0,"⌌"],[0,"⌍"],[0,"⌎"],[0,"⌏"],[0,"⌐"],[1,"⌒"],[0,"⌓"],[1,"⌕"],[0,"⌖"],[5,"⌜"],[0,"⌝"],[0,"⌞"],[0,"⌟"],[2,"⌢"],[0,"⌣"],[9,"⌭"],[0,"⌮"],[7,"⌶"],[6,"⌽"],[1,"⌿"],[60,"⍼"],[51,"⎰"],[0,"⎱"],[2,"⎴"],[0,"⎵"],[0,"⎶"],[37,"⏜"],[0,"⏝"],[0,"⏞"],[0,"⏟"],[2,"⏢"],[4,"⏧"],[59,"␣"],[164,"Ⓢ"],[55,"─"],[1,"│"],[9,"┌"],[3,"┐"],[3,"└"],[3,"┘"],[3,"├"],[7,"┤"],[7,"┬"],[7,"┴"],[7,"┼"],[19,"═"],[0,"║"],[0,"╒"],[0,"╓"],[0,"╔"],[0,"╕"],[0,"╖"],[0,"╗"],[0,"╘"],[0,"╙"],[0,"╚"],[0,"╛"],[0,"╜"],[0,"╝"],[0,"╞"],[0,"╟"],[0,"╠"],[0,"╡"],[0,"╢"],[0,"╣"],[0,"╤"],[0,"╥"],[0,"╦"],[0,"╧"],[0,"╨"],[0,"╩"],[0,"╪"],[0,"╫"],[0,"╬"],[19,"▀"],[3,"▄"],[3,"█"],[8,"░"],[0,"▒"],[0,"▓"],[13,"□"],[8,"▪"],[0,"▫"],[1,"▭"],[0,"▮"],[2,"▱"],[1,"△"],[0,"▴"],[0,"▵"],[2,"▸"],[0,"▹"],[3,"▽"],[0,"▾"],[0,"▿"],[2,"◂"],[0,"◃"],[6,"◊"],[0,"○"],[32,"◬"],[2,"◯"],[8,"◸"],[0,"◹"],[0,"◺"],[0,"◻"],[0,"◼"],[8,"★"],[0,"☆"],[7,"☎"],[49,"♀"],[1,"♂"],[29,"♠"],[2,"♣"],[1,"♥"],[0,"♦"],[3,"♪"],[2,"♭"],[0,"♮"],[0,"♯"],[163,"✓"],[3,"✗"],[8,"✠"],[21,"✶"],[33,"❘"],[25,"❲"],[0,"❳"],[84,"⟈"],[0,"⟉"],[28,"⟦"],[0,"⟧"],[0,"⟨"],[0,"⟩"],[0,"⟪"],[0,"⟫"],[0,"⟬"],[0,"⟭"],[7,"⟵"],[0,"⟶"],[0,"⟷"],[0,"⟸"],[0,"⟹"],[0,"⟺"],[1,"⟼"],[2,"⟿"],[258,"⤂"],[0,"⤃"],[0,"⤄"],[0,"⤅"],[6,"⤌"],[0,"⤍"],[0,"⤎"],[0,"⤏"],[0,"⤐"],[0,"⤑"],[0,"⤒"],[0,"⤓"],[2,"⤖"],[2,"⤙"],[0,"⤚"],[0,"⤛"],[0,"⤜"],[0,"⤝"],[0,"⤞"],[0,"⤟"],[0,"⤠"],[2,"⤣"],[0,"⤤"],[0,"⤥"],[0,"⤦"],[0,"⤧"],[0,"⤨"],[0,"⤩"],[0,"⤪"],[8,{v:"⤳",n:824,o:"⤳̸"}],[1,"⤵"],[0,"⤶"],[0,"⤷"],[0,"⤸"],[0,"⤹"],[2,"⤼"],[0,"⤽"],[7,"⥅"],[2,"⥈"],[0,"⥉"],[0,"⥊"],[0,"⥋"],[2,"⥎"],[0,"⥏"],[0,"⥐"],[0,"⥑"],[0,"⥒"],[0,"⥓"],[0,"⥔"],[0,"⥕"],[0,"⥖"],[0,"⥗"],[0,"⥘"],[0,"⥙"],[0,"⥚"],[0,"⥛"],[0,"⥜"],[0,"⥝"],[0,"⥞"],[0,"⥟"],[0,"⥠"],[0,"⥡"],[0,"⥢"],[0,"⥣"],[0,"⥤"],[0,"⥥"],[0,"⥦"],[0,"⥧"],[0,"⥨"],[0,"⥩"],[0,"⥪"],[0,"⥫"],[0,"⥬"],[0,"⥭"],[0,"⥮"],[0,"⥯"],[0,"⥰"],[0,"⥱"],[0,"⥲"],[0,"⥳"],[0,"⥴"],[0,"⥵"],[0,"⥶"],[1,"⥸"],[0,"⥹"],[1,"⥻"],[0,"⥼"],[0,"⥽"],[0,"⥾"],[0,"⥿"],[5,"⦅"],[0,"⦆"],[4,"⦋"],[0,"⦌"],[0,"⦍"],[0,"⦎"],[0,"⦏"],[0,"⦐"],[0,"⦑"],[0,"⦒"],[0,"⦓"],[0,"⦔"],[0,"⦕"],[0,"⦖"],[3,"⦚"],[1,"⦜"],[0,"⦝"],[6,"⦤"],[0,"⦥"],[0,"⦦"],[0,"⦧"],[0,"⦨"],[0,"⦩"],[0,"⦪"],[0,"⦫"],[0,"⦬"],[0,"⦭"],[0,"⦮"],[0,"⦯"],[0,"⦰"],[0,"⦱"],[0,"⦲"],[0,"⦳"],[0,"⦴"],[0,"⦵"],[0,"⦶"],[0,"⦷"],[1,"⦹"],[1,"⦻"],[0,"⦼"],[1,"⦾"],[0,"⦿"],[0,"⧀"],[0,"⧁"],[0,"⧂"],[0,"⧃"],[0,"⧄"],[0,"⧅"],[3,"⧉"],[3,"⧍"],[0,"⧎"],[0,{v:"⧏",n:824,o:"⧏̸"}],[0,{v:"⧐",n:824,o:"⧐̸"}],[11,"⧜"],[0,"⧝"],[0,"⧞"],[4,"⧣"],[0,"⧤"],[0,"⧥"],[5,"⧫"],[8,"⧴"],[1,"⧶"],[9,"⨀"],[0,"⨁"],[0,"⨂"],[1,"⨄"],[1,"⨆"],[5,"⨌"],[0,"⨍"],[2,"⨐"],[0,"⨑"],[0,"⨒"],[0,"⨓"],[0,"⨔"],[0,"⨕"],[0,"⨖"],[0,"⨗"],[10,"⨢"],[0,"⨣"],[0,"⨤"],[0,"⨥"],[0,"⨦"],[0,"⨧"],[1,"⨩"],[0,"⨪"],[2,"⨭"],[0,"⨮"],[0,"⨯"],[0,"⨰"],[0,"⨱"],[1,"⨳"],[0,"⨴"],[0,"⨵"],[0,"⨶"],[0,"⨷"],[0,"⨸"],[0,"⨹"],[0,"⨺"],[0,"⨻"],[0,"⨼"],[2,"⨿"],[0,"⩀"],[1,"⩂"],[0,"⩃"],[0,"⩄"],[0,"⩅"],[0,"⩆"],[0,"⩇"],[0,"⩈"],[0,"⩉"],[0,"⩊"],[0,"⩋"],[0,"⩌"],[0,"⩍"],[2,"⩐"],[2,"⩓"],[0,"⩔"],[0,"⩕"],[0,"⩖"],[0,"⩗"],[0,"⩘"],[1,"⩚"],[0,"⩛"],[0,"⩜"],[0,"⩝"],[1,"⩟"],[6,"⩦"],[3,"⩪"],[2,{v:"⩭",n:824,o:"⩭̸"}],[0,"⩮"],[0,"⩯"],[0,{v:"⩰",n:824,o:"⩰̸"}],[0,"⩱"],[0,"⩲"],[0,"⩳"],[0,"⩴"],[0,"⩵"],[1,"⩷"],[0,"⩸"],[0,"⩹"],[0,"⩺"],[0,"⩻"],[0,"⩼"],[0,{v:"⩽",n:824,o:"⩽̸"}],[0,{v:"⩾",n:824,o:"⩾̸"}],[0,"⩿"],[0,"⪀"],[0,"⪁"],[0,"⪂"],[0,"⪃"],[0,"⪄"],[0,"⪅"],[0,"⪆"],[0,"⪇"],[0,"⪈"],[0,"⪉"],[0,"⪊"],[0,"⪋"],[0,"⪌"],[0,"⪍"],[0,"⪎"],[0,"⪏"],[0,"⪐"],[0,"⪑"],[0,"⪒"],[0,"⪓"],[0,"⪔"],[0,"⪕"],[0,"⪖"],[0,"⪗"],[0,"⪘"],[0,"⪙"],[0,"⪚"],[2,"⪝"],[0,"⪞"],[0,"⪟"],[0,"⪠"],[0,{v:"⪡",n:824,o:"⪡̸"}],[0,{v:"⪢",n:824,o:"⪢̸"}],[1,"⪤"],[0,"⪥"],[0,"⪦"],[0,"⪧"],[0,"⪨"],[0,"⪩"],[0,"⪪"],[0,"⪫"],[0,{v:"⪬",n:65024,o:"⪬︀"}],[0,{v:"⪭",n:65024,o:"⪭︀"}],[0,"⪮"],[0,{v:"⪯",n:824,o:"⪯̸"}],[0,{v:"⪰",n:824,o:"⪰̸"}],[2,"⪳"],[0,"⪴"],[0,"⪵"],[0,"⪶"],[0,"⪷"],[0,"⪸"],[0,"⪹"],[0,"⪺"],[0,"⪻"],[0,"⪼"],[0,"⪽"],[0,"⪾"],[0,"⪿"],[0,"⫀"],[0,"⫁"],[0,"⫂"],[0,"⫃"],[0,"⫄"],[0,{v:"⫅",n:824,o:"⫅̸"}],[0,{v:"⫆",n:824,o:"⫆̸"}],[0,"⫇"],[0,"⫈"],[2,{v:"⫋",n:65024,o:"⫋︀"}],[0,{v:"⫌",n:65024,o:"⫌︀"}],[2,"⫏"],[0,"⫐"],[0,"⫑"],[0,"⫒"],[0,"⫓"],[0,"⫔"],[0,"⫕"],[0,"⫖"],[0,"⫗"],[0,"⫘"],[0,"⫙"],[0,"⫚"],[0,"⫛"],[8,"⫤"],[1,"⫦"],[0,"⫧"],[0,"⫨"],[0,"⫩"],[1,"⫫"],[0,"⫬"],[0,"⫭"],[0,"⫮"],[0,"⫯"],[0,"⫰"],[0,"⫱"],[0,"⫲"],[0,"⫳"],[9,{v:"⫽",n:8421,o:"⫽⃥"}],[44343,{n:new Map(k3([[56476,"𝒜"],[1,"𝒞"],[0,"𝒟"],[2,"𝒢"],[2,"𝒥"],[0,"𝒦"],[2,"𝒩"],[0,"𝒪"],[0,"𝒫"],[0,"𝒬"],[1,"𝒮"],[0,"𝒯"],[0,"𝒰"],[0,"𝒱"],[0,"𝒲"],[0,"𝒳"],[0,"𝒴"],[0,"𝒵"],[0,"𝒶"],[0,"𝒷"],[0,"𝒸"],[0,"𝒹"],[1,"𝒻"],[1,"𝒽"],[0,"𝒾"],[0,"𝒿"],[0,"𝓀"],[0,"𝓁"],[0,"𝓂"],[0,"𝓃"],[1,"𝓅"],[0,"𝓆"],[0,"𝓇"],[0,"𝓈"],[0,"𝓉"],[0,"𝓊"],[0,"𝓋"],[0,"𝓌"],[0,"𝓍"],[0,"𝓎"],[0,"𝓏"],[52,"𝔄"],[0,"𝔅"],[1,"𝔇"],[0,"𝔈"],[0,"𝔉"],[0,"𝔊"],[2,"𝔍"],[0,"𝔎"],[0,"𝔏"],[0,"𝔐"],[0,"𝔑"],[0,"𝔒"],[0,"𝔓"],[0,"𝔔"],[1,"𝔖"],[0,"𝔗"],[0,"𝔘"],[0,"𝔙"],[0,"𝔚"],[0,"𝔛"],[0,"𝔜"],[1,"𝔞"],[0,"𝔟"],[0,"𝔠"],[0,"𝔡"],[0,"𝔢"],[0,"𝔣"],[0,"𝔤"],[0,"𝔥"],[0,"𝔦"],[0,"𝔧"],[0,"𝔨"],[0,"𝔩"],[0,"𝔪"],[0,"𝔫"],[0,"𝔬"],[0,"𝔭"],[0,"𝔮"],[0,"𝔯"],[0,"𝔰"],[0,"𝔱"],[0,"𝔲"],[0,"𝔳"],[0,"𝔴"],[0,"𝔵"],[0,"𝔶"],[0,"𝔷"],[0,"𝔸"],[0,"𝔹"],[1,"𝔻"],[0,"𝔼"],[0,"𝔽"],[0,"𝔾"],[1,"𝕀"],[0,"𝕁"],[0,"𝕂"],[0,"𝕃"],[0,"𝕄"],[1,"𝕆"],[3,"𝕊"],[0,"𝕋"],[0,"𝕌"],[0,"𝕍"],[0,"𝕎"],[0,"𝕏"],[0,"𝕐"],[1,"𝕒"],[0,"𝕓"],[0,"𝕔"],[0,"𝕕"],[0,"𝕖"],[0,"𝕗"],[0,"𝕘"],[0,"𝕙"],[0,"𝕚"],[0,"𝕛"],[0,"𝕜"],[0,"𝕝"],[0,"𝕞"],[0,"𝕟"],[0,"𝕠"],[0,"𝕡"],[0,"𝕢"],[0,"𝕣"],[0,"𝕤"],[0,"𝕥"],[0,"𝕦"],[0,"𝕧"],[0,"𝕨"],[0,"𝕩"],[0,"𝕪"],[0,"𝕫"]]))}],[8906,"ff"],[0,"fi"],[0,"fl"],[0,"ffi"],[0,"ffl"]]));var wH=/["&'<>$\x80-\uFFFF]/g,FOe=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),UOe=String.prototype.codePointAt!=null?(t,e)=>t.codePointAt(e):(t,e)=>(t.charCodeAt(e)&64512)===55296?(t.charCodeAt(e)-55296)*1024+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e);function tv(t){let e="",r=0,n;for(;(n=wH.exec(t))!==null;){let s=n.index,i=t.charCodeAt(s),a=FOe.get(i);a!==void 0?(e+=t.substring(r,s)+a,r=s+1):(e+=`${t.substring(r,s)}&#x${UOe(t,s).toString(16)};`,r=wH.lastIndex+=+((i&64512)===55296))}return e+t.substr(r)}function RH(t,e){return function(n){let s,i=0,a="";for(;s=t.exec(n);)i!==s.index&&(a+=n.substring(i,s.index)),a+=e.get(s[0].charCodeAt(0)),i=s.index+1;return a+n.substring(i)}}var qOe=RH(/[&<>'"]/g,FOe),L3=RH(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),B3=RH(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));var jOe;(function(t){t[t.XML=0]="XML",t[t.HTML=1]="HTML"})(jOe||(jOe={}));var HOe;(function(t){t[t.UTF8=0]="UTF8",t[t.ASCII=1]="ASCII",t[t.Extensive=2]="Extensive",t[t.Attribute=3]="Attribute",t[t.Text=4]="Text"})(HOe||(HOe={}));var VOe=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),zOe=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t]));var KQt=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function YQt(t){return t.replace(/"/g,""")}function JQt(t,e){var r;if(!t)return;let n=((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)===!1?YQt:e.xmlMode||e.encodeEntities!=="utf8"?tv:L3;return Object.keys(t).map(s=>{var i,a;let o=(i=t[s])!==null&&i!==void 0?i:"";return e.xmlMode==="foreign"&&(s=(a=zOe.get(s))!==null&&a!==void 0?a:s),!e.emptyAttrs&&!e.xmlMode&&o===""?s:`${s}="${n(o)}"`}).join(" ")}var KOe=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function PH(t,e={}){let r="length"in t?t:[t],n="";for(let s=0;s<r.length;s++)n+=XQt(r[s],e);return n}var M3=PH;function XQt(t,e){switch(t.type){case wOe:return PH(t.children,e);case BOe:case NOe:return rGt(t);case OOe:return iGt(t);case LOe:return sGt(t);case POe:case DOe:case kOe:return tGt(t,e);case ROe:return nGt(t,e)}}var ZQt=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),eGt=new Set(["svg","math"]);function tGt(t,e){var r;e.xmlMode==="foreign"&&(t.name=(r=VOe.get(t.name))!==null&&r!==void 0?r:t.name,t.parent&&ZQt.has(t.parent.name)&&(e={...e,xmlMode:!1})),!e.xmlMode&&eGt.has(t.name)&&(e={...e,xmlMode:"foreign"});let n=`<${t.name}`,s=JQt(t.attribs,e);return s&&(n+=` ${s}`),t.children.length===0&&(e.xmlMode?e.selfClosingTags!==!1:e.selfClosingTags&&KOe.has(t.name))?(e.xmlMode||(n+=" "),n+="/>"):(n+=">",t.children.length>0&&(n+=PH(t.children,e)),(e.xmlMode||!KOe.has(t.name))&&(n+=`</${t.name}>`)),n}function rGt(t){return`<${t.data}>`}function nGt(t,e){var r;let n=t.data||"";return((r=e.encodeEntities)!==null&&r!==void 0?r:e.decodeEntities)!==!1&&!(!e.xmlMode&&t.parent&&KQt.has(t.parent.name))&&(n=e.xmlMode||e.encodeEntities!=="utf8"?tv(n):B3(n)),n}function sGt(t){return`<![CDATA[${t.children[0].data}]]>`}function iGt(t){return`<!--${t.data}-->`}function YOe(t,e){return M3(t,e)}function aGt(t,e){return rn(t)?t.children.map(r=>YOe(r,e)).join(""):""}function W3(t){return Array.isArray(t)?t.map(W3).join(""):st(t)?t.name==="br"?`
|
|
`:W3(t.children):yx(t)?W3(t.children):za(t)?t.data:""}function $d(t){return Array.isArray(t)?t.map($d).join(""):rn(t)&&!_h(t)?$d(t.children):za(t)?t.data:""}function rv(t){return Array.isArray(t)?t.map(rv).join(""):rn(t)&&(t.type===wr.Tag||yx(t))?rv(t.children):za(t)?t.data:""}function Ex(t){return rn(t)?t.children:[]}function JOe(t){return t.parent||null}function DH(t){let e=JOe(t);if(e!=null)return Ex(e);let r=[t],{prev:n,next:s}=t;for(;n!=null;)r.unshift(n),{prev:n}=n;for(;s!=null;)r.push(s),{next:s}=s;return r}function oGt(t,e){var r;return(r=t.attribs)===null||r===void 0?void 0:r[e]}function cGt(t,e){return t.attribs!=null&&Object.prototype.hasOwnProperty.call(t.attribs,e)&&t.attribs[e]!=null}function uGt(t){return t.name}function $3(t){let{next:e}=t;for(;e!==null&&!st(e);)({next:e}=e);return e}function F3(t){let{prev:e}=t;for(;e!==null&&!st(e);)({prev:e}=e);return e}function Fd(t){if(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.parent){let e=t.parent.children,r=e.lastIndexOf(t);r>=0&&e.splice(r,1)}t.next=null,t.prev=null,t.parent=null}function lGt(t,e){let r=e.prev=t.prev;r&&(r.next=e);let n=e.next=t.next;n&&(n.prev=e);let s=e.parent=t.parent;if(s){let i=s.children;i[i.lastIndexOf(t)]=e,t.parent=null}}function dGt(t,e){if(Fd(e),e.next=null,e.parent=t,t.children.push(e)>1){let r=t.children[t.children.length-2];r.next=e,e.prev=r}else e.prev=null}function fGt(t,e){Fd(e);let{parent:r}=t,n=t.next;if(e.next=n,e.prev=t,t.next=e,e.parent=r,n){if(n.prev=e,r){let s=r.children;s.splice(s.lastIndexOf(n),0,e)}}else r&&r.children.push(e)}function pGt(t,e){if(Fd(e),e.parent=t,e.prev=null,t.children.unshift(e)!==1){let r=t.children[1];r.prev=e,e.next=r}else e.next=null}function mGt(t,e){Fd(e);let{parent:r}=t;if(r){let n=r.children;n.splice(n.indexOf(t),0,e)}t.prev&&(t.prev.next=e),e.parent=r,e.prev=t.prev,e.next=t,t.prev=e}function _x(t,e,r=!0,n=1/0){return U3(t,Array.isArray(e)?e:[e],r,n)}function U3(t,e,r,n){let s=[],i=[Array.isArray(e)?e:[e]],a=[0];for(;;){if(a[0]>=i[0].length){if(a.length===1)return s;i.shift(),a.shift();continue}let o=i[0][a[0]++];if(t(o)&&(s.push(o),--n<=0))return s;r&&rn(o)&&o.children.length>0&&(a.unshift(0),i.unshift(o.children))}}function hGt(t,e){return e.find(t)}function q3(t,e,r=!0){let n=Array.isArray(e)?e:[e];for(let s=0;s<n.length;s++){let i=n[s];if(st(i)&&t(i))return i;if(r&&rn(i)&&i.children.length>0){let a=q3(t,i.children,!0);if(a)return a}}return null}function XOe(t,e){return(Array.isArray(e)?e:[e]).some(r=>st(r)&&t(r)||rn(r)&&XOe(t,r.children))}function gGt(t,e){let r=[],n=[Array.isArray(e)?e:[e]],s=[0];for(;;){if(s[0]>=n[0].length){if(n.length===1)return r;n.shift(),s.shift();continue}let i=n[0][s[0]++];st(i)&&t(i)&&r.push(i),rn(i)&&i.children.length>0&&(s.unshift(0),n.unshift(i.children))}}var j3={tag_name(t){return typeof t=="function"?e=>st(e)&&t(e.name):t==="*"?st:e=>st(e)&&e.name===t},tag_type(t){return typeof t=="function"?e=>t(e.type):e=>e.type===t},tag_contains(t){return typeof t=="function"?e=>za(e)&&t(e.data):e=>za(e)&&e.data===t}};function kH(t,e){return typeof e=="function"?r=>st(r)&&e(r.attribs[t]):r=>st(r)&&r.attribs[t]===e}function AGt(t,e){return r=>t(r)||e(r)}function ZOe(t){let e=Object.keys(t).map(r=>{let n=t[r];return Object.prototype.hasOwnProperty.call(j3,r)?j3[r](n):kH(r,n)});return e.length===0?null:e.reduce(AGt)}function yGt(t,e){let r=ZOe(t);return r?r(e):!0}function xGt(t,e,r,n=1/0){let s=ZOe(t);return s?_x(s,e,r,n):[]}function bGt(t,e,r=!0){return Array.isArray(e)||(e=[e]),q3(kH("id",t),e,r)}function Sh(t,e,r=!0,n=1/0){return _x(j3.tag_name(t),e,r,n)}function EGt(t,e,r=!0,n=1/0){return _x(kH("class",t),e,r,n)}function _Gt(t,e,r=!0,n=1/0){return _x(j3.tag_type(t),e,r,n)}function SGt(t){let e=t.length;for(;--e>=0;){let r=t[e];if(e>0&&t.lastIndexOf(r,e-1)>=0){t.splice(e,1);continue}for(let n=r.parent;n;n=n.parent)if(t.includes(n)){t.splice(e,1);break}}return t}var fc;(function(t){t[t.DISCONNECTED=1]="DISCONNECTED",t[t.PRECEDING=2]="PRECEDING",t[t.FOLLOWING=4]="FOLLOWING",t[t.CONTAINS=8]="CONTAINS",t[t.CONTAINED_BY=16]="CONTAINED_BY"})(fc||(fc={}));function ePe(t,e){let r=[],n=[];if(t===e)return 0;let s=rn(t)?t:t.parent;for(;s;)r.unshift(s),s=s.parent;for(s=rn(e)?e:e.parent;s;)n.unshift(s),s=s.parent;let i=Math.min(r.length,n.length),a=0;for(;a<i&&r[a]===n[a];)a++;if(a===0)return fc.DISCONNECTED;let o=r[a-1],c=o.children,u=r[a],l=n[a];return c.indexOf(u)>c.indexOf(l)?o===e?fc.FOLLOWING|fc.CONTAINED_BY:fc.FOLLOWING:o===t?fc.PRECEDING|fc.CONTAINS:fc.PRECEDING}function e0(t){return t=t.filter((e,r,n)=>!n.includes(e,r+1)),t.sort((e,r)=>{let n=ePe(e,r);return n&fc.PRECEDING?-1:n&fc.FOLLOWING?1:0}),t}function LH(t){let e=H3(wGt,t);return e?e.name==="feed"?vGt(e):CGt(e):null}function vGt(t){var e;let r=t.children,n={type:"atom",items:Sh("entry",r).map(a=>{var o;let{children:c}=a,u={media:tPe(c)};Ka(u,"id","id",c),Ka(u,"title","title",c);let l=(o=H3("link",c))===null||o===void 0?void 0:o.attribs.href;l&&(u.link=l);let d=t0("summary",c)||t0("content",c);d&&(u.description=d);let f=t0("updated",c);return f&&(u.pubDate=new Date(f)),u})};Ka(n,"id","id",r),Ka(n,"title","title",r);let s=(e=H3("link",r))===null||e===void 0?void 0:e.attribs.href;s&&(n.link=s),Ka(n,"description","subtitle",r);let i=t0("updated",r);return i&&(n.updated=new Date(i)),Ka(n,"author","email",r,!0),n}function CGt(t){var e,r;let n=(r=(e=H3("channel",t.children))===null||e===void 0?void 0:e.children)!==null&&r!==void 0?r:[],s={type:t.name.substr(0,3),id:"",items:Sh("item",t.children).map(a=>{let{children:o}=a,c={media:tPe(o)};Ka(c,"id","guid",o),Ka(c,"title","title",o),Ka(c,"link","link",o),Ka(c,"description","description",o);let u=t0("pubDate",o)||t0("dc:date",o);return u&&(c.pubDate=new Date(u)),c})};Ka(s,"title","title",n),Ka(s,"link","link",n),Ka(s,"description","description",n);let i=t0("lastBuildDate",n);return i&&(s.updated=new Date(i)),Ka(s,"author","managingEditor",n,!0),s}var IGt=["url","type","lang"],TGt=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function tPe(t){return Sh("media:content",t).map(e=>{let{attribs:r}=e,n={medium:r.medium,isDefault:!!r.isDefault};for(let s of IGt)r[s]&&(n[s]=r[s]);for(let s of TGt)r[s]&&(n[s]=parseInt(r[s],10));return r.expression&&(n.expression=r.expression),n})}function H3(t,e){return Sh(t,e,!0,1)[0]}function t0(t,e,r=!1){return $d(Sh(t,e,r,1)).trim()}function Ka(t,e,r,n,s=!1){let i=t0(r,n,s);i&&(t[e]=i)}function wGt(t){return t==="rss"||t==="feed"||t==="rdf:RDF"}function nPe(t,e,r){return t?t(e??t._root.children,null,void 0,r).toString():""}function RGt(t,e){return!e&&typeof t=="object"&&t!=null&&!("length"in t)&&!("type"in t)}function BH(t,e){let r=RGt(t)?(e=t,void 0):t,n={...zS,...this===null||this===void 0?void 0:this._options,...KS(e??{})};return nPe(this,r,n)}function MH(t){let e={...this._options,xmlMode:!0};return nPe(this,t,e)}function Ud(t){let e=t||(this?this.root():[]),r="";for(let n=0;n<e.length;n++)r+=$d(e[n]);return r}function NGt(t,e,r=typeof e=="boolean"?e:!1){if(!t||typeof t!="string")return null;typeof e=="boolean"&&(r=e);let n=this.load(t,zS,!1);return r||n("script").remove(),n.root()[0].children.slice()}function OGt(){return this(this._root)}function WH(t,e){if(e===t)return!1;let r=e;for(;r&&r!==r.parent;)if(r=r.parent,r===t)return!0;return!1}function PGt(t,e){if(!rPe(t)||!rPe(e))return;let r=t.length,n=+e.length;for(let s=0;s<n;s++)t[r++]=e[s];return t.length=r,t}function rPe(t){if(Array.isArray(t))return!0;if(typeof t!="object"||!Object.prototype.hasOwnProperty.call(t,"length")||typeof t.length!="number"||t.length<0)return!1;for(let e=0;e<t.length;e++)if(!(e in t))return!1;return!0}var qH={};is(qH,{addClass:()=>dPe,attr:()=>kGt,data:()=>BGt,hasClass:()=>$Gt,prop:()=>LGt,removeAttr:()=>WGt,removeClass:()=>fPe,toggleClass:()=>pPe,val:()=>MGt});function _o(t){return t.cheerio!=null}function sPe(t){return t.replace(/[_.-](\w|$)/g,(e,r)=>r.toUpperCase())}function iPe(t){return t.replace(/[A-Z]/g,"-$&").toLowerCase()}function mn(t,e){let r=t.length;for(let n=0;n<r;n++)e(t[n],n);return t}function Q3(t){let e="length"in t?Array.prototype.map.call(t,n=>ZS(n,!0)):[ZS(t,!0)],r=new Eo(e);return e.forEach(n=>{n.parent=r}),e}var vh;(function(t){t[t.LowerA=97]="LowerA",t[t.LowerZ=122]="LowerZ",t[t.UpperA=65]="UpperA",t[t.UpperZ=90]="UpperZ",t[t.Exclamation=33]="Exclamation"})(vh||(vh={}));function nv(t){let e=t.indexOf("<");if(e<0||e>t.length-3)return!1;let r=t.charCodeAt(e+1);return(r>=vh.LowerA&&r<=vh.LowerZ||r>=vh.UpperA&&r<=vh.UpperZ||r===vh.Exclamation)&&t.includes(">",e+2)}var Sx=Object.prototype.hasOwnProperty,sv=/\s+/,$H="data-",aPe={null:null,true:!0,false:!1},UH=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,DGt=/^{[^]*}$|^\[[^]*]$/;function G3(t,e,r){var n;if(!(!t||!st(t))){if((n=t.attribs)!==null&&n!==void 0||(t.attribs={}),!e)return t.attribs;if(Sx.call(t.attribs,e))return!r&&UH.test(e)?e:t.attribs[e];if(t.name==="option"&&e==="value")return Ud(t.children);if(t.name==="input"&&(t.attribs.type==="radio"||t.attribs.type==="checkbox")&&e==="value")return"on"}}function vx(t,e,r){r===null?lPe(t,e):t.attribs[e]=`${r}`}function kGt(t,e){if(typeof t=="object"||e!==void 0){if(typeof e=="function"){if(typeof t!="string")throw new Error("Bad combination of arguments.");return mn(this,(r,n)=>{st(r)&&vx(r,t,e.call(r,n,r.attribs[t]))})}return mn(this,r=>{st(r)&&(typeof t=="object"?Object.keys(t).forEach(n=>{let s=t[n];vx(r,n,s)}):vx(r,t,e))})}return arguments.length>1?this:G3(this[0],t,this.options.xmlMode)}function oPe(t,e,r){return e in t?t[e]:!r&&UH.test(e)?G3(t,e,!1)!==void 0:G3(t,e,r)}function FH(t,e,r,n){e in t?t[e]=r:vx(t,e,!n&&UH.test(e)?r?"":null:`${r}`)}function LGt(t,e){var r;if(typeof t=="string"&&e===void 0){let n=this[0];if(!n||!st(n))return;switch(t){case"style":{let s=this.css(),i=Object.keys(s);return i.forEach((a,o)=>{s[o]=a}),s.length=i.length,s}case"tagName":case"nodeName":return n.name.toUpperCase();case"href":case"src":{let s=(r=n.attribs)===null||r===void 0?void 0:r[t];return typeof URL<"u"&&(t==="href"&&(n.tagName==="a"||n.name==="link")||t==="src"&&(n.tagName==="img"||n.tagName==="iframe"||n.tagName==="audio"||n.tagName==="video"||n.tagName==="source"))&&s!==void 0&&this.options.baseURI?new URL(s,this.options.baseURI).href:s}case"innerText":return rv(n);case"textContent":return $d(n);case"outerHTML":return this.clone().wrap("<container />").parent().html();case"innerHTML":return this.html();default:return oPe(n,t,this.options.xmlMode)}}if(typeof t=="object"||e!==void 0){if(typeof e=="function"){if(typeof t=="object")throw new Error("Bad combination of arguments.");return mn(this,(n,s)=>{st(n)&&FH(n,t,e.call(n,s,oPe(n,t,this.options.xmlMode)),this.options.xmlMode)})}return mn(this,n=>{st(n)&&(typeof t=="object"?Object.keys(t).forEach(s=>{let i=t[s];FH(n,s,i,this.options.xmlMode)}):FH(n,t,e,this.options.xmlMode))})}}function cPe(t,e,r){var n;let s=t;(n=s.data)!==null&&n!==void 0||(s.data={}),typeof e=="object"?Object.assign(s.data,e):typeof e=="string"&&r!==void 0&&(s.data[e]=r)}function uPe(t,e){let r,n,s;e==null?(r=Object.keys(t.attribs).filter(i=>i.startsWith($H)),n=r.map(i=>sPe(i.slice($H.length)))):(r=[$H+iPe(e)],n=[e]);for(let i=0;i<r.length;++i){let a=r[i],o=n[i];if(Sx.call(t.attribs,a)&&!Sx.call(t.data,o)){if(s=t.attribs[a],Sx.call(aPe,s))s=aPe[s];else if(s===String(Number(s)))s=Number(s);else if(DGt.test(s))try{s=JSON.parse(s)}catch{}t.data[o]=s}}return e==null?t.data:s}function BGt(t,e){var r;let n=this[0];if(!n||!st(n))return;let s=n;return(r=s.data)!==null&&r!==void 0||(s.data={}),t?typeof t=="object"||e!==void 0?(mn(this,i=>{st(i)&&(typeof t=="object"?cPe(i,t):cPe(i,t,e))}),this):Sx.call(s.data,t)?s.data[t]:uPe(s,t):uPe(s)}function MGt(t){let e=arguments.length===0,r=this[0];if(!r||!st(r))return e?void 0:this;switch(r.name){case"textarea":return this.text(t);case"select":{let n=this.find("option:selected");if(!e){if(this.attr("multiple")==null&&typeof t=="object")return this;this.find("option").removeAttr("selected");let s=typeof t!="object"?[t]:t;for(let i=0;i<s.length;i++)this.find(`option[value="${s[i]}"]`).attr("selected","");return this}return this.attr("multiple")?n.toArray().map(s=>Ud(s.children)):n.attr("value")}case"input":case"option":return e?this.attr("value"):this.attr("value",t)}}function lPe(t,e){!t.attribs||!Sx.call(t.attribs,e)||delete t.attribs[e]}function V3(t){return t?t.trim().split(sv):[]}function WGt(t){let e=V3(t);for(let r=0;r<e.length;r++)mn(this,n=>{st(n)&&lPe(n,e[r])});return this}function $Gt(t){return this.toArray().some(e=>{let r=st(e)&&e.attribs.class,n=-1;if(r&&t.length)for(;(n=r.indexOf(t,n+1))>-1;){let s=n+t.length;if((n===0||sv.test(r[n-1]))&&(s===r.length||sv.test(r[s])))return!0}return!1})}function dPe(t){if(typeof t=="function")return mn(this,(n,s)=>{if(st(n)){let i=n.attribs.class||"";dPe.call([n],t.call(n,s,i))}});if(!t||typeof t!="string")return this;let e=t.split(sv),r=this.length;for(let n=0;n<r;n++){let s=this[n];if(!st(s))continue;let i=G3(s,"class",!1);if(!i)vx(s,"class",e.join(" ").trim());else{let a=` ${i} `;for(let o=0;o<e.length;o++){let c=`${e[o]} `;a.includes(` ${c}`)||(a+=c)}vx(s,"class",a.trim())}}return this}function fPe(t){if(typeof t=="function")return mn(this,(s,i)=>{st(s)&&fPe.call([s],t.call(s,i,s.attribs.class||""))});let e=V3(t),r=e.length,n=arguments.length===0;return mn(this,s=>{if(st(s))if(n)s.attribs.class="";else{let i=V3(s.attribs.class),a=!1;for(let o=0;o<r;o++){let c=i.indexOf(e[o]);c>=0&&(i.splice(c,1),a=!0,o--)}a&&(s.attribs.class=i.join(" "))}})}function pPe(t,e){if(typeof t=="function")return mn(this,(a,o)=>{st(a)&&pPe.call([a],t.call(a,o,a.attribs.class||"",e),e)});if(!t||typeof t!="string")return this;let r=t.split(sv),n=r.length,s=typeof e=="boolean"?e?1:-1:0,i=this.length;for(let a=0;a<i;a++){let o=this[a];if(!st(o))continue;let c=V3(o.attribs.class);for(let u=0;u<n;u++){let l=c.indexOf(r[u]);s>=0&&l<0?c.push(r[u]):s<=0&&l>=0&&c.splice(l,1)}o.attribs.class=c.join(" ")}return this}var dQ={};is(dQ,{add:()=>VVt,addBack:()=>zVt,children:()=>OVt,closest:()=>SVt,contents:()=>PVt,each:()=>DVt,end:()=>GVt,eq:()=>UVt,filter:()=>LVt,filterArray:()=>lQ,find:()=>xVt,first:()=>$Vt,get:()=>qVt,has:()=>WVt,index:()=>HVt,is:()=>BVt,last:()=>FVt,map:()=>kVt,next:()=>vVt,nextAll:()=>CVt,nextUntil:()=>IVt,not:()=>MVt,parent:()=>bVt,parents:()=>EVt,parentsUntil:()=>_Vt,prev:()=>TVt,prevAll:()=>wVt,prevUntil:()=>RVt,siblings:()=>NVt,slice:()=>QVt,toArray:()=>jVt});var Ja=Re(wx(),1);var eQ=Re(s0(),1);var su=Re(wx(),1),jd=Re(s0(),1);var ua=Re(wx(),1),wPe=new Map([[ua.SelectorType.Universal,50],[ua.SelectorType.Tag,30],[ua.SelectorType.Attribute,1],[ua.SelectorType.Pseudo,0]]);function av(t){return!wPe.has(t.type)}var eVt=new Map([[ua.AttributeAction.Exists,10],[ua.AttributeAction.Equals,8],[ua.AttributeAction.Not,7],[ua.AttributeAction.Start,6],[ua.AttributeAction.End,6],[ua.AttributeAction.Any,5]]);function HH(t){let e=t.map(RPe);for(let r=1;r<t.length;r++){let n=e[r];if(!(n<0))for(let s=r-1;s>=0&&n<e[s];s--){let i=t[s+1];t[s+1]=t[s],t[s]=i,e[s+1]=e[s],e[s]=n}}}function RPe(t){var e,r;let n=(e=wPe.get(t.type))!==null&&e!==void 0?e:-1;return t.type===ua.SelectorType.Attribute?(n=(r=eVt.get(t.action))!==null&&r!==void 0?r:4,t.action===ua.AttributeAction.Equals&&t.name==="id"&&(n=9),t.ignoreCase&&(n>>=1)):t.type===ua.SelectorType.Pseudo&&(t.data?t.name==="has"||t.name==="contains"?n=0:Array.isArray(t.data)?(n=Math.min(...t.data.map(s=>Math.min(...s.map(RPe)))),n<0&&(n=0)):n=2:n=3),n}var ov=Re(s0(),1),tVt=/[-[\]{}()*+?.,\\^$|#\s]/g;function NPe(t){return t.replace(tVt,"\\$&")}var rVt=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function Ch(t,e){return typeof t.ignoreCase=="boolean"?t.ignoreCase:t.ignoreCase==="quirks"?!!e.quirksMode:!e.xmlMode&&rVt.has(t.name)}var OPe={equals(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e;return Ch(e,r)?(i=i.toLowerCase(),a=>{let o=n.getAttributeValue(a,s);return o!=null&&o.length===i.length&&o.toLowerCase()===i&&t(a)}):a=>n.getAttributeValue(a,s)===i&&t(a)},hyphen(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=i.length;return Ch(e,r)?(i=i.toLowerCase(),function(c){let u=n.getAttributeValue(c,s);return u!=null&&(u.length===a||u.charAt(a)==="-")&&u.substr(0,a).toLowerCase()===i&&t(c)}):function(c){let u=n.getAttributeValue(c,s);return u!=null&&(u.length===a||u.charAt(a)==="-")&&u.substr(0,a)===i&&t(c)}},element(t,e,r){let{adapter:n}=r,{name:s,value:i}=e;if(/\s/.test(i))return ov.default.falseFunc;let a=new RegExp(`(?:^|\\s)${NPe(i)}(?:$|\\s)`,Ch(e,r)?"i":"");return function(c){let u=n.getAttributeValue(c,s);return u!=null&&u.length>=i.length&&a.test(u)&&t(c)}},exists(t,{name:e},{adapter:r}){return n=>r.hasAttrib(n,e)&&t(n)},start(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=i.length;return a===0?ov.default.falseFunc:Ch(e,r)?(i=i.toLowerCase(),o=>{let c=n.getAttributeValue(o,s);return c!=null&&c.length>=a&&c.substr(0,a).toLowerCase()===i&&t(o)}):o=>{var c;return!!(!((c=n.getAttributeValue(o,s))===null||c===void 0)&&c.startsWith(i))&&t(o)}},end(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e,a=-i.length;return a===0?ov.default.falseFunc:Ch(e,r)?(i=i.toLowerCase(),o=>{var c;return((c=n.getAttributeValue(o,s))===null||c===void 0?void 0:c.substr(a).toLowerCase())===i&&t(o)}):o=>{var c;return!!(!((c=n.getAttributeValue(o,s))===null||c===void 0)&&c.endsWith(i))&&t(o)}},any(t,e,r){let{adapter:n}=r,{name:s,value:i}=e;if(i==="")return ov.default.falseFunc;if(Ch(e,r)){let a=new RegExp(NPe(i),"i");return function(c){let u=n.getAttributeValue(c,s);return u!=null&&u.length>=i.length&&a.test(u)&&t(c)}}return a=>{var o;return!!(!((o=n.getAttributeValue(a,s))===null||o===void 0)&&o.includes(i))&&t(a)}},not(t,e,r){let{adapter:n}=r,{name:s}=e,{value:i}=e;return i===""?a=>!!n.getAttributeValue(a,s)&&t(a):Ch(e,r)?(i=i.toLowerCase(),a=>{let o=n.getAttributeValue(a,s);return(o==null||o.length!==i.length||o.toLowerCase()!==i)&&t(a)}):a=>n.getAttributeValue(a,s)!==i&&t(a)}};var LPe=Re(wx(),1);var nVt=new Set([9,10,12,13,32]),PPe=48,sVt=57;function DPe(t){if(t=t.trim().toLowerCase(),t==="even")return[2,0];if(t==="odd")return[2,1];let e=0,r=0,n=i(),s=a();if(e<t.length&&t.charAt(e)==="n"&&(e++,r=n*(s??1),o(),e<t.length?(n=i(),o(),s=a()):n=s=0),s===null||e<t.length)throw new Error(`n-th rule couldn't be parsed ('${t}')`);return[r,n*s];function i(){return t.charAt(e)==="-"?(e++,-1):(t.charAt(e)==="+"&&e++,1)}function a(){let c=e,u=0;for(;e<t.length&&t.charCodeAt(e)>=PPe&&t.charCodeAt(e)<=sVt;)u=u*10+(t.charCodeAt(e)-PPe),e++;return e===c?null:u}function o(){for(;e<t.length&&nVt.has(t.charCodeAt(e));)e++}}var QH=Re(s0(),1);function kPe(t){let e=t[0],r=t[1]-1;if(r<0&&e<=0)return QH.default.falseFunc;if(e===-1)return i=>i<=r;if(e===0)return i=>i===r;if(e===1)return r<0?QH.default.trueFunc:i=>i>=r;let n=Math.abs(e),s=(r%n+n)%n;return e>1?i=>i>=r&&i%n===s:i=>i<=r&&i%n===s}function Rx(t){return kPe(DPe(t))}var Ya=Re(s0(),1);function Y3(t,e){return r=>{let n=e.getParent(r);return n!=null&&e.isTag(n)&&t(r)}}var Nx={contains(t,e,{adapter:r}){return function(s){return t(s)&&r.getText(s).includes(e)}},icontains(t,e,{adapter:r}){let n=e.toLowerCase();return function(i){return t(i)&&r.getText(i).toLowerCase().includes(n)}},"nth-child"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Y3(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=0;u<o.length&&!n(a,o[u]);u++)r.isTag(o[u])&&c++;return s(c)&&t(a)}},"nth-last-child"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Y3(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=o.length-1;u>=0&&!n(a,o[u]);u--)r.isTag(o[u])&&c++;return s(c)&&t(a)}},"nth-of-type"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Y3(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=0;u<o.length;u++){let l=o[u];if(n(a,l))break;r.isTag(l)&&r.getName(l)===r.getName(a)&&c++}return s(c)&&t(a)}},"nth-last-of-type"(t,e,{adapter:r,equals:n}){let s=Rx(e);return s===Ya.default.falseFunc?Ya.default.falseFunc:s===Ya.default.trueFunc?Y3(t,r):function(a){let o=r.getSiblings(a),c=0;for(let u=o.length-1;u>=0;u--){let l=o[u];if(n(a,l))break;r.isTag(l)&&r.getName(l)===r.getName(a)&&c++}return s(c)&&t(a)}},root(t,e,{adapter:r}){return n=>{let s=r.getParent(n);return(s==null||!r.isTag(s))&&t(n)}},scope(t,e,r,n){let{equals:s}=r;return!n||n.length===0?Nx.root(t,e,r):n.length===1?i=>s(n[0],i)&&t(i):i=>n.includes(i)&&t(i)},hover:GH("isHovered"),visited:GH("isVisited"),active:GH("isActive")};function GH(t){return function(r,n,{adapter:s}){let i=s[t];return typeof i!="function"?Ya.default.falseFunc:function(o){return i(o)&&r(o)}}}var cv={empty(t,{adapter:e}){return!e.getChildren(t).some(r=>e.isTag(r)||e.getText(r)!=="")},"first-child"(t,{adapter:e,equals:r}){if(e.prevElementSibling)return e.prevElementSibling(t)==null;let n=e.getSiblings(t).find(s=>e.isTag(s));return n!=null&&r(t,n)},"last-child"(t,{adapter:e,equals:r}){let n=e.getSiblings(t);for(let s=n.length-1;s>=0;s--){if(r(t,n[s]))return!0;if(e.isTag(n[s]))break}return!1},"first-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),s=e.getName(t);for(let i=0;i<n.length;i++){let a=n[i];if(r(t,a))return!0;if(e.isTag(a)&&e.getName(a)===s)break}return!1},"last-of-type"(t,{adapter:e,equals:r}){let n=e.getSiblings(t),s=e.getName(t);for(let i=n.length-1;i>=0;i--){let a=n[i];if(r(t,a))return!0;if(e.isTag(a)&&e.getName(a)===s)break}return!1},"only-of-type"(t,{adapter:e,equals:r}){let n=e.getName(t);return e.getSiblings(t).every(s=>r(t,s)||!e.isTag(s)||e.getName(s)!==n)},"only-child"(t,{adapter:e,equals:r}){return e.getSiblings(t).every(n=>r(t,n)||!e.isTag(n))}};function VH(t,e,r,n){if(r===null){if(t.length>n)throw new Error(`Pseudo-class :${e} requires an argument`)}else if(t.length===n)throw new Error(`Pseudo-class :${e} doesn't have any arguments`)}var J3={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is(
|
|
:is(button, input, select, textarea, optgroup, option)[disabled],
|
|
optgroup[disabled] > option,
|
|
fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)
|
|
)`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"};var pc=Re(s0(),1);var YH={};function JH(t,e){return t===pc.default.falseFunc?pc.default.falseFunc:r=>e.isTag(r)&&t(r)}function XH(t,e){let r=e.getSiblings(t);if(r.length<=1)return[];let n=r.indexOf(t);return n<0||n===r.length-1?[]:r.slice(n+1).filter(e.isTag)}function KH(t){return{xmlMode:!!t.xmlMode,lowerCaseAttributeNames:!!t.lowerCaseAttributeNames,lowerCaseTags:!!t.lowerCaseTags,quirksMode:!!t.quirksMode,cacheResults:!!t.cacheResults,pseudos:t.pseudos,adapter:t.adapter,equals:t.equals}}var zH=(t,e,r,n,s)=>{let i=s(e,KH(r),n);return i===pc.default.trueFunc?t:i===pc.default.falseFunc?pc.default.falseFunc:a=>i(a)&&t(a)},X3={is:zH,matches:zH,where:zH,not(t,e,r,n,s){let i=s(e,KH(r),n);return i===pc.default.falseFunc?t:i===pc.default.trueFunc?pc.default.falseFunc:a=>!i(a)&&t(a)},has(t,e,r,n,s){let{adapter:i}=r,a=KH(r);a.relativeSelector=!0;let o=e.some(l=>l.some(av))?[YH]:void 0,c=s(e,a,o);if(c===pc.default.falseFunc)return pc.default.falseFunc;let u=JH(c,i);if(o&&c!==pc.default.trueFunc){let{shouldTestNextSiblings:l=!1}=c;return d=>{if(!t(d))return!1;o[0]=d;let f=i.getChildren(d),p=l?[...f,...XH(d,i)]:f;return i.existsOne(u,p)}}return l=>t(l)&&i.existsOne(u,i.getChildren(l))}};function BPe(t,e,r,n,s){var i;let{name:a,data:o}=e;if(Array.isArray(o)){if(!(a in X3))throw new Error(`Unknown pseudo-class :${a}(${o})`);return X3[a](t,o,r,n,s)}let c=(i=r.pseudos)===null||i===void 0?void 0:i[a],u=typeof c=="string"?c:J3[a];if(typeof u=="string"){if(o!=null)throw new Error(`Pseudo ${a} doesn't have any arguments`);let l=(0,LPe.parse)(u);return X3.is(t,l,r,n,s)}if(typeof c=="function")return VH(c,a,o,1),l=>c(l,o)&&t(l);if(a in Nx)return Nx[a](t,o,r,n);if(a in cv){let l=cv[a];return VH(l,a,o,2),d=>l(d,r,o)&&t(d)}throw new Error(`Unknown pseudo-class :${a}`)}var mc=Re(wx(),1);function ZH(t,e){let r=e.getParent(t);return r&&e.isTag(r)?r:null}function MPe(t,e,r,n,s){let{adapter:i,equals:a}=r;switch(e.type){case mc.SelectorType.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case mc.SelectorType.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case mc.SelectorType.Attribute:{if(e.namespace!=null)throw new Error("Namespaced attributes are not yet supported by css-select");return(!r.xmlMode||r.lowerCaseAttributeNames)&&(e.name=e.name.toLowerCase()),OPe[e.action](t,e,r)}case mc.SelectorType.Pseudo:return BPe(t,e,r,n,s);case mc.SelectorType.Tag:{if(e.namespace!=null)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:o}=e;return(!r.xmlMode||r.lowerCaseTags)&&(o=o.toLowerCase()),function(u){return i.getName(u)===o&&t(u)}}case mc.SelectorType.Descendant:{if(r.cacheResults===!1||typeof WeakSet>"u")return function(u){let l=u;for(;l=ZH(l,i);)if(t(l))return!0;return!1};let o=new WeakSet;return function(u){let l=u;for(;l=ZH(l,i);)if(!o.has(l)){if(i.isTag(l)&&t(l))return!0;o.add(l)}return!1}}case"_flexibleDescendant":return function(c){let u=c;do if(t(u))return!0;while(u=ZH(u,i));return!1};case mc.SelectorType.Parent:return function(c){return i.getChildren(c).some(u=>i.isTag(u)&&t(u))};case mc.SelectorType.Child:return function(c){let u=i.getParent(c);return u!=null&&i.isTag(u)&&t(u)};case mc.SelectorType.Sibling:return function(c){let u=i.getSiblings(c);for(let l=0;l<u.length;l++){let d=u[l];if(a(c,d))break;if(i.isTag(d)&&t(d))return!0}return!1};case mc.SelectorType.Adjacent:return i.prevElementSibling?function(c){let u=i.prevElementSibling(c);return u!=null&&t(u)}:function(c){let u=i.getSiblings(c),l;for(let d=0;d<u.length;d++){let f=u[d];if(a(c,f))break;i.isTag(f)&&(l=f)}return!!l&&t(l)};case mc.SelectorType.Universal:{if(e.namespace!=null&&e.namespace!=="*")throw new Error("Namespaced universal selectors are not yet supported by css-select");return t}}}function WPe(t,e,r){let n=Z3(t,e,r);return JH(n,e.adapter)}function Z3(t,e,r){let n=typeof t=="string"?(0,su.parse)(t):t;return eD(n,e,r)}function $Pe(t){return t.type===su.SelectorType.Pseudo&&(t.name==="scope"||Array.isArray(t.data)&&t.data.some(e=>e.some($Pe)))}var iVt={type:su.SelectorType.Descendant},aVt={type:"_flexibleDescendant"},oVt={type:su.SelectorType.Pseudo,name:"scope",data:null};function cVt(t,{adapter:e},r){let n=!!r?.every(s=>{let i=e.isTag(s)&&e.getParent(s);return s===YH||i&&e.isTag(i)});for(let s of t){if(!(s.length>0&&av(s[0])&&s[0].type!==su.SelectorType.Descendant))if(n&&!s.some($Pe))s.unshift(iVt);else continue;s.unshift(oVt)}}function eD(t,e,r){var n;t.forEach(HH),r=(n=e.context)!==null&&n!==void 0?n:r;let s=Array.isArray(r),i=r&&(Array.isArray(r)?r:[r]);if(e.relativeSelector!==!1)cVt(t,e,i);else if(t.some(c=>c.length>0&&av(c[0])))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let a=!1,o=t.map(c=>{if(c.length>=2){let[u,l]=c;u.type!==su.SelectorType.Pseudo||u.name!=="scope"||(s&&l.type===su.SelectorType.Descendant?c[1]=aVt:(l.type===su.SelectorType.Adjacent||l.type===su.SelectorType.Sibling)&&(a=!0))}return uVt(c,e,i)}).reduce(lVt,jd.default.falseFunc);return o.shouldTestNextSiblings=a,o}function uVt(t,e,r){var n;return t.reduce((s,i)=>s===jd.default.falseFunc?jd.default.falseFunc:MPe(s,i,e,r,eD),(n=e.rootFunc)!==null&&n!==void 0?n:jd.default.trueFunc)}function lVt(t,e){return e===jd.default.falseFunc||t===jd.default.trueFunc?t:t===jd.default.falseFunc||e===jd.default.trueFunc?e:function(n){return t(n)||e(n)}}var FPe=(t,e)=>t===e,dVt={adapter:r0,equals:FPe};function UPe(t){var e,r,n,s;let i=t??dVt;return(e=i.adapter)!==null&&e!==void 0||(i.adapter=r0),(r=i.equals)!==null&&r!==void 0||(i.equals=(s=(n=i.adapter)===null||n===void 0?void 0:n.equals)!==null&&s!==void 0?s:FPe),i}function tQ(t){return function(r,n,s){let i=UPe(n);return t(r,i,s)}}var xFr=tQ(WPe),bFr=tQ(Z3),tD=tQ(eD);function qPe(t){return function(r,n,s){let i=UPe(s);typeof r!="function"&&(r=Z3(r,i,n));let a=rD(n,i.adapter,r.shouldTestNextSiblings);return t(r,a,i)}}function rD(t,e,r=!1){return r&&(t=fVt(t,e)),Array.isArray(t)?e.removeSubsets(t):e.getChildren(t)}function fVt(t,e){let r=Array.isArray(t)?t.slice(0):[t],n=r.length;for(let s=0;s<n;s++){let i=XH(r[s],e);r.push(...i)}return r}var EFr=qPe((t,e,r)=>t===eQ.default.falseFunc||!e||e.length===0?[]:r.adapter.findAll(t,e)),_Fr=qPe((t,e,r)=>t===eQ.default.falseFunc||!e||e.length===0?null:r.adapter.findOne(t,e));var sD=Re(s0(),1);var pVt=new Set(["first","last","eq","gt","nth","lt","even","odd"]);function Ox(t){return t.type!=="pseudo"?!1:pVt.has(t.name)?!0:t.name==="not"&&Array.isArray(t.data)?t.data.some(e=>e.some(Ox)):!1}function jPe(t,e,r){let n=e!=null?parseInt(e,10):NaN;switch(t){case"first":return 1;case"nth":case"eq":return isFinite(n)?n>=0?n+1:1/0:0;case"lt":return isFinite(n)?n>=0?Math.min(n,r):1/0:0;case"gt":return isFinite(n)?1/0:0;case"odd":return 2*r;case"even":return 2*r-1;case"last":case"not":return 1/0}}function HPe(t){for(;t.parent;)t=t.parent;return t}function nD(t){let e=[],r=[];for(let n of t)n.some(Ox)?e.push(n):r.push(n);return[r,e]}var mVt={type:Ja.SelectorType.Universal,namespace:null},hVt={type:Ja.SelectorType.Pseudo,name:"scope",data:null};function sQ(t,e,r={}){return iQ([t],e,r)}function iQ(t,e,r={}){if(typeof e=="function")return t.some(e);let[n,s]=nD((0,Ja.parse)(e));return n.length>0&&t.some(tD(n,r))||s.some(i=>GPe(i,t,r).length>0)}function gVt(t,e,r,n){let s=typeof r=="string"?parseInt(r,10):NaN;switch(t){case"first":case"lt":return e;case"last":return e.length>0?[e[e.length-1]]:e;case"nth":case"eq":return isFinite(s)&&Math.abs(s)<e.length?[s<0?e[e.length+s]:e[s]]:[];case"gt":return isFinite(s)?e.slice(s+1):[];case"even":return e.filter((i,a)=>a%2===0);case"odd":return e.filter((i,a)=>a%2===1);case"not":{let i=new Set(QPe(r,e,n));return e.filter(a=>!i.has(a))}}}function aQ(t,e,r={}){return QPe((0,Ja.parse)(t),e,r)}function QPe(t,e,r){if(e.length===0)return[];let[n,s]=nD(t),i;if(n.length){let a=nQ(e,n,r);if(s.length===0)return a;a.length&&(i=new Set(a))}for(let a=0;a<s.length&&i?.size!==e.length;a++){let o=s[a];if((i?e.filter(l=>st(l)&&!i.has(l)):e).length===0)break;let u=GPe(o,e,r);if(u.length)if(i)u.forEach(l=>i.add(l));else{if(a===s.length-1)return u;i=new Set(u)}}return typeof i<"u"?i.size===e.length?e:e.filter(a=>i.has(a)):[]}function GPe(t,e,r){var n;if(t.some(Ja.isTraversal)){let s=(n=r.root)!==null&&n!==void 0?n:HPe(e[0]),i={...r,context:e,relativeSelector:!1};return t.push(hVt),iD(s,t,i,!0,e.length)}return iD(e,t,r,!1,e.length)}function VPe(t,e,r={},n=1/0){if(typeof t=="function")return zPe(e,t);let[s,i]=nD((0,Ja.parse)(t)),a=i.map(o=>iD(e,o,r,!0,n));return s.length&&a.push(rQ(e,s,r,n)),a.length===0?[]:a.length===1?a[0]:e0(a.reduce((o,c)=>[...o,...c]))}function iD(t,e,r,n,s){let i=e.findIndex(Ox),a=e.slice(0,i),o=e[i],c=e.length-1===i?s:1/0,u=jPe(o.name,o.data,c);if(u===0)return[];let d=(a.length===0&&!Array.isArray(t)?Ex(t).filter(st):a.length===0?(Array.isArray(t)?t:[t]).filter(st):n||a.some(Ja.isTraversal)?rQ(t,[a],r,u):nQ(t,[a],r)).slice(0,u),f=gVt(o.name,d,o.data,r);if(f.length===0||e.length===i+1)return f;let p=e.slice(i+1),m=p.some(Ja.isTraversal);if(m){if((0,Ja.isTraversal)(p[0])){let{type:h}=p[0];(h===Ja.SelectorType.Sibling||h===Ja.SelectorType.Adjacent)&&(f=rD(f,r0,!0)),p.unshift(mVt)}r={...r,relativeSelector:!1,rootFunc:h=>f.includes(h)}}else r.rootFunc&&r.rootFunc!==sD.trueFunc&&(r={...r,rootFunc:sD.trueFunc});return p.some(Ox)?iD(f,p,r,!1,s):m?rQ(f,[p],r,s):nQ(f,[p],r)}function rQ(t,e,r,n){let s=tD(e,r,t);return zPe(t,s,n)}function zPe(t,e,r=1/0){let n=rD(t,r0,e.shouldTestNextSiblings);return U3(s=>st(s)&&e(s),n,!0,r)}function nQ(t,e,r){let n=(Array.isArray(t)?t:[t]).filter(st);if(n.length===0)return n;let s=tD(e,r);return s===sD.trueFunc?n:n.filter(s)}var yVt=/^\s*[~+]/;function xVt(t){var e;if(!t)return this._make([]);let r=this.toArray();if(typeof t!="string"){let i=_o(t)?t.toArray():[t];return this._make(i.filter(a=>r.some(o=>WH(o,a))))}let n=yVt.test(t)?r:this.children().toArray(),s={context:r,root:(e=this._root)===null||e===void 0?void 0:e[0],xmlMode:this.options.xmlMode,lowerCaseTags:this.options.lowerCaseTags,lowerCaseAttributeNames:this.options.lowerCaseAttributeNames,pseudos:this.options.pseudos,quirksMode:this.options.quirksMode};return this._make(VPe(t,n,s))}function oQ(t){return function(e,...r){return function(n){var s;let i=t(e,this);return n&&(i=lQ(i,n,this.options.xmlMode,(s=this._root)===null||s===void 0?void 0:s[0])),this._make(this.length>1&&i.length>1?r.reduce((a,o)=>o(a),i):i)}}}var uv=oQ((t,e)=>{let r=[];for(let n=0;n<e.length;n++){let s=t(e[n]);r.push(s)}return new Array().concat(...r)}),cQ=oQ((t,e)=>{let r=[];for(let n=0;n<e.length;n++){let s=t(e[n]);s!==null&&r.push(s)}return r});function uQ(t,...e){let r=null,n=oQ((s,i)=>{let a=[];return mn(i,o=>{for(let c;(c=s(o))&&!r?.(c,a.length);o=c)a.push(c)}),a})(t,...e);return function(s,i){r=typeof s=="string"?o=>sQ(o,s,this.options):s?lv(s):null;let a=n.call(this,i);return r=null,a}}function Px(t){return Array.from(new Set(t))}var bVt=cQ(({parent:t})=>t&&!nu(t)?t:null,Px),EVt=uv(t=>{let e=[];for(;t.parent&&!nu(t.parent);)e.push(t.parent),t=t.parent;return e},e0,t=>t.reverse()),_Vt=uQ(({parent:t})=>t&&!nu(t)?t:null,e0,t=>t.reverse());function SVt(t){var e;let r=[];if(!t)return this._make(r);let n={xmlMode:this.options.xmlMode,root:(e=this._root)===null||e===void 0?void 0:e[0]},s=typeof t=="string"?i=>sQ(i,t,n):lv(t);return mn(this,i=>{for(;i&&st(i);){if(s(i,0)){r.includes(i)||r.push(i);break}i=i.parent}}),this._make(r)}var vVt=cQ(t=>$3(t)),CVt=uv(t=>{let e=[];for(;t.next;)t=t.next,st(t)&&e.push(t);return e},Px),IVt=uQ(t=>$3(t),Px),TVt=cQ(t=>F3(t)),wVt=uv(t=>{let e=[];for(;t.prev;)t=t.prev,st(t)&&e.push(t);return e},Px),RVt=uQ(t=>F3(t),Px),NVt=uv(t=>DH(t).filter(e=>st(e)&&e!==t),e0),OVt=uv(t=>Ex(t).filter(st),Px);function PVt(){let t=this.toArray().reduce((e,r)=>rn(r)?e.concat(r.children):e,[]);return this._make(t)}function DVt(t){let e=0,r=this.length;for(;e<r&&t.call(this[e],e,this[e])!==!1;)++e;return this}function kVt(t){let e=[];for(let r=0;r<this.length;r++){let n=this[r],s=t.call(n,r,n);s!=null&&(e=e.concat(s))}return this._make(e)}function lv(t){return typeof t=="function"?(e,r)=>t.call(e,r,e):_o(t)?e=>Array.prototype.includes.call(t,e):function(e){return t===e}}function LVt(t){var e;return this._make(lQ(this.toArray(),t,this.options.xmlMode,(e=this._root)===null||e===void 0?void 0:e[0]))}function lQ(t,e,r,n){return typeof e=="string"?aQ(e,t,{xmlMode:r,root:n}):t.filter(lv(e))}function BVt(t){let e=this.toArray();return typeof t=="string"?iQ(e.filter(st),t,this.options):t?e.some(lv(t)):!1}function MVt(t){let e=this.toArray();if(typeof t=="string"){let r=new Set(aQ(t,e,this.options));e=e.filter(n=>!r.has(n))}else{let r=lv(t);e=e.filter((n,s)=>!r(n,s))}return this._make(e)}function WVt(t){return this.filter(typeof t=="string"?`:has(${t})`:(e,r)=>this._make(r).find(t).length>0)}function $Vt(){return this.length>1?this._make(this[0]):this}function FVt(){return this.length>0?this._make(this[this.length-1]):this}function UVt(t){var e;return t=+t,t===0&&this.length<=1?this:(t<0&&(t=this.length+t),this._make((e=this[t])!==null&&e!==void 0?e:[]))}function qVt(t){return t==null?this.toArray():this[t<0?this.length+t:t]}function jVt(){return Array.prototype.slice.call(this)}function HVt(t){let e,r;return t==null?(e=this.parent().children(),r=this[0]):typeof t=="string"?(e=this._make(t),r=this[0]):(e=this,r=_o(t)?t[0]:t),Array.prototype.indexOf.call(e,r)}function QVt(t,e){return this._make(Array.prototype.slice.call(this,t,e))}function GVt(){var t;return(t=this.prevObject)!==null&&t!==void 0?t:this._make([])}function VVt(t,e){let r=this._make(t,e),n=e0([...this.get(),...r.get()]);return this._make(n)}function zVt(t){return this.prevObject?this.add(t?this.prevObject.filter(t):this.prevObject):this}var fQ={};is(fQ,{_makeDomArray:()=>KVt,after:()=>szt,append:()=>XVt,appendTo:()=>YVt,before:()=>azt,clone:()=>mzt,empty:()=>lzt,html:()=>dzt,insertAfter:()=>izt,insertBefore:()=>ozt,prepend:()=>ZVt,prependTo:()=>JVt,remove:()=>czt,replaceWith:()=>uzt,text:()=>pzt,toString:()=>fzt,unwrap:()=>rzt,wrap:()=>ezt,wrapAll:()=>nzt,wrapInner:()=>tzt});function KPe(t){return function(r,n,s,i){if(typeof Buffer<"u"&&Buffer.isBuffer(r)&&(r=r.toString()),typeof r=="string")return t(r,n,s,i);let a=r;if(!Array.isArray(a)&&nu(a))return a;let o=new Eo([]);return i0(a,o),o}}function i0(t,e){let r=Array.isArray(t)?t:[t];e?e.children=r:e=null;for(let n=0;n<r.length;n++){let s=r[n];s.parent&&s.parent.children!==r&&Fd(s),e?(s.prev=r[n-1]||null,s.next=r[n+1]||null):s.prev=s.next=null,s.parent=e}return e}function KVt(t,e){return t==null?[]:_o(t)?e?Q3(t.get()):t.get():Array.isArray(t)?t.reduce((r,n)=>r.concat(this._makeDomArray(n,e)),[]):typeof t=="string"?this._parse(t,this.options,!1,null).children:e?Q3([t]):[t]}function YPe(t){return function(...e){let r=this.length-1;return mn(this,(n,s)=>{if(!rn(n))return;let i=typeof e[0]=="function"?e[0].call(n,s,this._render(n.children)):e,a=this._makeDomArray(i,s<r);t(a,n.children,n)})}}function a0(t,e,r,n,s){var i,a;let o=[e,r,...n],c=e===0?null:t[e-1],u=e+r>=t.length?null:t[e+r];for(let l=0;l<n.length;++l){let d=n[l],f=d.parent;if(f){let m=f.children.indexOf(d);m>-1&&(f.children.splice(m,1),s===f&&e>m&&o[0]--)}d.parent=s,d.prev&&(d.prev.next=(i=d.next)!==null&&i!==void 0?i:null),d.next&&(d.next.prev=(a=d.prev)!==null&&a!==void 0?a:null),d.prev=l===0?c:n[l-1],d.next=l===n.length-1?u:n[l+1]}return c&&(c.next=n[0]),u&&(u.prev=n[n.length-1]),t.splice(...o)}function YVt(t){return(_o(t)?t:this._make(t)).append(this),this}function JVt(t){return(_o(t)?t:this._make(t)).prepend(this),this}var XVt=YPe((t,e,r)=>{a0(e,e.length,0,t,r)}),ZVt=YPe((t,e,r)=>{a0(e,0,0,t,r)});function JPe(t){return function(e){let r=this.length-1,n=this.parents().last();for(let s=0;s<this.length;s++){let i=this[s],a=typeof e=="function"?e.call(i,s,i):typeof e=="string"&&!nv(e)?n.find(e).clone():e,[o]=this._makeDomArray(a,s<r);if(!o||!rn(o))continue;let c=o,u=0;for(;u<c.children.length;){let l=c.children[u];st(l)?(c=l,u=0):u++}t(i,c,[o])}return this}}var ezt=JPe((t,e,r)=>{let{parent:n}=t;if(!n)return;let s=n.children,i=s.indexOf(t);i0([t],e),a0(s,i,0,r,n)}),tzt=JPe((t,e,r)=>{rn(t)&&(i0(t.children,e),i0(r,t))});function rzt(t){return this.parent(t).not("body").each((e,r)=>{this._make(r).replaceWith(r.children)}),this}function nzt(t){let e=this[0];if(e){let r=this._make(typeof t=="function"?t.call(e,0,e):t).insertBefore(e),n;for(let i=0;i<r.length;i++)r[i].type==="tag"&&(n=r[i]);let s=0;for(;n&&s<n.children.length;){let i=n.children[s];i.type==="tag"?(n=i,s=0):s++}n&&this._make(n).append(this)}return this}function szt(...t){let e=this.length-1;return mn(this,(r,n)=>{let{parent:s}=r;if(!rn(r)||!s)return;let i=s.children,a=i.indexOf(r);if(a<0)return;let o=typeof t[0]=="function"?t[0].call(r,n,this._render(r.children)):t,c=this._makeDomArray(o,n<e);a0(i,a+1,0,c,s)})}function izt(t){typeof t=="string"&&(t=this._make(t)),this.remove();let e=[];return this._makeDomArray(t).forEach(r=>{let n=this.clone().toArray(),{parent:s}=r;if(!s)return;let i=s.children,a=i.indexOf(r);a<0||(a0(i,a+1,0,n,s),e.push(...n))}),this._make(e)}function azt(...t){let e=this.length-1;return mn(this,(r,n)=>{let{parent:s}=r;if(!rn(r)||!s)return;let i=s.children,a=i.indexOf(r);if(a<0)return;let o=typeof t[0]=="function"?t[0].call(r,n,this._render(r.children)):t,c=this._makeDomArray(o,n<e);a0(i,a,0,c,s)})}function ozt(t){let e=this._make(t);this.remove();let r=[];return mn(e,n=>{let s=this.clone().toArray(),{parent:i}=n;if(!i)return;let a=i.children,o=a.indexOf(n);o<0||(a0(a,o,0,s,i),r.push(...s))}),this._make(r)}function czt(t){let e=t?this.filter(t):this;return mn(e,r=>{Fd(r),r.prev=r.next=r.parent=null}),this}function uzt(t){return mn(this,(e,r)=>{let{parent:n}=e;if(!n)return;let s=n.children,i=typeof t=="function"?t.call(e,r,e):t,a=this._makeDomArray(i);i0(a,null);let o=s.indexOf(e);a0(s,o,1,a,n),a.includes(e)||(e.parent=e.prev=e.next=null)})}function lzt(){return mn(this,t=>{rn(t)&&(t.children.forEach(e=>{e.next=e.prev=e.parent=null}),t.children.length=0)})}function dzt(t){if(t===void 0){let e=this[0];return!e||!rn(e)?null:this._render(e.children)}return mn(this,e=>{if(!rn(e))return;e.children.forEach(n=>{n.next=n.prev=n.parent=null});let r=_o(t)?t.toArray():this._parse(`${t}`,this.options,!1,e).children;i0(r,e)})}function fzt(){return this._render(this)}function pzt(t){return t===void 0?Ud(this):typeof t=="function"?mn(this,(e,r)=>this._make(e).text(t.call(e,r,Ud([e])))):mn(this,e=>{if(!rn(e))return;e.children.forEach(n=>{n.next=n.prev=n.parent=null});let r=new ll(`${t}`);i0(r,e)})}function mzt(){return this._make(Q3(this.get()))}var pQ={};is(pQ,{css:()=>hzt});function hzt(t,e){if(t!=null&&e!=null||typeof t=="object"&&!Array.isArray(t))return mn(this,(r,n)=>{st(r)&&XPe(r,t,e,n)});if(this.length!==0)return ZPe(this[0],t)}function XPe(t,e,r,n){if(typeof e=="string"){let s=ZPe(t),i=typeof r=="function"?r.call(t,n,s[e]):r;i===""?delete s[e]:i!=null&&(s[e]=i),t.attribs.style=gzt(s)}else typeof e=="object"&&Object.keys(e).forEach((s,i)=>{XPe(t,s,e[s],i)})}function ZPe(t,e){if(!t||!st(t))return;let r=Azt(t.attribs.style);if(typeof e=="string")return r[e];if(Array.isArray(e)){let n={};return e.forEach(s=>{r[s]!=null&&(n[s]=r[s])}),n}return r}function gzt(t){return Object.keys(t).reduce((e,r)=>`${e}${e?" ":""}${r}: ${t[r]};`,"")}function Azt(t){if(t=(t||"").trim(),!t)return{};let e={},r;for(let n of t.split(";")){let s=n.indexOf(":");if(s<1||s===n.length-1){let i=n.trimEnd();i.length>0&&r!==void 0&&(e[r]+=`;${i}`)}else r=n.slice(0,s).trim(),e[r]=n.slice(s+1).trim()}return e}var mQ={};is(mQ,{serialize:()=>xzt,serializeArray:()=>bzt});var e3e="input,select,textarea,keygen",yzt=/%20/g,t3e=/\r?\n/g;function xzt(){return this.serializeArray().map(r=>`${encodeURIComponent(r.name)}=${encodeURIComponent(r.value)}`).join("&").replace(yzt,"+")}function bzt(){return this.map((t,e)=>{let r=this._make(e);return st(e)&&e.name==="form"?r.find(e3e).toArray():r.filter(e3e).toArray()}).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map((t,e)=>{var r;let n=this._make(e),s=n.attr("name"),i=(r=n.val())!==null&&r!==void 0?r:"";return Array.isArray(i)?i.map(a=>({name:s,value:a.replace(t3e,`\r
|
|
`)})):{name:s,value:i.replace(t3e,`\r
|
|
`)}}).toArray()}var o0=class{constructor(e,r,n){if(this.length=0,this.options=n,this._root=r,e){for(let s=0;s<e.length;s++)this[s]=e[s];this.length=e.length}}};o0.prototype.cheerio="[cheerio object]";o0.prototype.splice=Array.prototype.splice;o0.prototype[Symbol.iterator]=Array.prototype[Symbol.iterator];Object.assign(o0.prototype,qH,dQ,fQ,pQ,mQ);function r3e(t,e){return function r(n,s,i=!0){if(n==null)throw new Error("cheerio.load() expects a string");let a={...zS,...KS(s)},o=t(n,a,i,null);class c extends o0{_make(d,f){let p=u(d,f);return p.prevObject=this,p}_parse(d,f,p,m){return t(d,f,p,m)}_render(d){return e(d,this.options)}}function u(l,d,f=o,p){if(l&&_o(l))return l;let m={...a,...KS(p)},h=typeof f=="string"?[t(f,m,!1,null)]:"length"in f?f:[f],A=_o(h)?h:new c(h,null,m);if(A._root=A,!l)return new c(void 0,A,m);let g=typeof l=="string"&&nv(l)?t(l,m,!1,null).children:Ezt(l)?[l]:Array.isArray(l)?l:void 0,b=new c(g,A,m);if(g)return b;if(typeof l!="string")throw new Error("Unexpected type of selector");let y=l,x=d?typeof d=="string"?nv(d)?new c([t(d,m,!1,null)],A,m):(y=`${d} ${y}`,A):_o(d)?d:new c(Array.isArray(d)?d:[d],A,m):A;return x?x.find(y):b}return Object.assign(u,n0,{load:r,_root:o,_options:a,fn:c.prototype,prototype:c.prototype}),u}}function Ezt(t){return!!t.name||t.type==="root"||t.type==="text"||t.type==="comment"}var _zt=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),_n="\uFFFD",Q;(function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z"})(Q||(Q={}));var la={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"};function aD(t){return t>=55296&&t<=57343}function n3e(t){return t>=56320&&t<=57343}function s3e(t,e){return(t-55296)*1024+9216+e}function oD(t){return t!==32&&t!==10&&t!==13&&t!==9&&t!==12&&t>=1&&t<=31||t>=127&&t<=159}function cD(t){return t>=64976&&t<=65007||_zt.has(t)}var me;(function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(me||(me={}));var vzt=65536,uD=class{constructor(e){this.handler=e,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=vzt,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(e,r){let{line:n,col:s,offset:i}=this,a=s+r,o=i+r;return{code:e,startLine:n,endLine:n,startCol:a,endCol:a,startOffset:o,endOffset:o}}_err(e){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(e,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.html.length-1){let r=this.html.charCodeAt(this.pos+1);if(n3e(r))return this.pos++,this._addGap(),s3e(e,r)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Q.EOF;return this._err(me.surrogateInInputStream),e}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(e,r){this.html.length>0?this.html+=e:this.html=e,this.endOfChunkHit=!1,this.lastChunkWritten=r}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(e,r){if(this.pos+e.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(r)return this.html.startsWith(e,this.pos);for(let n=0;n<e.length;n++)if((this.html.charCodeAt(this.pos+n)|32)!==e.charCodeAt(n))return!1;return!0}peek(e){let r=this.pos+e;if(r>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Q.EOF;let n=this.html.charCodeAt(r);return n===Q.CARRIAGE_RETURN?Q.LINE_FEED:n}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Q.EOF;let e=this.html.charCodeAt(this.pos);return e===Q.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Q.LINE_FEED):e===Q.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,aD(e)&&(e=this._processSurrogate(e)),this.handler.onParseError===null||e>31&&e<127||e===Q.LINE_FEED||e===Q.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}_checkForProblematicCharacters(e){oD(e)?this._err(me.controlCharacterInInputStream):cD(e)&&this._err(me.noncharacterInInputStream)}retreat(e){for(this.pos-=e;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}};var br;(function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"})(br||(br={}));function lD(t,e){for(let r=t.attrs.length-1;r>=0;r--)if(t.attrs[r].name===e)return t.attrs[r].value;return null}var dD=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(t=>t.charCodeAt(0)));var hQ,Izt=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),i3e=(hQ=String.fromCodePoint)!==null&&hQ!==void 0?hQ:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|t&1023),e+=String.fromCharCode(t),e};function gQ(t){var e;return t>=55296&&t<=57343||t>1114111?65533:(e=Izt.get(t))!==null&&e!==void 0?e:t}var Zs;(function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"})(Zs||(Zs={}));var wzt=32,c0;(function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"})(c0||(c0={}));function AQ(t){return t>=Zs.ZERO&&t<=Zs.NINE}function Rzt(t){return t>=Zs.UPPER_A&&t<=Zs.UPPER_F||t>=Zs.LOWER_A&&t<=Zs.LOWER_F}function Nzt(t){return t>=Zs.UPPER_A&&t<=Zs.UPPER_Z||t>=Zs.LOWER_A&&t<=Zs.LOWER_Z||AQ(t)}function Ozt(t){return t===Zs.EQUALS||Nzt(t)}var Xs;(function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"})(Xs||(Xs={}));var fl;(function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"})(fl||(fl={}));var fD=class{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=Xs.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=fl.Strict}startEntity(e){this.decodeMode=e,this.state=Xs.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case Xs.EntityStart:return e.charCodeAt(r)===Zs.NUM?(this.state=Xs.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=Xs.NamedEntity,this.stateNamedEntity(e,r));case Xs.NumericStart:return this.stateNumericStart(e,r);case Xs.NumericDecimal:return this.stateNumericDecimal(e,r);case Xs.NumericHex:return this.stateNumericHex(e,r);case Xs.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|wzt)===Zs.LOWER_X?(this.state=Xs.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=Xs.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,s){if(r!==n){let i=n-r;this.result=this.result*Math.pow(s,i)+Number.parseInt(e.substr(r,i),s),this.consumed+=i}}stateNumericHex(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(AQ(s)||Rzt(s))r+=1;else return this.addToNumericResult(e,n,r,16),this.emitNumericEntity(s,3)}return this.addToNumericResult(e,n,r,16),-1}stateNumericDecimal(e,r){let n=r;for(;r<e.length;){let s=e.charCodeAt(r);if(AQ(s))r+=1;else return this.addToNumericResult(e,n,r,10),this.emitNumericEntity(s,2)}return this.addToNumericResult(e,n,r,10),-1}emitNumericEntity(e,r){var n;if(this.consumed<=r)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Zs.SEMI)this.consumed+=1;else if(this.decodeMode===fl.Strict)return 0;return this.emitCodePoint(gQ(this.result),this.consumed),this.errors&&(e!==Zs.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,r){let{decodeTree:n}=this,s=n[this.treeIndex],i=(s&c0.VALUE_LENGTH)>>14;for(;r<e.length;r++,this.excess++){let a=e.charCodeAt(r);if(this.treeIndex=Pzt(n,s,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===fl.Attribute&&(i===0||Ozt(a))?0:this.emitNotTerminatedNamedEntity();if(s=n[this.treeIndex],i=(s&c0.VALUE_LENGTH)>>14,i!==0){if(a===Zs.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==fl.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:r,decodeTree:n}=this,s=(n[r]&c0.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,s,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){let{decodeTree:s}=this;return this.emitCodePoint(r===1?s[e]&~c0.VALUE_LENGTH:s[e+1],n),r===3&&this.emitCodePoint(s[e+2],n),n}end(){var e;switch(this.state){case Xs.NamedEntity:return this.result!==0&&(this.decodeMode!==fl.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Xs.NumericDecimal:return this.emitNumericEntity(0,2);case Xs.NumericHex:return this.emitNumericEntity(0,3);case Xs.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Xs.EntityStart:return 0}}};function Pzt(t,e,r,n){let s=(e&c0.BRANCH_LENGTH)>>7,i=e&c0.JUMP_TABLE;if(s===0)return i!==0&&n===i?r:-1;if(i){let c=n-i;return c<0||c>=s?-1:t[r+c]-1}let a=r,o=a+s-1;for(;a<=o;){let c=a+o>>>1,u=t[c];if(u<n)a=c+1;else if(u>n)o=c-1;else return t[c+s]}return-1}var pD={};is(pD,{ATTRS:()=>pl,DOCUMENT_MODE:()=>Fi,NS:()=>Ee,NUMBERED_HEADERS:()=>Dx,SPECIAL_ELEMENTS:()=>yQ,TAG_ID:()=>I,TAG_NAMES:()=>de,getTagID:()=>u0,hasUnescapedText:()=>xQ});var Ee;(function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"})(Ee||(Ee={}));var pl;(function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"})(pl||(pl={}));var Fi;(function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"})(Fi||(Fi={}));var de;(function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SEARCH="search",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"})(de||(de={}));var I;(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SEARCH=94]="SEARCH",t[t.SECTION=95]="SECTION",t[t.SELECT=96]="SELECT",t[t.SOURCE=97]="SOURCE",t[t.SMALL=98]="SMALL",t[t.SPAN=99]="SPAN",t[t.STRIKE=100]="STRIKE",t[t.STRONG=101]="STRONG",t[t.STYLE=102]="STYLE",t[t.SUB=103]="SUB",t[t.SUMMARY=104]="SUMMARY",t[t.SUP=105]="SUP",t[t.TABLE=106]="TABLE",t[t.TBODY=107]="TBODY",t[t.TEMPLATE=108]="TEMPLATE",t[t.TEXTAREA=109]="TEXTAREA",t[t.TFOOT=110]="TFOOT",t[t.TD=111]="TD",t[t.TH=112]="TH",t[t.THEAD=113]="THEAD",t[t.TITLE=114]="TITLE",t[t.TR=115]="TR",t[t.TRACK=116]="TRACK",t[t.TT=117]="TT",t[t.U=118]="U",t[t.UL=119]="UL",t[t.SVG=120]="SVG",t[t.VAR=121]="VAR",t[t.WBR=122]="WBR",t[t.XMP=123]="XMP"})(I||(I={}));var Dzt=new Map([[de.A,I.A],[de.ADDRESS,I.ADDRESS],[de.ANNOTATION_XML,I.ANNOTATION_XML],[de.APPLET,I.APPLET],[de.AREA,I.AREA],[de.ARTICLE,I.ARTICLE],[de.ASIDE,I.ASIDE],[de.B,I.B],[de.BASE,I.BASE],[de.BASEFONT,I.BASEFONT],[de.BGSOUND,I.BGSOUND],[de.BIG,I.BIG],[de.BLOCKQUOTE,I.BLOCKQUOTE],[de.BODY,I.BODY],[de.BR,I.BR],[de.BUTTON,I.BUTTON],[de.CAPTION,I.CAPTION],[de.CENTER,I.CENTER],[de.CODE,I.CODE],[de.COL,I.COL],[de.COLGROUP,I.COLGROUP],[de.DD,I.DD],[de.DESC,I.DESC],[de.DETAILS,I.DETAILS],[de.DIALOG,I.DIALOG],[de.DIR,I.DIR],[de.DIV,I.DIV],[de.DL,I.DL],[de.DT,I.DT],[de.EM,I.EM],[de.EMBED,I.EMBED],[de.FIELDSET,I.FIELDSET],[de.FIGCAPTION,I.FIGCAPTION],[de.FIGURE,I.FIGURE],[de.FONT,I.FONT],[de.FOOTER,I.FOOTER],[de.FOREIGN_OBJECT,I.FOREIGN_OBJECT],[de.FORM,I.FORM],[de.FRAME,I.FRAME],[de.FRAMESET,I.FRAMESET],[de.H1,I.H1],[de.H2,I.H2],[de.H3,I.H3],[de.H4,I.H4],[de.H5,I.H5],[de.H6,I.H6],[de.HEAD,I.HEAD],[de.HEADER,I.HEADER],[de.HGROUP,I.HGROUP],[de.HR,I.HR],[de.HTML,I.HTML],[de.I,I.I],[de.IMG,I.IMG],[de.IMAGE,I.IMAGE],[de.INPUT,I.INPUT],[de.IFRAME,I.IFRAME],[de.KEYGEN,I.KEYGEN],[de.LABEL,I.LABEL],[de.LI,I.LI],[de.LINK,I.LINK],[de.LISTING,I.LISTING],[de.MAIN,I.MAIN],[de.MALIGNMARK,I.MALIGNMARK],[de.MARQUEE,I.MARQUEE],[de.MATH,I.MATH],[de.MENU,I.MENU],[de.META,I.META],[de.MGLYPH,I.MGLYPH],[de.MI,I.MI],[de.MO,I.MO],[de.MN,I.MN],[de.MS,I.MS],[de.MTEXT,I.MTEXT],[de.NAV,I.NAV],[de.NOBR,I.NOBR],[de.NOFRAMES,I.NOFRAMES],[de.NOEMBED,I.NOEMBED],[de.NOSCRIPT,I.NOSCRIPT],[de.OBJECT,I.OBJECT],[de.OL,I.OL],[de.OPTGROUP,I.OPTGROUP],[de.OPTION,I.OPTION],[de.P,I.P],[de.PARAM,I.PARAM],[de.PLAINTEXT,I.PLAINTEXT],[de.PRE,I.PRE],[de.RB,I.RB],[de.RP,I.RP],[de.RT,I.RT],[de.RTC,I.RTC],[de.RUBY,I.RUBY],[de.S,I.S],[de.SCRIPT,I.SCRIPT],[de.SEARCH,I.SEARCH],[de.SECTION,I.SECTION],[de.SELECT,I.SELECT],[de.SOURCE,I.SOURCE],[de.SMALL,I.SMALL],[de.SPAN,I.SPAN],[de.STRIKE,I.STRIKE],[de.STRONG,I.STRONG],[de.STYLE,I.STYLE],[de.SUB,I.SUB],[de.SUMMARY,I.SUMMARY],[de.SUP,I.SUP],[de.TABLE,I.TABLE],[de.TBODY,I.TBODY],[de.TEMPLATE,I.TEMPLATE],[de.TEXTAREA,I.TEXTAREA],[de.TFOOT,I.TFOOT],[de.TD,I.TD],[de.TH,I.TH],[de.THEAD,I.THEAD],[de.TITLE,I.TITLE],[de.TR,I.TR],[de.TRACK,I.TRACK],[de.TT,I.TT],[de.U,I.U],[de.UL,I.UL],[de.SVG,I.SVG],[de.VAR,I.VAR],[de.WBR,I.WBR],[de.XMP,I.XMP]]);function u0(t){var e;return(e=Dzt.get(t))!==null&&e!==void 0?e:I.UNKNOWN}var Oe=I,yQ={[Ee.HTML]:new Set([Oe.ADDRESS,Oe.APPLET,Oe.AREA,Oe.ARTICLE,Oe.ASIDE,Oe.BASE,Oe.BASEFONT,Oe.BGSOUND,Oe.BLOCKQUOTE,Oe.BODY,Oe.BR,Oe.BUTTON,Oe.CAPTION,Oe.CENTER,Oe.COL,Oe.COLGROUP,Oe.DD,Oe.DETAILS,Oe.DIR,Oe.DIV,Oe.DL,Oe.DT,Oe.EMBED,Oe.FIELDSET,Oe.FIGCAPTION,Oe.FIGURE,Oe.FOOTER,Oe.FORM,Oe.FRAME,Oe.FRAMESET,Oe.H1,Oe.H2,Oe.H3,Oe.H4,Oe.H5,Oe.H6,Oe.HEAD,Oe.HEADER,Oe.HGROUP,Oe.HR,Oe.HTML,Oe.IFRAME,Oe.IMG,Oe.INPUT,Oe.LI,Oe.LINK,Oe.LISTING,Oe.MAIN,Oe.MARQUEE,Oe.MENU,Oe.META,Oe.NAV,Oe.NOEMBED,Oe.NOFRAMES,Oe.NOSCRIPT,Oe.OBJECT,Oe.OL,Oe.P,Oe.PARAM,Oe.PLAINTEXT,Oe.PRE,Oe.SCRIPT,Oe.SECTION,Oe.SELECT,Oe.SOURCE,Oe.STYLE,Oe.SUMMARY,Oe.TABLE,Oe.TBODY,Oe.TD,Oe.TEMPLATE,Oe.TEXTAREA,Oe.TFOOT,Oe.TH,Oe.THEAD,Oe.TITLE,Oe.TR,Oe.TRACK,Oe.UL,Oe.WBR,Oe.XMP]),[Ee.MATHML]:new Set([Oe.MI,Oe.MO,Oe.MN,Oe.MS,Oe.MTEXT,Oe.ANNOTATION_XML]),[Ee.SVG]:new Set([Oe.TITLE,Oe.FOREIGN_OBJECT,Oe.DESC]),[Ee.XLINK]:new Set,[Ee.XML]:new Set,[Ee.XMLNS]:new Set},Dx=new Set([Oe.H1,Oe.H2,Oe.H3,Oe.H4,Oe.H5,Oe.H6]),kzt=new Set([de.STYLE,de.SCRIPT,de.XMP,de.IFRAME,de.NOEMBED,de.NOFRAMES,de.PLAINTEXT]);function xQ(t,e){return kzt.has(t)||e&&t===de.NOSCRIPT}var Y;(function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(Y||(Y={}));var Ui={DATA:Y.DATA,RCDATA:Y.RCDATA,RAWTEXT:Y.RAWTEXT,SCRIPT_DATA:Y.SCRIPT_DATA,PLAINTEXT:Y.PLAINTEXT,CDATA_SECTION:Y.CDATA_SECTION};function Lzt(t){return t>=Q.DIGIT_0&&t<=Q.DIGIT_9}function dv(t){return t>=Q.LATIN_CAPITAL_A&&t<=Q.LATIN_CAPITAL_Z}function Bzt(t){return t>=Q.LATIN_SMALL_A&&t<=Q.LATIN_SMALL_Z}function l0(t){return Bzt(t)||dv(t)}function a3e(t){return l0(t)||Lzt(t)}function mD(t){return t+32}function c3e(t){return t===Q.SPACE||t===Q.LINE_FEED||t===Q.TABULATION||t===Q.FORM_FEED}function o3e(t){return c3e(t)||t===Q.SOLIDUS||t===Q.GREATER_THAN_SIGN}function Mzt(t){return t===Q.NULL?me.nullCharacterReference:t>1114111?me.characterReferenceOutsideUnicodeRange:aD(t)?me.surrogateCharacterReference:cD(t)?me.noncharacterCharacterReference:oD(t)||t===Q.CARRIAGE_RETURN?me.controlCharacterReference:null}var fv=class{constructor(e,r){this.options=e,this.handler=r,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Y.DATA,this.returnState=Y.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new uD(r),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new fD(dD,(n,s)=>{this.preprocessor.pos=this.entityStartPos+s-1,this._flushCodePointConsumedAsCharacterReference(n)},r.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(me.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:n=>{this._err(me.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+n)},validateNumericCharacterReference:n=>{let s=Mzt(n);s&&this._err(s,1)}}:void 0)}_err(e,r=0){var n,s;(s=(n=this.handler).onParseError)===null||s===void 0||s.call(n,this.preprocessor.getError(e,r))}getCurrentLocation(e){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-e,startOffset:this.preprocessor.offset-e,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;let e=this._consume();this._ensureHibernation()||this._callState(e)}this.inLoop=!1}}pause(){this.paused=!0}resume(e){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||e?.())}write(e,r,n){this.active=!0,this.preprocessor.write(e,r),this._runParsingLoop(),this.paused||n?.()}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(e){this.consumedAfterSnapshot+=e;for(let r=0;r<e;r++)this.preprocessor.advance()}_consumeSequenceIfMatch(e,r){return this.preprocessor.startsWith(e,r)?(this._advanceBy(e.length-1),!0):!1}_createStartTagToken(){this.currentToken={type:br.START_TAG,tagName:"",tagID:I.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:br.END_TAG,tagName:"",tagID:I.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(e){this.currentToken={type:br.COMMENT,data:"",location:this.getCurrentLocation(e)}}_createDoctypeToken(e){this.currentToken={type:br.DOCTYPE,name:e,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(e,r){this.currentCharacterToken={type:e,chars:r,location:this.currentLocation}}_createAttr(e){this.currentAttr={name:e,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var e,r;let n=this.currentToken;if(lD(n,this.currentAttr.name)===null){if(n.attrs.push(this.currentAttr),n.location&&this.currentLocation){let s=(e=(r=n.location).attrs)!==null&&e!==void 0?e:r.attrs=Object.create(null);s[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue()}}else this._err(me.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(e){this._emitCurrentCharacterToken(e.location),this.currentToken=null,e.location&&(e.location.endLine=this.preprocessor.line,e.location.endCol=this.preprocessor.col+1,e.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){let e=this.currentToken;this.prepareToken(e),e.tagID=u0(e.tagName),e.type===br.START_TAG?(this.lastStartTagName=e.tagName,this.handler.onStartTag(e)):(e.attrs.length>0&&this._err(me.endTagWithAttributes),e.selfClosing&&this._err(me.endTagWithTrailingSolidus),this.handler.onEndTag(e)),this.preprocessor.dropParsedChunk()}emitCurrentComment(e){this.prepareToken(e),this.handler.onComment(e),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(e){this.prepareToken(e),this.handler.onDoctype(e),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(e){if(this.currentCharacterToken){switch(e&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=e.startLine,this.currentCharacterToken.location.endCol=e.startCol,this.currentCharacterToken.location.endOffset=e.startOffset),this.currentCharacterToken.type){case br.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case br.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case br.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){let e=this.getCurrentLocation(0);e&&(e.endLine=e.startLine,e.endCol=e.startCol,e.endOffset=e.startOffset),this._emitCurrentCharacterToken(e),this.handler.onEof({type:br.EOF,location:e}),this.active=!1}_appendCharToCurrentCharacterToken(e,r){if(this.currentCharacterToken)if(this.currentCharacterToken.type===e){this.currentCharacterToken.chars+=r;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(e,r)}_emitCodePoint(e){let r=c3e(e)?br.WHITESPACE_CHARACTER:e===Q.NULL?br.NULL_CHARACTER:br.CHARACTER;this._appendCharToCurrentCharacterToken(r,String.fromCodePoint(e))}_emitChars(e){this._appendCharToCurrentCharacterToken(br.CHARACTER,e)}_startCharacterReference(){this.returnState=this.state,this.state=Y.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?fl.Attribute:fl.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(e){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(e):this._emitCodePoint(e)}_callState(e){switch(this.state){case Y.DATA:{this._stateData(e);break}case Y.RCDATA:{this._stateRcdata(e);break}case Y.RAWTEXT:{this._stateRawtext(e);break}case Y.SCRIPT_DATA:{this._stateScriptData(e);break}case Y.PLAINTEXT:{this._statePlaintext(e);break}case Y.TAG_OPEN:{this._stateTagOpen(e);break}case Y.END_TAG_OPEN:{this._stateEndTagOpen(e);break}case Y.TAG_NAME:{this._stateTagName(e);break}case Y.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(e);break}case Y.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(e);break}case Y.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(e);break}case Y.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(e);break}case Y.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(e);break}case Y.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(e);break}case Y.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(e);break}case Y.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(e);break}case Y.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(e);break}case Y.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(e);break}case Y.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(e);break}case Y.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(e);break}case Y.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(e);break}case Y.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(e);break}case Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(e);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(e);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(e);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(e);break}case Y.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(e);break}case Y.ATTRIBUTE_NAME:{this._stateAttributeName(e);break}case Y.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(e);break}case Y.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(e);break}case Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(e);break}case Y.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(e);break}case Y.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(e);break}case Y.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(e);break}case Y.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(e);break}case Y.BOGUS_COMMENT:{this._stateBogusComment(e);break}case Y.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(e);break}case Y.COMMENT_START:{this._stateCommentStart(e);break}case Y.COMMENT_START_DASH:{this._stateCommentStartDash(e);break}case Y.COMMENT:{this._stateComment(e);break}case Y.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(e);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(e);break}case Y.COMMENT_END_DASH:{this._stateCommentEndDash(e);break}case Y.COMMENT_END:{this._stateCommentEnd(e);break}case Y.COMMENT_END_BANG:{this._stateCommentEndBang(e);break}case Y.DOCTYPE:{this._stateDoctype(e);break}case Y.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(e);break}case Y.DOCTYPE_NAME:{this._stateDoctypeName(e);break}case Y.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(e);break}case Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(e);break}case Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(e);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(e);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(e);break}case Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(e);break}case Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(e);break}case Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(e);break}case Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(e);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(e);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(e);break}case Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(e);break}case Y.BOGUS_DOCTYPE:{this._stateBogusDoctype(e);break}case Y.CDATA_SECTION:{this._stateCdataSection(e);break}case Y.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(e);break}case Y.CDATA_SECTION_END:{this._stateCdataSectionEnd(e);break}case Y.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case Y.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(e);break}default:throw new Error("Unknown state")}}_stateData(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.TAG_OPEN;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitCodePoint(e);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateRcdata(e){switch(e){case Q.AMPERSAND:{this._startCharacterReference();break}case Q.LESS_THAN_SIGN:{this.state=Y.RCDATA_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateRawtext(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.RAWTEXT_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptData(e){switch(e){case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_statePlaintext(e){switch(e){case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateTagOpen(e){if(l0(e))this._createStartTagToken(),this.state=Y.TAG_NAME,this._stateTagName(e);else switch(e){case Q.EXCLAMATION_MARK:{this.state=Y.MARKUP_DECLARATION_OPEN;break}case Q.SOLIDUS:{this.state=Y.END_TAG_OPEN;break}case Q.QUESTION_MARK:{this._err(me.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e);break}case Q.EOF:{this._err(me.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(me.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Y.DATA,this._stateData(e)}}_stateEndTagOpen(e){if(l0(e))this._createEndTagToken(),this.state=Y.TAG_NAME,this._stateTagName(e);else switch(e){case Q.GREATER_THAN_SIGN:{this._err(me.missingEndTagName),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break}default:this._err(me.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e)}}_stateTagName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.SOLIDUS:{this.state=Y.SELF_CLOSING_START_TAG;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.tagName+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:r.tagName+=String.fromCodePoint(dv(e)?mD(e):e)}}_stateRcdataLessThanSign(e){e===Q.SOLIDUS?this.state=Y.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=Y.RCDATA,this._stateRcdata(e))}_stateRcdataEndTagOpen(e){l0(e)?(this.state=Y.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(e)):(this._emitChars("</"),this.state=Y.RCDATA,this._stateRcdata(e))}handleSpecialEndTag(e){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();this._createEndTagToken();let r=this.currentToken;switch(r.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=Y.BEFORE_ATTRIBUTE_NAME,!1;case Q.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=Y.SELF_CLOSING_START_TAG,!1;case Q.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=Y.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.RCDATA,this._stateRcdata(e))}_stateRawtextLessThanSign(e){e===Q.SOLIDUS?this.state=Y.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateRawtextEndTagOpen(e){l0(e)?(this.state=Y.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(e)):(this._emitChars("</"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateRawtextEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.RAWTEXT,this._stateRawtext(e))}_stateScriptDataLessThanSign(e){switch(e){case Q.SOLIDUS:{this.state=Y.SCRIPT_DATA_END_TAG_OPEN;break}case Q.EXCLAMATION_MARK:{this.state=Y.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break}default:this._emitChars("<"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e)}}_stateScriptDataEndTagOpen(e){l0(e)?(this.state=Y.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(e)):(this._emitChars("</"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscapeStart(e){e===Q.HYPHEN_MINUS?(this.state=Y.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscapeStartDash(e){e===Q.HYPHEN_MINUS?(this.state=Y.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=Y.SCRIPT_DATA,this._stateScriptData(e))}_stateScriptDataEscaped(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptDataEscapedDash(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedDashDash(e){switch(e){case Q.HYPHEN_MINUS:{this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case Q.GREATER_THAN_SIGN:{this.state=Y.SCRIPT_DATA,this._emitChars(">");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedLessThanSign(e){e===Q.SOLIDUS?this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:l0(e)?(this._emitChars("<"),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(e)):(this._emitChars("<"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagOpen(e){l0(e)?(this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(e)):(this._emitChars("</"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagName(e){this.handleSpecialEndTag(e)&&(this._emitChars("</"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataDoubleEscapeStart(e){if(this.preprocessor.startsWith(la.SCRIPT,!1)&&o3e(this.preprocessor.peek(la.SCRIPT.length))){this._emitCodePoint(e);for(let r=0;r<la.SCRIPT.length;r++)this._emitCodePoint(this._consume());this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataDoubleEscaped(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedDash(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedDashDash(e){switch(e){case Q.HYPHEN_MINUS:{this._emitChars("-");break}case Q.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case Q.GREATER_THAN_SIGN:{this.state=Y.SCRIPT_DATA,this._emitChars(">");break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(_n);break}case Q.EOF:{this._err(me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedLessThanSign(e){e===Q.SOLIDUS?(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateScriptDataDoubleEscapeEnd(e){if(this.preprocessor.startsWith(la.SCRIPT,!1)&&o3e(this.preprocessor.peek(la.SCRIPT.length))){this._emitCodePoint(e);for(let r=0;r<la.SCRIPT.length;r++)this._emitCodePoint(this._consume());this.state=Y.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateBeforeAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.SOLIDUS:case Q.GREATER_THAN_SIGN:case Q.EOF:{this.state=Y.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(e);break}case Q.EQUALS_SIGN:{this._err(me.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=Y.ATTRIBUTE_NAME;break}default:this._createAttr(""),this.state=Y.ATTRIBUTE_NAME,this._stateAttributeName(e)}}_stateAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:case Q.SOLIDUS:case Q.GREATER_THAN_SIGN:case Q.EOF:{this._leaveAttrName(),this.state=Y.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(e);break}case Q.EQUALS_SIGN:{this._leaveAttrName(),this.state=Y.BEFORE_ATTRIBUTE_VALUE;break}case Q.QUOTATION_MARK:case Q.APOSTROPHE:case Q.LESS_THAN_SIGN:{this._err(me.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(e);break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.name+=_n;break}default:this.currentAttr.name+=String.fromCodePoint(dv(e)?mD(e):e)}}_stateAfterAttributeName(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.SOLIDUS:{this.state=Y.SELF_CLOSING_START_TAG;break}case Q.EQUALS_SIGN:{this.state=Y.BEFORE_ATTRIBUTE_VALUE;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._createAttr(""),this.state=Y.ATTRIBUTE_NAME,this._stateAttributeName(e)}}_stateBeforeAttributeValue(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{this.state=Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this.state=Y.ATTRIBUTE_VALUE_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingAttributeValue),this.state=Y.DATA,this.emitCurrentTagToken();break}default:this.state=Y.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(e)}}_stateAttributeValueDoubleQuoted(e){switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAttributeValueSingleQuoted(e){switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAttributeValueUnquoted(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this._leaveAttrValue(),this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.AMPERSAND:{this._startCharacterReference();break}case Q.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),this.currentAttr.value+=_n;break}case Q.QUOTATION_MARK:case Q.APOSTROPHE:case Q.LESS_THAN_SIGN:case Q.EQUALS_SIGN:case Q.GRAVE_ACCENT:{this._err(me.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(e);break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(e)}}_stateAfterAttributeValueQuoted(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this._leaveAttrValue(),this.state=Y.BEFORE_ATTRIBUTE_NAME;break}case Q.SOLIDUS:{this._leaveAttrValue(),this.state=Y.SELF_CLOSING_START_TAG;break}case Q.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._err(me.missingWhitespaceBetweenAttributes),this.state=Y.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(e)}}_stateSelfClosingStartTag(e){switch(e){case Q.GREATER_THAN_SIGN:{let r=this.currentToken;r.selfClosing=!0,this.state=Y.DATA,this.emitCurrentTagToken();break}case Q.EOF:{this._err(me.eofInTag),this._emitEOFToken();break}default:this._err(me.unexpectedSolidusInTag),this.state=Y.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(e)}}_stateBogusComment(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this.emitCurrentComment(r),this._emitEOFToken();break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.data+=_n;break}default:r.data+=String.fromCodePoint(e)}}_stateMarkupDeclarationOpen(e){this._consumeSequenceIfMatch(la.DASH_DASH,!0)?(this._createCommentToken(la.DASH_DASH.length+1),this.state=Y.COMMENT_START):this._consumeSequenceIfMatch(la.DOCTYPE,!1)?(this.currentLocation=this.getCurrentLocation(la.DOCTYPE.length+1),this.state=Y.DOCTYPE):this._consumeSequenceIfMatch(la.CDATA_START,!0)?this.inForeignNode?this.state=Y.CDATA_SECTION:(this._err(me.cdataInHtmlContent),this._createCommentToken(la.CDATA_START.length+1),this.currentToken.data="[CDATA[",this.state=Y.BOGUS_COMMENT):this._ensureHibernation()||(this._err(me.incorrectlyOpenedComment),this._createCommentToken(2),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(e))}_stateCommentStart(e){switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_START_DASH;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptClosingOfEmptyComment),this.state=Y.DATA;let r=this.currentToken;this.emitCurrentComment(r);break}default:this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentStartDash(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptClosingOfEmptyComment),this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="-",this.state=Y.COMMENT,this._stateComment(e)}}_stateComment(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END_DASH;break}case Q.LESS_THAN_SIGN:{r.data+="<",this.state=Y.COMMENT_LESS_THAN_SIGN;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.data+=_n;break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+=String.fromCodePoint(e)}}_stateCommentLessThanSign(e){let r=this.currentToken;switch(e){case Q.EXCLAMATION_MARK:{r.data+="!",this.state=Y.COMMENT_LESS_THAN_SIGN_BANG;break}case Q.LESS_THAN_SIGN:{r.data+="<";break}default:this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentLessThanSignBang(e){e===Q.HYPHEN_MINUS?this.state=Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=Y.COMMENT,this._stateComment(e))}_stateCommentLessThanSignBangDash(e){e===Q.HYPHEN_MINUS?this.state=Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=Y.COMMENT_END_DASH,this._stateCommentEndDash(e))}_stateCommentLessThanSignBangDashDash(e){e!==Q.GREATER_THAN_SIGN&&e!==Q.EOF&&this._err(me.nestedComment),this.state=Y.COMMENT_END,this._stateCommentEnd(e)}_stateCommentEndDash(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{this.state=Y.COMMENT_END;break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="-",this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentEnd(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EXCLAMATION_MARK:{this.state=Y.COMMENT_END_BANG;break}case Q.HYPHEN_MINUS:{r.data+="-";break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="--",this.state=Y.COMMENT,this._stateComment(e)}}_stateCommentEndBang(e){let r=this.currentToken;switch(e){case Q.HYPHEN_MINUS:{r.data+="--!",this.state=Y.COMMENT_END_DASH;break}case Q.GREATER_THAN_SIGN:{this._err(me.incorrectlyClosedComment),this.state=Y.DATA,this.emitCurrentComment(r);break}case Q.EOF:{this._err(me.eofInComment),this.emitCurrentComment(r),this._emitEOFToken();break}default:r.data+="--!",this.state=Y.COMMENT,this._stateComment(e)}}_stateDoctype(e){switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this.state=Y.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(e);break}case Q.EOF:{this._err(me.eofInDoctype),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingWhitespaceBeforeDoctypeName),this.state=Y.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(e)}}_stateBeforeDoctypeName(e){if(dv(e))this._createDoctypeToken(String.fromCharCode(mD(e))),this.state=Y.DOCTYPE_NAME;else switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.NULL:{this._err(me.unexpectedNullCharacter),this._createDoctypeToken(_n),this.state=Y.DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeName),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),this._createDoctypeToken(null);let r=this.currentToken;r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(e)),this.state=Y.DOCTYPE_NAME}}_stateDoctypeName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.AFTER_DOCTYPE_NAME;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.name+=_n;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.name+=String.fromCodePoint(dv(e)?mD(e):e)}}_stateAfterDoctypeName(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._consumeSequenceIfMatch(la.PUBLIC,!1)?this.state=Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(la.SYSTEM,!1)?this.state=Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(me.invalidCharacterSequenceAfterDoctypeName),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e))}}_stateAfterDoctypePublicKeyword(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceAfterDoctypePublicKeyword),r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceAfterDoctypePublicKeyword),r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBeforeDoctypePublicIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.publicId="",this.state=Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypePublicIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateDoctypePublicIdentifierDoubleQuoted(e){let r=this.currentToken;switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.publicId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypePublicIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.publicId+=String.fromCodePoint(e)}}_stateDoctypePublicIdentifierSingleQuoted(e){let r=this.currentToken;switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.publicId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypePublicIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.publicId+=String.fromCodePoint(e)}}_stateAfterDoctypePublicIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break}case Q.GREATER_THAN_SIGN:{this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBetweenDoctypePublicAndSystemIdentifiers(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.QUOTATION_MARK:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateAfterDoctypeSystemKeyword(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:{this.state=Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.QUOTATION_MARK:{this._err(me.missingWhitespaceAfterDoctypeSystemKeyword),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{this._err(me.missingWhitespaceAfterDoctypeSystemKeyword),r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBeforeDoctypeSystemIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.QUOTATION_MARK:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case Q.APOSTROPHE:{r.systemId="",this.state=Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case Q.GREATER_THAN_SIGN:{this._err(me.missingDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.DATA,this.emitCurrentDoctype(r);break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.missingQuoteBeforeDoctypeSystemIdentifier),r.forceQuirks=!0,this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateDoctypeSystemIdentifierDoubleQuoted(e){let r=this.currentToken;switch(e){case Q.QUOTATION_MARK:{this.state=Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.systemId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypeSystemIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.systemId+=String.fromCodePoint(e)}}_stateDoctypeSystemIdentifierSingleQuoted(e){let r=this.currentToken;switch(e){case Q.APOSTROPHE:{this.state=Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case Q.NULL:{this._err(me.unexpectedNullCharacter),r.systemId+=_n;break}case Q.GREATER_THAN_SIGN:{this._err(me.abruptDoctypeSystemIdentifier),r.forceQuirks=!0,this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:r.systemId+=String.fromCodePoint(e)}}_stateAfterDoctypeSystemIdentifier(e){let r=this.currentToken;switch(e){case Q.SPACE:case Q.LINE_FEED:case Q.TABULATION:case Q.FORM_FEED:break;case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.EOF:{this._err(me.eofInDoctype),r.forceQuirks=!0,this.emitCurrentDoctype(r),this._emitEOFToken();break}default:this._err(me.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=Y.BOGUS_DOCTYPE,this._stateBogusDoctype(e)}}_stateBogusDoctype(e){let r=this.currentToken;switch(e){case Q.GREATER_THAN_SIGN:{this.emitCurrentDoctype(r),this.state=Y.DATA;break}case Q.NULL:{this._err(me.unexpectedNullCharacter);break}case Q.EOF:{this.emitCurrentDoctype(r),this._emitEOFToken();break}default:}}_stateCdataSection(e){switch(e){case Q.RIGHT_SQUARE_BRACKET:{this.state=Y.CDATA_SECTION_BRACKET;break}case Q.EOF:{this._err(me.eofInCdata),this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateCdataSectionBracket(e){e===Q.RIGHT_SQUARE_BRACKET?this.state=Y.CDATA_SECTION_END:(this._emitChars("]"),this.state=Y.CDATA_SECTION,this._stateCdataSection(e))}_stateCdataSectionEnd(e){switch(e){case Q.GREATER_THAN_SIGN:{this.state=Y.DATA;break}case Q.RIGHT_SQUARE_BRACKET:{this._emitChars("]");break}default:this._emitChars("]]"),this.state=Y.CDATA_SECTION,this._stateCdataSection(e)}}_stateCharacterReference(){let e=this.entityDecoder.write(this.preprocessor.html,this.preprocessor.pos);if(e<0)if(this.preprocessor.lastChunkWritten)e=this.entityDecoder.end();else{this.active=!1,this.preprocessor.pos=this.preprocessor.html.length-1,this.consumedAfterSnapshot=0,this.preprocessor.endOfChunkHit=!0;return}e===0?(this.preprocessor.pos=this.entityStartPos,this._flushCodePointConsumedAsCharacterReference(Q.AMPERSAND),this.state=!this._isCharacterReferenceInAttribute()&&a3e(this.preprocessor.peek(1))?Y.AMBIGUOUS_AMPERSAND:this.returnState):this.state=this.returnState}_stateAmbiguousAmpersand(e){a3e(e)?this._flushCodePointConsumedAsCharacterReference(e):(e===Q.SEMICOLON&&this._err(me.unknownNamedCharacterReference),this.state=this.returnState,this._callState(e))}};var f3e=new Set([I.DD,I.DT,I.LI,I.OPTGROUP,I.OPTION,I.P,I.RB,I.RP,I.RT,I.RTC]),u3e=new Set([...f3e,I.CAPTION,I.COLGROUP,I.TBODY,I.TD,I.TFOOT,I.TH,I.THEAD,I.TR]),hD=new Set([I.APPLET,I.CAPTION,I.HTML,I.MARQUEE,I.OBJECT,I.TABLE,I.TD,I.TEMPLATE,I.TH]),Wzt=new Set([...hD,I.OL,I.UL]),$zt=new Set([...hD,I.BUTTON]),l3e=new Set([I.ANNOTATION_XML,I.MI,I.MN,I.MO,I.MS,I.MTEXT]),d3e=new Set([I.DESC,I.FOREIGN_OBJECT,I.TITLE]),Fzt=new Set([I.TR,I.TEMPLATE,I.HTML]),Uzt=new Set([I.TBODY,I.TFOOT,I.THEAD,I.TEMPLATE,I.HTML]),qzt=new Set([I.TABLE,I.TEMPLATE,I.HTML]),jzt=new Set([I.TD,I.TH]),gD=class{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(e,r,n){this.treeAdapter=r,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=I.UNKNOWN,this.current=e}_indexOf(e){return this.items.lastIndexOf(e,this.stackTop)}_isInTemplate(){return this.currentTagId===I.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===Ee.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(e,r){this.stackTop++,this.items[this.stackTop]=e,this.current=e,this.tagIDs[this.stackTop]=r,this.currentTagId=r,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(e,r,!0)}pop(){let e=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!0)}replace(e,r){let n=this._indexOf(e);this.items[n]=r,n===this.stackTop&&(this.current=r)}insertAfter(e,r,n){let s=this._indexOf(e)+1;this.items.splice(s,0,r),this.tagIDs.splice(s,0,n),this.stackTop++,s===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,s===this.stackTop)}popUntilTagNamePopped(e){let r=this.stackTop+1;do r=this.tagIDs.lastIndexOf(e,r-1);while(r>0&&this.treeAdapter.getNamespaceURI(this.items[r])!==Ee.HTML);this.shortenToLength(Math.max(r,0))}shortenToLength(e){for(;this.stackTop>=e;){let r=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(r,this.stackTop<e)}}popUntilElementPopped(e){let r=this._indexOf(e);this.shortenToLength(Math.max(r,0))}popUntilPopped(e,r){let n=this._indexOfTagNames(e,r);this.shortenToLength(Math.max(n,0))}popUntilNumberedHeaderPopped(){this.popUntilPopped(Dx,Ee.HTML)}popUntilTableCellPopped(){this.popUntilPopped(jzt,Ee.HTML)}popAllUpToHtmlElement(){this.tmplCount=0,this.shortenToLength(1)}_indexOfTagNames(e,r){for(let n=this.stackTop;n>=0;n--)if(e.has(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===r)return n;return-1}clearBackTo(e,r){let n=this._indexOfTagNames(e,r);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(qzt,Ee.HTML)}clearBackToTableBodyContext(){this.clearBackTo(Uzt,Ee.HTML)}clearBackToTableRowContext(){this.clearBackTo(Fzt,Ee.HTML)}remove(e){let r=this._indexOf(e);r>=0&&(r===this.stackTop?this.pop():(this.items.splice(r,1),this.tagIDs.splice(r,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===I.BODY?this.items[1]:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let r=this._indexOf(e)-1;return r>=0?this.items[r]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===I.HTML}hasInDynamicScope(e,r){for(let n=this.stackTop;n>=0;n--){let s=this.tagIDs[n];switch(this.treeAdapter.getNamespaceURI(this.items[n])){case Ee.HTML:{if(s===e)return!0;if(r.has(s))return!1;break}case Ee.SVG:{if(d3e.has(s))return!1;break}case Ee.MATHML:{if(l3e.has(s))return!1;break}}}return!0}hasInScope(e){return this.hasInDynamicScope(e,hD)}hasInListItemScope(e){return this.hasInDynamicScope(e,Wzt)}hasInButtonScope(e){return this.hasInDynamicScope(e,$zt)}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){let r=this.tagIDs[e];switch(this.treeAdapter.getNamespaceURI(this.items[e])){case Ee.HTML:{if(Dx.has(r))return!0;if(hD.has(r))return!1;break}case Ee.SVG:{if(d3e.has(r))return!1;break}case Ee.MATHML:{if(l3e.has(r))return!1;break}}}return!0}hasInTableScope(e){for(let r=this.stackTop;r>=0;r--)if(this.treeAdapter.getNamespaceURI(this.items[r])===Ee.HTML)switch(this.tagIDs[r]){case e:return!0;case I.TABLE:case I.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--)if(this.treeAdapter.getNamespaceURI(this.items[e])===Ee.HTML)switch(this.tagIDs[e]){case I.TBODY:case I.THEAD:case I.TFOOT:return!0;case I.TABLE:case I.HTML:return!1}return!0}hasInSelectScope(e){for(let r=this.stackTop;r>=0;r--)if(this.treeAdapter.getNamespaceURI(this.items[r])===Ee.HTML)switch(this.tagIDs[r]){case e:return!0;case I.OPTION:case I.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&f3e.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&u3e.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;this.currentTagId!==void 0&&this.currentTagId!==e&&u3e.has(this.currentTagId);)this.pop()}};var iu;(function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"})(iu||(iu={}));var p3e={type:iu.Marker},AD=class{constructor(e){this.treeAdapter=e,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(e,r){let n=[],s=r.length,i=this.treeAdapter.getTagName(e),a=this.treeAdapter.getNamespaceURI(e);for(let o=0;o<this.entries.length;o++){let c=this.entries[o];if(c.type===iu.Marker)break;let{element:u}=c;if(this.treeAdapter.getTagName(u)===i&&this.treeAdapter.getNamespaceURI(u)===a){let l=this.treeAdapter.getAttrList(u);l.length===s&&n.push({idx:o,attrs:l})}}return n}_ensureNoahArkCondition(e){if(this.entries.length<3)return;let r=this.treeAdapter.getAttrList(e),n=this._getNoahArkConditionCandidates(e,r);if(n.length<3)return;let s=new Map(r.map(a=>[a.name,a.value])),i=0;for(let a=0;a<n.length;a++){let o=n[a];o.attrs.every(c=>s.get(c.name)===c.value)&&(i+=1,i>=3&&this.entries.splice(o.idx,1))}}insertMarker(){this.entries.unshift(p3e)}pushElement(e,r){this._ensureNoahArkCondition(e),this.entries.unshift({type:iu.Element,element:e,token:r})}insertElementAfterBookmark(e,r){let n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:iu.Element,element:e,token:r})}removeEntry(e){let r=this.entries.indexOf(e);r!==-1&&this.entries.splice(r,1)}clearToLastMarker(){let e=this.entries.indexOf(p3e);e===-1?this.entries.length=0:this.entries.splice(0,e+1)}getElementEntryInScopeWithTagName(e){let r=this.entries.find(n=>n.type===iu.Marker||this.treeAdapter.getTagName(n.element)===e);return r&&r.type===iu.Element?r:null}getElementEntry(e){return this.entries.find(r=>r.type===iu.Element&&r.element===e)}};var hc={createDocument(){return{nodeName:"#document",mode:Fi.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(t,e,r){return{nodeName:t,tagName:t,attrs:r,namespaceURI:e,childNodes:[],parentNode:null}},createCommentNode(t){return{nodeName:"#comment",data:t,parentNode:null}},createTextNode(t){return{nodeName:"#text",value:t,parentNode:null}},appendChild(t,e){t.childNodes.push(e),e.parentNode=t},insertBefore(t,e,r){let n=t.childNodes.indexOf(r);t.childNodes.splice(n,0,e),e.parentNode=t},setTemplateContent(t,e){t.content=e},getTemplateContent(t){return t.content},setDocumentType(t,e,r,n){let s=t.childNodes.find(i=>i.nodeName==="#documentType");if(s)s.name=e,s.publicId=r,s.systemId=n;else{let i={nodeName:"#documentType",name:e,publicId:r,systemId:n,parentNode:null};hc.appendChild(t,i)}},setDocumentMode(t,e){t.mode=e},getDocumentMode(t){return t.mode},detachNode(t){if(t.parentNode){let e=t.parentNode.childNodes.indexOf(t);t.parentNode.childNodes.splice(e,1),t.parentNode=null}},insertText(t,e){if(t.childNodes.length>0){let r=t.childNodes[t.childNodes.length-1];if(hc.isTextNode(r)){r.value+=e;return}}hc.appendChild(t,hc.createTextNode(e))},insertTextBefore(t,e,r){let n=t.childNodes[t.childNodes.indexOf(r)-1];n&&hc.isTextNode(n)?n.value+=e:hc.insertBefore(t,hc.createTextNode(e),r)},adoptAttributes(t,e){let r=new Set(t.attrs.map(n=>n.name));for(let n=0;n<e.length;n++)r.has(e[n].name)||t.attrs.push(e[n])},getFirstChild(t){return t.childNodes[0]},getChildNodes(t){return t.childNodes},getParentNode(t){return t.parentNode},getAttrList(t){return t.attrs},getTagName(t){return t.tagName},getNamespaceURI(t){return t.namespaceURI},getTextNodeContent(t){return t.value},getCommentNodeContent(t){return t.data},getDocumentTypeNodeName(t){return t.name},getDocumentTypeNodePublicId(t){return t.publicId},getDocumentTypeNodeSystemId(t){return t.systemId},isTextNode(t){return t.nodeName==="#text"},isCommentNode(t){return t.nodeName==="#comment"},isDocumentTypeNode(t){return t.nodeName==="#documentType"},isElementNode(t){return Object.prototype.hasOwnProperty.call(t,"tagName")},setNodeSourceCodeLocation(t,e){t.sourceCodeLocation=e},getNodeSourceCodeLocation(t){return t.sourceCodeLocation},updateNodeSourceCodeLocation(t,e){t.sourceCodeLocation={...t.sourceCodeLocation,...e}}};var h3e="html",Hzt="about:legacy-compat",Qzt="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd",g3e=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],Gzt=[...g3e,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],Vzt=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),A3e=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],zzt=[...A3e,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function m3e(t,e){return e.some(r=>t.startsWith(r))}function y3e(t){return t.name===h3e&&t.publicId===null&&(t.systemId===null||t.systemId===Hzt)}function x3e(t){if(t.name!==h3e)return Fi.QUIRKS;let{systemId:e}=t;if(e&&e.toLowerCase()===Qzt)return Fi.QUIRKS;let{publicId:r}=t;if(r!==null){if(r=r.toLowerCase(),Vzt.has(r))return Fi.QUIRKS;let n=e===null?Gzt:g3e;if(m3e(r,n))return Fi.QUIRKS;if(n=e===null?A3e:zzt,m3e(r,n))return Fi.LIMITED_QUIRKS}return Fi.NO_QUIRKS}var b3e={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},Yzt="definitionurl",Jzt="definitionURL",Xzt=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),Zzt=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Ee.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Ee.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Ee.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Ee.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Ee.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Ee.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Ee.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Ee.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Ee.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Ee.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Ee.XMLNS}]]),eKt=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),tKt=new Set([I.B,I.BIG,I.BLOCKQUOTE,I.BODY,I.BR,I.CENTER,I.CODE,I.DD,I.DIV,I.DL,I.DT,I.EM,I.EMBED,I.H1,I.H2,I.H3,I.H4,I.H5,I.H6,I.HEAD,I.HR,I.I,I.IMG,I.LI,I.LISTING,I.MENU,I.META,I.NOBR,I.OL,I.P,I.PRE,I.RUBY,I.S,I.SMALL,I.SPAN,I.STRONG,I.STRIKE,I.SUB,I.SUP,I.TABLE,I.TT,I.U,I.UL,I.VAR]);function E3e(t){let e=t.tagID;return e===I.FONT&&t.attrs.some(({name:n})=>n===pl.COLOR||n===pl.SIZE||n===pl.FACE)||tKt.has(e)}function bQ(t){for(let e=0;e<t.attrs.length;e++)if(t.attrs[e].name===Yzt){t.attrs[e].name=Jzt;break}}function EQ(t){for(let e=0;e<t.attrs.length;e++){let r=Xzt.get(t.attrs[e].name);r!=null&&(t.attrs[e].name=r)}}function yD(t){for(let e=0;e<t.attrs.length;e++){let r=Zzt.get(t.attrs[e].name);r&&(t.attrs[e].prefix=r.prefix,t.attrs[e].name=r.name,t.attrs[e].namespace=r.namespace)}}function _3e(t){let e=eKt.get(t.tagName);e!=null&&(t.tagName=e,t.tagID=u0(t.tagName))}function rKt(t,e){return e===Ee.MATHML&&(t===I.MI||t===I.MO||t===I.MN||t===I.MS||t===I.MTEXT)}function nKt(t,e,r){if(e===Ee.MATHML&&t===I.ANNOTATION_XML){for(let n=0;n<r.length;n++)if(r[n].name===pl.ENCODING){let s=r[n].value.toLowerCase();return s===b3e.TEXT_HTML||s===b3e.APPLICATION_XML}}return e===Ee.SVG&&(t===I.FOREIGN_OBJECT||t===I.DESC||t===I.TITLE)}function S3e(t,e,r,n){return(!n||n===Ee.HTML)&&nKt(t,e,r)||(!n||n===Ee.MATHML)&&rKt(t,e)}var sKt="hidden",iKt=8,aKt=3,te;(function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"})(te||(te={}));var oKt={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1},w3e=new Set([I.TABLE,I.TBODY,I.TFOOT,I.THEAD,I.TR]),C3e={scriptingEnabled:!0,sourceCodeLocationInfo:!1,treeAdapter:hc,onParseError:null},kx=class{constructor(e,r,n=null,s=null){this.fragmentContext=n,this.scriptHandler=s,this.currentToken=null,this.stopped=!1,this.insertionMode=te.INITIAL,this.originalInsertionMode=te.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={...C3e,...e},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError&&(this.options.sourceCodeLocationInfo=!0),this.document=r??this.treeAdapter.createDocument(),this.tokenizer=new fv(this.options,this),this.activeFormattingElements=new AD(this.treeAdapter),this.fragmentContextID=n?u0(this.treeAdapter.getTagName(n)):I.UNKNOWN,this._setContextModes(n??this.document,this.fragmentContextID),this.openElements=new gD(this.document,this.treeAdapter,this)}static parse(e,r){let n=new this(r);return n.tokenizer.write(e,!0),n.document}static getFragmentParser(e,r){let n={...C3e,...r};e??(e=n.treeAdapter.createElement(de.TEMPLATE,Ee.HTML,[]));let s=n.treeAdapter.createElement("documentmock",Ee.HTML,[]),i=new this(n,s,e);return i.fragmentContextID===I.TEMPLATE&&i.tmplInsertionModeStack.unshift(te.IN_TEMPLATE),i._initTokenizerForFragmentParsing(),i._insertFakeRootElement(),i._resetInsertionMode(),i._findFormInFragmentContext(),i}getFragment(){let e=this.treeAdapter.getFirstChild(this.document),r=this.treeAdapter.createDocumentFragment();return this._adoptNodes(e,r),r}_err(e,r,n){var s;if(!this.onParseError)return;let i=(s=e.location)!==null&&s!==void 0?s:oKt,a={code:r,startLine:i.startLine,startCol:i.startCol,startOffset:i.startOffset,endLine:n?i.startLine:i.endLine,endCol:n?i.startCol:i.endCol,endOffset:n?i.startOffset:i.endOffset};this.onParseError(a)}onItemPush(e,r,n){var s,i;(i=(s=this.treeAdapter).onItemPush)===null||i===void 0||i.call(s,e),n&&this.openElements.stackTop>0&&this._setContextModes(e,r)}onItemPop(e,r){var n,s;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(e,this.currentToken),(s=(n=this.treeAdapter).onItemPop)===null||s===void 0||s.call(n,e,this.openElements.current),r){let i,a;this.openElements.stackTop===0&&this.fragmentContext?(i=this.fragmentContext,a=this.fragmentContextID):{current:i,currentTagId:a}=this.openElements,this._setContextModes(i,a)}}_setContextModes(e,r){let n=e===this.document||e&&this.treeAdapter.getNamespaceURI(e)===Ee.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&e!==void 0&&r!==void 0&&!this._isIntegrationPoint(r,e)}_switchToTextParsing(e,r){this._insertElement(e,Ee.HTML),this.tokenizer.state=r,this.originalInsertionMode=this.insertionMode,this.insertionMode=te.TEXT}switchToPlaintextParsing(){this.insertionMode=te.TEXT,this.originalInsertionMode=te.IN_BODY,this.tokenizer.state=Ui.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;for(;e;){if(this.treeAdapter.getTagName(e)===de.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==Ee.HTML))switch(this.fragmentContextID){case I.TITLE:case I.TEXTAREA:{this.tokenizer.state=Ui.RCDATA;break}case I.STYLE:case I.XMP:case I.IFRAME:case I.NOEMBED:case I.NOFRAMES:case I.NOSCRIPT:{this.tokenizer.state=Ui.RAWTEXT;break}case I.SCRIPT:{this.tokenizer.state=Ui.SCRIPT_DATA;break}case I.PLAINTEXT:{this.tokenizer.state=Ui.PLAINTEXT;break}default:}}_setDocumentType(e){let r=e.name||"",n=e.publicId||"",s=e.systemId||"";if(this.treeAdapter.setDocumentType(this.document,r,n,s),e.location){let a=this.treeAdapter.getChildNodes(this.document).find(o=>this.treeAdapter.isDocumentTypeNode(o));a&&this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}}_attachElementToTree(e,r){if(this.options.sourceCodeLocationInfo){let n=r&&{...r,startTag:r};this.treeAdapter.setNodeSourceCodeLocation(e,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{let n=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(n??this.document,e)}}_appendElement(e,r){let n=this.treeAdapter.createElement(e.tagName,r,e.attrs);this._attachElementToTree(n,e.location)}_insertElement(e,r){let n=this.treeAdapter.createElement(e.tagName,r,e.attrs);this._attachElementToTree(n,e.location),this.openElements.push(n,e.tagID)}_insertFakeElement(e,r){let n=this.treeAdapter.createElement(e,Ee.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,r)}_insertTemplate(e){let r=this.treeAdapter.createElement(e.tagName,Ee.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(r,n),this._attachElementToTree(r,e.location),this.openElements.push(r,e.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){let e=this.treeAdapter.createElement(de.HTML,Ee.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(e,null),this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e,I.HTML)}_appendCommentNode(e,r){let n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(r,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,e.location)}_insertCharacters(e){let r,n;if(this._shouldFosterParentOnInsertion()?({parent:r,beforeElement:n}=this._findFosterParentingLocation(),n?this.treeAdapter.insertTextBefore(r,e.chars,n):this.treeAdapter.insertText(r,e.chars)):(r=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(r,e.chars)),!e.location)return;let s=this.treeAdapter.getChildNodes(r),i=n?s.lastIndexOf(n):s.length,a=s[i-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){let{endLine:c,endCol:u,endOffset:l}=e.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:c,endCol:u,endOffset:l})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}_adoptNodes(e,r){for(let n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(r,n)}_setEndLocation(e,r){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&r.location){let n=r.location,s=this.treeAdapter.getTagName(e),i=r.type===br.END_TAG&&s===r.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(e,i)}}shouldProcessStartTagTokenInForeignContent(e){if(!this.currentNotInHTML)return!1;let r,n;return this.openElements.stackTop===0&&this.fragmentContext?(r=this.fragmentContext,n=this.fragmentContextID):{current:r,currentTagId:n}=this.openElements,e.tagID===I.SVG&&this.treeAdapter.getTagName(r)===de.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(r)===Ee.MATHML?!1:this.tokenizer.inForeignNode||(e.tagID===I.MGLYPH||e.tagID===I.MALIGNMARK)&&n!==void 0&&!this._isIntegrationPoint(n,r,Ee.HTML)}_processToken(e){switch(e.type){case br.CHARACTER:{this.onCharacter(e);break}case br.NULL_CHARACTER:{this.onNullCharacter(e);break}case br.COMMENT:{this.onComment(e);break}case br.DOCTYPE:{this.onDoctype(e);break}case br.START_TAG:{this._processStartTag(e);break}case br.END_TAG:{this.onEndTag(e);break}case br.EOF:{this.onEof(e);break}case br.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(e);break}}}_isIntegrationPoint(e,r,n){let s=this.treeAdapter.getNamespaceURI(r),i=this.treeAdapter.getAttrList(r);return S3e(e,s,i,n)}_reconstructActiveFormattingElements(){let e=this.activeFormattingElements.entries.length;if(e){let r=this.activeFormattingElements.entries.findIndex(s=>s.type===iu.Marker||this.openElements.contains(s.element)),n=r===-1?e-1:r-1;for(let s=n;s>=0;s--){let i=this.activeFormattingElements.entries[s];this._insertElement(i.token,this.treeAdapter.getNamespaceURI(i.element)),i.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=te.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(I.P),this.openElements.popUntilTagNamePopped(I.P)}_resetInsertionMode(){for(let e=this.openElements.stackTop;e>=0;e--)switch(e===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[e]){case I.TR:{this.insertionMode=te.IN_ROW;return}case I.TBODY:case I.THEAD:case I.TFOOT:{this.insertionMode=te.IN_TABLE_BODY;return}case I.CAPTION:{this.insertionMode=te.IN_CAPTION;return}case I.COLGROUP:{this.insertionMode=te.IN_COLUMN_GROUP;return}case I.TABLE:{this.insertionMode=te.IN_TABLE;return}case I.BODY:{this.insertionMode=te.IN_BODY;return}case I.FRAMESET:{this.insertionMode=te.IN_FRAMESET;return}case I.SELECT:{this._resetInsertionModeForSelect(e);return}case I.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case I.HTML:{this.insertionMode=this.headElement?te.AFTER_HEAD:te.BEFORE_HEAD;return}case I.TD:case I.TH:{if(e>0){this.insertionMode=te.IN_CELL;return}break}case I.HEAD:{if(e>0){this.insertionMode=te.IN_HEAD;return}break}}this.insertionMode=te.IN_BODY}_resetInsertionModeForSelect(e){if(e>0)for(let r=e-1;r>0;r--){let n=this.openElements.tagIDs[r];if(n===I.TEMPLATE)break;if(n===I.TABLE){this.insertionMode=te.IN_SELECT_IN_TABLE;return}}this.insertionMode=te.IN_SELECT}_isElementCausesFosterParenting(e){return w3e.has(e)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let e=this.openElements.stackTop;e>=0;e--){let r=this.openElements.items[e];switch(this.openElements.tagIDs[e]){case I.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(r)===Ee.HTML)return{parent:this.treeAdapter.getTemplateContent(r),beforeElement:null};break}case I.TABLE:{let n=this.treeAdapter.getParentNode(r);return n?{parent:n,beforeElement:r}:{parent:this.openElements.items[e-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(e){let r=this._findFosterParentingLocation();r.beforeElement?this.treeAdapter.insertBefore(r.parent,e,r.beforeElement):this.treeAdapter.appendChild(r.parent,e)}_isSpecialElement(e,r){let n=this.treeAdapter.getNamespaceURI(e);return yQ[n].has(r)}onCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){MYt(this,e);return}switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{hv(this,e);break}case te.BEFORE_HEAD:{gv(this,e);break}case te.IN_HEAD:{Av(this,e);break}case te.IN_HEAD_NO_SCRIPT:{yv(this,e);break}case te.AFTER_HEAD:{xv(this,e);break}case te.IN_BODY:case te.IN_CAPTION:case te.IN_CELL:case te.IN_TEMPLATE:{N3e(this,e);break}case te.TEXT:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:{this._insertCharacters(e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{_Q(this,e);break}case te.IN_TABLE_TEXT:{B3e(this,e);break}case te.IN_COLUMN_GROUP:{bD(this,e);break}case te.AFTER_BODY:{ED(this,e);break}case te.AFTER_AFTER_BODY:{xD(this,e);break}default:}}onNullCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){BYt(this,e);return}switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{hv(this,e);break}case te.BEFORE_HEAD:{gv(this,e);break}case te.IN_HEAD:{Av(this,e);break}case te.IN_HEAD_NO_SCRIPT:{yv(this,e);break}case te.AFTER_HEAD:{xv(this,e);break}case te.TEXT:{this._insertCharacters(e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{_Q(this,e);break}case te.IN_COLUMN_GROUP:{bD(this,e);break}case te.AFTER_BODY:{ED(this,e);break}case te.AFTER_AFTER_BODY:{xD(this,e);break}default:}}onComment(e){if(this.skipNextNewLine=!1,this.currentNotInHTML){SQ(this,e);return}switch(this.insertionMode){case te.INITIAL:case te.BEFORE_HTML:case te.BEFORE_HEAD:case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:case te.IN_BODY:case te.IN_TABLE:case te.IN_CAPTION:case te.IN_COLUMN_GROUP:case te.IN_TABLE_BODY:case te.IN_ROW:case te.IN_CELL:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:case te.IN_TEMPLATE:case te.IN_FRAMESET:case te.AFTER_FRAMESET:{SQ(this,e);break}case te.IN_TABLE_TEXT:{mv(this,e);break}case te.AFTER_BODY:{mKt(this,e);break}case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{hKt(this,e);break}default:}}onDoctype(e){switch(this.skipNextNewLine=!1,this.insertionMode){case te.INITIAL:{gKt(this,e);break}case te.BEFORE_HEAD:case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:{this._err(e,me.misplacedDoctype);break}case te.IN_TABLE_TEXT:{mv(this,e);break}default:}}onStartTag(e){this.skipNextNewLine=!1,this.currentToken=e,this._processStartTag(e),e.selfClosing&&!e.ackSelfClosing&&this._err(e,me.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(e){this.shouldProcessStartTagTokenInForeignContent(e)?WYt(this,e):this._startTagOutsideForeignContent(e)}_startTagOutsideForeignContent(e){switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{AKt(this,e);break}case te.BEFORE_HEAD:{xKt(this,e);break}case te.IN_HEAD:{au(this,e);break}case te.IN_HEAD_NO_SCRIPT:{_Kt(this,e);break}case te.AFTER_HEAD:{vKt(this,e);break}case te.IN_BODY:{qi(this,e);break}case te.IN_TABLE:{Lx(this,e);break}case te.IN_TABLE_TEXT:{mv(this,e);break}case te.IN_CAPTION:{bYt(this,e);break}case te.IN_COLUMN_GROUP:{TQ(this,e);break}case te.IN_TABLE_BODY:{vD(this,e);break}case te.IN_ROW:{CD(this,e);break}case te.IN_CELL:{SYt(this,e);break}case te.IN_SELECT:{$3e(this,e);break}case te.IN_SELECT_IN_TABLE:{CYt(this,e);break}case te.IN_TEMPLATE:{TYt(this,e);break}case te.AFTER_BODY:{RYt(this,e);break}case te.IN_FRAMESET:{NYt(this,e);break}case te.AFTER_FRAMESET:{PYt(this,e);break}case te.AFTER_AFTER_BODY:{kYt(this,e);break}case te.AFTER_AFTER_FRAMESET:{LYt(this,e);break}default:}}onEndTag(e){this.skipNextNewLine=!1,this.currentToken=e,this.currentNotInHTML?$Yt(this,e):this._endTagOutsideForeignContent(e)}_endTagOutsideForeignContent(e){switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{yKt(this,e);break}case te.BEFORE_HEAD:{bKt(this,e);break}case te.IN_HEAD:{EKt(this,e);break}case te.IN_HEAD_NO_SCRIPT:{SKt(this,e);break}case te.AFTER_HEAD:{CKt(this,e);break}case te.IN_BODY:{SD(this,e);break}case te.TEXT:{lYt(this,e);break}case te.IN_TABLE:{bv(this,e);break}case te.IN_TABLE_TEXT:{mv(this,e);break}case te.IN_CAPTION:{EYt(this,e);break}case te.IN_COLUMN_GROUP:{_Yt(this,e);break}case te.IN_TABLE_BODY:{vQ(this,e);break}case te.IN_ROW:{W3e(this,e);break}case te.IN_CELL:{vYt(this,e);break}case te.IN_SELECT:{F3e(this,e);break}case te.IN_SELECT_IN_TABLE:{IYt(this,e);break}case te.IN_TEMPLATE:{wYt(this,e);break}case te.AFTER_BODY:{q3e(this,e);break}case te.IN_FRAMESET:{OYt(this,e);break}case te.AFTER_FRAMESET:{DYt(this,e);break}case te.AFTER_AFTER_BODY:{xD(this,e);break}default:}}onEof(e){switch(this.insertionMode){case te.INITIAL:{pv(this,e);break}case te.BEFORE_HTML:{hv(this,e);break}case te.BEFORE_HEAD:{gv(this,e);break}case te.IN_HEAD:{Av(this,e);break}case te.IN_HEAD_NO_SCRIPT:{yv(this,e);break}case te.AFTER_HEAD:{xv(this,e);break}case te.IN_BODY:case te.IN_TABLE:case te.IN_CAPTION:case te.IN_COLUMN_GROUP:case te.IN_TABLE_BODY:case te.IN_ROW:case te.IN_CELL:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:{k3e(this,e);break}case te.TEXT:{dYt(this,e);break}case te.IN_TABLE_TEXT:{mv(this,e);break}case te.IN_TEMPLATE:{U3e(this,e);break}case te.AFTER_BODY:case te.IN_FRAMESET:case te.AFTER_FRAMESET:case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{IQ(this,e);break}default:}}onWhitespaceCharacter(e){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,e.chars.charCodeAt(0)===Q.LINE_FEED)){if(e.chars.length===1)return;e.chars=e.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(e);return}switch(this.insertionMode){case te.IN_HEAD:case te.IN_HEAD_NO_SCRIPT:case te.AFTER_HEAD:case te.TEXT:case te.IN_COLUMN_GROUP:case te.IN_SELECT:case te.IN_SELECT_IN_TABLE:case te.IN_FRAMESET:case te.AFTER_FRAMESET:{this._insertCharacters(e);break}case te.IN_BODY:case te.IN_CAPTION:case te.IN_CELL:case te.IN_TEMPLATE:case te.AFTER_BODY:case te.AFTER_AFTER_BODY:case te.AFTER_AFTER_FRAMESET:{R3e(this,e);break}case te.IN_TABLE:case te.IN_TABLE_BODY:case te.IN_ROW:{_Q(this,e);break}case te.IN_TABLE_TEXT:{L3e(this,e);break}default:}}};function cKt(t,e){let r=t.activeFormattingElements.getElementEntryInScopeWithTagName(e.tagName);return r?t.openElements.contains(r.element)?t.openElements.hasInScope(e.tagID)||(r=null):(t.activeFormattingElements.removeEntry(r),r=null):D3e(t,e),r}function uKt(t,e){let r=null,n=t.openElements.stackTop;for(;n>=0;n--){let s=t.openElements.items[n];if(s===e.element)break;t._isSpecialElement(s,t.openElements.tagIDs[n])&&(r=s)}return r||(t.openElements.shortenToLength(Math.max(n,0)),t.activeFormattingElements.removeEntry(e)),r}function lKt(t,e,r){let n=e,s=t.openElements.getCommonAncestor(e);for(let i=0,a=s;a!==r;i++,a=s){s=t.openElements.getCommonAncestor(a);let o=t.activeFormattingElements.getElementEntry(a),c=o&&i>=aKt;!o||c?(c&&t.activeFormattingElements.removeEntry(o),t.openElements.remove(a)):(a=dKt(t,o),n===e&&(t.activeFormattingElements.bookmark=o),t.treeAdapter.detachNode(n),t.treeAdapter.appendChild(a,n),n=a)}return n}function dKt(t,e){let r=t.treeAdapter.getNamespaceURI(e.element),n=t.treeAdapter.createElement(e.token.tagName,r,e.token.attrs);return t.openElements.replace(e.element,n),e.element=n,n}function fKt(t,e,r){let n=t.treeAdapter.getTagName(e),s=u0(n);if(t._isElementCausesFosterParenting(s))t._fosterParentElement(r);else{let i=t.treeAdapter.getNamespaceURI(e);s===I.TEMPLATE&&i===Ee.HTML&&(e=t.treeAdapter.getTemplateContent(e)),t.treeAdapter.appendChild(e,r)}}function pKt(t,e,r){let n=t.treeAdapter.getNamespaceURI(r.element),{token:s}=r,i=t.treeAdapter.createElement(s.tagName,n,s.attrs);t._adoptNodes(e,i),t.treeAdapter.appendChild(e,i),t.activeFormattingElements.insertElementAfterBookmark(i,s),t.activeFormattingElements.removeEntry(r),t.openElements.remove(r.element),t.openElements.insertAfter(e,i,s.tagID)}function CQ(t,e){for(let r=0;r<iKt;r++){let n=cKt(t,e);if(!n)break;let s=uKt(t,n);if(!s)break;t.activeFormattingElements.bookmark=n;let i=lKt(t,s,n.element),a=t.openElements.getCommonAncestor(n.element);t.treeAdapter.detachNode(i),a&&fKt(t,a,i),pKt(t,s,n)}}function SQ(t,e){t._appendCommentNode(e,t.openElements.currentTmplContentOrNode)}function mKt(t,e){t._appendCommentNode(e,t.openElements.items[0])}function hKt(t,e){t._appendCommentNode(e,t.document)}function IQ(t,e){if(t.stopped=!0,e.location){let r=t.fragmentContext?0:2;for(let n=t.openElements.stackTop;n>=r;n--)t._setEndLocation(t.openElements.items[n],e);if(!t.fragmentContext&&t.openElements.stackTop>=0){let n=t.openElements.items[0],s=t.treeAdapter.getNodeSourceCodeLocation(n);if(s&&!s.endTag&&(t._setEndLocation(n,e),t.openElements.stackTop>=1)){let i=t.openElements.items[1],a=t.treeAdapter.getNodeSourceCodeLocation(i);a&&!a.endTag&&t._setEndLocation(i,e)}}}}function gKt(t,e){t._setDocumentType(e);let r=e.forceQuirks?Fi.QUIRKS:x3e(e);y3e(e)||t._err(e,me.nonConformingDoctype),t.treeAdapter.setDocumentMode(t.document,r),t.insertionMode=te.BEFORE_HTML}function pv(t,e){t._err(e,me.missingDoctype,!0),t.treeAdapter.setDocumentMode(t.document,Fi.QUIRKS),t.insertionMode=te.BEFORE_HTML,t._processToken(e)}function AKt(t,e){e.tagID===I.HTML?(t._insertElement(e,Ee.HTML),t.insertionMode=te.BEFORE_HEAD):hv(t,e)}function yKt(t,e){let r=e.tagID;(r===I.HTML||r===I.HEAD||r===I.BODY||r===I.BR)&&hv(t,e)}function hv(t,e){t._insertFakeRootElement(),t.insertionMode=te.BEFORE_HEAD,t._processToken(e)}function xKt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.HEAD:{t._insertElement(e,Ee.HTML),t.headElement=t.openElements.current,t.insertionMode=te.IN_HEAD;break}default:gv(t,e)}}function bKt(t,e){let r=e.tagID;r===I.HEAD||r===I.BODY||r===I.HTML||r===I.BR?gv(t,e):t._err(e,me.endTagWithoutMatchingOpenElement)}function gv(t,e){t._insertFakeElement(de.HEAD,I.HEAD),t.headElement=t.openElements.current,t.insertionMode=te.IN_HEAD,t._processToken(e)}function au(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.BASE:case I.BASEFONT:case I.BGSOUND:case I.LINK:case I.META:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case I.TITLE:{t._switchToTextParsing(e,Ui.RCDATA);break}case I.NOSCRIPT:{t.options.scriptingEnabled?t._switchToTextParsing(e,Ui.RAWTEXT):(t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_HEAD_NO_SCRIPT);break}case I.NOFRAMES:case I.STYLE:{t._switchToTextParsing(e,Ui.RAWTEXT);break}case I.SCRIPT:{t._switchToTextParsing(e,Ui.SCRIPT_DATA);break}case I.TEMPLATE:{t._insertTemplate(e),t.activeFormattingElements.insertMarker(),t.framesetOk=!1,t.insertionMode=te.IN_TEMPLATE,t.tmplInsertionModeStack.unshift(te.IN_TEMPLATE);break}case I.HEAD:{t._err(e,me.misplacedStartTagForHeadElement);break}default:Av(t,e)}}function EKt(t,e){switch(e.tagID){case I.HEAD:{t.openElements.pop(),t.insertionMode=te.AFTER_HEAD;break}case I.BODY:case I.BR:case I.HTML:{Av(t,e);break}case I.TEMPLATE:{Ih(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function Ih(t,e){t.openElements.tmplCount>0?(t.openElements.generateImpliedEndTagsThoroughly(),t.openElements.currentTagId!==I.TEMPLATE&&t._err(e,me.closingOfElementWithOpenChildElements),t.openElements.popUntilTagNamePopped(I.TEMPLATE),t.activeFormattingElements.clearToLastMarker(),t.tmplInsertionModeStack.shift(),t._resetInsertionMode()):t._err(e,me.endTagWithoutMatchingOpenElement)}function Av(t,e){t.openElements.pop(),t.insertionMode=te.AFTER_HEAD,t._processToken(e)}function _Kt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.BASEFONT:case I.BGSOUND:case I.HEAD:case I.LINK:case I.META:case I.NOFRAMES:case I.STYLE:{au(t,e);break}case I.NOSCRIPT:{t._err(e,me.nestedNoscriptInHead);break}default:yv(t,e)}}function SKt(t,e){switch(e.tagID){case I.NOSCRIPT:{t.openElements.pop(),t.insertionMode=te.IN_HEAD;break}case I.BR:{yv(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function yv(t,e){let r=e.type===br.EOF?me.openElementsLeftAfterEof:me.disallowedContentInNoscriptInHead;t._err(e,r),t.openElements.pop(),t.insertionMode=te.IN_HEAD,t._processToken(e)}function vKt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.BODY:{t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=te.IN_BODY;break}case I.FRAMESET:{t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_FRAMESET;break}case I.BASE:case I.BASEFONT:case I.BGSOUND:case I.LINK:case I.META:case I.NOFRAMES:case I.SCRIPT:case I.STYLE:case I.TEMPLATE:case I.TITLE:{t._err(e,me.abandonedHeadElementChild),t.openElements.push(t.headElement,I.HEAD),au(t,e),t.openElements.remove(t.headElement);break}case I.HEAD:{t._err(e,me.misplacedStartTagForHeadElement);break}default:xv(t,e)}}function CKt(t,e){switch(e.tagID){case I.BODY:case I.HTML:case I.BR:{xv(t,e);break}case I.TEMPLATE:{Ih(t,e);break}default:t._err(e,me.endTagWithoutMatchingOpenElement)}}function xv(t,e){t._insertFakeElement(de.BODY,I.BODY),t.insertionMode=te.IN_BODY,_D(t,e)}function _D(t,e){switch(e.type){case br.CHARACTER:{N3e(t,e);break}case br.WHITESPACE_CHARACTER:{R3e(t,e);break}case br.COMMENT:{SQ(t,e);break}case br.START_TAG:{qi(t,e);break}case br.END_TAG:{SD(t,e);break}case br.EOF:{k3e(t,e);break}default:}}function R3e(t,e){t._reconstructActiveFormattingElements(),t._insertCharacters(e)}function N3e(t,e){t._reconstructActiveFormattingElements(),t._insertCharacters(e),t.framesetOk=!1}function IKt(t,e){t.openElements.tmplCount===0&&t.treeAdapter.adoptAttributes(t.openElements.items[0],e.attrs)}function TKt(t,e){let r=t.openElements.tryPeekProperlyNestedBodyElement();r&&t.openElements.tmplCount===0&&(t.framesetOk=!1,t.treeAdapter.adoptAttributes(r,e.attrs))}function wKt(t,e){let r=t.openElements.tryPeekProperlyNestedBodyElement();t.framesetOk&&r&&(t.treeAdapter.detachNode(r),t.openElements.popAllUpToHtmlElement(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_FRAMESET)}function RKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML)}function NKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t.openElements.currentTagId!==void 0&&Dx.has(t.openElements.currentTagId)&&t.openElements.pop(),t._insertElement(e,Ee.HTML)}function OKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.skipNextNewLine=!0,t.framesetOk=!1}function PKt(t,e){let r=t.openElements.tmplCount>0;(!t.formElement||r)&&(t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),r||(t.formElement=t.openElements.current))}function DKt(t,e){t.framesetOk=!1;let r=e.tagID;for(let n=t.openElements.stackTop;n>=0;n--){let s=t.openElements.tagIDs[n];if(r===I.LI&&s===I.LI||(r===I.DD||r===I.DT)&&(s===I.DD||s===I.DT)){t.openElements.generateImpliedEndTagsWithExclusion(s),t.openElements.popUntilTagNamePopped(s);break}if(s!==I.ADDRESS&&s!==I.DIV&&s!==I.P&&t._isSpecialElement(t.openElements.items[n],s))break}t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML)}function kKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.tokenizer.state=Ui.PLAINTEXT}function LKt(t,e){t.openElements.hasInScope(I.BUTTON)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(I.BUTTON)),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.framesetOk=!1}function BKt(t,e){let r=t.activeFormattingElements.getElementEntryInScopeWithTagName(de.A);r&&(CQ(t,e),t.openElements.remove(r.element),t.activeFormattingElements.removeEntry(r)),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function MKt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function WKt(t,e){t._reconstructActiveFormattingElements(),t.openElements.hasInScope(I.NOBR)&&(CQ(t,e),t._reconstructActiveFormattingElements()),t._insertElement(e,Ee.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}function $Kt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.activeFormattingElements.insertMarker(),t.framesetOk=!1}function FKt(t,e){t.treeAdapter.getDocumentMode(t.document)!==Fi.QUIRKS&&t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=te.IN_TABLE}function O3e(t,e){t._reconstructActiveFormattingElements(),t._appendElement(e,Ee.HTML),t.framesetOk=!1,e.ackSelfClosing=!0}function P3e(t){let e=lD(t,pl.TYPE);return e!=null&&e.toLowerCase()===sKt}function UKt(t,e){t._reconstructActiveFormattingElements(),t._appendElement(e,Ee.HTML),P3e(e)||(t.framesetOk=!1),e.ackSelfClosing=!0}function qKt(t,e){t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0}function jKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._appendElement(e,Ee.HTML),t.framesetOk=!1,e.ackSelfClosing=!0}function HKt(t,e){e.tagName=de.IMG,e.tagID=I.IMG,O3e(t,e)}function QKt(t,e){t._insertElement(e,Ee.HTML),t.skipNextNewLine=!0,t.tokenizer.state=Ui.RCDATA,t.originalInsertionMode=t.insertionMode,t.framesetOk=!1,t.insertionMode=te.TEXT}function GKt(t,e){t.openElements.hasInButtonScope(I.P)&&t._closePElement(),t._reconstructActiveFormattingElements(),t.framesetOk=!1,t._switchToTextParsing(e,Ui.RAWTEXT)}function VKt(t,e){t.framesetOk=!1,t._switchToTextParsing(e,Ui.RAWTEXT)}function I3e(t,e){t._switchToTextParsing(e,Ui.RAWTEXT)}function zKt(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML),t.framesetOk=!1,t.insertionMode=t.insertionMode===te.IN_TABLE||t.insertionMode===te.IN_CAPTION||t.insertionMode===te.IN_TABLE_BODY||t.insertionMode===te.IN_ROW||t.insertionMode===te.IN_CELL?te.IN_SELECT_IN_TABLE:te.IN_SELECT}function KKt(t,e){t.openElements.currentTagId===I.OPTION&&t.openElements.pop(),t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML)}function YKt(t,e){t.openElements.hasInScope(I.RUBY)&&t.openElements.generateImpliedEndTags(),t._insertElement(e,Ee.HTML)}function JKt(t,e){t.openElements.hasInScope(I.RUBY)&&t.openElements.generateImpliedEndTagsWithExclusion(I.RTC),t._insertElement(e,Ee.HTML)}function XKt(t,e){t._reconstructActiveFormattingElements(),bQ(e),yD(e),e.selfClosing?t._appendElement(e,Ee.MATHML):t._insertElement(e,Ee.MATHML),e.ackSelfClosing=!0}function ZKt(t,e){t._reconstructActiveFormattingElements(),EQ(e),yD(e),e.selfClosing?t._appendElement(e,Ee.SVG):t._insertElement(e,Ee.SVG),e.ackSelfClosing=!0}function T3e(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Ee.HTML)}function qi(t,e){switch(e.tagID){case I.I:case I.S:case I.B:case I.U:case I.EM:case I.TT:case I.BIG:case I.CODE:case I.FONT:case I.SMALL:case I.STRIKE:case I.STRONG:{MKt(t,e);break}case I.A:{BKt(t,e);break}case I.H1:case I.H2:case I.H3:case I.H4:case I.H5:case I.H6:{NKt(t,e);break}case I.P:case I.DL:case I.OL:case I.UL:case I.DIV:case I.DIR:case I.NAV:case I.MAIN:case I.MENU:case I.ASIDE:case I.CENTER:case I.FIGURE:case I.FOOTER:case I.HEADER:case I.HGROUP:case I.DIALOG:case I.DETAILS:case I.ADDRESS:case I.ARTICLE:case I.SEARCH:case I.SECTION:case I.SUMMARY:case I.FIELDSET:case I.BLOCKQUOTE:case I.FIGCAPTION:{RKt(t,e);break}case I.LI:case I.DD:case I.DT:{DKt(t,e);break}case I.BR:case I.IMG:case I.WBR:case I.AREA:case I.EMBED:case I.KEYGEN:{O3e(t,e);break}case I.HR:{jKt(t,e);break}case I.RB:case I.RTC:{YKt(t,e);break}case I.RT:case I.RP:{JKt(t,e);break}case I.PRE:case I.LISTING:{OKt(t,e);break}case I.XMP:{GKt(t,e);break}case I.SVG:{ZKt(t,e);break}case I.HTML:{IKt(t,e);break}case I.BASE:case I.LINK:case I.META:case I.STYLE:case I.TITLE:case I.SCRIPT:case I.BGSOUND:case I.BASEFONT:case I.TEMPLATE:{au(t,e);break}case I.BODY:{TKt(t,e);break}case I.FORM:{PKt(t,e);break}case I.NOBR:{WKt(t,e);break}case I.MATH:{XKt(t,e);break}case I.TABLE:{FKt(t,e);break}case I.INPUT:{UKt(t,e);break}case I.PARAM:case I.TRACK:case I.SOURCE:{qKt(t,e);break}case I.IMAGE:{HKt(t,e);break}case I.BUTTON:{LKt(t,e);break}case I.APPLET:case I.OBJECT:case I.MARQUEE:{$Kt(t,e);break}case I.IFRAME:{VKt(t,e);break}case I.SELECT:{zKt(t,e);break}case I.OPTION:case I.OPTGROUP:{KKt(t,e);break}case I.NOEMBED:case I.NOFRAMES:{I3e(t,e);break}case I.FRAMESET:{wKt(t,e);break}case I.TEXTAREA:{QKt(t,e);break}case I.NOSCRIPT:{t.options.scriptingEnabled?I3e(t,e):T3e(t,e);break}case I.PLAINTEXT:{kKt(t,e);break}case I.COL:case I.TH:case I.TD:case I.TR:case I.HEAD:case I.FRAME:case I.TBODY:case I.TFOOT:case I.THEAD:case I.CAPTION:case I.COLGROUP:break;default:T3e(t,e)}}function eYt(t,e){if(t.openElements.hasInScope(I.BODY)&&(t.insertionMode=te.AFTER_BODY,t.options.sourceCodeLocationInfo)){let r=t.openElements.tryPeekProperlyNestedBodyElement();r&&t._setEndLocation(r,e)}}function tYt(t,e){t.openElements.hasInScope(I.BODY)&&(t.insertionMode=te.AFTER_BODY,q3e(t,e))}function rYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r))}function nYt(t){let e=t.openElements.tmplCount>0,{formElement:r}=t;e||(t.formElement=null),(r||e)&&t.openElements.hasInScope(I.FORM)&&(t.openElements.generateImpliedEndTags(),e?t.openElements.popUntilTagNamePopped(I.FORM):r&&t.openElements.remove(r))}function sYt(t){t.openElements.hasInButtonScope(I.P)||t._insertFakeElement(de.P,I.P),t._closePElement()}function iYt(t){t.openElements.hasInListItemScope(I.LI)&&(t.openElements.generateImpliedEndTagsWithExclusion(I.LI),t.openElements.popUntilTagNamePopped(I.LI))}function aYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTagsWithExclusion(r),t.openElements.popUntilTagNamePopped(r))}function oYt(t){t.openElements.hasNumberedHeaderInScope()&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilNumberedHeaderPopped())}function cYt(t,e){let r=e.tagID;t.openElements.hasInScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r),t.activeFormattingElements.clearToLastMarker())}function uYt(t){t._reconstructActiveFormattingElements(),t._insertFakeElement(de.BR,I.BR),t.openElements.pop(),t.framesetOk=!1}function D3e(t,e){let r=e.tagName,n=e.tagID;for(let s=t.openElements.stackTop;s>0;s--){let i=t.openElements.items[s],a=t.openElements.tagIDs[s];if(n===a&&(n!==I.UNKNOWN||t.treeAdapter.getTagName(i)===r)){t.openElements.generateImpliedEndTagsWithExclusion(n),t.openElements.stackTop>=s&&t.openElements.shortenToLength(s);break}if(t._isSpecialElement(i,a))break}}function SD(t,e){switch(e.tagID){case I.A:case I.B:case I.I:case I.S:case I.U:case I.EM:case I.TT:case I.BIG:case I.CODE:case I.FONT:case I.NOBR:case I.SMALL:case I.STRIKE:case I.STRONG:{CQ(t,e);break}case I.P:{sYt(t);break}case I.DL:case I.UL:case I.OL:case I.DIR:case I.DIV:case I.NAV:case I.PRE:case I.MAIN:case I.MENU:case I.ASIDE:case I.BUTTON:case I.CENTER:case I.FIGURE:case I.FOOTER:case I.HEADER:case I.HGROUP:case I.DIALOG:case I.ADDRESS:case I.ARTICLE:case I.DETAILS:case I.SEARCH:case I.SECTION:case I.SUMMARY:case I.LISTING:case I.FIELDSET:case I.BLOCKQUOTE:case I.FIGCAPTION:{rYt(t,e);break}case I.LI:{iYt(t);break}case I.DD:case I.DT:{aYt(t,e);break}case I.H1:case I.H2:case I.H3:case I.H4:case I.H5:case I.H6:{oYt(t);break}case I.BR:{uYt(t);break}case I.BODY:{eYt(t,e);break}case I.HTML:{tYt(t,e);break}case I.FORM:{nYt(t);break}case I.APPLET:case I.OBJECT:case I.MARQUEE:{cYt(t,e);break}case I.TEMPLATE:{Ih(t,e);break}default:D3e(t,e)}}function k3e(t,e){t.tmplInsertionModeStack.length>0?U3e(t,e):IQ(t,e)}function lYt(t,e){var r;e.tagID===I.SCRIPT&&((r=t.scriptHandler)===null||r===void 0||r.call(t,t.openElements.current)),t.openElements.pop(),t.insertionMode=t.originalInsertionMode}function dYt(t,e){t._err(e,me.eofInElementThatCanContainOnlyText),t.openElements.pop(),t.insertionMode=t.originalInsertionMode,t.onEof(e)}function _Q(t,e){if(t.openElements.currentTagId!==void 0&&w3e.has(t.openElements.currentTagId))switch(t.pendingCharacterTokens.length=0,t.hasNonWhitespacePendingCharacterToken=!1,t.originalInsertionMode=t.insertionMode,t.insertionMode=te.IN_TABLE_TEXT,e.type){case br.CHARACTER:{B3e(t,e);break}case br.WHITESPACE_CHARACTER:{L3e(t,e);break}}else Ev(t,e)}function fYt(t,e){t.openElements.clearBackToTableContext(),t.activeFormattingElements.insertMarker(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_CAPTION}function pYt(t,e){t.openElements.clearBackToTableContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_COLUMN_GROUP}function mYt(t,e){t.openElements.clearBackToTableContext(),t._insertFakeElement(de.COLGROUP,I.COLGROUP),t.insertionMode=te.IN_COLUMN_GROUP,TQ(t,e)}function hYt(t,e){t.openElements.clearBackToTableContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_TABLE_BODY}function gYt(t,e){t.openElements.clearBackToTableContext(),t._insertFakeElement(de.TBODY,I.TBODY),t.insertionMode=te.IN_TABLE_BODY,vD(t,e)}function AYt(t,e){t.openElements.hasInTableScope(I.TABLE)&&(t.openElements.popUntilTagNamePopped(I.TABLE),t._resetInsertionMode(),t._processStartTag(e))}function yYt(t,e){P3e(e)?t._appendElement(e,Ee.HTML):Ev(t,e),e.ackSelfClosing=!0}function xYt(t,e){!t.formElement&&t.openElements.tmplCount===0&&(t._insertElement(e,Ee.HTML),t.formElement=t.openElements.current,t.openElements.pop())}function Lx(t,e){switch(e.tagID){case I.TD:case I.TH:case I.TR:{gYt(t,e);break}case I.STYLE:case I.SCRIPT:case I.TEMPLATE:{au(t,e);break}case I.COL:{mYt(t,e);break}case I.FORM:{xYt(t,e);break}case I.TABLE:{AYt(t,e);break}case I.TBODY:case I.TFOOT:case I.THEAD:{hYt(t,e);break}case I.INPUT:{yYt(t,e);break}case I.CAPTION:{fYt(t,e);break}case I.COLGROUP:{pYt(t,e);break}default:Ev(t,e)}}function bv(t,e){switch(e.tagID){case I.TABLE:{t.openElements.hasInTableScope(I.TABLE)&&(t.openElements.popUntilTagNamePopped(I.TABLE),t._resetInsertionMode());break}case I.TEMPLATE:{Ih(t,e);break}case I.BODY:case I.CAPTION:case I.COL:case I.COLGROUP:case I.HTML:case I.TBODY:case I.TD:case I.TFOOT:case I.TH:case I.THEAD:case I.TR:break;default:Ev(t,e)}}function Ev(t,e){let r=t.fosterParentingEnabled;t.fosterParentingEnabled=!0,_D(t,e),t.fosterParentingEnabled=r}function L3e(t,e){t.pendingCharacterTokens.push(e)}function B3e(t,e){t.pendingCharacterTokens.push(e),t.hasNonWhitespacePendingCharacterToken=!0}function mv(t,e){let r=0;if(t.hasNonWhitespacePendingCharacterToken)for(;r<t.pendingCharacterTokens.length;r++)Ev(t,t.pendingCharacterTokens[r]);else for(;r<t.pendingCharacterTokens.length;r++)t._insertCharacters(t.pendingCharacterTokens[r]);t.insertionMode=t.originalInsertionMode,t._processToken(e)}var M3e=new Set([I.CAPTION,I.COL,I.COLGROUP,I.TBODY,I.TD,I.TFOOT,I.TH,I.THEAD,I.TR]);function bYt(t,e){let r=e.tagID;M3e.has(r)?t.openElements.hasInTableScope(I.CAPTION)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(I.CAPTION),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_TABLE,Lx(t,e)):qi(t,e)}function EYt(t,e){let r=e.tagID;switch(r){case I.CAPTION:case I.TABLE:{t.openElements.hasInTableScope(I.CAPTION)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(I.CAPTION),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_TABLE,r===I.TABLE&&bv(t,e));break}case I.BODY:case I.COL:case I.COLGROUP:case I.HTML:case I.TBODY:case I.TD:case I.TFOOT:case I.TH:case I.THEAD:case I.TR:break;default:SD(t,e)}}function TQ(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.COL:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case I.TEMPLATE:{au(t,e);break}default:bD(t,e)}}function _Yt(t,e){switch(e.tagID){case I.COLGROUP:{t.openElements.currentTagId===I.COLGROUP&&(t.openElements.pop(),t.insertionMode=te.IN_TABLE);break}case I.TEMPLATE:{Ih(t,e);break}case I.COL:break;default:bD(t,e)}}function bD(t,e){t.openElements.currentTagId===I.COLGROUP&&(t.openElements.pop(),t.insertionMode=te.IN_TABLE,t._processToken(e))}function vD(t,e){switch(e.tagID){case I.TR:{t.openElements.clearBackToTableBodyContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_ROW;break}case I.TH:case I.TD:{t.openElements.clearBackToTableBodyContext(),t._insertFakeElement(de.TR,I.TR),t.insertionMode=te.IN_ROW,CD(t,e);break}case I.CAPTION:case I.COL:case I.COLGROUP:case I.TBODY:case I.TFOOT:case I.THEAD:{t.openElements.hasTableBodyContextInTableScope()&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE,Lx(t,e));break}default:Lx(t,e)}}function vQ(t,e){let r=e.tagID;switch(e.tagID){case I.TBODY:case I.TFOOT:case I.THEAD:{t.openElements.hasInTableScope(r)&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE);break}case I.TABLE:{t.openElements.hasTableBodyContextInTableScope()&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE,bv(t,e));break}case I.BODY:case I.CAPTION:case I.COL:case I.COLGROUP:case I.HTML:case I.TD:case I.TH:case I.TR:break;default:bv(t,e)}}function CD(t,e){switch(e.tagID){case I.TH:case I.TD:{t.openElements.clearBackToTableRowContext(),t._insertElement(e,Ee.HTML),t.insertionMode=te.IN_CELL,t.activeFormattingElements.insertMarker();break}case I.CAPTION:case I.COL:case I.COLGROUP:case I.TBODY:case I.TFOOT:case I.THEAD:case I.TR:{t.openElements.hasInTableScope(I.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,vD(t,e));break}default:Lx(t,e)}}function W3e(t,e){switch(e.tagID){case I.TR:{t.openElements.hasInTableScope(I.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY);break}case I.TABLE:{t.openElements.hasInTableScope(I.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,vQ(t,e));break}case I.TBODY:case I.TFOOT:case I.THEAD:{(t.openElements.hasInTableScope(e.tagID)||t.openElements.hasInTableScope(I.TR))&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=te.IN_TABLE_BODY,vQ(t,e));break}case I.BODY:case I.CAPTION:case I.COL:case I.COLGROUP:case I.HTML:case I.TD:case I.TH:break;default:bv(t,e)}}function SYt(t,e){let r=e.tagID;M3e.has(r)?(t.openElements.hasInTableScope(I.TD)||t.openElements.hasInTableScope(I.TH))&&(t._closeTableCell(),CD(t,e)):qi(t,e)}function vYt(t,e){let r=e.tagID;switch(r){case I.TD:case I.TH:{t.openElements.hasInTableScope(r)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(r),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=te.IN_ROW);break}case I.TABLE:case I.TBODY:case I.TFOOT:case I.THEAD:case I.TR:{t.openElements.hasInTableScope(r)&&(t._closeTableCell(),W3e(t,e));break}case I.BODY:case I.CAPTION:case I.COL:case I.COLGROUP:case I.HTML:break;default:SD(t,e)}}function $3e(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.OPTION:{t.openElements.currentTagId===I.OPTION&&t.openElements.pop(),t._insertElement(e,Ee.HTML);break}case I.OPTGROUP:{t.openElements.currentTagId===I.OPTION&&t.openElements.pop(),t.openElements.currentTagId===I.OPTGROUP&&t.openElements.pop(),t._insertElement(e,Ee.HTML);break}case I.HR:{t.openElements.currentTagId===I.OPTION&&t.openElements.pop(),t.openElements.currentTagId===I.OPTGROUP&&t.openElements.pop(),t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case I.INPUT:case I.KEYGEN:case I.TEXTAREA:case I.SELECT:{t.openElements.hasInSelectScope(I.SELECT)&&(t.openElements.popUntilTagNamePopped(I.SELECT),t._resetInsertionMode(),e.tagID!==I.SELECT&&t._processStartTag(e));break}case I.SCRIPT:case I.TEMPLATE:{au(t,e);break}default:}}function F3e(t,e){switch(e.tagID){case I.OPTGROUP:{t.openElements.stackTop>0&&t.openElements.currentTagId===I.OPTION&&t.openElements.tagIDs[t.openElements.stackTop-1]===I.OPTGROUP&&t.openElements.pop(),t.openElements.currentTagId===I.OPTGROUP&&t.openElements.pop();break}case I.OPTION:{t.openElements.currentTagId===I.OPTION&&t.openElements.pop();break}case I.SELECT:{t.openElements.hasInSelectScope(I.SELECT)&&(t.openElements.popUntilTagNamePopped(I.SELECT),t._resetInsertionMode());break}case I.TEMPLATE:{Ih(t,e);break}default:}}function CYt(t,e){let r=e.tagID;r===I.CAPTION||r===I.TABLE||r===I.TBODY||r===I.TFOOT||r===I.THEAD||r===I.TR||r===I.TD||r===I.TH?(t.openElements.popUntilTagNamePopped(I.SELECT),t._resetInsertionMode(),t._processStartTag(e)):$3e(t,e)}function IYt(t,e){let r=e.tagID;r===I.CAPTION||r===I.TABLE||r===I.TBODY||r===I.TFOOT||r===I.THEAD||r===I.TR||r===I.TD||r===I.TH?t.openElements.hasInTableScope(r)&&(t.openElements.popUntilTagNamePopped(I.SELECT),t._resetInsertionMode(),t.onEndTag(e)):F3e(t,e)}function TYt(t,e){switch(e.tagID){case I.BASE:case I.BASEFONT:case I.BGSOUND:case I.LINK:case I.META:case I.NOFRAMES:case I.SCRIPT:case I.STYLE:case I.TEMPLATE:case I.TITLE:{au(t,e);break}case I.CAPTION:case I.COLGROUP:case I.TBODY:case I.TFOOT:case I.THEAD:{t.tmplInsertionModeStack[0]=te.IN_TABLE,t.insertionMode=te.IN_TABLE,Lx(t,e);break}case I.COL:{t.tmplInsertionModeStack[0]=te.IN_COLUMN_GROUP,t.insertionMode=te.IN_COLUMN_GROUP,TQ(t,e);break}case I.TR:{t.tmplInsertionModeStack[0]=te.IN_TABLE_BODY,t.insertionMode=te.IN_TABLE_BODY,vD(t,e);break}case I.TD:case I.TH:{t.tmplInsertionModeStack[0]=te.IN_ROW,t.insertionMode=te.IN_ROW,CD(t,e);break}default:t.tmplInsertionModeStack[0]=te.IN_BODY,t.insertionMode=te.IN_BODY,qi(t,e)}}function wYt(t,e){e.tagID===I.TEMPLATE&&Ih(t,e)}function U3e(t,e){t.openElements.tmplCount>0?(t.openElements.popUntilTagNamePopped(I.TEMPLATE),t.activeFormattingElements.clearToLastMarker(),t.tmplInsertionModeStack.shift(),t._resetInsertionMode(),t.onEof(e)):IQ(t,e)}function RYt(t,e){e.tagID===I.HTML?qi(t,e):ED(t,e)}function q3e(t,e){var r;if(e.tagID===I.HTML){if(t.fragmentContext||(t.insertionMode=te.AFTER_AFTER_BODY),t.options.sourceCodeLocationInfo&&t.openElements.tagIDs[0]===I.HTML){t._setEndLocation(t.openElements.items[0],e);let n=t.openElements.items[1];n&&!(!((r=t.treeAdapter.getNodeSourceCodeLocation(n))===null||r===void 0)&&r.endTag)&&t._setEndLocation(n,e)}}else ED(t,e)}function ED(t,e){t.insertionMode=te.IN_BODY,_D(t,e)}function NYt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.FRAMESET:{t._insertElement(e,Ee.HTML);break}case I.FRAME:{t._appendElement(e,Ee.HTML),e.ackSelfClosing=!0;break}case I.NOFRAMES:{au(t,e);break}default:}}function OYt(t,e){e.tagID===I.FRAMESET&&!t.openElements.isRootHtmlElementCurrent()&&(t.openElements.pop(),!t.fragmentContext&&t.openElements.currentTagId!==I.FRAMESET&&(t.insertionMode=te.AFTER_FRAMESET))}function PYt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.NOFRAMES:{au(t,e);break}default:}}function DYt(t,e){e.tagID===I.HTML&&(t.insertionMode=te.AFTER_AFTER_FRAMESET)}function kYt(t,e){e.tagID===I.HTML?qi(t,e):xD(t,e)}function xD(t,e){t.insertionMode=te.IN_BODY,_D(t,e)}function LYt(t,e){switch(e.tagID){case I.HTML:{qi(t,e);break}case I.NOFRAMES:{au(t,e);break}default:}}function BYt(t,e){e.chars=_n,t._insertCharacters(e)}function MYt(t,e){t._insertCharacters(e),t.framesetOk=!1}function j3e(t){for(;t.treeAdapter.getNamespaceURI(t.openElements.current)!==Ee.HTML&&t.openElements.currentTagId!==void 0&&!t._isIntegrationPoint(t.openElements.currentTagId,t.openElements.current);)t.openElements.pop()}function WYt(t,e){if(E3e(e))j3e(t),t._startTagOutsideForeignContent(e);else{let r=t._getAdjustedCurrentElement(),n=t.treeAdapter.getNamespaceURI(r);n===Ee.MATHML?bQ(e):n===Ee.SVG&&(_3e(e),EQ(e)),yD(e),e.selfClosing?t._appendElement(e,n):t._insertElement(e,n),e.ackSelfClosing=!0}}function $Yt(t,e){if(e.tagID===I.P||e.tagID===I.BR){j3e(t),t._endTagOutsideForeignContent(e);return}for(let r=t.openElements.stackTop;r>0;r--){let n=t.openElements.items[r];if(t.treeAdapter.getNamespaceURI(n)===Ee.HTML){t._endTagOutsideForeignContent(e);break}let s=t.treeAdapter.getTagName(n);if(s.toLowerCase()===e.tagName){e.tagName=s,t.openElements.shortenToLength(r);break}}}var kUr=String.prototype.codePointAt==null?(t,e)=>(t.charCodeAt(e)&64512)===55296?(t.charCodeAt(e)-55296)*1024+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e):(t,e)=>t.codePointAt(e);function H3e(t,e){return function(n){let s,i=0,a="";for(;s=t.exec(n);)i!==s.index&&(a+=n.substring(i,s.index)),a+=e.get(s[0].charCodeAt(0)),i=s.index+1;return a+n.substring(i)}}var Q3e=H3e(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),G3e=H3e(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));var FYt=new Set([de.AREA,de.BASE,de.BASEFONT,de.BGSOUND,de.BR,de.COL,de.EMBED,de.FRAME,de.HR,de.IMG,de.INPUT,de.KEYGEN,de.LINK,de.META,de.PARAM,de.SOURCE,de.TRACK,de.WBR]);function UYt(t,e){return e.treeAdapter.isElementNode(t)&&e.treeAdapter.getNamespaceURI(t)===Ee.HTML&&FYt.has(e.treeAdapter.getTagName(t))}var qYt={treeAdapter:hc,scriptingEnabled:!0};function wQ(t,e){let r={...qYt,...e};return V3e(t,r)}function jYt(t,e){let r="",n=e.treeAdapter.isElementNode(t)&&e.treeAdapter.getTagName(t)===de.TEMPLATE&&e.treeAdapter.getNamespaceURI(t)===Ee.HTML?e.treeAdapter.getTemplateContent(t):t,s=e.treeAdapter.getChildNodes(n);if(s)for(let i of s)r+=V3e(i,e);return r}function V3e(t,e){return e.treeAdapter.isElementNode(t)?HYt(t,e):e.treeAdapter.isTextNode(t)?GYt(t,e):e.treeAdapter.isCommentNode(t)?VYt(t,e):e.treeAdapter.isDocumentTypeNode(t)?zYt(t,e):""}function HYt(t,e){let r=e.treeAdapter.getTagName(t);return`<${r}${QYt(t,e)}>${UYt(t,e)?"":`${jYt(t,e)}</${r}>`}`}function QYt(t,{treeAdapter:e}){let r="";for(let n of e.getAttrList(t)){if(r+=" ",n.namespace)switch(n.namespace){case Ee.XML:{r+=`xml:${n.name}`;break}case Ee.XMLNS:{n.name!=="xmlns"&&(r+="xmlns:"),r+=n.name;break}case Ee.XLINK:{r+=`xlink:${n.name}`;break}default:r+=`${n.prefix}:${n.name}`}else r+=n.name;r+=`="${Q3e(n.value)}"`}return r}function GYt(t,e){let{treeAdapter:r}=e,n=r.getTextNodeContent(t),s=r.getParentNode(t),i=s&&r.isElementNode(s)&&r.getTagName(s);return i&&r.getNamespaceURI(s)===Ee.HTML&&xQ(i,e.scriptingEnabled)?n:G3e(n)}function VYt(t,{treeAdapter:e}){return`<!--${e.getCommentNodeContent(t)}-->`}function zYt(t,{treeAdapter:e}){return`<!DOCTYPE ${e.getDocumentTypeNodeName(t)}>`}function z3e(t,e){return kx.parse(t,e)}function K3e(t,e,r){typeof t=="string"&&(r=e,e=t,t=null);let n=kx.getFragmentParser(t,r);return n.tokenizer.write(e,!0),n.getFragment()}function Y3e(t){let e=t.includes('"')?"'":'"';return e+t+e}function KYt(t,e,r){let n="!DOCTYPE ";return t&&(n+=t),e?n+=` PUBLIC ${Y3e(e)}`:r&&(n+=" SYSTEM"),r&&(n+=` ${Y3e(r)}`),n}var Hd={isCommentNode:_h,isElementNode:st,isTextNode:za,createDocument(){let t=new Eo([]);return t["x-mode"]=pD.DOCUMENT_MODE.NO_QUIRKS,t},createDocumentFragment(){return new Eo([])},createElement(t,e,r){let n=Object.create(null),s=Object.create(null),i=Object.create(null);for(let o=0;o<r.length;o++){let c=r[o].name;n[c]=r[o].value,s[c]=r[o].namespace,i[c]=r[o].prefix}let a=new Eh(t,n,[]);return a.namespace=e,a["x-attribsNamespace"]=s,a["x-attribsPrefix"]=i,a},createCommentNode(t){return new xh(t)},createTextNode(t){return new ll(t)},appendChild(t,e){let r=t.children[t.children.length-1];r&&(r.next=e,e.prev=r),t.children.push(e),e.parent=t},insertBefore(t,e,r){let n=t.children.indexOf(r),{prev:s}=r;s&&(s.next=e,e.prev=s),r.prev=e,e.next=r,t.children.splice(n,0,e),e.parent=t},setTemplateContent(t,e){Hd.appendChild(t,e)},getTemplateContent(t){return t.children[0]},setDocumentType(t,e,r,n){let s=KYt(e,r,n),i=t.children.find(a=>N3(a)&&a.name==="!doctype");i?i.data=s??null:(i=new bh("!doctype",s),Hd.appendChild(t,i)),i["x-name"]=e,i["x-publicId"]=r,i["x-systemId"]=n},setDocumentMode(t,e){t["x-mode"]=e},getDocumentMode(t){return t["x-mode"]},detachNode(t){if(t.parent){let e=t.parent.children.indexOf(t),{prev:r,next:n}=t;t.prev=null,t.next=null,r&&(r.next=n),n&&(n.prev=r),t.parent.children.splice(e,1),t.parent=null}},insertText(t,e){let r=t.children[t.children.length-1];r&&za(r)?r.data+=e:Hd.appendChild(t,Hd.createTextNode(e))},insertTextBefore(t,e,r){let n=t.children[t.children.indexOf(r)-1];n&&za(n)?n.data+=e:Hd.insertBefore(t,Hd.createTextNode(e),r)},adoptAttributes(t,e){for(let r=0;r<e.length;r++){let n=e[r].name;t.attribs[n]===void 0&&(t.attribs[n]=e[r].value,t["x-attribsNamespace"][n]=e[r].namespace,t["x-attribsPrefix"][n]=e[r].prefix)}},getFirstChild(t){return t.children[0]},getChildNodes(t){return t.children},getParentNode(t){return t.parent},getAttrList(t){return t.attributes},getTagName(t){return t.name},getNamespaceURI(t){return t.namespace},getTextNodeContent(t){return t.data},getCommentNodeContent(t){return t.data},getDocumentTypeNodeName(t){var e;return(e=t["x-name"])!==null&&e!==void 0?e:""},getDocumentTypeNodePublicId(t){var e;return(e=t["x-publicId"])!==null&&e!==void 0?e:""},getDocumentTypeNodeSystemId(t){var e;return(e=t["x-systemId"])!==null&&e!==void 0?e:""},isDocumentTypeNode(t){return N3(t)&&t.name==="!doctype"},setNodeSourceCodeLocation(t,e){e&&(t.startIndex=e.startOffset,t.endIndex=e.endOffset),t.sourceCodeLocation=e},getNodeSourceCodeLocation(t){return t.sourceCodeLocation},updateNodeSourceCodeLocation(t,e){e.endOffset!=null&&(t.endIndex=e.endOffset),t.sourceCodeLocation={...t.sourceCodeLocation,...e}}};function J3e(t,e,r,n){let s={scriptingEnabled:typeof e.scriptingEnabled=="boolean"?e.scriptingEnabled:!0,treeAdapter:Hd,sourceCodeLocationInfo:e.sourceCodeLocationInfo};return r?z3e(t,s):K3e(n,t,s)}var YYt={treeAdapter:Hd};function X3e(t){let e="length"in t?t:[t];for(let n=0;n<e.length;n+=1){let s=e[n];nu(s)&&Array.prototype.splice.call(e,n,1,...s.children)}let r="";for(let n=0;n<e.length;n+=1){let s=e[n];r+=wQ(s,YYt)}return r}var ze;(function(t){t[t.Tab=9]="Tab",t[t.NewLine=10]="NewLine",t[t.FormFeed=12]="FormFeed",t[t.CarriageReturn=13]="CarriageReturn",t[t.Space=32]="Space",t[t.ExclamationMark=33]="ExclamationMark",t[t.Number=35]="Number",t[t.Amp=38]="Amp",t[t.SingleQuote=39]="SingleQuote",t[t.DoubleQuote=34]="DoubleQuote",t[t.Dash=45]="Dash",t[t.Slash=47]="Slash",t[t.Zero=48]="Zero",t[t.Nine=57]="Nine",t[t.Semi=59]="Semi",t[t.Lt=60]="Lt",t[t.Eq=61]="Eq",t[t.Gt=62]="Gt",t[t.Questionmark=63]="Questionmark",t[t.UpperA=65]="UpperA",t[t.LowerA=97]="LowerA",t[t.UpperF=70]="UpperF",t[t.LowerF=102]="LowerF",t[t.UpperZ=90]="UpperZ",t[t.LowerZ=122]="LowerZ",t[t.LowerX=120]="LowerX",t[t.OpeningSquareBracket=91]="OpeningSquareBracket"})(ze||(ze={}));var ve;(function(t){t[t.Text=1]="Text",t[t.BeforeTagName=2]="BeforeTagName",t[t.InTagName=3]="InTagName",t[t.InSelfClosingTag=4]="InSelfClosingTag",t[t.BeforeClosingTagName=5]="BeforeClosingTagName",t[t.InClosingTagName=6]="InClosingTagName",t[t.AfterClosingTagName=7]="AfterClosingTagName",t[t.BeforeAttributeName=8]="BeforeAttributeName",t[t.InAttributeName=9]="InAttributeName",t[t.AfterAttributeName=10]="AfterAttributeName",t[t.BeforeAttributeValue=11]="BeforeAttributeValue",t[t.InAttributeValueDq=12]="InAttributeValueDq",t[t.InAttributeValueSq=13]="InAttributeValueSq",t[t.InAttributeValueNq=14]="InAttributeValueNq",t[t.BeforeDeclaration=15]="BeforeDeclaration",t[t.InDeclaration=16]="InDeclaration",t[t.InProcessingInstruction=17]="InProcessingInstruction",t[t.BeforeComment=18]="BeforeComment",t[t.CDATASequence=19]="CDATASequence",t[t.InSpecialComment=20]="InSpecialComment",t[t.InCommentLike=21]="InCommentLike",t[t.BeforeSpecialS=22]="BeforeSpecialS",t[t.SpecialStartSequence=23]="SpecialStartSequence",t[t.InSpecialTag=24]="InSpecialTag",t[t.BeforeEntity=25]="BeforeEntity",t[t.BeforeNumericEntity=26]="BeforeNumericEntity",t[t.InNamedEntity=27]="InNamedEntity",t[t.InNumericEntity=28]="InNumericEntity",t[t.InHexEntity=29]="InHexEntity"})(ve||(ve={}));function Qd(t){return t===ze.Space||t===ze.NewLine||t===ze.Tab||t===ze.FormFeed||t===ze.CarriageReturn}function ID(t){return t===ze.Slash||t===ze.Gt||Qd(t)}function Z3e(t){return t>=ze.Zero&&t<=ze.Nine}function JYt(t){return t>=ze.LowerA&&t<=ze.LowerZ||t>=ze.UpperA&&t<=ze.UpperZ}function XYt(t){return t>=ze.UpperA&&t<=ze.UpperF||t>=ze.LowerA&&t<=ze.LowerF}var ou;(function(t){t[t.NoValue=0]="NoValue",t[t.Unquoted=1]="Unquoted",t[t.Single=2]="Single",t[t.Double=3]="Double"})(ou||(ou={}));var Xa={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},Bx=class{constructor({xmlMode:e=!1,decodeEntities:r=!0},n){this.cbs=n,this.state=ve.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=ve.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=e,this.decodeEntities=r,this.entityTrie=e?P3:O3}reset(){this.state=ve.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=ve.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}getIndex(){return this.index}getSectionStart(){return this.sectionStart}stateText(e){e===ze.Lt||!this.decodeEntities&&this.fastForwardTo(ze.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=ve.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===ze.Amp&&(this.state=ve.BeforeEntity)}stateSpecialStartSequence(e){let r=this.sequenceIndex===this.currentSequence.length;if(!(r?ID(e):(e|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!r){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=ve.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===ze.Gt||Qd(e)){let r=this.index-this.currentSequence.length;if(this.sectionStart<r){let n=this.index;this.index=r,this.cbs.ontext(this.sectionStart,r),this.index=n}this.isSpecial=!1,this.sectionStart=r+2,this.stateInClosingTagName(e);return}this.sequenceIndex=0}(e|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===Xa.TitleEnd?this.decodeEntities&&e===ze.Amp&&(this.state=ve.BeforeEntity):this.fastForwardTo(ze.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=+(e===ze.Lt)}stateCDATASequence(e){e===Xa.Cdata[this.sequenceIndex]?++this.sequenceIndex===Xa.Cdata.length&&(this.state=ve.InCommentLike,this.currentSequence=Xa.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=ve.InDeclaration,this.stateInDeclaration(e))}fastForwardTo(e){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===e)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(e){e===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Xa.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=ve.Text):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):e!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(e){return this.xmlMode?!ID(e):JYt(e)}startSpecial(e,r){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=r,this.state=ve.SpecialStartSequence}stateBeforeTagName(e){if(e===ze.ExclamationMark)this.state=ve.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===ze.Questionmark)this.state=ve.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){let r=e|32;this.sectionStart=this.index,!this.xmlMode&&r===Xa.TitleEnd[2]?this.startSpecial(Xa.TitleEnd,3):this.state=!this.xmlMode&&r===Xa.ScriptEnd[2]?ve.BeforeSpecialS:ve.InTagName}else e===ze.Slash?this.state=ve.BeforeClosingTagName:(this.state=ve.Text,this.stateText(e))}stateInTagName(e){ID(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){Qd(e)||(e===ze.Gt?this.state=ve.Text:(this.state=this.isTagStartChar(e)?ve.InClosingTagName:ve.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===ze.Gt||Qd(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===ze.Gt||this.fastForwardTo(ze.Gt))&&(this.state=ve.Text,this.baseState=ve.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===ze.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=ve.InSpecialTag,this.sequenceIndex=0):this.state=ve.Text,this.baseState=this.state,this.sectionStart=this.index+1):e===ze.Slash?this.state=ve.InSelfClosingTag:Qd(e)||(this.state=ve.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===ze.Gt?(this.cbs.onselfclosingtag(this.index),this.state=ve.Text,this.baseState=ve.Text,this.sectionStart=this.index+1,this.isSpecial=!1):Qd(e)||(this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===ze.Eq||ID(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=ve.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===ze.Eq?this.state=ve.BeforeAttributeValue:e===ze.Slash||e===ze.Gt?(this.cbs.onattribend(ou.NoValue,this.index),this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e)):Qd(e)||(this.cbs.onattribend(ou.NoValue,this.index),this.state=ve.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===ze.DoubleQuote?(this.state=ve.InAttributeValueDq,this.sectionStart=this.index+1):e===ze.SingleQuote?(this.state=ve.InAttributeValueSq,this.sectionStart=this.index+1):Qd(e)||(this.sectionStart=this.index,this.state=ve.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,r){e===r||!this.decodeEntities&&this.fastForwardTo(r)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(r===ze.DoubleQuote?ou.Double:ou.Single,this.index),this.state=ve.BeforeAttributeName):this.decodeEntities&&e===ze.Amp&&(this.baseState=this.state,this.state=ve.BeforeEntity)}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,ze.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,ze.SingleQuote)}stateInAttributeValueNoQuotes(e){Qd(e)||e===ze.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(ou.Unquoted,this.index),this.state=ve.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===ze.Amp&&(this.baseState=this.state,this.state=ve.BeforeEntity)}stateBeforeDeclaration(e){e===ze.OpeningSquareBracket?(this.state=ve.CDATASequence,this.sequenceIndex=0):this.state=e===ze.Dash?ve.BeforeComment:ve.InDeclaration}stateInDeclaration(e){(e===ze.Gt||this.fastForwardTo(ze.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=ve.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===ze.Gt||this.fastForwardTo(ze.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=ve.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===ze.Dash?(this.state=ve.InCommentLike,this.currentSequence=Xa.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=ve.InDeclaration}stateInSpecialComment(e){(e===ze.Gt||this.fastForwardTo(ze.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=ve.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){let r=e|32;r===Xa.ScriptEnd[3]?this.startSpecial(Xa.ScriptEnd,4):r===Xa.StyleEnd[3]?this.startSpecial(Xa.StyleEnd,4):(this.state=ve.InTagName,this.stateInTagName(e))}stateBeforeEntity(e){this.entityExcess=1,this.entityResult=0,e===ze.Number?this.state=ve.BeforeNumericEntity:e===ze.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=ve.InNamedEntity,this.stateInNamedEntity(e))}stateInNamedEntity(e){if(this.entityExcess+=1,this.trieIndex=TH(this.entityTrie,this.trieCurrent,this.trieIndex+1,e),this.trieIndex<0){this.emitNamedEntity(),this.index--;return}this.trieCurrent=this.entityTrie[this.trieIndex];let r=this.trieCurrent&dc.VALUE_LENGTH;if(r){let n=(r>>14)-1;if(!this.allowLegacyEntity()&&e!==ze.Semi)this.trieIndex+=n;else{let s=this.index-this.entityExcess+1;s>this.sectionStart&&this.emitPartial(this.sectionStart,s),this.entityResult=this.trieIndex,this.trieIndex+=n,this.entityExcess=0,this.sectionStart=this.index+1,n===0&&this.emitNamedEntity()}}}emitNamedEntity(){if(this.state=this.baseState,this.entityResult===0)return;switch((this.entityTrie[this.entityResult]&dc.VALUE_LENGTH)>>14){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~dc.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(e){(e|32)===ze.LowerX?(this.entityExcess++,this.state=ve.InHexEntity):(this.state=ve.InNumericEntity,this.stateInNumericEntity(e))}emitNumericEntity(e){let r=this.index-this.entityExcess-1;r+2+ +(this.state===ve.InHexEntity)!==this.index&&(r>this.sectionStart&&this.emitPartial(this.sectionStart,r),this.sectionStart=this.index+Number(e),this.emitCodePoint(ev(this.entityResult))),this.state=this.baseState}stateInNumericEntity(e){e===ze.Semi?this.emitNumericEntity(!0):Z3e(e)?(this.entityResult=this.entityResult*10+(e-ze.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(e){e===ze.Semi?this.emitNumericEntity(!0):Z3e(e)?(this.entityResult=this.entityResult*16+(e-ze.Zero),this.entityExcess++):XYt(e)?(this.entityResult=this.entityResult*16+((e|32)-ze.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===ve.Text||this.baseState===ve.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===ve.Text||this.state===ve.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===ve.InAttributeValueDq||this.state===ve.InAttributeValueSq||this.state===ve.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){let e=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case ve.Text:{this.stateText(e);break}case ve.SpecialStartSequence:{this.stateSpecialStartSequence(e);break}case ve.InSpecialTag:{this.stateInSpecialTag(e);break}case ve.CDATASequence:{this.stateCDATASequence(e);break}case ve.InAttributeValueDq:{this.stateInAttributeValueDoubleQuotes(e);break}case ve.InAttributeName:{this.stateInAttributeName(e);break}case ve.InCommentLike:{this.stateInCommentLike(e);break}case ve.InSpecialComment:{this.stateInSpecialComment(e);break}case ve.BeforeAttributeName:{this.stateBeforeAttributeName(e);break}case ve.InTagName:{this.stateInTagName(e);break}case ve.InClosingTagName:{this.stateInClosingTagName(e);break}case ve.BeforeTagName:{this.stateBeforeTagName(e);break}case ve.AfterAttributeName:{this.stateAfterAttributeName(e);break}case ve.InAttributeValueSq:{this.stateInAttributeValueSingleQuotes(e);break}case ve.BeforeAttributeValue:{this.stateBeforeAttributeValue(e);break}case ve.BeforeClosingTagName:{this.stateBeforeClosingTagName(e);break}case ve.AfterClosingTagName:{this.stateAfterClosingTagName(e);break}case ve.BeforeSpecialS:{this.stateBeforeSpecialS(e);break}case ve.InAttributeValueNq:{this.stateInAttributeValueNoQuotes(e);break}case ve.InSelfClosingTag:{this.stateInSelfClosingTag(e);break}case ve.InDeclaration:{this.stateInDeclaration(e);break}case ve.BeforeDeclaration:{this.stateBeforeDeclaration(e);break}case ve.BeforeComment:{this.stateBeforeComment(e);break}case ve.InProcessingInstruction:{this.stateInProcessingInstruction(e);break}case ve.InNamedEntity:{this.stateInNamedEntity(e);break}case ve.BeforeEntity:{this.stateBeforeEntity(e);break}case ve.InHexEntity:{this.stateInHexEntity(e);break}case ve.InNumericEntity:{this.stateInNumericEntity(e);break}default:this.stateBeforeNumericEntity(e)}this.index++}this.cleanup()}finish(){this.state===ve.InNamedEntity&&this.emitNamedEntity(),this.sectionStart<this.index&&this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){let e=this.buffer.length+this.offset;this.state===ve.InCommentLike?this.currentSequence===Xa.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===ve.InNumericEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===ve.InHexEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===ve.InTagName||this.state===ve.BeforeAttributeName||this.state===ve.BeforeAttributeValue||this.state===ve.AfterAttributeName||this.state===ve.InAttributeName||this.state===ve.InAttributeValueSq||this.state===ve.InAttributeValueDq||this.state===ve.InAttributeValueNq||this.state===ve.InClosingTagName||this.cbs.ontext(this.sectionStart,e)}emitPartial(e,r){this.baseState!==ve.Text&&this.baseState!==ve.InSpecialTag?this.cbs.onattribdata(e,r):this.cbs.ontext(e,r)}emitCodePoint(e){this.baseState!==ve.Text&&this.baseState!==ve.InSpecialTag?this.cbs.onattribentity(e):this.cbs.ontextentity(e)}};var Mx=new Set(["input","option","optgroup","select","button","datalist","textarea"]),nn=new Set(["p"]),eDe=new Set(["thead","tbody"]),tDe=new Set(["dd","dt"]),rDe=new Set(["rt","rp"]),ZYt=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",nn],["h1",nn],["h2",nn],["h3",nn],["h4",nn],["h5",nn],["h6",nn],["select",Mx],["input",Mx],["output",Mx],["button",Mx],["datalist",Mx],["textarea",Mx],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",tDe],["dt",tDe],["address",nn],["article",nn],["aside",nn],["blockquote",nn],["details",nn],["div",nn],["dl",nn],["fieldset",nn],["figcaption",nn],["figure",nn],["footer",nn],["form",nn],["header",nn],["hr",nn],["main",nn],["nav",nn],["ol",nn],["pre",nn],["section",nn],["table",nn],["ul",nn],["rt",rDe],["rp",rDe],["tbody",eDe],["tfoot",eDe]]),eJt=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),nDe=new Set(["math","svg"]),sDe=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),tJt=/\s|\//,_v=class{constructor(e,r={}){var n,s,i,a,o;this.options=r,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=e??{},this.lowerCaseTagNames=(n=r.lowerCaseTags)!==null&&n!==void 0?n:!r.xmlMode,this.lowerCaseAttributeNames=(s=r.lowerCaseAttributeNames)!==null&&s!==void 0?s:!r.xmlMode,this.tokenizer=new((i=r.Tokenizer)!==null&&i!==void 0?i:Bx)(this.options,this),(o=(a=this.cbs).onparserinit)===null||o===void 0||o.call(a,this)}ontext(e,r){var n,s;let i=this.getSlice(e,r);this.endIndex=r-1,(s=(n=this.cbs).ontext)===null||s===void 0||s.call(n,i),this.startIndex=r}ontextentity(e){var r,n;let s=this.tokenizer.getSectionStart();this.endIndex=s-1,(n=(r=this.cbs).ontext)===null||n===void 0||n.call(r,bx(e)),this.startIndex=s}isVoidElement(e){return!this.options.xmlMode&&eJt.has(e)}onopentagname(e,r){this.endIndex=r;let n=this.getSlice(e,r);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)}emitOpenTag(e){var r,n,s,i;this.openTagStart=this.startIndex,this.tagname=e;let a=!this.options.xmlMode&&ZYt.get(e);if(a)for(;this.stack.length>0&&a.has(this.stack[this.stack.length-1]);){let o=this.stack.pop();(n=(r=this.cbs).onclosetag)===null||n===void 0||n.call(r,o,!0)}this.isVoidElement(e)||(this.stack.push(e),nDe.has(e)?this.foreignContext.push(!0):sDe.has(e)&&this.foreignContext.push(!1)),(i=(s=this.cbs).onopentagname)===null||i===void 0||i.call(s,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var r,n;this.startIndex=this.openTagStart,this.attribs&&((n=(r=this.cbs).onopentag)===null||n===void 0||n.call(r,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,r){var n,s,i,a,o,c;this.endIndex=r;let u=this.getSlice(e,r);if(this.lowerCaseTagNames&&(u=u.toLowerCase()),(nDe.has(u)||sDe.has(u))&&this.foreignContext.pop(),this.isVoidElement(u))!this.options.xmlMode&&u==="br"&&((s=(n=this.cbs).onopentagname)===null||s===void 0||s.call(n,"br"),(a=(i=this.cbs).onopentag)===null||a===void 0||a.call(i,"br",{},!0),(c=(o=this.cbs).onclosetag)===null||c===void 0||c.call(o,"br",!1));else{let l=this.stack.lastIndexOf(u);if(l!==-1)if(this.cbs.onclosetag){let d=this.stack.length-l;for(;d--;)this.cbs.onclosetag(this.stack.pop(),d!==0)}else this.stack.length=l;else!this.options.xmlMode&&u==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=r+1}onselfclosingtag(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var r,n;let s=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===s&&((n=(r=this.cbs).onclosetag)===null||n===void 0||n.call(r,s,!e),this.stack.pop())}onattribname(e,r){this.startIndex=e;let n=this.getSlice(e,r);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(e,r){this.attribvalue+=this.getSlice(e,r)}onattribentity(e){this.attribvalue+=bx(e)}onattribend(e,r){var n,s;this.endIndex=r,(s=(n=this.cbs).onattribute)===null||s===void 0||s.call(n,this.attribname,this.attribvalue,e===ou.Double?'"':e===ou.Single?"'":e===ou.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){let r=e.search(tJt),n=r<0?e:e.substr(0,r);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(e,r){this.endIndex=r;let n=this.getSlice(e,r);if(this.cbs.onprocessinginstruction){let s=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${s}`,`!${n}`)}this.startIndex=r+1}onprocessinginstruction(e,r){this.endIndex=r;let n=this.getSlice(e,r);if(this.cbs.onprocessinginstruction){let s=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${s}`,`?${n}`)}this.startIndex=r+1}oncomment(e,r,n){var s,i,a,o;this.endIndex=r,(i=(s=this.cbs).oncomment)===null||i===void 0||i.call(s,this.getSlice(e,r-n)),(o=(a=this.cbs).oncommentend)===null||o===void 0||o.call(a),this.startIndex=r+1}oncdata(e,r,n){var s,i,a,o,c,u,l,d,f,p;this.endIndex=r;let m=this.getSlice(e,r-n);this.options.xmlMode||this.options.recognizeCDATA?((i=(s=this.cbs).oncdatastart)===null||i===void 0||i.call(s),(o=(a=this.cbs).ontext)===null||o===void 0||o.call(a,m),(u=(c=this.cbs).oncdataend)===null||u===void 0||u.call(c)):((d=(l=this.cbs).oncomment)===null||d===void 0||d.call(l,`[CDATA[${m}]]`),(p=(f=this.cbs).oncommentend)===null||p===void 0||p.call(f)),this.startIndex=r+1}onend(){var e,r;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let n=this.stack.length;n>0;this.cbs.onclosetag(this.stack[--n],!0));}(r=(e=this.cbs).onend)===null||r===void 0||r.call(e)}reset(){var e,r,n,s;(r=(e=this.cbs).onreset)===null||r===void 0||r.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(s=(n=this.cbs).onparserinit)===null||s===void 0||s.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,r){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(e-this.bufferOffset,r-this.bufferOffset);for(;r-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,r-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var r,n;if(this.ended){(n=(r=this.cbs).onerror)===null||n===void 0||n.call(r,new Error(".write() after done!"));return}this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++)}end(e){var r,n;if(this.ended){(n=(r=this.cbs).onerror)===null||n===void 0||n.call(r,new Error(".end() after done!"));return}e&&this.write(e),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(e){this.write(e)}done(e){this.end(e)}};function iDe(t,e){let r=new xx(void 0,e);return new _v(r,e).end(t),r.root}var rJt=KPe((t,e,r,n)=>e.xmlMode||e._useHtmlParser2?iDe(t,e):J3e(t,e,r,n)),Me=r3e(rJt,(t,e)=>e.xmlMode||e._useHtmlParser2?M3(t,e):X3e(t)),nJt=Me([]),{contains:sJt}=n0,{merge:iJt}=n0,{parseHTML:aJt}=n0,{root:oJt}=n0;var vv="abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";function aDe(t,e){return Math.floor(Math.random()*(e-t+1))+t}function Th(t,e,r){var n="";let s=e===void 0?!0:e;for(var i=0;i<t;i++){let a=r?aDe(vv.length-10,vv.length-1):aDe(0,s?vv.length-1:vv.length-11);n+=vv[a]}return n}function RQ(){return Th(8).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(4).toLowerCase()+"-"+Th(12).toLowerCase()}var oDe="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";var d0="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";function cDe(t,e){return t.trim()==e.trim()?e:e.trim().replaceAll(t,"").replace(/<|>|《|》/g,"").replace(/\$|#/g," ").trim()}function ji(t){let e=t/1048576;return e>1024?`${(e/1024).toFixed(2)}GB`:`${parseInt(e).toFixed(0)}MB`}function NQ(t,e){if(!t||!e)return{length:0,sequence:"",offset:0};for(var r="",n=t.length,s=e.length,i=new Array(n),a=0,o=0,c=0;c<n;c++){for(var u=new Array(s),l=0;l<s;l++)u[l]=0;i[c]=u}var d=null;for(c=0;c<n;c++)for(l=0;l<s;l++)t[c]!==e[l]?i[c][l]=0:(c===0||l===0?i[c][l]=1:i[c][l]=1+i[c-1][l-1],i[c][l]>a&&(a=i[c][l],d=c-i[c][l]+1,o===d?r+=t[c]:(o=d,r="",r+=t.substr(o,c+1-o))));return{length:a,sequence:r,offset:d}}function ml(t,e){let r=[],n=0;for(let i=0;i<e.length;i++){let a=NQ(t.name,e[i].name);r.push({target:e[i],lcs:a}),a.length>r[n].lcs.length&&(n=i)}let s=r[n];return{allLCS:r,bestMatch:s,bestMatchIndex:n}}function Gd(t){return new Promise(e=>setTimeout(e,t))}var hl=t=>t.map(e=>e.split(";")[0]+";");var uu=Re(Cv(),1),Ov=Re(Jn(),1);var LQ=Re(Jn(),1),wh=require("path"),ms=Re(require("fs"),1),Ake=require("stream");async function cJt(t,e){let r=await he.get(t,{responseType:"stream",headers:Object.assign({Range:"bytes=0-0"},e)}).catch(n=>(console.error(n),n.response||{status:500,data:{}}));if(r&&r.status===206){let n=r.headers["accept-ranges"]==="bytes",s=r.headers["content-range"],i=parseInt(r.headers["content-length"]),a=n||!!s||i===1,o=s?parseInt(s.split("/")[1]):i;return delete r.headers["content-range"],delete r.headers["content-length"],o&&(r.headers["content-length"]=o.toString()),[a,r.headers]}else return[!1,null]}var Tv={},gke="",Rh=(process.env.NODE_PATH||".")+"/vod_cache",uJt=1024*1024*100;async function yke(t){try{if(ms.default.existsSync(t)){let e=await ms.default.promises.readdir(t);await Promise.all(e.map(async r=>{let n=`${t}/${r}`;(await ms.default.promises.stat(n)).isDirectory()?await yke(n):await ms.default.promises.unlink(n)})),await ms.default.promises.rmdir(t)}}catch(e){console.error("Error deleting folder:",e)}}yke(Rh);function lJt(t){try{ms.default.readdir(Rh,(e,r)=>{if(r)for(let n of r){if(n===t)continue;let s=(0,wh.join)(Rh,n);ms.default.stat(s,(i,a)=>{a&&a.isDirectory()&&ms.default.readdir(s,(o,c)=>{if(c)for(let u of c)u.endsWith(".p")||ms.default.rm((0,wh.join)(s,u),{recursive:!0},()=>{})})})}})}catch(e){console.error(e)}}async function dJt(t,e,r,n,s,i){if(n=n||LQ.default.enc.Hex.stringify(LQ.default.MD5(r)).toString(),gke!==n&&(lJt(n),gke=n),!Tv[n]){let[P,L]=await cJt(r,s);if(!P||!L["content-length"]){e.redirect(r);return}Tv[n]=L}let a=!0;await ms.default.promises.access((0,wh.join)(Rh,n)).catch(P=>a=!1),a||await ms.default.promises.mkdir((0,wh.join)(Rh,n),{recursive:!0});let o=parseInt(Tv[n]["content-length"]),c=Math.max(0,parseInt(i?.skipBytes||0)||0),u=Math.min(c,Math.max(0,o-1)),l=o-u;if(!Number.isFinite(l)||l<=0){e.redirect(r);return}let d=0,f=l-1,p={};if(t.headers.range){let P=t.headers.range.trim().replace(/^bytes=/i,"").split("-"),L=P[0]!=="",M=P.length>1&&P[1]!=="";if(M){let k=parseInt(P[1],10);Number.isFinite(k)&&(f=k)}if(L){let k=parseInt(P[0],10);Number.isFinite(k)&&(d=k)}if(d=Math.max(0,Number.isFinite(d)?d:0),!M||!Number.isFinite(f)?f=l-1:f=Math.min(l-1,f),d>f){e.code(416),e.headers({"content-range":`bytes */${l}`});return}Object.assign(p,Tv[n]),p["content-length"]=(f-d+1).toString(),p["content-range"]=`bytes ${d}-${f}/${l}`,e.code(206)}else Object.assign(p,Tv[n]),p["content-length"]=l.toString(),e.code(200);i=i||{chunkSize:1024*512,poolSize:10,timeout:1e3*10};let m=i.chunkSize,h=i.poolSize,A=i.timeout,g=u+d,b=u+f,y=Math.ceil(o/m),x=Math.floor(b/m),v=Math.floor(g/m),C=v,R=!1,w={};for(let P=0;P<h&&P<y;P++)new Promise(L=>{(async function M(k){if(R||v>x){L();return}if(k===void 0&&(v-C)*m>=uJt){setTimeout(M,5);return}let B=k!==void 0?k:v++,Z=`${t.id}-${B}`;try{let W=(0,wh.join)(Rh,n,`${t.id}-${B}.p`),F=!0;if(await ms.default.promises.access(W).catch(V=>F=!1),!F){let V=B*m,j=Math.min(o-1,(B+1)*m-1),J=await he.get(r,{responseType:"stream",timeout:A,headers:Object.assign({Range:`bytes=${V}-${j}`},s)}),se=(0,wh.join)(Rh,n,`${t.id}-${B}.dl`),oe=ms.default.createWriteStream(se),ue=setTimeout(()=>{oe.destroy(new Error(`${Z} read timeout`))},A),Ce=new Promise(qe=>{oe.on("finish",async()=>{R?await ms.default.promises.rm(se).catch(Fe=>console.error(Fe)):(await ms.default.promises.rename(se,W).catch(Fe=>console.error(Fe)),w[Z]=W),qe(!0)}),oe.on("error",async Fe=>{console.error(Fe),await ms.default.promises.rm(se).catch(_e=>console.error(_e)),qe(!1)})});J.data.pipe(oe);let we=await Ce;if(clearTimeout(ue),!we){setTimeout(()=>{M(B)},15);return}}setTimeout(M,5)}catch(W){console.error(W),setTimeout(()=>{M(B)},15)}})()});e.headers(p);let N=new Ake.PassThrough;return new Promise(P=>{let L=!0;(async function M(){try{if(C>x||R){N.end(),P();return}if(!L){setTimeout(M,5);return}let k=`${t.id}-${C}`;if(!w[k]){setTimeout(M,5);return}let B=C*m,Z=Math.min(o-1,(C+1)*m-1),W=Math.max(g,B)-B,V=Math.min(b,Z)-B-W+1,j=w[k];delete w[k];let J=await ms.default.promises.open(j,"r");if(V<=0){await J.close().catch(oe=>console.error(oe)),await ms.default.promises.rm(j).catch(oe=>console.error(oe)),C++,setTimeout(M,5);return}let se=Buffer.alloc(V);await J.read(se,0,V,W),await J.close().catch(oe=>console.error(oe)),await ms.default.promises.rm(j).catch(oe=>console.error(oe)),L=N.write(se),L||N.once("drain",()=>{L=!0}),C++,setTimeout(M,5)}catch{setTimeout(M,5)}})()}),N.on("close",async()=>{Object.keys(w).forEach(P=>{P.startsWith(t.id)&&(ms.default.rm(w[P],{recursive:!0},()=>{}),delete w[P])}),R=!0}),N}var Wx=dJt;var jke=Re(Pke(),1);var CXt=["\u9884\u544A"],IXt=t=>{if(!t)return!1;let e=String(t);return CXt.some(r=>e.includes(r))};function Dke(t){let e=/(E|EP)0?([1-9]\d*).*/.exec(t);if(e)return Number(e[2]);let r=/.*?([1-9]\d*).*/.exec(t);return r?Number(r[1]):null}function kke(t){return t.replace(/\.[^.]+$/,"").replace(/^(S\d+)?E?P?\d+\.?/i,"")}function Lke(t){return t==null?"":String(t)}function TXt(t,e){let r=Lke(t),n=Lke(e);return r===n?0:r.localeCompare(n,void 0,{numeric:!0,sensitivity:"base"})}function Os(t,e){let r={};return e.length===0||(e=e.filter(n=>!IXt(n?.vod_name)),e.length===0)||(e.sort((n,s)=>{let i=TXt(n.vod_group,s.vod_group);if(i!==0)return i;let a=Dke(n.vod_name),o=Dke(s.vod_name);if(a!==null&&o!==null&&a!==o)return a-o;let c=kke(n.vod_name),u=kke(s.vod_name);return c!==u?c.localeCompare(u):a!==null&&o!==null?a-o:n.vod_name.localeCompare(s.vod_name)}),e=e.map(n=>{let s=ji(n.vod_size);return{vod_id:n.vod_id,vod_name:cDe("",` ${n.vod_name.replace(/.[^.]+$/,"")} [${s}]`)}}),r.from=t,r.url=e.map(n=>n.vod_name+"$"+n.vod_id).join("#")),r}async function Xn(t,e,r={}){let n=(Array.isArray(t)?t:[t]).filter(Boolean).map(o=>String(o).trim()).filter(o=>o.length>0);if(n.length===0)return"";let s=Number(r?.timeoutMs)>0?Number(r.timeoutMs):5e3,i=Array.isArray(r?.methods)&&r.methods.length>0?r.methods:["HEAD","GET"],a={"User-Agent":d0,...e&&typeof e=="object"?e:{}};return await new Promise(o=>{let c=!1,u=f=>{c||(c=!0,o(f))},l=setTimeout(()=>u(n[0]),s*i.length+200),d=async f=>{for(let p of i)try{let m=await Ae.request({url:f,method:p,headers:a,proxy:!1,timeout:s,maxRedirects:5,validateStatus:()=>!0});if(m?.status>=200&&m.status<400){clearTimeout(l),u(f);return}}catch{}};n.forEach(f=>{d(f)})})}var gl=t=>globalThis.getPanEnabled?globalThis.getPanEnabled(t):!0,fk=t=>gl("ali")&&/www.alipan.com|www.aliyundrive.com/.test(t),pk=t=>gl("quark")&&t.includes("https://pan.quark.cn"),mk=t=>gl("uc")&&t.includes("https://drive.uc.cn"),Bke=t=>gl("tianyi")&&/cloud\.189\.cn/.test(t),Mke=t=>gl("yidong")&&/caiyun\.139\.com|yun\.139\.com/.test(t),Wke=t=>gl("123")&&/(?:www\.)?(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)/.test(t),$ke=t=>gl("115")&&(/115.com|anxia.com|115cdn.com/.test(t)||/^(?:magnet:\?|ed2k:\/\/)/i.test(String(t||"").trim())),Fke=t=>gl("baidu")&&/pan\.baidu\.com/.test(t),Uke=t=>gl("xunlei")&&/pan\.xunlei\.com/.test(t),qke=t=>gl("guangyapan")&&/guangyapan\.com\/s\//.test(t);var qt=Ss;(function(t,e){let r=Ss,n=t();for(;;)try{if(-parseInt(r(944,"Jcg("))/1+parseInt(r(808,"4AqP"))/2*(parseInt(r(945,"DMN!"))/3)+parseInt(r(611,"Yq1i"))/4+parseInt(r(765,"MsPj"))/5*(-parseInt(r(646,"T!QQ"))/6)+parseInt(r(866,"^geQ"))/7+parseInt(r(403,"XTb1"))/8+-parseInt(r(640,"2Ftf"))/9*(parseInt(r(442,"JEeJ"))/10)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(hk,554820+1596*19+-97588);function hk(){let t=["WPVcSCoBnY8","WQaCEXRcSSoeuCkEfCoK","W65RsrZcGa9LCMSg","W7WfWReLfW","CmkmW7yd","WQerAqFcOSo/vG","a8kMW7VcHq","WORdLqyUpW","WQ7cO8o0ESkHWOhdUWvEga","WOVcNmolitvtESo/gsK","WQhdSXq5ga","EmkAFxm3","oxqPcCoIW6hdQXTbWRW","zxuVfa","W4FcVSkoWO9aWRZdSMVcMCom","rSkxW4qX","WQdcHSojW5JdLcLArXLm","ymohW5lcGHf6rgutiG","W4dcUmkkWOq","W4HVW6RdLmka","CmoNW6/cUJq","W6elW4rPW7metCkNW7lcPa","W619nWbZ","WRDzW6BdNCkb","WPFcUdNdO0FdMKbTW55P","nMFdGhOHe8kmWRpcQKm","WPFdL8oQ","mxVdKw0","W4zOdYXmaq","kIP7Bvi","WPpcNComoq","W6WaW7nNW44","WQ9wWRBcI8khW7pdSNldMGa","mmoGca5S","WPddNtaCoq","xmktW7CiBmouF8oHB2m","WRRdQw7dQmkv","dIethCoxyeHG","sehdKmoLrGJdOJj8WP0","b8oTmCkgaa","ASowW5xcHI8HhYKu","ve0vp8oZ","Cg8xe8oWWR/cUtXsWQy","WQhcKCoi","W4KRWRRdGSokWRu","W4FcSColFx4","WRnwfmkroG","qCo7i8kYyq","CCoaiCkhmfpcHmkLW5NdKa","pmkxW6ahq8osja","WQLEW6OTWOO","cmoMuqW","WRz5W4ue","WQRcJmo9FCkuWPW","W44HWQpdKCobWPJdSw3cI8ok","WOW4u1LXWOGE","WQBcRuPwW5BcNqK","BwqVfa","WO3dOZtdP0ldH198","ctSleCkDz3jHWPpdHa","W5dcUCkqWOrfWRddR2JcJa","WOSPqK4","W5bdkCou","xCkmW4i1y0ZcMaCGWPK","W7/cHtKiWOW","WOzNW4P3pbOC","WOVcVSozWPWU","WPeZv2vHWQWyB1G","W7abW5nVW6GrCCk2W4ZcSW","W4q+W7DWW4K","bc97xhS","r8kxW5KX","WPC1u09XWRmj","WR4dCq","WOfGW4bGnW","bcjfdSoaE3vH","y8kaALPn","W4bdkCopea","WP/dUJ8","WPNcVSo6mbC","tmkkW7WaqG","DmkKwf8OWQWXWRHfxW","xWVdHe0","hceSdCoaE29J","jtPFC1a","x1ddTCo8tqpdVGC","W77cOXOXWRVdM8kAoSodEW","qJNdUe03","wcddRMKf","WOZcT8oIW6/dSa","W4TJW43dKmk8","W7D3W6FdT8ks","txGDjSoE","ECouuCkyW7m","W6lcPWq7","advJuq","WRddSL/dKW","ASouv8kAW7BdNG","bmkHW6tcMbafDmohW7pcGa","W4JcR2FcPXVdGNLvWOvJrG","bSk0dCktyG","WQBcPSoOW5hdSW","W58OWQNdGCodWRm","W5tcNSoiBwK","WROCArhcOSoeqq","W4K7WRRdNq","W51AW4/dJmkr","W6WbtW","WRRdO8oKW6RcIa","W4uYW5LWa2pdVee","WQldKYmGp3VdTmk9bCkZ","WPC/qv8","W44PW7n3W7a","At3dKLqE","W5eFW4CBW7y","WPGHEMzh","bcSrhSogEG","W6W2dqRcHJfJBKqp","oZhcR8oP","FmoAsCkFW77dNW","WP5QW4u","lsFcQCkV","W4GRWQ7dHSokWRtdRuVcJ8oa","WRHpdCkg","gSkWlmkRy8oydCobFCoO","WQRdGZqKoG","CSkwW6yo","WPBcU8o8W5RdNG","rCo4BIhcJa","WPHVW7VdNW","rCknW4uT","zSkZW4e2qa","amoGuq","pcVcR8kJAXrxW7WTW4m","W5BcJmoVwL8","W70BWPiEdG","W6CwW5jVW68","hSouFYLs","p1tdPgKt","W6nkqZFcMq","W5OWW5nQm3tdVeBcPrG","WRhdVaeKga","W7eqW4f0W6Gq","g8o0cGv0mN3cT8koW50","WQjCcCko","z8kmALzqrwpdNdm5","WQRdVMhdPCkw","W7zbjColdq","yCkqFLO","bSoRmmkv","W6fYW6ddOa","W41fjCoubG","WQy9uH3cPG","wLhdRmoIqW","W4z0W6pdKCk1","WQb8W4itWPu","FmkmEwbstghdKtKI","haBcTSk4gLRdVcL5WPNdVCof","kYdcTW","xmk6twzw","WPFcMSowpa","W7edW6XUW5O","W7LLha5X","W4FcTmkDWP4","D8o6EaRdQmoioCkqsCoy","eSkPW6BcNa","nMRdGhONmSk4","WPrJW4jMntWnyq","W7dcIu5BW4ZcRrlcLc0","rfBdQSoJvWNdKGvH","WORcRWSmW5GGWQtdQ3W1","WQhdQfJdJW","W6CWW4zddW","zmkOAM51","oIdcSSkWqG","W7aDWO02aa","WPpdScK","W6hcIKHk","rSoNsIxcMq","W5egWRa1kG","WOxdTIVdUmoaWOCwea","tmo+nW","gaf1t1K","W77cRX87WPhdGmkD","zSoVtGldUSos","W7VcKvnoW5hdO2ldKIGG","W7bOW4VdO8k0","WPdcR8oyWPGVgsLmxmom","nWztyfq","EmosW5tcKW8Z","WP/dOYldUW","W6yfW5rH","AMpdLhWQfmkUWRVcOKC","CZRdO34","sLddSSodqaFdQaf6WRW","qvRdPCoTvGtdOGW","aJj/sY8","WQZdUSocW4hcQG","WOVcJCoEnsmBjG","W7BcNvDxW5dcVblcIsa4","hmoGqbzhmNO","dgmxfSobzG","yCkgW7ypx8oeAmo9","m8odiCkDjq","DbtdGNCt","W6axuCoxA8o4wcDqW4hdPq","W4jElmoDegO","zCkvW58qqa","WP7cOXqgWPCZWQVdOHKJ","WP/cRmoCDLpdVHlcMCkzqa","W6iyW4rJaq","W5NcVdGAWRy","WOFdOtZdHg0","W4PqlCoC","DmkgW6y","mmo6cSk1bG","W4pcQComBuldS1hcNq","kSoYutr5la","W7j1W6FdVa","W5ThzZJcMa","ESoGyWy","W6jVW4RdQ8krqqddU8kweG","WRddL8o7W67cTW","WO5/W7/dJSkuW64bWP0cWRa","WR/cHSoDW5S","WOD9W5r0Fq","WObuW5G0WRe","W7dcIxf0W68","W7n+W6pdTmkktHJdSCkOhW","y8kwW6eo","BSoaW6VcQYK","W4ZdUK9xWPvIWRxdLeWIdf0","WPu9WRRdL8kaWRxdOhdcKSoD","emkAW5FcQKS","WOtdR8kBibNcTW3cGmkXE3JdKfi","W4q5WP0ZAwu8Bh/cTCkJEW","WPvmW5OzW6PlWQyK","WPpdSc7dUCoYWRelha","hcSscCoEC3vHWR7dNG","z8o9wrFcSmobmmklBmoo","WRWFzW","F8kzW5KXyq","W4pcTmopA07dMftcNa","WRDna8kgkmo6tr9kW48","W7CNW5ynW6S","W6L1Dq","DCoVCmkcW5G","W71HvG","W5hcSmoh","W48FW5Gn","z8kmFLndq2u","hmoHta","usJdH1qx","W6LTwbW","s8oYFHZcIH0","WOzSW4G","WOVdMZqalG","E8kxW6ywxSkBjmkMlLy","WRblW4X8lW","W5qmW5K","xSk7FgvH","W5q6W6riaG","wSoKtqRdHW","W5tcTmkr","WPBcMSow","rSoJyqpcGa","DSoVsaq","W6SqW4vTW64","eeddKhKL","WRlcTSo2ECkcWOBdOXm","WQRdS37dKmkT","WO/dVHJdQ34","WOBcKmopodqmjSkpetC","ECokvd7cVG","BmobW4/cHaC","WO9+W6JdMCkUW5Gr","WRHCl8kMpa","W4hcTmkwWPPbWO3dTxC","WP7cOXqgW6q2","mwFdJhGUgSkOWRFcH0S","EhFdT8o9rq","CmovW77cPGO","W5Dfla","tSoNCCkUW7y","tSopfmkbaW","dsaBcSoLE3vS","W5xcIv9zW4G","yCo+uaZdQW","WRlcISoiW43dPYfk","WPv8kCkqgq","W4xcQmoiiq","f8o9lmk9ja","WO5/W7/dJSkuW7Gr","WQxcOSoaW7NdRW","W4fJW6/dI8ki","CCkHt1y","z8o8vq","W5urW54nW70","W4zLhcHmoJe","uCovgCkwma","y8kaALPnF3ddMGm9","lhBdHguX","W6zqm8oCqYW","W5vekCoAhKFcVmkIWP3cMW","w8kXwNmp","WOO5W7/dKmkyW4GaWPWnWQC","W4umW5WEW7y","ymktW74pwq","WRdcKConW57dNq","WPldNSo1W6dcVMpcJCo6nW","WOSTzHZcOq","W4hcTmkvWOzpWOddOW","W7BcSISrWRS","vSoVEGtdVa","mtvKvJxdMtpcRNWl","dmkcW5JcQ2S","FmkAEG","WOLLW7FdKq","WORcR8oDWPu4dJK","ECkaEfP9vhldIqG4","WO3cU8oWqmk/","W5lcKKPyW7i","FmoKW5xcPaa","W5BcTCocFa","WQ3dNq/dMhG","WRflfa","uSoqDmknW48","WRZcL8oqW5JdIW","gSowW5qSFG","zCoana","WQ5mWQZcNa","WP/dJCoMWQFcVMNcV8k8","W6ubW5q","fZrJu1e","wSoGFXtcGaa","svNdL8okuG","W4tcQxD8W40","W6OqW5rWW65zpCo8","rfZdK8oGAa","W4z5hcHDaalcNgNcGG","WQbXW5KtWOq","lIFcMmkIyq","WQldGIuH","W5bbW5ZdG8kk","C8o+taNdTSofnmklqCot","WQNdS0FcImkhp8oxvwFdJW","W7VdJCogW4hdLG","pmo2uIf1","D8o2taZdRCodcSklqCor","WQFcL8ofW5RdJdT5sZjn","W4vejmoqgJFcSSoMWPtcJG","W7BcPSkvWOnO","W7VcGSoiW4e","WQCjzv1/","WOldLmoOW6ZcSW","xSkqB3Lt","hmo9tbW","W6dcKvvxW4ZcVItcMZa","gSo2rbz7m07cUSktW4K","WOZcUa0g","Ec/dO204","rSk9sfDTyW","WOVdNaK6lq","rCo+sYNdUa","amkHW7FcIM4kESotWPxcJW","wmkbW6uCEa","cHzvweq","gZOEc8ogyvzTWPxdNW","W4qSWPmRogZdVCkXW58E","WPnUW4jPpdC","W7eJWOpdOSoF","xvRdQCoGCqtdTWC","asSijSocFMb9WR7dNG","WOa6CIBcJa","r8krW4aGtX/dKW","WQldPhpdLmkio8orBW","WQywwWhcTCoFxmkC","W4lcUCo8CKG","g8kNlq","cg12vMFdJYFcQhbo","W4anW4y","zSoxkCkdnG","z8kmFvbxuMpdJtKV","W79eftjM","bsSmcSotDwq","h8oMW73cJvipAmoEW7lcJG","W6LbDrZcJq","WOpcUmozWQ4PeYfDBq","W74sW4rElW","W4zKct8","WRTBWQ/cGCkEW4NdM2/dLWG","z8kaEfP9swq","CSkMsa","ymkkW5O","WPFdMmoGW6ZcRNxcJCoNpmkD","WO7dOSoNW6/cTa","uCo1W4dcGsG","WQ/dQKi","W54tWReCnW","y2uVm8oLWRdcRHXhWPe","rSoTEt3dLW","W6pcTGWWWOJdGmkvoSkZEa","W5BcQCkvWOnCWOBdTu3cGmoh","W57cPSkpWPLb","WQzccCkqlW","aIvJsxRdLJxcVW","WRWRzJBcPq","WO3dSYtdPu7dGwXSWOnJ","WOFcSSo8tSku","c8o+iCkzhW","W5qDW6vvW5i","w8kDlmkZE8o9pq","W5pcS8okCexdOa","E8kwW6awwW","WRxdR0a","W5KuW70mW7K","WOtdVmoxW5NcUa","WOCav2nZ","WOddTY7dR8okWOCpbSoaya","W55HWQVdLCodWQVdP3xcMmoe","wsVdTNW1W5m","DmoNuaddGmodlCkltCos","WOXlbSkUca","B8o7vK0ZWQC","WQDYW7JdSCkI","gICjhmkCCw5PW47dGq","zCoHW5pcGI4","aColWOn8iKBcH1atWRXcWRtcNa","wSkHfvCPA3xcJ8khW7H+W5W","W7BcJYGWWOm","WQBdR0pdIG","WRTpea","sXVdM3OI","WPDSWPdcI8kF","b8kJjmksyCoFfG","tum9lmoq","W6CCW5bPW68gtCkNW7RcUG","WQHJW7JcHa","i8k9dfhcP8krjmk0x8oDW6qd","bSomsq1RlW","W7TNqrZcNsnoF3qi","W63cOG0SWQVdMSkk","BSkKwvaAWQa5WOilta","W7xcIuzz","bSk9W6hcLq","W5FcUqOaWOi2WQJdUu1+","e8kWW6lcLeWdrmoEWRxcJa","eSo/n8kC","W6CkWO5HW7ekA8kMW73cSW","W4qGWPyHy33dSCk5WQ8v","u8kxW4qaCrxdNW","W7mzW4qhW5W","W4GNWR7dKCoWWQ7dOq","WOxdQIVdVSoqWQS","WOpdQsldG8oT","WPJdUJFdTa","WOzQW5LZpce","WQRcOmonWP4f","DmoNuaddGmopmq","WPVdRIBdULNdLMXTWPLR","WRCxAW","W5RcP8kaW4rnWOZdQW","WPBcMSot","W5esW4PRW7e","W5/cUmktWO9XWPFdThpcH8oA","W7v+W73dQ8ktxq/dSCkOeG","x8oLCCkuzCo8eSoCqq","oItcRmkRuW","emoTA8kvaatcQmkSWRCA","ySkyq8kuW6NdMIj8WOBcQW","x8oZyq","emkHW7ZcMq","W7JcImoTqgO","wSo0FH0","W6alW4r5","i2VdJw1Tf8k1WQhcRh0","WO3dVJFdOu7dO0r9","WQjkbmkapa","W5TObs52hJtcH3BcJW","W4vHfcLD","BIddS2S2W4JcKd7cHG","s8oTzfxcIrW/WODoWRm","W5GFWPCvlG","BSomnSkqde/cPSkLW4xdGG","W5qqW5Wq","WRxcVmocymkvWOhdUqC","W5VcUCox","WPZcOSkxWOKbWPddS3dcNCkg","WQy+sHRcJG","DSoxkCky","rSkmW4qSFHhdNK4U","ixddIh4N","WRBcSmoAWQuv","ESoAW5dcLZ0PdW","gCk4W7FcK3GpD8opW7pcGG","WRLEbCknhCoGFG4kW4m","umoRxrFdUSou","ymopDrtcNq","W5elW4ya","W4ZcUtFdSeJdNez3WOqP","zghdV8oCsq","E8owW4JcLG","W5n8ftLF","W78jW55SiW","WORcRXKxW4G","zSkaDfO","WOtdMGBdOem","W4alW4ea","CSkhs3PO","WRpcRCoHW4ldSa","zCkCFvC","dICthmoTE2u","xmoOAalcVr8PWPbsWQ8","bCk8W7pcIvS","W5m9WONdHSoDWQBdVa","WOZcR8oeWOucesTkAmoC","uCkHW5qfAa","WOTGW5/dRSkZ","W7vYW7JdOCk5rGG","W5FdVmkvWPHbWPFdQq","W7qmW5K","W4iMWQWRoNVdRmkxW6ej","btj5","W6CDWQGncW","FCo+wqVdMCopoCkAb8oq","ymkHsfy","jZbNDxi","WORcOW4gW7i7WQm","ASoavSkt","W5CLWOKNixhdQ8kWW58D","bcv9sxNdMtlcV0TC","WPWXrKH8","x8oYAaFdLXePWPP+W60","W5mxW4mnW4X1WQy","W4aZW5n2q2FdTLNcHaq","BSkJuG","WRf5WORcKCkV","gGPPy0u","WQhdUv7dJSkwp8km","WQxdMcmmkh3cSW","ymkByG","d8k5ka","ntzTsSk3W6ZcJXz5WQ8nhW","qu4tn8oW","WQvAeSkknCoU","WRWWW44nWPe/WRa","W53cJ8olBLK","W68OW4XTiW","WPdcSCoHW4pdVq","W7RcLMzmW5dcUdq","W50/WOddUCo8","AsVdS2CIW4tcNs8","cmoLlCkA","W493fCoJgW","W41hjCoWg37cPq","WRRcGSojW40","WQZdHYmTlW","bmoJkmkacr8","FmobW4FcNbe","wJRdOxKv","gSo6sGO","W7LRrHdcGdC","WO01qurHWRmzB3u7","W57cUSob","ESowW4lcMXaLcd4","BSkKwvaAWQa5WOiltW","mISznmoH","ySoVtHBdUG","cXOPdmo0","WRPil8kSlG","WPFcH8oSjtqao8k3","WR9hWPNcPCkL","WPtdNSoWW73cKgFcPSoWoW","WO7cGCoTW67dRa","W5a4W4zThMxdJfNcQrS","dICthmoTD3LWWOtdMq","WOBdL8oQW7RcQq","WPbzW7xdK8kM","Cmoam8kAjKNcT8kHW7tdLq","W5DeiSonhgZcPSkU","W4HqW5qeW7PLWRC4WOzu","WQ1gWQ3cNSkjW54","WPLMW51GbICkzfVcVa","h8o2vZTSi2RdPSkaW4q","wmoOEXdcSHOS","ySk7wfS","uSkFzxup","W79LrLxcIdL9BIec","W548WQhdGSok","W592CHFcIW","z8k9ufSdWQaX","wSkNW5OSyWi","DI/dO204","WQCxyq0","W5OOW7rAW6W","hdWwfa","Dg8Oca","Bmktt1nJ","W7JcGeK","W58JWOxdPCoI","W65RCq3cNdL/Ba","WPdcNSoOr8kT","W5j2zrxcGW","WP3dUtJdTuldLa","Cmokl8kb","cmkDmCkYsG","WRncbCkxpG","wL3dP8o4","W4ZcVSop","WO7cJCoBocC6mmkHdtW","z8kmW54jwSoeECoklLu","WOpdLCoQW7e","EmouvSkEWQ3cMq","pt3cV8kVsrzMW684W5G","n8kBW5e","BIddVNy","WPujqtRcOa","lJpcQCk1qG","i8k6bCkzvG","WRTzWP3cKCkP","yCoaW5i","WQTrWRm","fIL8xeRdKsi","WQXgWRNcMSkjW5/dRetdIGO","ymoRtWRdQSounSkAD8oy","W4y6WOyVaG","W6PRuq0","W7BcIWLFW47cSdtcIcCX","zSkgy1O","C8oQtGZdQCodESkjgSkt","W6zlW5jLW6WwD8kGW6FcPa","WPpcIConmcSA","W4pcPmkwWOi","bcG+whNdKt/cR3Pp","W488WQq","W6zjp0hdV8kgqmkHjCoZW6vg","WQr3d8kmlq","W4CLW5bXh2u","WQnCda","W6hcJffBW73cScK","nZBcR8kU","WQldLrDXW4JcNcBcHsO","W4eYW59P","y8ogi8kqieJcI8kWW4tdMG","ACofsCksW68","WQa9rI/cPq","yCkgW6iktmocBG","z8keW5qLrW","WO5IW7ZdIa","z28/gq","W7WIW4rQdq","kSk9cvZcQmksjSkjqCofW4qO","W6bQcXjO","z2eVgCoGWRxcUqy","WRdcGSoqW4K","W7SHWQxdOCo8","W6nnyXZcOa","W7tcGfnUW4pcTWpcNcqW","cs0Chmobyv5WWO7dNa","WQtcT8o3W4FdUG","WPOOqKjMWQqjvumX","tSoGErq","eLRdK28V","W4hcTmkwWOvBWPhdPxFcTSon","W7ldOCkHj8owW5JdVdqxjgBdLW","BSoalSksj1m","WOxdRIBdO8or","WRbhdSkh","ASoaiCkrnKNcPW","D8kcW6yh","k8oqWQDFgSkvEmo/jL/cKJi","WPhcVSoDWOmPdX1rD8or","qCkkW58O","WOFdSIFdNmoJ","ptjcA2a","W44VWP7dNSoD","WOdcPCoyWOG","WPddTYBdR8kkWRSqbmoC","W5r+dJnohq","W7xcJeTBW73cScK","WQxdS08","qCoEyrZcNGC","W5aUW5i","W5FcO8kmWPXl","WRNcVmoitCkx","WOJcQWOcW4aH","WOBdJSoWW6e","xCkmDG","W515csPAsxRdMNlcMG","qmkOW6uvFq","C8oIvq","ymohW5lcGHf6rguDiG","WPHIW6WmWOW","W7/cSGGQWRVdMG","AMe2gq","dmo1rbf0lW","B8oBtmkd","W5rUhJ9AaaRcGxlcGq","W7ZcLujqW6tcSchcMgy5","se3dTSoLuaJdKHzNWPu","emoJmSkrmWtcRW","W548WQhdGSokW6JdSYxdLCkF","W45bW4JdK8kE","WQBdOrldLxO","cSkNkmkTAG","Cmk8W5e8zG","WRddNZa7lfFcVW","W6CqW7zPW7KgFCkdW6hcSG","ddWwd8ox","W5qRWRddGmoWWQRdPgBcKmok","y08ylmoK","WQNdQuNdISkt","WQ9oW6PnlG","bmoYuqDW","vMiTpCoD","WRddR0NdGCkjiG","CSk8xuW5WPyHWOHptG","bLddMwK3","rmkTENnv","CmoeaCk2hW","BhqVda","WOO1xc/cTG","WQJcOmoqzSkvWONdRG","hSkyW5hcQ2W","W6LSqWVcIXL1","WPK5xK5lWQGE","WPhcMmohhrC","umojvIJdMG","WOldNSoUW7NcSwFcPSo2dmkF","WRFdGI/dG0a","dmkjW6RcLL0","WOf7W4zP","oYRcQ8kVvrrMW68WW4y"];return hk=function(){return t},hk()}var Vke=async t=>{let e=Ss;return globalThis[e(633,"MsPj")]?await globalThis[e(633,"MsPj")](t):t};function wXt(){let t=Ss;return(globalThis[t(929,"[BPj")]||[])[t(859,"^X[^")](r=>r[t(462,"uRD$")]===t(517,"JEeJ"))||{}}function zke(t){let e=Ss,r={BGjME:function(n,s){return n(s)},emMQM:function(n,s){return n||s}};return r[e(703,"5pf4")](String,r[e(575,"Y(FS")](t,""))[e(620,")laV")](",")[-4856+-43*-126+-562*1][e(465,"Htyc")]()}function Hke(t){let e=Ss;return{IbWgv:function(n,s){return n(s)}}[e(716,"gmGB")](zke,t)[e(226,"RuKh")](/^\w+:\/\//,"")[e(263,"5pf4")]("/")[227*-38+9012+-386][e(771,"]s]p")]()}function RXt(t){let e=Ss,r={SKYKS:function(u,l){return u(l)},PMNCt:e(355,"$Cx&")+e(910,"cL@*"),XLTZq:function(u,l){return u(l)},xfXTh:e(445,")laV")+e(495,"YeH6"),iiUlJ:e(313,"f3$*"),TcEXH:e(303,"m^Ne"),KmKVp:e(902,"*8Ja")},n=r[e(300,"4AqP")](String,t?.[e(753,"Y(FS")]?.[e(417,"VP4@")]?.()?.[e(614,"&4Vi")]||"")[e(571,"cL@*")](),s=r[e(249,"[BPj")](Hke,t?.[e(813,"Yq1i")]?.[r[e(750,"!8Ku")]]),i=s||r[e(562,"ROzP")](Hke,t?.[e(781,"Cp@N")]?.[e(820,"Cp@N")]);if(!i)return n;let a=r[e(697,"Yq1i")](zke,t?.[e(644,"Htyc")]?.[r[e(257,"kqpL")]]),o=n[e(325,"m^Ne")](r[e(314,"^geQ")])?r[e(376,"5pf4")]:r[e(346,"Y(FS")];return(a||r[e(570,"f3$*")](String,t?.[e(818,"L#hp")]||"")[e(648,"XTb1")]()||o)+e(816,"&4Vi")+i}function NXt(t){let e=Ss,r={rELyK:function(n,s){return n(s)},mSewr:function(n,s){return n??s}};return Ov.default[e(885,"fEqp")][e(663,"RuKh")][e(333,"MsPj")](Ov.default[e(221,"]s]p")](r[e(810,"m^Ne")](String,r[e(522,"uRD$")](t,""))))[e(576,"cHrf")]()}function Qke(t,e=-2179+3*1277+-1637*1){let r=Ss,n={ACEAv:function(i,a){return i(a)},LxCTZ:function(i,a){return i||a},NnVSK:function(i,a){return i<a},UzOJE:function(i,a){return i-a},jJyZP:function(i,a,o){return i(a,o)},lfOOu:function(i){return i()}},s=n[r(928,"cHrf")](String,n[r(799,"^X[^")](t,""))[r(568,"*8Ja")](/x-oss-expires=(\d+)/i);return s?n[r(389,"XTb1")](n[r(793,"$Cx&")](n[r(513,"$Cx&")](parseInt,s[298*-8+-2743+5128],8636+10*-236+-6266),n[r(545,"&4Vi")](uu.default)[r(587,"jn$4")]()),e):!1}function Kke(t){let e=Ss,r={HleIg:e(396,"*8Ja"),yNaNw:function(s,i){return s+i},YTnif:function(s){return s()}};if(!t?.[e(219,"&4Vi")+"en"])return{};let n={...t};return n[e(318,"gmGB")]||=(n[e(723,"YeH6")]||r[e(232,"gmGB")])+" "+n[e(619,"Htyc")+"en"],!n[e(435,"4AqP")+"e"]&&n[e(378,"YeH6")]&&(n[e(550,"L#hp")+"e"]=r[e(848,"cHrf")](r[e(286,"Yq1i")](uu.default)[e(587,"jn$4")](),n[e(636,"Cp@N")])),n}function OXt(t){let e=Ss,r={puCdF:function(n,s){return n!==s},AtvwE:e(456,"*8Ja"),wsEgR:e(588,")laV"),hPCVR:e(266,"uRD$")};return t?r[e(317,"rwt1")](typeof Buffer,r[e(535,"*8Ja")])?JSON[e(316,"KiBW")](Buffer[e(406,"ScM#")](t,r[e(895,"^X[^")])[e(546,"%REC")](r[e(699,"W3A@")])):JSON[e(823,"DMN!")](Ov.default[e(436,"Yq1i")][e(278,"]s]p")][e(593,"rwt1")](t)[e(792,"cL@*")](Ov.default[e(656,"ScM#")][e(413,"[#^Z")])):null}function Yke(t){let e=Ss,r={rpxLQ:e(780,"XTb1")},n=/https:\/\/www\.alipan\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?|https:\/\/www\.aliyundrive\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?/,s=n[e(838,"[#^Z")](t);return s?{shareId:s[-1647*-2+-206+1029*-3]||s[4],folderId:s[6211*-1+-7*351+8671]||s[33*297+5623*1+593*-26]||r[e(702,"%REC")]}:null}var PXt=qt(233,"T!QQ")+qt(556,"DMN!")+qt(437,"YeH6"),DXt=qt(726,"kqpL")+qt(424,"f3$*")+qt(807,"W3A@")+qt(677,"Y(FS"),m0={},kXt=[qt(368,"ROzP"),qt(356,"DMN!"),qt(231,"Jcg("),qt(258,"]s]p"),qt(707,"Jcg(")],Pv=qt(328,"m^Ne"),Jke=qt(779,"$Cx&"),Xke=qt(849,"L#hp")+qt(789,"T!QQ"),Gke=qt(926,"vgae"),sn={},h0={},Ux=null,Al=null,eG="",Dh="",gk={"User-Agent":d0,Referer:qt(772,"XTb1")+qt(281,"[#^Z")+qt(307,"jn$4")};async function Dv(t){let e=qt,r={xYdfi:function(a,o){return a(o)},LhaTX:function(a,o){return a(o)},gOCPc:function(a,o){return a(o)}};Ux=t[e(432,"Jcg(")].db;let n=t[e(557,"RiSA")][e(579,"4AqP")]?.[e(735,"jn$4")]||{},s=await Ux[e(375,"!8Ku")+e(671,"vgae")](Pv,{});eG=r[e(709,"%REC")](NXt,n[e(783,"Jcg(")]),Dh=r[e(296,"2Ftf")](String,s[Jke]||"")[e(293,"[#^Z")]()||r[e(371,"jn$4")](String,s[eG]||"")[e(869,"%REC")]()||r[e(871,"A*C4")](String,n[e(273,"DMN!")]||"")[e(618,"L#hp")]();let i=await Ux[e(903,"^geQ")+e(811,"Y(FS")](Pv+"/"+Xke,{});h0=r[e(686,"!8Ku")](Kke,i)}async function LXt(t){let e=qt,r={zAxkc:function(n,s){return n(s)},RgqoO:function(n,s){return n||s}};Dh=r[e(706,"W3A@")](String,r[e(427,"DMN!")](t,""))[e(853,"&4Vi")](),Dh&&(await Ux[e(739,"%REC")](Pv+"/"+Jke,Dh),await Ux[e(423,"R&$u")](Pv+"/"+eG,Dh))}async function BXt(t){let e=qt;h0={dBftB:function(n,s){return n(s)}}[e(812,"uRD$")](Kke,t),h0[e(619,"Htyc")+"en"]&&await Ux[e(271,"ROzP")](Pv+"/"+Xke,h0)}async function Ak(t,e,r,n){let s=qt,i={fHpiE:function(u,l){return u||l},mySYh:s(514,"ScM#"),rYoov:function(u,l){return u||l},raACL:function(u,l){return u===l},tWsVb:function(u,l){return u>l},QMySJ:function(u,l){return u(l)},QTHIF:function(u,l,d,f,p){return u(l,d,f,p)},bDEpQ:function(u,l){return u-l}};r=i[s(581,"JEeJ")](r,{});let a=t[s(343,"cL@*")](i[s(341,"XTb1")]);Object[s(654,"A*C4")](r,gk),a&&sn[s(722,"!8Ku")]&&Object[s(230,"[BPj")](r,{Authorization:sn[s(483,"DMN!")]});let o=await he[s(572,"!8Ku")](PXt+"/"+t,e,{headers:r})[s(336,"*8Ja")](u=>u[s(794,"^geQ")]||{status:500,data:{}}),c=i[s(612,"&4Vi")](n,-2272*-3+3578+-10391);return i[s(695,"Htyc")](o[s(429,"fEqp")],-1*-4222+378*25+-13243)&&i[s(298,"kqpL")](c,7368+8*-921)?(await i[s(577,"2Ftf")](Gd,-121*-47+-3464+-1223),i[s(499,"JvFe")](Ak,t,e,r,i[s(719,"gmGB")](c,-4048+-83*-7+3468))):o[s(630,"m^Ne")]||{}}function Ss(t,e){let r=hk();return Ss=function(n,s){n=n-(6*88+1687*5+-8745);let i=r[n];if(Ss.dSPOpW===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};Ss.KvHFmu=l,t=arguments,Ss.dSPOpW=!0}let o=r[-1*1244+-3443+4687],c=n+o,u=t[c];return u?i=u:(Ss.bWLiHM===void 0&&(Ss.bWLiHM=!0),i=Ss.KvHFmu(i,s),t[c]=i),i},Ss(t,e)}async function gc(t,e,r,n){let s=qt,i={zIAnM:function(c,u){return c||u},tgFCj:function(c,u){return c||u},jcMBv:function(c,u){return c===u},hAevL:function(c,u){return c>u},rDNZb:function(c,u){return c(u)},qlmVF:function(c,u,l,d,f){return c(u,l,d,f)},gtsjD:function(c,u){return c-u}};r=i[s(405,"VP4@")](r,{}),h0[s(501,"ROzP")]&&Object[s(654,"A*C4")](r,{Authorization:h0[s(835,"T!QQ")]});let a=await he[s(306,"RiSA")](DXt+"/"+t,e,{headers:r})[s(507,"Cp@N")](c=>c[s(381,"$Cx&")]||{status:500,data:{}}),o=i[s(623,"T!QQ")](n,-7727+2*2089+3552);return i[s(855,"ScM#")](a[s(851,"f3$*")],-4449*-2+-2621+-5848)&&i[s(891,"$Cx&")](o,-1*603+127+476)?(await i[s(621,"Yq1i")](Gd,-9590+-37*31+-121*-97),i[s(649,"fEqp")](gc,t,e,r,i[s(309,"$Cx&")](o,-8835+22*-347+16470))):a[s(900,"f3$*")]||{}}async function tG(){let t=qt,e={mRupL:function(r,n){return r<n},taVjr:function(r,n){return r-n},OtdPf:function(r){return r()},ZbIFT:t(894,"MsPj")+t(609,"$Cx&")+t(401,"cL@*")+t(475,"4AqP")+t(330,"jn$4"),KyaFq:t(831,"Y(FS")+t(829,"Jcg("),DaFac:function(r,n){return r===n},xTIHV:function(r,n){return r(n)},sgLnG:function(r,n){return r(n)}};if(Dh&&(!sn[t(909,"vgae")]||e[t(402,"kqpL")](e[t(651,"Y(FS")](sn[t(908,"MsPj")+"e"],e[t(728,"^X[^")](uu.default)[t(672,")laV")]()),120))){let r=await he[t(602,"cHrf")](e[t(549,"m^Ne")],{refresh_token:Dh,grant_type:e[t(331,"RuKh")]},{headers:gk})[t(802,")laV")](n=>n[t(253,"YeH6")]||{status:500,data:{}});e[t(289,"5pf4")](r[t(669,"VP4@")],-3147*2+-1426*-1+5068)&&(sn=r[t(645,"T!QQ")],sn[t(324,"5pf4")+"e"]=e[t(729,"kqpL")](uu.default,r[t(242,"5pf4")][t(366,"RiSA")+"e"])[t(569,"Yq1i")](),sn[t(880,"ScM#")]=sn[t(711,"cHrf")]+" "+sn[t(634,"cL@*")+"en"],await e[t(870,"f3$*")](LXt,sn[t(599,"RiSA")+t(574,"MsPj")]))}}async function Zke(){let t=qt,e={AwmfP:function(r,n){return r>=n},yzAlA:function(r,n){return r-n},adFMI:function(r){return r()},RppGc:function(r,n){return r<n},WZRGl:function(r,n){return r-n},oZUyC:function(r){return r()},XwDFQ:t(718,"%REC")+t(361,"W3A@")+t(444,"R&$u")+t(606,"f3$*"),ICfPW:t(876,"Jcg("),CRxau:t(505,"JvFe")+"o",JLQaZ:t(335,"e7vJ"),MoDBY:t(664,"A*C4")+t(603,"MsPj")+t(425,"JvFe")+t(768,"cL@*")+t(901,"&[cA"),AomUS:t(508,"[BPj")+t(917,"e7vJ")+t(563,"cHrf")+t(784,"cL@*"),wGZMJ:t(877,"MsPj"),XpJZZ:t(896,"UdfQ")+"ri",SpYcc:t(489,"W3A@"),rsEZN:t(561,"ROzP"),FxaOn:t(320,"5pf4")+t(399,"ROzP"),mwjso:t(290,"$Cx&")+t(345,"Jcg("),dlQFp:t(667,"kqpL")+t(733,"4AqP")+t(852,"vgae")+t(395,"Y(FS"),rGTPe:t(383,"4AqP")+t(721,"!8Ku")+t(559,"vgae")+t(878,"^geQ"),azRLn:function(r,n){return r(n)},oprdf:t(472,"5pf4"),fPACt:function(r,n){return r+n},VyEUO:function(r,n){return r+n},fREWu:function(r){return r()},gnEEJ:function(r,n){return r(n)},SjaUp:t(744,"T!QQ")+t(905,"$Cx&")};if(!(h0[t(673,"A*C4")+"en"]&&e[t(297,"MsPj")](e[t(573,"RuKh")](h0[t(324,"5pf4")+"e"],e[t(547,"RiSA")](uu.default)[t(672,")laV")]()),8385*-1+1*2099+6406))&&((!sn[t(899,"4AqP")]||e[t(881,"L#hp")](e[t(319,"^X[^")](sn[t(708,"rwt1")+"e"],e[t(222,")laV")](uu.default)[t(332,"vgae")]()),10238+-7*1454))&&await e[t(512,"RiSA")](tG),!!sn[t(760,"vgae")]))try{let r=await he[t(923,"T!QQ")](e[t(679,"4AqP")],{params:{driver:e[t(411,"!8Ku")],driver_txt:e[t(693,"&[cA")],server_use:e[t(712,"JvFe")]}}),n=new URL(r[t(637,"[BPj")]?.[t(872,"YeH6")]),s=await he[t(805,"ScM#")](e[t(594,"JEeJ")],{authorize:1,scope:e[t(863,"^X[^")]},{params:{client_id:n[t(757,"Htyc")+"ms"][t(305,"Htyc")](e[t(846,"vgae")]),redirect_uri:n[t(734,"&[cA")+"ms"][t(301,"&4Vi")](e[t(731,"A*C4")]),scope:e[t(631,"Y(FS")],state:n[t(334,"vgae")+"ms"][t(223,"cHrf")](e[t(275,"Htyc")]),response_type:e[t(822,"*8Ja")]},headers:{...gk,"Content-Type":e[t(270,"^X[^")],Authorization:sn[t(722,"!8Ku")]}}),i=s[t(874,"W3A@")]?.[t(854,"RuKh")+"i"],a=i?.[t(689,"vgae")](/code=([a-zA-Z0-9]+)/)?.[4068+-221*-13+-1*6940];if(!a)throw new Error(e[t(379,"YeH6")]);let o=await he[t(308,"f3$*")](e[t(311,"^geQ")],{params:{code:a},headers:{Cookie:e[t(392,"jn$4")],"User-Agent":d0},maxRedirects:0,validateStatus:l=>l>=232+1*3433+33*-105&&l<-13*-507+-34*-217+-13569}),c=o[t(294,"UdfQ")]?.[t(904,"^geQ")]?.[t(283,"T!QQ")]("#")[9909+2*308+-10524],u=e[t(237,"L#hp")](OXt,c);if(u?.[t(416,"cHrf")+"en"]){let l={...u,auth:(u[t(763,"Y(FS")]||e[t(532,"gmGB")])+" "+u[t(370,"jn$4")+"en"],expire_time:u[t(248,"%REC")]?e[t(843,"uRD$")](e[t(913,"*8Ja")](uu.default)[t(715,"W3A@")](),u[t(248,"%REC")]):e[t(386,"f3$*")](e[t(942,"W3A@")](uu.default)[t(460,"DMN!")](),7200)};await e[t(484,"RuKh")](BXt,l)}}catch(r){console[t(845,"f3$*")](e[t(743,"gmGB")],r[t(360,"cL@*")])}}async function MXt(){let t=qt,e={clVJM:function(n,s,i){return n(s,i)},UgvHA:t(674,"MsPj")+t(292,"RuKh"),Svjkl:function(n,s){return n>s},YFfsJ:t(541,"ROzP")+t(582,"&4Vi")};if(!Al||!sn[t(883,"rwt1")]?.[t(441,"^X[^")+t(615,"MsPj")])return;let r=await e[t(936,"MsPj")](gc,e[t(628,"A*C4")],{drive_id:sn[t(659,"YeH6")][t(538,"Cp@N")+t(615,"MsPj")],parent_file_id:Al,limit:100});if(Array[t(698,"2Ftf")](r[t(834,"gmGB")])&&e[t(439,"f3$*")](r[t(834,"gmGB")][t(641,"Htyc")],0))for(let n of r[t(860,"]s]p")])await e[t(936,"MsPj")](gc,e[t(372,"kqpL")],{drive_id:sn[t(284,"m^Ne")][t(600,"5pf4")+t(367,"RuKh")],file_id:n[t(487,"cL@*")]})}async function WXt(){let t=qt,e={zVEaQ:function(o,c,u){return o(c,u)},nrOEg:t(510,"L#hp")+t(530,"]s]p"),FamZs:t(717,"2Ftf")+t(596,"kqpL"),gqHMS:t(886,"MsPj"),IOOcs:t(790,"ROzP"),FZWpT:t(791,"*8Ja"),PULtr:t(470,"W3A@")+t(480,"e7vJ"),mNkoW:t(613,"L#hp"),GpIOg:t(828,")laV")};if(!sn[t(285,"jn$4")])return null;if(Al)return Al;let r=await e[t(788,"%REC")](gc,e[t(252,"&4Vi")],{});if(!r[t(879,"e7vJ")+t(494,"^X[^")])return null;sn[t(786,"]s]p")]=r;let n=r[t(879,"e7vJ")+t(350,"XTb1")],s=await e[t(847,"&[cA")](gc,e[t(384,"2Ftf")],{drive_id:n,parent_file_id:e[t(824,"Cp@N")],limit:100,order_by:e[t(409,"RiSA")],order_direction:e[t(778,"f3$*")]}),i=Array[t(490,"Y(FS")](s[t(385,"R&$u")])?s[t(775,"UdfQ")][t(761,"KiBW")](o=>o[t(832,"&4Vi")]===Gke):null;return i?.[t(566,"ROzP")]?(Al=i[t(701,"Cp@N")],Al):(Al=(await e[t(342,"$Cx&")](gc,e[t(408,"*8Ja")],{check_name_mode:e[t(553,"[#^Z")],drive_id:n,name:Gke,parent_file_id:e[t(526,"Y(FS")],type:e[t(592,"Yq1i")]}))[t(264,"m^Ne")]||null,Al)}async function rG(){let t=qt,e={xoYYp:function(r){return r()},vwARB:function(r){return r()},MrRRu:function(r,n,s){return r(n,s)},VYcex:t(948,"5pf4")+t(410,"JEeJ")};if(await e[t(660,"2Ftf")](tG),await e[t(493,"[#^Z")](Zke),!sn[t(659,"YeH6")]?.[t(358,"RuKh")+t(251,"[#^Z")]){let r=await e[t(650,"$Cx&")](gc,e[t(220,"DMN!")],{});r[t(554,"Htyc")+t(560,"[BPj")]&&(sn[t(684,"cL@*")]=r)}return sn[t(467,"&[cA")]?.[t(795,"VP4@")+t(428,"Y(FS")]||""}async function $Xt(t){let e=qt,r={IZFWx:function(i){return i()},UzQDx:function(i,a){return i||a},zLPsh:function(i,a,o){return i(a,o)},qhNxU:e(418,"ROzP")+e(930,"^X[^")+e(369,"XTb1")},n=await r[e(678,"^X[^")](rG);if(r[e(920,"VP4@")](!n,!t))return null;let s=await r[e(482,"4AqP")](gc,r[e(247,"4AqP")],{file_id:t,drive_id:n});return s?.[e(597,"RiSA")]?s:null}async function FXt(t){let e=qt,r={FTmrM:function(a){return a()},PDsTP:function(a,o){return a||o},ENHKw:function(a,o,c){return a(o,c)},reRkc:e(377,"VP4@")+e(747,"^geQ")+e(488,"[BPj")+"fo",QIeiI:e(295,"RuKh")+e(537,"cHrf"),JfPZG:e(934,"JvFe")},n=await r[e(884,"JvFe")](rG);if(r[e(935,"KiBW")](!n,!t))return null;let s=await r[e(519,"!8Ku")](gc,r[e(353,"uRD$")],{file_id:t,drive_id:n,category:r[e(912,"R&$u")],url_expire_sec:r[e(228,"*8Ja")]}),i=s?.[e(394,"fEqp")+e(865,"RuKh")+e(949,"Yq1i")];return i?.[e(279,"]s]p")+e(567,"XTb1")]??i?.[e(558,"Jcg(")+e(730,"f3$*")+e(657,"[BPj")]??null}async function eLe(t,e=qt(580,"Htyc"),r=""){let n=qt,s={haLHm:function(o,c){return o(c)},ZhziO:function(o){return o()},LjTtP:function(o,c,u){return o(c,u)},kFUZn:n(500,"5pf4")+n(841,"vgae"),WpwLg:function(o,c){return o||c},RbvAZ:n(580,"Htyc"),QDtLw:n(225,"DMN!"),zJJVU:n(590,"W3A@"),tGBoI:function(o,c){return o(c)}};await s[n(809,"JEeJ")](Dv,t);let i=await s[n(523,"L#hp")](rG);if(!i)return{items:[],next_marker:""};let a=await s[n(260,"Htyc")](gc,s[n(529,"]s]p")],{drive_id:i,parent_file_id:s[n(339,"5pf4")](e,s[n(690,"!8Ku")]),limit:200,order_by:s[n(694,"RuKh")],order_direction:s[n(291,"W3A@")],marker:s[n(502,"$Cx&")](r,"")});return{items:Array[n(525,"MsPj")](a?.[n(243,"f3$*")])?a[n(687,"ScM#")]:[],next_marker:s[n(464,"Yq1i")](String,a?.[n(685,"Y(FS")+"r"]||""),drive_id:i}}async function tLe(t){let e=qt,r={wdjna:function(n,s){return n<s},HTCYA:function(n,s){return n-s},RCzSK:function(n){return n()},dvwmt:function(n,s,i){return n(s,i)},rKPmQ:e(826,"cHrf")+e(321,"ScM#")+e(363,"UdfQ"),lblvm:function(n,s){return n(s)}};if(!m0[t[e(714,"Yq1i")]]||r[e(862,"^geQ")](r[e(448,"uRD$")](m0[t[e(682,"gmGB")]][e(412,"f3$*")+"e"],r[e(349,"Yq1i")](uu.default)[e(927,"^X[^")]()),3805*1+1747+-5432)){delete m0[t[e(274,"A*C4")]];let n=await r[e(443,"rwt1")](Ak,r[e(850,"gmGB")],{share_id:t[e(700,"cHrf")],share_pwd:t[e(452,"4AqP")]||""});n[e(675,"^geQ")+"e"]&&(n[e(908,"MsPj")+"e"]=r[e(241,"[BPj")](uu.default,n[e(422,"W3A@")+"e"])[e(591,"*8Ja")](),m0[t[e(774,"Jcg(")]]=n)}}async function UXt(t){let e=qt,r={nVwQc:function(o,c,u,l){return o(c,u,l)},HeQvT:e(605,"5pf4")+e(451,"&[cA")+e(351,"ScM#"),ywjWF:e(670,"!8Ku"),tDZha:e(782,"Cp@N"),ezByE:function(o,c){return o||c},hZQXz:function(o,c,u,l){return o(c,u,l)},JNxap:function(o,c){return o===c},tddcg:e(915,"]s]p"),TzfTH:function(o,c){return o===c},EDgyv:e(299,"uRD$"),PmiUP:e(785,"RuKh"),TRTUm:function(o,c){return o<c},BBFcE:function(o,c){return o*c},sCPVB:function(o,c){return o*c},Flxgj:function(o,c){return o===c},ZAAHw:function(o,c,u){return o(c,u)},cTVuF:e(520,"&4Vi"),EwpiF:function(o,c){return o(c)},fqhcv:function(o,c){return o(c)},Ibrna:function(o,c){return o>c}},n=r[e(931,"jn$4")](typeof t,r[e(544,"cL@*")])?r[e(327,"YeH6")](Yke,t):t;if(!n)return[];if(await r[e(478,"A*C4")](tLe,n),!m0[n[e(875,"&[cA")]])return[];let s=[],i=[],a=async(o,c,u)=>{let l=e,d=await r[l(458,"JvFe")](Ak,r[l(302,")laV")],{share_id:o,parent_file_id:c,limit:200,order_by:r[l(921,"4AqP")],order_direction:r[l(861,"Yq1i")],marker:r[l(595,"RiSA")](u,"")},{"X-Share-Token":m0[o][l(932,"[#^Z")+"n"]}),f=d[l(277,"&[cA")];if(!f)return[];if(d[l(491,"UdfQ")+"r"]){let m=await r[l(374,"JvFe")](a,o,c,d[l(454,"A*C4")+"r"]);for(let h of m)f[l(474,"DMN!")](h)}let p=[];for(let m of f)if(r[l(732,"[#^Z")](m[l(736,"&[cA")],r[l(453,"&4Vi")]))p[l(804,"$Cx&")](m);else if(r[l(468,"UdfQ")](m[l(770,"Cp@N")],r[l(681,"XTb1")])&&r[l(473,"[BPj")](m[l(629,"!8Ku")],r[l(916,"XTb1")])){if(r[l(259,")laV")](m[l(481,"RuKh")],r[l(492,"T!QQ")](r[l(773,"VP4@")](-17*181+170+-1*-3931,4850+2759*-1+11*-97),-1*1019+9563+-8539)))continue;m[l(531,"m^Ne")]=m[l(803,"VP4@")][l(287,"YeH6")](/玩å¶å“¥.*ã€ç¥žç§˜çš„哥哥们】/g,""),s[l(608,"YeH6")](m)}else r[l(262,"MsPj")](m[l(857,"RuKh")],r[l(234,"Jcg(")])&&m[l(397,"5pf4")+l(536,"vgae")]&&kXt[l(604,"RuKh")](h=>m[l(551,"cL@*")+l(727,"YeH6")][l(261,"cL@*")](h))&&i[l(839,"XTb1")](m);for(let m of p){let h=await r[l(815,"^X[^")](a,m[l(889,"fEqp")],m[l(264,"m^Ne")]);for(let A of h)f[l(486,"RuKh")](A)}return f};return await r[e(906,"jn$4")](a,n[e(764,"Cp@N")],n[e(746,"cL@*")]),r[e(626,"L#hp")](i[e(825,"cL@*")],7578+-1*-4461+-12039)&&s[e(426,"XTb1")](o=>{let c=e,u=r[c(688,"Jcg(")](ml,o,i);u[c(749,"kqpL")]&&(o[c(555,"]s]p")]=u[c(548,"jn$4")][c(893,"5pf4")])}),s}var Ph={};async function rLe(t,e){let r=qt,n={ZefMS:function(i){return i()},psfkO:function(i,a){return i(a)},lfGPt:function(i,a,o,c){return i(a,o,c)},xjHdj:r(819,"gmGB")+r(653,"fEqp")};if(await n[r(280,"ROzP")](tG),await n[r(400,"[#^Z")](Zke),await n[r(398,"&4Vi")](WXt),!Al||!sn[r(282,"DMN!")]?.[r(710,"Yq1i")+r(503,"e7vJ")])return null;if(Ph[e])return Ph[e];await n[r(542,"cL@*")](MXt);for(let i of Object[r(933,"m^Ne")](Ph))delete Ph[i];if(await n[r(601,"JvFe")](tLe,{shareId:t}),!m0[t])return null;let s=await n[r(887,"[BPj")](Ak,n[r(391,"DMN!")],{file_id:e,share_id:t,auto_rename:!0,to_parent_file_id:Al,to_drive_id:sn[r(250,"kqpL")][r(538,"Cp@N")+r(509,"DMN!")]},{"X-Share-Token":m0[t][r(692,"ROzP")+"n"]});return s[r(655,"MsPj")]?(Ph[e]=s[r(701,"Cp@N")],s[r(434,"5pf4")]):null}async function nG(t,e,r=!0){let n=qt,s={oycTa:function(u,l){return u===l},pTSoB:n(373,"ScM#"),IxFZY:function(u,l){return u(l)},uwhIH:function(u,l,d){return u(l,d)},HkXsd:n(377,"VP4@")+n(683,"f3$*")+n(340,"W3A@")+"fo",xPeHg:n(459,"Htyc")+n(388,"uRD$"),sEWec:n(742,"ROzP"),Rperx:function(u,l){return u&&l},XYWvk:function(u,l,d,f){return u(l,d,f)}};if(s[n(837,"[BPj")](t,s[n(635,"m^Ne")]))return await s[n(801,"!8Ku")](FXt,e);let i=await s[n(267,"R&$u")](rLe,t,e);if(!i||!sn[n(680,"JEeJ")]?.[n(777,"f3$*")+n(676,"R&$u")])return null;let a=await s[n(430,"fEqp")](gc,s[n(338,"gmGB")],{file_id:i,drive_id:sn[n(564,"Y(FS")][n(344,"JvFe")+n(676,"R&$u")],category:s[n(393,"Cp@N")],url_expire_sec:s[n(362,"cHrf")]}),o=a?.[n(276,"RuKh")+n(348,"cL@*")+n(539,"uRD$")],c=o?.[n(741,"RiSA")+n(415,"vgae")]??o?.[n(440,"YeH6")+n(589,"rwt1")+n(762,"2Ftf")]??null;return s[n(856,"]s]p")](!c,r)?(delete Ph[e],s[n(329,"Cp@N")](nG,t,e,!1)):c}async function nLe(t,e,r=!0){let n=qt,s={jnRwM:function(o,c){return o===c},fsMYK:n(511,"ROzP"),Jaotq:function(o,c){return o(c)},yNAMk:function(o,c,u){return o(c,u)},yIAeN:n(471,"&4Vi")+n(873,"5pf4")+n(496,"DMN!"),LXgcU:function(o,c,u,l){return o(c,u,l)}};if(s[n(246,"ScM#")](t,s[n(939,"kqpL")]))return await s[n(950,"XTb1")]($Xt,e);let i=await s[n(720,"ROzP")](rLe,t,e);if(!i||!sn[n(786,"]s]p")]?.[n(554,"Htyc")+n(892,"VP4@")])return null;let a=await s[n(759,"KiBW")](gc,s[n(632,"cHrf")],{file_id:i,drive_id:sn[n(357,"Htyc")][n(639,"YeH6")+n(469,"kqpL")]});return a[n(235,"DMN!")]?a:r?(delete Ph[e],s[n(817,"jn$4")](nLe,t,e,!1)):null}async function sLe(t){let e=qt,r={qAdQW:function(i,a){return i(a)},ZjkTG:function(i,a,o){return i(a,o)},ErPne:function(i,a){return i(a)},wmedU:e(787,"4AqP")};if(!r[e(882,"RuKh")](fk,t))return null;let n=r[e(882,"RuKh")](Yke,t);if(!n)return null;let s=await r[e(269,"m^Ne")](UXt,n);return s=s[e(407,"&4Vi")](i=>{let a=e;return{vod_id:[i[a(218,"uRD$")],i[a(566,"ROzP")],i[a(767,"4AqP")]?i[a(925,"uRD$")][a(598,"$Cx&")]:""][a(528,"R&$u")]("*"),vod_name:i[a(922,"]s]p")],vod_size:i[a(229,"cHrf")]}}),r[e(738,"$Cx&")](Os,await r[e(565,"cHrf")](Vke,r[e(754,"uRD$")]),s)}var Oh={},Fx={};async function yk(t,e){let r=qt,n={KRrZC:function(m,h){return m(h)},gNEjH:function(m,h){return m!==h},GFCYA:r(224,"uRD$"),ITyPk:function(m,h){return m===h},ISCYt:r(534,"kqpL"),ztBOu:function(m,h,A){return m(h,A)},ndSgS:r(696,"!8Ku"),UBqqg:r(890,"R&$u"),DREkE:r(326,"]s]p")+r(748,"R&$u"),CnygU:function(m,h,A){return m(h,A)},RpNAj:r(457,"[BPj")+r(521,"KiBW"),XTFGH:r(540,"kqpL"),WLPBo:function(m,h){return m===h},nRnCb:r(624,"[#^Z"),UewEm:function(m){return m()},BXXrf:function(m,h,A,g,b,y,x){return m(h,A,g,b,y,x)},HjqoX:function(m,h){return m*h}};await n[r(236,"RuKh")](Dv,t);let s=t[r(607,"%REC")][r(365,"A*C4")],i=t[r(661,"e7vJ")][r(583,"^geQ")],a=t[r(310,"[BPj")][r(268,"[#^Z")],o=t[r(806,")laV")][r(254,"e7vJ")];if(n[r(485,"m^Ne")](s,n[r(897,"$Cx&")]))return;let c=t[r(661,"e7vJ")][r(431,"4AqP")],u=t[r(898,"kqpL")][r(658,"L#hp")];if(n[r(705,"4AqP")](i,n[r(868,"RuKh")])){if(Oh[o]){let A=Oh[o][r(447,"W3A@")](g=>g[r(725,"m^Ne")+"d"][r(497,"JvFe")+"e"]()===c);A?.[r(390,"ScM#")]&&n[r(844,"JvFe")](Qke,A[r(610,"Y(FS")])&&delete Oh[o]}!Oh[o]&&(Oh[o]=await n[r(745,"ScM#")](nG,a,o));let m=Oh[o]?.[r(643,"&4Vi")](A=>A[r(947,"cL@*")+"d"][r(751,"!8Ku")+"e"]()===c);if(!m?.[r(752,"m^Ne")])return;if(!m[r(864,"KiBW")]){let A=await he[r(239,"YeH6")](m[r(438,"%REC")],{headers:{"User-Agent":d0}});m[r(552,"jn$4")]=jke[r(543,"5pf4")](A[r(858,"R&$u")]);for(let g of m[r(455,"A*C4")][r(245,"2Ftf")])!g[r(498,"$Cx&")][r(647,"UdfQ")](n[r(740,"f3$*")])&&(g[r(227,"vgae")]=new URL(g[r(272,"5pf4")],m[r(446,"[BPj")])[r(461,"2Ftf")]()),g[r(830,"rwt1")]=g[r(240,"%REC")],g[r(498,"$Cx&")]=g[r(585,"%REC")+r(776,"Cp@N")]+r(584,"UdfQ")}if(u[r(946,"fEqp")](n[r(244,"&[cA")])){let A=n[r(288,"VP4@")](parseInt,u[r(622,"T!QQ")](n[r(256,"^geQ")],""),10);e[r(911,"T!QQ")](m[r(380,"&4Vi")][r(245,"2Ftf")][A][r(814,"Y(FS")]);return}let h=jke[r(466,"XTb1")](m[r(800,"^X[^")]);return e[r(625,"!8Ku")](9337*-1+3*-626+11415)[r(907,"%REC")]({"content-type":n[r(524,"m^Ne")],"content-length":Buffer[r(842,"rwt1")](h)[r(352,"Yq1i")]()}),h}Fx[o]?.[r(752,"m^Ne")]&&n[r(364,"L#hp")](Qke,Fx[o][r(516,"RuKh")])&&delete Fx[o],!Fx[o]&&(Fx[o]=await n[r(797,"*8Ja")](nLe,a,o));let l=Fx[o]?.[r(867,"rwt1")];if(!l){e[r(713,"T!QQ")](294*19+3768+-1*8854),e[r(477,"kqpL")](n[r(924,"R&$u")]);return}if(n[r(476,"^geQ")](c,n[r(798,"m^Ne")])||n[r(312,"MsPj")](c,n[r(382,"Yq1i")])){e[r(527,"*8Ja")](l);return}let d=n[r(323,"vgae")](wXt),f=d[r(769,"YeH6")]||-1949+-55*-61+-1278,p=d[r(347,"^geQ")]||1*4162+-8940+4798;return await n[r(836,"m^Ne")](Wx,t,e,l,o,gk,{chunkSize:n[r(238,"5pf4")](662+-2*-181,f),poolSize:p,timeout:n[r(433,"UdfQ")](420*1+-2081*-2+6*-597,2521+-1487*-1+-3998)})}async function xk(t,e){let r=qt,n={uPSPm:function(f,p){return f(p)},CRIsB:function(f,p){return f(p)},gOPqg:r(666,"5pf4"),WXrgm:function(f,p){return f+p},YwoCg:r(918,"uRD$"),LMSwm:function(f,p,m){return f(p,m)}};await n[r(665,"XTb1")](Dv,t);let s=t[r(652,"UdfQ")][r(419,"MsPj")],i=t[r(450,"f3$*")].id[r(642,"fEqp")]("*"),a=await n[r(265,"&4Vi")](Vke,n[r(888,"JvFe")]);if(!s[r(315,"A*C4")](a))return;let o=n[r(638,"&[cA")](n[r(919,"L#hp")](n[r(840,"T!QQ")](RXt,t),t[r(737,"A*C4")][r(691,"ScM#")]),n[r(796,"*8Ja")]),c={parse:0,url:[]};i[2]&&(c[r(755,"&4Vi")]={subt:o+r(463,"YeH6")+i[9837+9*-1093]+"/"+i[-113*1+4334+1*-4219]+r(756,"JEeJ")});let u=(await n[r(821,"f3$*")](nG,i[-370*3+1*9195+49*-165],i[5420+1*-5419]))?.[r(533,"R&$u")](f=>f?.[r(354,"JEeJ")])||[];Oh[i[35*-179+-1*-9349+3083*-1]]=u,u[r(724,"XTb1")]((f,p)=>(p[r(506,"$Cx&")+r(616,"rwt1")]||0)-(f[r(833,"JEeJ")+r(766,"!8Ku")]||5290+3*-2131+-1103*-1));let l=c[r(867,"rwt1")],d={QHD:"\u8F6C\u7801",FHD:"\u8D85\u6E05",HD:"\u9AD8\u6E05",SD:"\u6807\u6E05",LD:"\u666E\u753B"};return u[r(515,"gmGB")](f=>{let p=r;l[p(938,"T!QQ")](d[f[p(255,"&[cA")+"d"]]||f[p(704,"jn$4")+"d"]),l[p(486,"RuKh")](o+p(758,"T!QQ")+f[p(937,"^X[^")+"d"][p(586,"T!QQ")+"e"]()+"/"+i[0]+"/"+i[-8363+2*4001+362]+p(337,"vgae"))}),l[r(662,"jn$4")]("\u4EE3\u7406"),l[r(449,"[BPj")](o+r(421,"e7vJ")+i[3*-2030+-3985*1+10075*1]+"/"+i[1*-2333+-43*167+-11*-865]+r(304,"XTb1")),l[r(420,"W3A@")]("\u539F\u753B"),l[r(504,")laV")](o+(r(941,"Y(FS")+r(827,"rwt1"))+i[-5*-731+-41*-199+-11814]+"/"+i[-1*3181+-2655+-449*-13]+r(322,"m^Ne")),c}var iG=Re(Jn(),1);var je=lu;(function(t,e){let r=lu,n=t();for(;;)try{if(parseInt(r(589,"3GMJ"))/1*(-parseInt(r(729,"y2dz"))/2)+parseInt(r(896,"ZJM)"))/3*(parseInt(r(1014,"#*yI"))/4)+parseInt(r(712,"tU0H"))/5*(parseInt(r(852,"(kco"))/6)+-parseInt(r(498,"iKSc"))/7*(parseInt(r(634,"[(4C"))/8)+parseInt(r(331,"!SOK"))/9*(-parseInt(r(869,"iKSc"))/10)+parseInt(r(567,"[Gf!"))/11*(-parseInt(r(419,"WkTr"))/12)+parseInt(r(624,"TYG3"))/13===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(_k,1*638402+702636+-950797);var dLe=async t=>{let e=lu;return globalThis[e(1006,"i)7i")]?await globalThis[e(408,"240S")](t):t},qXt=[je(274,"Noae"),je(597,"Z*@("),je(671,"ZJM)"),je(640,"12Mj"),je(298,"WkTr"),je(267,"nwCk"),je(388,"Wk9#"),je(1043,"OZzu"),je(471,"!SOK"),je(536,"Zbg9"),je(365,"3$u9"),je(1081,"&HYM"),je(440,"Fhs#"),je(1072,"j9GU"),je(1026,"Z*@("),je(486,"3GMJ")],jXt=t=>{let e=je,r={KQhxu:function(s,i){return s(i)}};if(!t)return!1;let n=r[e(522,"nwCk")](String,t)[e(775,"g[c@")+"e"]();return qXt[e(806,"#*yI")](s=>n[e(354,"YypP")](s))};function fLe(t){let e=je,r={JszKk:function(n,s){return n(s)},YClvg:function(n,s){return n||s}};return r[e(363,"$&ze")](String,r[e(426,"SAtO")](t,""))[e(487,"j0Uf")](",")[0][e(476,"240S")]()}function aLe(t){let e=je;return{jeNQx:function(n,s){return n(s)}}[e(395,"[(4C")](fLe,t)[e(1052,"8pjQ")](/^\w+:\/\//,"")[e(376,"ShO2")]("/")[-4*1563+-628*11+13160][e(483,"#*yI")]()}function HXt(t){let e=je,r={UGCKM:function(u,l){return u(l)},PGFGP:e(344,"j0Uf")+e(562,"OZzu"),qNHXF:function(u,l){return u(l)},eTDUv:e(1078,"240S")+e(605,"j9GU"),FnLdl:e(882,"YypP"),SkXOO:e(644,"f*1G"),eIovY:e(1082,"!SOK"),QrWzO:function(u,l){return u(l)}},n=r[e(459,"WkTr")](String,t?.[e(564,"8pjQ")]?.[e(646,"9pW6")]?.()?.[e(464,"Zbg9")]||"")[e(423,"!SOK")](),s=r[e(871,"&HYM")](aLe,t?.[e(337,"yDy^")]?.[r[e(753,"n7Q^")]]),i=s||r[e(861,"ljNd")](aLe,t?.[e(717,"X3DF")]?.[e(364,"Gnm8")]);if(!i)return n;let a=r[e(809,"X3DF")](fLe,t?.[e(874,"9pW6")]?.[r[e(1016,"l#VZ")]]),o=n[e(835,"j9GU")](r[e(1029,"TYG3")])?r[e(910,"ljNd")]:r[e(549,"X3DF")];return(a||r[e(422,"iKSc")](String,t?.[e(436,"iKSc")]||"")[e(1020,"&HYM")]()||o)+e(779,"ShO2")+i}function pLe(t){let e=je,r=/https:\/\/pan\.quark\.cn\/s\/([^\\|#/]+)/,n=r[e(849,"ZJM)")](t);return n?{shareId:n[-2085+17*-199+-3*-1823],folderId:"0"}:null}var Za=je(843,"OZzu")+je(925,"[(4C"),qx={"User-Agent":je(866,"&HYM")+je(741,"n7Q^")+je(356,"12Mj")+je(1023,"g[c@")+je(506,"SAtO")+je(743,"ljNd")+je(988,"d&OD")+je(1011,"y2dz")+je(561,"9pW6")+je(533,"X3DF")+je(424,"Z*@(")+je(516,"!SOK")+je(739,"yDy^")+je(454,"nwCk")+je(980,"[(4C")+je(844,"Wk9#")+je(1035,"Zbg9")+je(1036,"!SOK")+je(862,"!SOK")+"ch",Referer:je(1062,"OZzu")+je(292,"LY1j")},aG=null,bk=null,oLe=je(1068,"$n0Q")+je(375,"ljNd")+je(548,"[(4C")+je(969,"!SOK"),Ac="",Yd={},cLe=je(654,"nwCk"),kh=null;async function kv(t){let e=je;aG=t[e(951,"TYG3")].db;let r=t[e(573,"Z*@(")][e(362,"Gnm8")][e(325,"YypP")];Ac=r[e(601,"[Gf!")],bk=iG.default[e(786,"YypP")][e(632,"g[c@")][e(336,"Z*@(")](iG.default[e(939,"g[c@")](r[e(755,"l#VZ")]))[e(707,"j0Uf")]();let n=await aG[e(758,"Fhs#")+e(898,"TYG3")](e(556,"Fhs#"),{});n[bk]&&(Ac=n[bk])}function _k(){let t=["WRBdJmo1nSoCjq","W7HYBIeBqHOoW7tcMW","rCk1hGNcV8oX","WRXxW555WR4","yXONWPe","W6pdJComCspcIHFdI30","W48IW7JdUmoMdf0","A2NdSqK","WRldHtO/p8or","WO3dNmkYlKi","cMLOACoD","WPasnCoGW5tdHSku","zK4NmtRcOIbSW4JdTWFcUZyA","C8kSWR3dImorW6JcJq","i0TCWQhcJCo1","cNHUkq","rZVcVmkpWOf/WRZcIG","W6fmFKldNW","WOLUWQ0","WOTPWOr6FCknlCkjm8kf","A8k5cG","WQb1WQDNFSovoCkJpSkt","qHVdMMeIjXunEG","ACoRWRjLpq","cgZdPCorqa","r8oqbHq","WOasmSoQ","mXdcKCo7mG","qxPSBW","qSk/W7NdPq","WR91W4fXWOK","WOq3W77dUa","WRaVu8ksWQK","B8k/W63cVem","WOuxiSo5W67dNmkd","sCk/W6NcUW","W6RcKdtcTKVdMSoWExH4","wCoppexdTq","hSofxbmOWQ3cKCo2vmkx","tJNcTq","WPnrWO9LqG","i1DCWQFcNCowhCkt","AZhcPCk+DMtdJCo8Ad8","ASkTWQJdP8kZ","W6JcKmkQymkAFSoFW5lcGSkYW7hdPW","fsTkqeK","WR7dImoVma","WQ98WRxdLSovW7hcUMJcPmkl","W4DICuW","WRLJW4FdV8kH","ySosWQ95aa","WORdNmk+oa","WPeqrCkyWRW","WPz9W4fQWRq","rCoCaKe","DMboWRRcISoYv8krWQldRW","zhNdIIldVW","W4tdMmkhDsa","BgNdSqVdSq","FKHyWRFcLq","WOnGWQ3dLmovWOlcVW","ma3cMCkeWQ4","cxj2y8kq","F8k5WR3dTa","W6ddH8oxyaZcGa","WO7dQSo6khxcNSo6oNW","ehfoWOHFkW","aehcI3ididO","WQRdTSk0b2y","W44Ur8oB","WQLvW6/dLmkpzeNdT8k8W4K","W5ucyIC9","WQjKW4ZdGCkV","WPbew8oSWONcNCoAjbpcPG","WOK4W67dVmoWmbq","ow7dVCoACxfZ","WR/cIYn9lW","WO7cOdbUpa","WPVdS8o6jf4","W67dPmk9wWa","WOfstSolWQa","f8kHWQldS8kq","DN3cJK9I","W4ldLmohtrG","WRTdW7VdT8ko","W5ZcMSoeWOjb","hSoExXS","WQtcJcdcMSo7W7SHDa","obHWy37dVG","tCoYaWJcU8oXeCkIy8ou","rJasWP5G","WPu4W6xdNCos","WRldNYuWo8opxGFcILO","W4pdUSk3wqW","WORdH8k8nLpcGG","WQldOZFdGCoQWQNdVSoS","gqVdI8ofhq","vmoRWPrM","W7tdICosBW3cNaldILeC","WPhdVCo+i8oj","e8knrrxcP8oOz8k9WO4XWONcO8k5","WONdSCoKlfpcKSoUmx/cQW","WOTWWPZdGXW","WR5/W5VdHCk7","WRLNxColWPG","emojurjIWRVcJq","W57cGSkp","sMVdScddSW","WRhcQaz/afvP","WPWNu8oxh8k2WQ0GWPFcSW","nLzz","nqhcTmo8pCk+","vMddRtNdMa","WQO+q8klWQJdIZL9","tdhcPCkj","W7mormoVna","WOv0dWFcVmoNnetdRSkp","W51qWPJdKG8JWPK","WO3dNmk4ofG","WOabcmo4W7O","cXddHSooqCkkdCkBlMS","W4iSnCoIW7hdISon","C8o0mgy","WQOZvdiJzHbCsZy","W5VdH8kpwGi","WRfQWOPVBmkFp8kpnmkf","WQNdGCo6i8onySokW7xcH8kO","i8oHW7/cU8oPsmonWPpdLCkD","W4vvsCoGWQtcO8opeGpdTa","W6RcICkZbSobi8oDW7lcKCkP","ASk3WPpdQ8oN","kIhcVmopW58PW6xcMvba","wLxcS0i","W4CVqH0b","k2lcOW","WPTNW7/dU8kH","W7GvqJi","BmkWWPJdPCoeW7VcM8kjW50","umk0eW/cV8kScCoKyCoi","W5PksvVdIq","WR8LW6pdO8oTqKddLCo1ua","WORdRSoDfSo4","WRVcQthcK0G","WObkqSoIWR/cMq","W7y4sConW6VcGtLLWP9b","f8onvZTr","g3fuWQbjkCkKWRivDG","WRW0umkm","W6LQWOGUESojomoDo8kb","DmoWWPBdIComW6C","WRNdRG7dQSo7WQhdPmoUnSob","ACkZW6FdTSk2uComWPZdS8kD","WQmDrZyLBLC","WQNdNCo6jCoDpG","E1n8Bwq","f0JcNMe","W50YqW","nMhcPeiu","W7SHWQv8F1C","W73dSSkTxqvmWR1FfZy","W7a0AdDBwG","W5nMWRRcQCk4tW","WRCUq8kgWQJdHYXSW59s","v8kZpHlcRCoMcmopyCoj","WO52W4voWOG","WOOCnmoMW6RdGW","nCkQWPxdSSkV","WRxcUmoX","ymobWOfEnG","WQ4Yq8khWRxdStzGWOna","W70jWOaEW483WQ7dN8oToMxcG8oA","WQvcWPpdLGm","W5pcKSodWPu","vYSEWR9u","F8kXWP8","WQNdLCoccwK","W4TDjmoIW6u","DxFcT2Lw","FSk+WOJdMW","WONdGCk2o1/cLa","W7/dTSkSuWrk","WOaCmCoLW6FdGmkrWPCVoW","xeVcMSoaoSkjdCkpaG","WOjwxSoGWRhcKG","WPz6WQpdIW","WRxcPXi","jmkGWQhdMCkTW41+","DHO5","WR1kW5bAWPe","F2ddQJNdNq","i2ddRa/dStlcRmkVpSoa","W7tcPGGAW5/dHa","arddMCoF","W5bQF0G","W6pdICoiza","iN/cUhmW","W7O9FWaT","lCoRCZ1k","h8kAWRldV8kC","W7SlWRb9","W55KyKC","WPbntmo7WRpcO8opeGpcLG","WPxdLSk9oKlcHa","W6bazKFdPW","ywZdQaVdGW","ictcOSkqWQS","hfPyWOFcNW","ptTFt2K","W7WZvd4ZDG","WQ7dTSkrdq","WR7cRW5/v2LGW4VcM1y","WQjZWO9TzSoVj8kjlmku","xv/dTCoBd8kjb8orCse","EGLQAwy","W6fmsgVdNa","W4DUFWtdR8orW697W5OU","W78FWQ8OkGldU8kGWPOT","W54YrCkddmkAWQG","pJfmDLm","Bmk1WQ3dH8kq","grBdUCoFhmkhdmkl","dIVcGCkbWO0","CLJcGhze","WQ/dHdyVlSoqjqlcKuu","W5VcIdqnW5u","WOG6sCkr","EqaCWOzOtCkx","lMFdQmoj","WQD/WOvS","qmoesq","jM/dSSod","WPaKWRFdRmoRdWdcISoJea","W6ZdV1mRscOVW6RcJG8","FgddPbRdVfFcUW","W6ddIqpcJCo1","vmopgG","uCoibuG","nuDyWRy","ACkRWPpdKCogW6C","WQn7WPPBCq","W7PWW7nVWQbBW5S","WORdKSkLogNcJCkU","W6D6Ef7dOq","W7FdG8or","yuH6t3ZdK1eF","WOflW7ZdHCkO","W6OmDSklWPZdVb4","c0nfWRL6","bYpcSmoXka","eaBcGmk4WQW","WQ9oW6xdRmkfp0xdT8k6W7C","WOqYW7JdSmo+gL3cHSkTfW","qSkVartcVCoT","WQJdJmo6nCo9bmoxW6NdLCoO","WQxdRmoSjeBcNmo6EcZdOa","W6X+CtrBwLTe","c8oyuqjYWRO","W73dVxtcVhJdMmkIkXW","mcPXFea","WR3dHmovbMC","cdTdWObfnCoUWRCixG","lK1oqSoS","WOWwj8oVW67dNCkd","WRJdJmoOjCoLlmonW77cJG","W5ZcSSkNEX/dGCoCaxlcVKxdTG","W6xcLenuW68","Dqm8WPn/a8kDWRhcN0q","W77dICo2ybFcLI7dGwOm","WQ7dHSoijCoAjmoxW7O","ogpdR8ohEe1JW6tcMSks","CSkRWOJdISoqWRpdM8ot","W616DcfRvvS","WRP1WPW","vCk1fHJcTCoCfSoLC8oo","eGFcHmkqWQC","WRvxWQrruW","hmoaBWjOWQlcM8oVbCkl","W6BdPmktuXPsWQXs","WRPkW6RdRmknouldP8k4","jXv/DM/dN3a","WOG/cmo5W4O","a3jPCG","fsFcO8kfWOq","xvFcQeDL","yGTnWRJcJSoLpmk6","ccLoWO5gjSoNWO4oqa","mrT/CwBdOG","WQHTymoyWPq","WRVdNSoOf8ob","WQZdKSkemva","W7GvWPT/uW","WQhcIHTGnG","WPBdQqmkcG","WQxdRrldKmohWQhdO8oujCob","CIjUzw3dSYK","6l+u6kge6yEi57Yg","hGZdImokhmkCa8kv","W4ZcKmozWPfRW7Hrr8kI","mIpcKmkVWQu","W6rXrYnA","WQVdNmo6i8od","WQjqW6jjWOXRW5hdVCoOmW","WOHava","s8k3W7hcRNnE","W6vEExJdTG","hg9wWPNcJq","WObWWQC","iLPnWRNcMCoLdW","W7JcOa0r","smkWW7NcQuffW6qV","f3HjWOHi","W7HYBIfRwKLmW6e","cwFcNgOC","artcMMm","WRn8esVdOW","W6ucvJiVsH4","WPP+eXtdTCoP","s8k3W7K","WPaJW7NdSq","W7hdKCowrWG","hf7cHa","uMDuWOm","WOexn8ohW4G","E8kSWP/dK8ok","W6FdI8obuYK","W6Odqbi2zHa","W63cMwz+W6G","BSkyrW","fxldS8oCDvq","WOuanCoIW6ZdGq","WPrNWRVdImoCWQtcUN/cMmos","xWFcTmk+sa","dt3cLSoggG","cctcRCopWO51WQxdMq8z","zxxdRSolo1X4W7RcM8ot","WO5mqW","WOq5W73dT8oKebpcGCkAaW","z3ZdSrJdQItdSmo1kSox","iGlcJSoVdq","jXHSCM/dPa","nKxcP2ml","W5VcJmoLWPL8","WOtdJ8oyp2S","W7BcPXfP","W6q1WO9qua","hhPSy8oWpCka","WO9qhbldKa","oKf+vCoi","ggpdPCogra","tSkMWRJdOmoW","c3PUzW","WRhcQL0","WRDPWQX9rG","WP13fbtdOG","WOOxW6FdG8oF","WRZdHmoRzq","WPSdCCkkWQa","WQHxW6FdHCkpza","gSodva8","ESkRWRRdVmk/ea","WQSVrSkwWQ/dNq","hHhdI8ozc8kNbG","WQLoWP7dKmoI","W6pdJ8oFza","W4VcL8o5WRfA","gGP2t2S","tSkcWQxdRmk3","WOzDwCo7WRC","qaFdNY5srdXdpIO","WQxdIYNdVmow","W4VcUvHZW48","WPXZWQJdIt0cWOO7W7hdHG","lWBcKSo5lmk1WRqdjW","yCkOWQZdKmkWW512W5eRW68","WOW/W7NdRq","vWC7WRf8","W5yZnJVdLComeqtcQ8k8","aX/cMCohlq","WQZdKsu8n8oq","WO5/lt3dUW","eNTsWOjkl8oTWR0orq","hCkLWO/dV8km","W5BcNCk+lqi","W5W+w8oBqSknWQ4LWPBdUG","wdtcSmkCFgtdNCoTEwS","WOrovmoTWPu","lffvDmo5","W47dS8oYjfJcR8o9pN3dSW","WPZdRmoAiL3cLCoPfhJcVq","zCoWm07dMa","WOFcNrFcVgG","n1Pj","hSofxbnyWQFcN8oSxW","hhn7DmokfCkx","DXyPWQr7qSkGWRhcHeq","mwvfWPZcTG","W4LyWRRdKJmuW6bGWRxcNG","WP8syCoAW6pdJW","W60xWQ9WnflcLSo8WOuZ","WOzSWQZcMW4uWR45W6RcHW","W65UCsW","qsBcTmofAM/dOCoLBd0","WQhcKSkvovFdGXNdNwygW4GP","W5aDzmoCbW","WOzXACoCWQa","W4hdP8obzGW","ixVdTXW","W5dcJmoE","WPZdSCo/ia","bsNcVmkb","ivzVWPJcGq","Dmk1heVdRSk4wSo0nSko","rCouba","hHZdMmoDc8kC","WRZcVqKjW7q","W4VcUwbIW5nZvSkD","W6ajxdaJBq","eHnsygy","mslcVSobcq","776Z6kYm5yU95B2H44c56yEm572l44cZ56Ii5RU0","beVcI0Sv","WRxdTSkTuq","WO/dPSoI","W79PA2SbbX8pWRFdGq","W6XMW6BdKSkejuJdVSoNW5G","WR4zjmotW64","B8k5WRRdVSkhf8kz","W7C4WQtdK8orWRBdNdO","WQ9tctxdMa","WQ7dHmoIoMa","WQyAW5W","W447W7RdVmoV","W79SCqjD","ouXWWRtcI8oTd8kt","cZhdU8oAaW","BMVdPG3dQM3cVSk4iSoa","gfldQ8oRxq","AwtdPa8","W77dTCkVrqy","W4ddLCkyvaS","Fw3dTqtdUh3cUG","bdZcR8oXkG","W4pdMqFcM8oR","WQhcSHfZkq","WPjBWP9KEq","W6GFWRD2CW","gmkuWQhdR8kY","WQZdNYqP","kxJdSGZdHNFcU8oN","jK/dLSoGEG","WOGIW77dQCo7rv3dISk1fW","WOj6dHJcVG","WRJdKsm8","u8kBWPVdRmoR","WOKLW4JdRmoUgrFcLW","tKhcTeS","lGhcR8oNk8oQW7XjmCoh","WRfXwSokWP8","qSoseKu","WRmraCogW7K","W7ldGJO","xmoMWR14fa","W7ldMstcLG","hN5JWQDH","W541W7NdMG0/WPyOW7y","gNTmWOTomCkiWRu","W7rbvdGLCHLXwZW","sSo8ng7dSG","lhXwWOrC","W4BdRSkKovK","WQrrW7RdGW","bJBcVCkE","W6uUWQxdL8oqWRFdNcf1aq","vvhcVLa","yHyUWOr1qSkDWRu","WR7dJmoInmo9","sSkrjJJcVG","W5W+uW","WPq6r8kk","iJjlsKG","wZhcP8knrMhdSq","cSkXW54NqSo7m8obW6HxW4S8a2G","vSk5obhcSa","hg97CSoAlW","e2X+WRVcMq","WODcWQNdNSoO","F8kxW5VcNa","WPVdV8osCq","iePoWR0","uhZdUmoyW5WQWQJdHaSzW6hdVG","WOZdOSoIla","W7RcQGuBW7pdKH0","W6BcTHqA","W6CLWRpdNmoiWPFdLdL8","5AAO5yETW5fUcSkwdEw1NoI/IEADTG","xSoRWOT3","W7JcLIhcGSoSW6OCfWhcQG","WRb7WP9P","WRL/WP9PBCorp8kb","jtpdJSoMkW","W6uzWOVdPmo2","WQOStSkmW7ZdMd80W4mA","WQujWQ5J","W6yIWQldIW","d2bsWOzfja","WPNdTSo3p0hdKmo/og7cOa","W60xWQ9HFLy","WODewCoO","xSkrWQhdP8kV","WP9YWRRdKW","WOpdUmoXgSoJ","rthcPCklCq","nZVdMSoPia","xmk/W5tcVM8","WQRdImoPmmofpG","W60xWQC","iWFcQCo4kG","W7JcN3uUWPz7","WQpdI8oBhgG","x0hcG2Cors0cExC","WQHeW7RdKG","W7BcRHaE","W6z5AwxdTq","W6PxW6VdH8kymNldU8kMW4W","WOjTWR/dICoCWR7cR3lcQmoj","W6v4sh7dLq","W4FdKCkrFd4","DmoPbhJdKq","W4zUB0ddVSoBW6nK","A8kQWP3dImoi","W50wWQTVsa","yaNcK8kKyW","s8o3WOvZamk9zSko","gbZdOmohba","WRVdVW7dOSoW","W7GuWR/cHCoFEMRdHmkJW5HTtW","WR/cUIBcO0xdI8kHlq","W7SFWRD9","EW1SA3ldRZSRW5JdGG","WOnPWRRdG8oVWQRcQetcS8oi","W6hcUXywW7JdHWFcVSod","C8k9WQJdSCk9dmko","yNddNZddQa","W7dcTHaAW6xcNv7dTq","W7hdLCowAaBcNq","sgxcINr6","WRS0q8kh","WQHmW7W","WQ7cOqldMSoQWRFdSCo5nCol","WOvxqSoK","WOPNbW","W5yYwCozgCkb","W7BcRmosWPH/","oZVcPmkgWOS","xSksWRNdL8ki","CSkRWOJdISoqWRpdM8otW4NdVW","W7ddVaddNmoQWP/dTSoInCkt","umoiWQ1qgG","F8kXWPJdICo0W6dcGmku","WPvLW6bCWRu","t1vojSkEBmoDWOmkia","vCoebKxcQSkWiCkDW5qG","W6uFFZyKBH1N","pfzoWQe","W63cLmozWPDK","FCoUWQrafW","kwNdSSooFv8","b8k9WR/dT8k+","iMNdR8oC","eedcTa","cJ7cJSklWOS","WPRdTCozfu4","WObxWQRdJ8ouWRG","WRldRrddLa","ACkQWP7dJSokW73cMmkz","W4ZcOLX9W4r0","qspcKmkAA2hdUW","WPdcImocWOigW7jqqmkLsW","DHOXWPe","cd7cRCooWPTVWRpdHqHy","W7ZdP8kYwX0","mIBdMSoEg8kDxW","WP1gW4TzWPC","qCk5aqNcL8oIdSoVAa","iCk8WQZdPSk7","WR4YsCkg","W7VdUmknrHTqWQDr","aXNcLSo0nq","W7P0DsPyw0LfW5VcGG","W5efWRFdGSog","dI1wB3G","WPnex8o6WRpcTCohdW","W7BcQW1S","W7u6v8klW7tdNY9OWOjF","WPrTWR/dHq","W5VdTmo2AIu","W7pcUNrdW6u","WQDYWOP6BmkFomkipSks","W5y4ua","guZcPfeE","WRZdGmo3jConpW","DqeVWPTO","hX3cS8oggq","xSkRW63cV2q","WQG0smkoWONdHYbS","WOvVeHJdPmoV","s8kSW7lcTW","zCoPpeldHG","vmkqWQ7dLmki","D8kVWRhdNSoK","nCocqGbf","WQPwW51nW5v9W7pdOmo4Aq","W6SjrGC2AZzIuJW","vCkQcddcUW","W5VcUur4W7rOva","W6NdUmkSDWHAWQe","W77dV3FdOHVcHSo4cYHdAJBcIG","W5JcNSoe","gSoCwGna","m8oVqdXr","W7GkWQjHBLC","yayUWPW","WQBdOXFdGq","WRPiW7iJlH3cLSkEWPqZW5e/WQe","lCo4qI5g","FCkzWRFdJCo2","WP3cVrpcRwm","WRHxW6FdNG","WRZdUKPnWQBcGc3cSmoibW","A8k9W47cJK4","W6BcUmoCWPDo","WPRcVSoJlLRcGSo0Cx/cVa","mbXQzq","W5ldKHNcV8oP","WRTlWRZdRmoM","WPj6cri","WQxdPaxdH8o9WONdTa","WOfSda","BHhcPCkeAq","x8k7W67cQNLcW6mI","WRZcVsVcO0pdNmkIja","W7hdNsq","WOZdRmoHi0BcN8o6m0BcUW","WRhdHCoYnSol","uIDhWP8","C8kXWPJdN8oBW4BcKG","dhTtWPS","nfzp","EWuBWP97","W6GOWQJdLCoxWQW","chVcHwrAdCoS","W67cG0fhW5S","WRH9BtzxururWQlcQa","WRRdOXm","W7u+t8ognq","WPiHj8o9W6C","W6SSWQhdV8o1","afNcHMKs","ttpcPCkADM7cRCk9nx8","W54GySogoa","WPPYdGC","WRBcNdzjdW","gaNdJSokgSklbSkZixm","W545WObEvG","W77cOxf6W5q","WQPmW6ldLSofoeldOmk8WPC","A8kTWRRdVq","ydyQWPbX","W6TPBG","nf5jWRq","WR/dNCkAk3m","zaBcLSkQva","WOmIW4pdT8oY","WQZcPXb9hw4","DbiPWPu","W6jiW77dLa","WRCrzSksWPK","WPTYeW","WQRdHSoOjq","WR3cVZfEkq","W7GEwZO","WPCAmSoU","afZcIgeugZ8o","BCkXWQ3dSmk3","WPnqxSoH","W5ZcT0D1W4K","WR/cOXy","W6tdLmomBa","nHtcVmoYzq","WRRdMtS4bConeWBcGa","WQOKWRxdNq","WQxdVaJdNmoS","f8ozEZHW","W7pcVbCwW7hdJG","WObkmctdUW","r8k9bHW","WRWwnSoCW4q","Asa2WRDn","lxnFy8o4","WRb1WPXMzCoFkSkeamkv","WRRdNdy6","WPv+fb8","W77dTNxdPH7cJmkRbZPpwdC","BmkEesJcJa","qZuqWRDC","kKFcUNam","WOLUWQxdNG","EW5SzYxdPhe+W4tdKq","WRH/WPnPBG","WRhcRbfzeW","WPBdM8oXWPfzW61aDCk0bG","WR3dSCo6Bu/cNCoRi2a","aNj0","WRvRWRNdRSoA","WRddVCkHe18","W557WQ/dHq","AmkSWQBdVSk9ea","wJxcOSkyDM7dSCoP","kSo1srfx","W7n6DIDC","WQfaWQhcGSoAEWpcOSoMWPW","WR5sW6FdKSkW","kCkVWRhdNq","WPCbW6/dJ8oz","umoyngBdOa","tmkTW67cS3fc","yWhcUCkqBa","W4FcRJmtW7a","W68iWOHzqG","ESolWPn0aa","W4/cO0b+","WOujW77dOmo4gKJcHmk2fq","ieRdJSoAtq","WP3dKSkNpa","WPPYzSoeWQu","W4v+ALVdPW","hd7cUCoDpa","dCoihrj1WQdcImoKfCoj","WRFdImoR","WOukk8oCW7W","WRb2nJi","aINcVmkdWOi","WRHkW6xdLSke","yXONWPeNhSoEW6ddJ34","WR5AW5vbWOHRW7/dPG","W4ZcO1fIW4HUvmkF","W5dcPYeAW4e","i1DCWQFcNCozdmkEWQ/dNa","W7ubWO7dUmoK","fYhcRmkfWOvfWR7dNHac","WPFdUmopbmoA","WRRdMtm","eeFdHtfjcJiyFhy","hCoLxWbE","WRjZWODTvSoEkSknoG","WR9xW5bAWP9hW7G","WQRcOcJcS0NdJq","uZPcWOzf","W7pdGg0","WOOOWQJdMdGeWRqGW6ddSq","u2vvWO5zka","uupcQq","sCklW7pcMhG","W7JdKSorCrldIuZcGx4i","W7RcMmofWQLd","W4qcm8oQW7NdHmoDWPaCiq","WOr7W6ldTSo7cW","W7JdGmk7zdG","Fg3dTX7dVgW","u8krreVcVmoLoq","W43dUGf9WO0UuW","W4u9WQJdRCogWO7cNL4","fx5tWQXa","xSkXWPNdJCk9","fXRdMCopdq","zHO5WPf1C8khWR7cJ04","WRfOCcCBueDwW6RdMa","W6hcQHyjW7pdKG","ySoGWQFdLCk7","nq1UAgpdTxuUW4tdJa","W6VdTSkQuW","W5zkCSk9WRlcMmk3WOaXkCoMW5K","fh1hWOC","WRXEW4njWPD9","W6GnrJy","W79RCIHDv0LvW63cMa","WQ/dV8olnSok","gedcPLbRb8ocWRiI","W5dcOSofWRLL","WRX/WPZdHCoJ","W5q7WRxdV8oU","W7b6z1NdUq","WRVcPYxcOW","WRz0W7lcHmkAW7pdUJbya8kAW7i","cSojqWzOWQFcJCoK","W60IWRFdQSoA","WOansCk0WOi","WPRdMsddGmo8","W7yRWRFdM8oN","W6e/WRtdNCor","WR1PWQzPESoBlSke","WRZcOG8j","WOrkW4VdNmkz","W67dNadcUCo3","fmojxHfZWQe","WPnNWQpdJCozWQ4","W5BcJCovW4XzW6ilu8kKbq","pfbA","oXX6oW","WRJcNsCVnCoxhq","wYxcS8kCChtdRSoP","WOn9WQ7dKSozWR/cT34","W7ZdG8olzHxcMW","mM7cI3i0","WQRcOXfQf3r8W5W","W7vju0ldLa"];return _k=function(){return t},_k()}async function eo(t,e,r,n,s){let i=je,a={awsFi:function(u,l){return u===l},xdPNz:function(u,l){return u(l)},UTrXA:i(621,"#OOi"),wfuDd:i(290,"#*yI")+i(1031,"SAtO")+i(907,"8pjQ"),jLRrY:function(u,l){return u||l},ijsCk:function(u,l){return u||l},fHQqm:i(442,"Fhs#"),qiRMy:function(u,l){return u==l},skXjH:i(1034,"&HYM"),FAtlp:i(827,"2wQi"),qbqwo:i(433,"Noae"),sGMIN:function(u,l){return u!=l},ctInz:function(u,l){return u>l},SEgZP:function(u,l,d,f,p,m){return u(l,d,f,p,m)},EglXb:function(u,l){return u-l}};r=a[i(528,"Gnm8")](r,{}),Object[i(795,"l#VZ")](r,qx),Object[i(941,"9pW6")](r,{Cookie:a[i(830,"TYG3")](Ac,"")}),n=a[i(568,"Fhs#")](n,a[i(1046,"#9Sq")]);let o=a[i(1022,"ZJM)")](n,a[i(902,"WkTr")])?await he[i(768,"Noae")](oLe+"/"+t,{headers:r})[i(697,"SAtO")](u=>{let l=i;return console[l(622,"12Mj")](u),a[l(931,"#*yI")](u?.[l(867,"Zbg9")]?.[l(765,"n7Q^")],-7084+-997*9+-16458*-1)&&a[l(991,"d&OD")](messageToDart,{action:a[l(420,"X3DF")],opt:{message:a[l(696,"!SOK")],duration:5}}),u[l(513,"nwCk")]||{status:500,data:{}}}):await he[i(474,"n7Q^")](oLe+"/"+t,e,{headers:r})[i(481,"JZKQ")](u=>{let l=i;return console[l(397,"i)7i")](u),a[l(1044,"Zbg9")](u?.[l(610,"Wk9#")]?.[l(626,"ZJM)")],-847+-47*55+3833)&&a[l(778,"$&ze")](messageToDart,{action:a[l(323,"tU0H")],opt:{message:a[l(754,"iKSc")],duration:5}}),u[l(435,"CJRF")]||{status:500,data:{}}}),c=a[i(505,"Wk9#")](s,3);if(o[i(287,"Z*@(")][a[i(1056,"e9rC")]]){let u=o[i(337,"yDy^")][a[i(434,"nwCk")]][i(920,"Z*@(")](a[i(1050,"ShO2")])[i(515,"Zbg9")](/__puus=([^;]+)/);u&&a[i(981,"j0Uf")](Ac[i(307,"nwCk")](/__puus=([^;]+)/)[1*9161+-5737*1+-3423],u[1])&&(Ac=Ac[i(919,"ZJM)")](/__puus=[^;]+/,i(377,"#9Sq")+u[4809+-1213*8+4896]),await aG[i(848,"tU0H")](i(764,"240S")+bk,Ac))}return a[i(900,"n7Q^")](o[i(868,"X3DF")],-15987+-288*-57)&&a[i(468,"OZzu")](c,-282+-3*-94)?(await a[i(599,"LY1j")](Gd,1e3),await a[i(680,"#OOi")](eo,t,e,r,n,a[i(926,"d&OD")](c,3561+1780*-2))):o[i(576,"ShO2")]||{}}async function uLe(){let t=je,e={uFILK:function(n,s,i,a,o){return n(s,i,a,o)},lIJHn:t(413,"SAtO"),sJpYs:function(n,s){return n>s},UHqpe:function(n,s,i){return n(s,i)}},r=await e[t(661,"!SOK")](eo,t(461,"!SOK")+Za+t(740,"l#VZ")+kh+(t(648,"iKSc")+t(539,"i)7i")+t(728,"d&OD")+t(357,"tU0H")+t(996,"nwCk")+t(390,"[Gf!")),{},{},e[t(1061,"Gnm8")]);if(r[t(658,"n7Q^")]&&r[t(293,"e9rC")][t(893,"12Mj")]&&e[t(642,"(kco")](r[t(491,"g[c@")][t(709,"lv(Z")][t(814,"#OOi")],1885*-5+-7823+88*196)){let n=await e[t(385,"3GMJ")](eo,t(995,"Noae")+"e?"+Za,{action_type:2,filelist:r[t(658,"n7Q^")][t(709,"lv(Z")][t(797,"Wk9#")](s=>s[t(630,"y2dz")]),exclude_fids:[]});console[t(603,"ZJM)")](n)}}async function QXt(t){let e=je,r={QAdgm:function(s){return s()},vRavl:function(s,i,a,o,c){return s(i,a,o,c)},rwiaZ:e(1003,"ZJM)"),qeBFp:function(s,i){return s===i},JYTWP:function(s){return s()},CXVhz:function(s,i,a){return s(i,a)}};if(kh){t&&await r[e(1017,"#*yI")](uLe);return}let n=await r[e(451,"9pW6")](eo,e(407,"(kco")+Za+(e(352,"j0Uf")+e(824,"#9Sq")+e(752,"OZzu")+e(631,"e9rC")+e(659,"[Gf!")+e(458,"#9Sq")+e(380,"yDy^")),{},{},r[e(517,"!SOK")]);if(n[e(465,"ZJM)")]&&n[e(638,"9pW6")][e(359,"ZJM)")]){for(let s of n[e(619,"8pjQ")][e(784,"SAtO")])if(r[e(520,"tU0H")](s[e(923,"Zbg9")],cLe)){kh=s[e(547,"j9GU")],await r[e(904,"j9GU")](uLe);break}}if(!kh){let s=await r[e(968,"f*1G")](eo,e(674,"12Mj")+Za,{pdir_fid:"0",file_name:cLe,dir_path:"",dir_init_lock:!1});console[e(394,"Noae")](s),s[e(518,"$&ze")]&&s[e(790,"YypP")][e(651,"nwCk")]&&(kh=s[e(726,"nwCk")][e(722,"ZJM)")])}}async function uG(t){let e=je,r={VhhzS:function(n,s,i){return n(s,i)}};if(!Yd[t[e(845,"8pjQ")]]){delete Yd[t[e(679,"[(4C")]];let n=await r[e(326,"WkTr")](eo,e(393,"e9rC")+e(737,"e9rC")+"n?"+Za,{pwd_id:t[e(687,"Gnm8")],passcode:t[e(653,"ZJM)")]||""});n[e(658,"n7Q^")]&&n[e(1064,"j9GU")][e(371,"JZKQ")]&&(Yd[t[e(1005,"12Mj")]]=n[e(580,"240S")])}}var GXt=[je(1018,"8pjQ"),je(955,"Wk9#"),je(511,"[Gf!"),je(933,"Fhs#"),je(825,"TYG3")];async function VXt(t){let e=je,r={rvOXd:function(c,u){return c||u},WBqHK:function(c,u){return c||u},dwUxU:function(c,u,l,d,f){return c(u,l,d,f)},FGtwJ:function(c,u){return c(u)},LVGBM:e(437,"LY1j"),unoDZ:function(c,u){return c===u},RoivM:function(c,u){return c===u},kligc:function(c,u){return c===u},TyDZS:e(1024,"tU0H"),QVRsV:function(c,u){return c===u},dvKLY:e(552,"iKSc"),OHgAP:function(c,u){return c===u},ytsiQ:e(374,"i)7i"),HYBLz:function(c,u){return c(u)},IGPrC:function(c,u){return c===u},vOUNB:e(479,"yDy^"),oagMV:function(c,u,l){return c(u,l)},XepWO:function(c,u){return c&&u},dWoxJ:function(c,u){return c===u},aMOYZ:e(620,"j9GU"),HJdME:function(c,u){return c<u},RrbLy:function(c,u){return c*u},Phvkw:function(c,u){return c<u},ocIag:function(c,u){return c/u},oKLEK:function(c,u){return c+u},DTJbV:function(c,u){return c===u},BapfU:e(300,"Fhs#"),OBFfb:function(c,u){return c(u)},UGukS:function(c,u){return c(u)},NwhKa:function(c,u){return c>u}},n=r[e(403,"tU0H")](typeof t,r[e(645,"CJRF")])?r[e(1051,"ShO2")](pLe,t):t;if(!n)return[];if(await r[e(629,"2wQi")](uG,n),!Yd[n[e(432,"j0Uf")]])return[];let s=[],i=[],a=(c,u)=>c?c+"/"+u:u,o=async function(c,u,l,d){let f=e,p=r[f(367,"&HYM")](d,""),m=100;l=r[f(747,"!SOK")](l,1);let h=await r[f(950,"$n0Q")](eo,f(738,"n7Q^")+f(682,"!SOK")+f(963,"Wk9#")+Za+f(1060,"8pjQ")+c+f(628,"ljNd")+r[f(1041,"&HYM")](encodeURIComponent,Yd[c][f(850,"YypP")])+f(999,"&HYM")+u+(f(448,"Zbg9")+f(484,"$n0Q"))+l+f(733,"9pW6")+m+(f(667,"ZJM)")+f(527,"OZzu")+f(985,"$&ze")+f(1033,"ShO2")),{},{},r[f(467,"nwCk")]);if(!h[f(529,"#OOi")])return[];let A=h[f(431,"d&OD")][f(804,"#9Sq")];if(!A)return[];let g=[];for(let b of A){let y=r[f(703,"OZzu")](b[f(443,"ZJM)")],!0)||r[f(360,"SAtO")](b[f(343,"!SOK")],1)||r[f(922,"Fhs#")](b[f(681,"Noae")],r[f(961,"YypP")])||r[f(807,"[(4C")](b[f(288,"Z*@(")],r[f(524,"WkTr")]),x=r[f(404,"yDy^")](b[f(502,"y2dz")],!0)||r[f(965,"d&OD")](b[f(291,"lv(Z")],-6234+-1*-2705+3530)||r[f(439,"n7Q^")](b[f(748,"240S")],r[f(1055,"Wk9#")]),v=r[f(327,"nwCk")](jXt,b[f(677,"&HYM")]),C=r[f(836,"Z*@(")](b[f(762,"j0Uf")+"ry"],r[f(275,"TYG3")])||v;if(y)g[f(417,"i)7i")]({fid:b[f(311,"WkTr")],path:r[f(452,"3GMJ")](a,p,b[f(485,"j9GU")])});else if(r[f(492,"9pW6")](x,C)){if(r[f(870,"TYG3")](typeof b[f(616,"i)7i")],r[f(887,"e9rC")])&&r[f(295,"#9Sq")](b[f(975,"#*yI")],r[f(318,"2wQi")](r[f(695,"#*yI")](12788+11764*-1,4025+-1684*-5+-141*81),-1330+-1335*-1)))continue;b[f(723,"$n0Q")]=Yd[n[f(672,"[Gf!")]][f(723,"$n0Q")],b[f(890,"!SOK")]=p,s[f(480,"l#VZ")](b)}else x&&GXt[f(663,"#OOi")](R=>String(b[f(550,"e9rC")]||"")[f(921,"CJRF")](R))&&i[f(305,"y2dz")](b)}if(r[f(1080,"Fhs#")](l,Math[f(497,"d&OD")](r[f(833,"ljNd")](h[f(294,"e9rC")][f(940,"Gnm8")],m)))){let b=await r[f(455,"Noae")](o,c,u,r[f(956,"WkTr")](l,1),p);for(let y of b)A[f(462,"yDy^")](y)}for(let b of g){let y=await r[f(953,"SAtO")](o,c,b[f(929,"CJRF")],1,b[f(333,"WkTr")]);for(let x of y)A[f(811,"WkTr")](x)}return A};return await r[e(714,"y2dz")](o,n[e(891,"TYG3")],n[e(1077,"Fhs#")],-98*-7+827*12+-1*10609,""),r[e(977,"TYG3")](i[e(347,"Noae")],772*-7+4793+611)&&s[e(937,"240S")](c=>{let u=e;var l=r[u(757,"X3DF")](ml,c,i);l[u(379,"g[c@")]&&(c[u(607,"[Gf!")]=l[u(875,"n7Q^")][u(469,"Wk9#")])}),s}async function lG(t){let e=je,r={oJApC:function(s,i,a){return s(i,a)}};if(!t)return null;let n=await r[e(472,"f*1G")](eo,e(650,"X3DF")+e(604,"TYG3")+Za,{fids:[t]});return Array[e(838,"i)7i")](n?.[e(470,"i)7i")])&&n[e(286,"&HYM")][-727*-13+-4701+4750*-1]?.[e(710,"#*yI")+"rl"]?n[e(726,"nwCk")][227*-3+6373*-1+7054]:null}function lu(t,e){let r=_k();return lu=function(n,s){n=n-267;let i=r[n];if(lu.qPCXux===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};lu.SutKMT=l,t=arguments,lu.qPCXux=!0}let o=r[-6611+-12*-131+5039],c=n+o,u=t[c];return u?i=u:(lu.ixDlWv===void 0&&(lu.ixDlWv=!0),i=lu.SutKMT(i,s),t[c]=i),i},lu(t,e)}async function zXt(t){let e=je,r={ZjbXe:function(s,i,a){return s(i,a)},aTMVU:e(992,"Fhs#")+e(315,"[(4C")+e(566,"JZKQ"),wbaKs:e(637,"tU0H")};if(!t)return null;let n=await r[e(1037,"9pW6")](eo,e(1010,"WkTr")+e(841,"tU0H")+Za,{fid:t,resolutions:r[e(296,"3GMJ")],supports:r[e(1032,"[(4C")]});return Array[e(625,"YypP")](n?.[e(726,"nwCk")]?.[e(781,"f*1G")])?n[e(839,"Gnm8")][e(545,"ljNd")]:null}async function mLe(t,e="0",r=921+-409*-8+-4192){let n=je,s={QUrQz:function(o,c){return o(c)},rZUvQ:function(o,c,u,l,d){return o(c,u,l,d)},LUDud:function(o,c){return o||c},IDgVH:n(482,"Wk9#")};await s[n(447,"JZKQ")](kv,t);let i=Number[n(387,"l#VZ")](r,-25*-1+-9676+-1*-9661)||-3*-813+45*147+-9053,a=await s[n(715,"!SOK")](eo,n(822,"Wk9#")+Za+n(721,"Noae")+s[n(916,"2wQi")](encodeURIComponent,s[n(593,"j0Uf")](e,"0"))+n(906,"TYG3")+i+(n(1008,"y2dz")+n(735,"240S")+n(828,"WkTr")+n(897,"Fhs#")+n(829,"Noae")),{},{},s[n(1065,"YypP")]);return Array[n(372,"nwCk")](a?.[n(303,"l#VZ")]?.[n(456,"d&OD")])?a[n(744,"3$u9")][n(986,"OZzu")]:[]}var g0={};async function KXt(){let t=je,e={ndmcZ:function(i,a){return i||a},VfRtD:t(581,"Zbg9")+t(772,"Zbg9"),YZQtO:t(351,"YypP")+t(1013,"nwCk")+t(389,"f*1G")+t(756,"f*1G")+t(863,"OZzu")+t(872,"Fhs#")+t(555,"y2dz")+t(888,"X3DF")+t(427,"&HYM")+t(760,"e9rC")+t(297,"f*1G")+"19",KRSkD:function(i,a){return i===a},xrJee:function(i,a){return i===a}},r=Date[t(884,"e9rC")](),n=Object[t(489,"Z*@(")]({Cookie:e[t(816,"8pjQ")](Ac,""),"Content-Type":e[t(689,"Wk9#")]},qx),s=await he[t(418,"j0Uf")](e[t(355,"(kco")],{conversation_id:t(773,"OZzu")+r,conversation_type:3,msg_id:r+t(346,"Noae")},{headers:n})[t(537,"ljNd")](i=>{let a=t;return console[a(397,"i)7i")](i),i[a(513,"nwCk")]||{status:500,data:{}}});return e[t(391,"#*yI")](s?.[t(279,"12Mj")],-2*629+25*-127+4633)&&e[t(1002,"iKSc")](s?.[t(647,"CJRF")]?.[t(972,"f*1G")],-7*-157+2116+-3015)&&e[t(649,"tU0H")](s?.[t(643,"OZzu")]?.[t(342,"f*1G")],0)&&s?.[t(428,"TYG3")]?.[t(529,"#OOi")]?.[t(982,"JZKQ")]||""}async function hLe(t,e,r,n){let s=je,i={PvsMM:function(l,d){return l||d},dUnBn:function(l,d){return l(d)},GtfEf:function(l){return l()},JEZmJ:function(l,d){return l||d},kABNb:s(575,"TYG3")+s(761,"YypP"),DjIHd:function(l,d){return l===d}};if(i[s(586,"3GMJ")](!t,!r)||!n||(!e&&(await i[s(558,"CJRF")](uG,{shareId:t}),e=Yd[t]?.[s(512,"yDy^")]||""),!e))return null;let a={fids:[r],fids_token:[n],pwd_id:t,stoken:e,speedup_session:""},o=await i[s(987,"i)7i")](KXt);o&&(a[s(894,"ljNd")]=o);let c=Object[s(521,"CJRF")]({Cookie:i[s(783,"y2dz")](Ac,""),"Content-Type":i[s(1079,"tU0H")]},qx),u=await he[s(1059,"j9GU")](s(949,"8pjQ")+s(602,"SAtO")+s(763,"yDy^")+s(774,"f*1G")+s(945,"ljNd")+s(746,"Gnm8")+Za,a,{headers:c})[s(1057,"WkTr")](l=>{let d=s;return console[d(595,"3GMJ")](l),l[d(270,"i)7i")]||{status:500,data:{}}});return i[s(429,"LY1j")](u?.[s(416,"WkTr")],9589*-1+1279*-4+14905)&&u?.[s(962,"12Mj")]?.[s(1074,"LY1j")]?.[-1*7603+-1*-5752+3*617]?.[s(438,"&HYM")+"rl"]?u[s(744,"3$u9")][s(316,"!SOK")][-7001+-794*4+10177]:null}async function gLe(t,e,r,n,s){let i=je,a={kqOJf:function(c,u){return c(u)},QiUwO:function(c,u){return c(u)},bpjuG:function(c,u,l){return c(u,l)},OixxX:i(842,"Gnm8"),ZKbJd:function(c,u,l,d,f){return c(u,l,d,f)},RYygP:i(855,"#*yI"),nABrE:function(c,u){return c>u},iMTEd:function(c,u){return c(u)}};if(await a[i(668,"8pjQ")](QXt,s),s){let c=Object[i(269,"3$u9")](g0);for(let u of c)delete g0[u]}if(!kh||!e&&(await a[i(635,"lv(Z")](uG,{shareId:t}),!Yd[t]))return null;let o=await a[i(414,"X3DF")](eo,i(750,"g[c@")+i(878,"i)7i")+"?"+Za,{fid_list:[r],fid_token_list:[n],to_pdir_fid:kh,pwd_id:t,stoken:e||Yd[t][i(401,"d&OD")],pdir_fid:"0",scene:a[i(450,"Noae")]});if(o[i(576,"ShO2")]&&o[i(647,"CJRF")][i(623,"9pW6")]){let c=0;for(;;){let u=await a[i(532,"$n0Q")](eo,i(1063,"d&OD")+Za+i(583,"3$u9")+o[i(675,"yDy^")][i(1038,"yDy^")]+(i(319,"!SOK")+i(554,"LY1j"))+c,{},{},a[i(514,"X3DF")]);if(u[i(428,"TYG3")]&&u[i(805,"2wQi")][i(853,"#OOi")]&&u[i(580,"240S")][i(883,"Zbg9")][i(335,"[Gf!")+i(368,"[Gf!")]&&a[i(684,"!SOK")](u[i(491,"g[c@")][i(276,"nwCk")][i(905,"j0Uf")+i(820,"240S")][i(600,"X3DF")],0))return u[i(666,"tU0H")][i(957,"12Mj")][i(685,"l#VZ")+i(770,"WkTr")][1*-5793+8328+-2535];if(c++,a[i(751,"2wQi")](c,5))break;await a[i(272,"g[c@")](Gd,1e3)}}return!1}async function ALe(t,e,r,n){let s=je,i={AGarR:function(o,c){return o===c},INrNi:s(932,"[(4C"),AljpA:function(o,c){return o(c)},vqSzx:function(o,c,u,l,d,f){return o(c,u,l,d,f)},FcSTX:function(o,c,u){return o(c,u)},ddZjf:s(704,"j9GU")+s(802,"8pjQ")+s(565,"tU0H"),IKbzf:s(967,"n7Q^")};if(i[s(609,"[(4C")](t,i[s(510,"#OOi")]))return await i[s(817,"ljNd")](zXt,r);if(!g0[r]){let o=await i[s(846,"LY1j")](gLe,t,e,r,n,!0);if(!o)return null;g0[r]=o}let a=await i[s(425,"CJRF")](eo,s(613,"Zbg9")+s(718,"SAtO")+Za,{fid:g0[r],resolutions:i[s(1073,"lv(Z")],supports:i[s(664,"f*1G")]});return a[s(767,"[(4C")]&&a[s(1021,"ljNd")][s(885,"g[c@")]?a[s(666,"tU0H")][s(823,"e9rC")]:null}async function dG(t,e,r,n,s){let i=je,a={zcsdc:function(c,u){return c===u},tlIPs:i(1019,"SAtO"),csGuO:function(c,u){return c(u)},EiPXe:function(c,u,l,d,f,p){return c(u,l,d,f,p)},ReynP:function(c,u,l){return c(u,l)}};if(a[i(570,"#9Sq")](t,a[i(976,"SAtO")]))return await a[i(964,"e9rC")](lG,r);if(!g0[r]){let c=await a[i(569,"yDy^")](gLe,t,e,r,n,s);if(!c)return null;g0[r]=c}let o=await a[i(960,"Gnm8")](eo,i(732,"#9Sq")+i(641,"CJRF")+Za,{fids:[g0[r]]});return o[i(619,"8pjQ")]?o[i(317,"Z*@(")][-3530+-49*19+4461]:null}async function YXt(t,e,r,n,s){let i=je,a={AVkfp:function(c,u){return c===u},TPQhk:i(918,"y2dz"),pEwdk:function(c,u){return c(u)},LwPcS:function(c,u,l,d,f){return c(u,l,d,f)},drNsq:function(c,u,l,d,f,p){return c(u,l,d,f,p)}};if(a[i(860,"$n0Q")](t,a[i(736,"ShO2")]))return await a[i(463,"i)7i")](lG,r);let o=await a[i(585,"[Gf!")](hLe,t,e,r,n);return o?.[i(438,"&HYM")+"rl"]?o:await a[i(731,"9pW6")](dG,t,e,r,n,s)}async function yLe(t){let e=je,r={ZPHkr:function(n,s){return n(s)},IWbyV:e(559,"#*yI")+e(701,"g[c@"),BhEeW:function(n,s){return n(s)},ZogOE:function(n,s,i){return n(s,i)},edqLC:e(912,"n7Q^")};if(r[e(662,"lv(Z")](pk,r[e(348,"SAtO")])){let n=r[e(386,"TYG3")](pLe,t);if(n){let s=await r[e(494,"12Mj")](VXt,n);return s=s[e(534,"n7Q^")](i=>{let a=e;return{vod_id:[n[a(973,"#9Sq")],i[a(706,"#OOi")],i[a(273,"Noae")],i[a(543,"ZJM)")+a(730,"#OOi")],i[a(370,"YypP")]?i[a(541,"JZKQ")][a(799,"i)7i")]:"",i[a(332,"iKSc")]?i[a(606,"nwCk")][a(813,"l#VZ")+a(538,"!SOK")]:""][a(812,"2wQi")]("*"),vod_name:i[a(1004,"X3DF")],vod_size:i[a(660,"2wQi")],vod_group:i[a(749,"YypP")]}}),r[e(693,"$&ze")](Os,await r[e(542,"Z*@(")](dLe,r[e(934,"9pW6")]),s)}else return{}}}var Ek={},Lh={},lLe={},sG=(-8125+-2*2281+13711)*(6205*-1+-35*-37+5422),fG=(1*-2969+-733*-1+-652*-5)*(6088+2*-2916);function oG(){let t=je;return(globalThis[t(837,"f*1G")]||[])[t(381,"f*1G")](r=>r[t(914,"l#VZ")]===t(800,"(kco"))||{}}function JXt(t){let e=je,r={jAmZW:function(n,s){return n<s},phoQD:function(n,s){return n>=s},uVPgb:function(n,s){return n===s},KCpJV:function(n,s){return n===s},wWeVQ:function(n,s){return n===s},TKmnk:function(n,s){return n===s},YQjKK:function(n,s){return n===s},EcuHj:e(935,"YypP"),PkJCY:function(n,s){return n===s},VCOjz:e(313,"JZKQ"),waqSx:function(n,s){return n===s},KOYGI:e(1009,"f*1G"),UGCBP:e(282,"CJRF"),AwBlu:function(n,s){return n===s},sOLpM:e(821,"#OOi"),Lmike:function(n,s){return n===s},Zslfa:function(n,s){return n===s}};if(!t||r[e(966,"OZzu")](t[e(678,"Fhs#")],1*-3863+-1024+-4891*-1))return!1;if(r[e(801,"8pjQ")](t[e(612,"n7Q^")],-5093+3*517+3550)&&r[e(582,"n7Q^")](t[8911+53*83+-13310],-2*-3448+265*-19+-1724)&&r[e(415,"X3DF")](t[-16808+-3*-5603],577*-3+1587+7*32)&&r[e(563,"ShO2")](t[4253*-1+-6301+-28*-377],283*-10+1*-6791+9699)&&r[e(1030,"$n0Q")](t[-55*-106+8692+-14519],-8299+-2*-816+6738)&&r[e(815,"2wQi")](t[4],17723+-1771*10)&&r[e(943,"nwCk")](t[6605+6600*-1],4477+1*-3387+-1080)&&r[e(859,"Fhs#")](t[8249+-5*1202+2233*-1],26)&&r[e(519,"OZzu")](t[7565+8*32+2*-3907],-18607+-1*-18617)||r[e(745,"240S")](t[3*-1041+5125+-2002],545*1+-41*-219+-9269)&&r[e(430,"[Gf!")](t[-745*5+-3*-953+51*17],39*91+-2908+-425)&&r[e(306,"n7Q^")](t[-4723*2+3573+5875],37*-131+3*-547+6743))return!0;if(r[e(615,"(kco")](t[e(608,"#*yI")],6)){let n=t[e(328,"lv(Z")](0,6)[e(1027,"JZKQ")](r[e(719,"8pjQ")]);if(r[e(993,"$&ze")](n,r[e(702,"i)7i")])||r[e(851,"e9rC")](n,r[e(669,"ShO2")]))return!0}return r[e(742,"YypP")](t[e(600,"X3DF")],11941+151*-79)&&r[e(789,"3$u9")](t[e(478,"[(4C")](17*-317+-3884*-2+-2379,-7942+-3761*-2+53*8)[e(832,"#9Sq")](r[e(560,"SAtO")]),r[e(826,"2wQi")])&&r[e(460,"JZKQ")](t[e(908,"#9Sq")](-3*168+-2847*-1+1*-2335,3*-3183+-9446+-1*-19007)[e(880,"n7Q^")](r[e(509,"[Gf!")]),r[e(886,"ljNd")])?!0:r[e(705,"ShO2")](t[0],-15059+-25*-605)&&r[e(349,"ljNd")](t[-39*94+7369+1*-3702],-9292*1+-7394+16763*1)}function XXt(t){let e=je,r={EHNBr:function(s,i){return s-i},vQMWz:function(s,i){return s+i},zjEgn:function(s,i){return s<=i},YFRvR:function(s,i){return s===i},lLNrA:function(s,i){return s===i},LlGUD:function(s,i){return s+i},XCfLD:function(s,i){return s===i},jJSbj:function(s,i){return s>=i}},n=Math[e(947,"l#VZ")](r[e(769,"[(4C")](t[e(445,"3GMJ")],5188+-20*259),r[e(341,"3$u9")](fG,-2067*1+-1663*-1+4500));for(let s=1*-2823+699*-13+-11911*-1;r[e(911,"Zbg9")](s,n);s++)if(r[e(974,"[Gf!")](t[r[e(490,"d&OD")](s,1679+-25*67)],119*17+1851+46*-82)&&r[e(954,"&HYM")](t[r[e(834,"3$u9")](s,-2735*2+9936+-4461)],-383*-10+-749*11+4525)&&r[e(892,"9pW6")](t[r[e(392,"JZKQ")](s,-7907+-41*-193)],8577+-1*8737+1*281)&&r[e(780,"lv(Z")](t[r[e(808,"240S")](s,1877*3+8413*-1+2789)],-1*2174+-3449+-1*-5735)){let i=t[e(865,"n7Q^")+"BE"](s);if(r[e(1015,"Noae")](i,9494*-1+5*1034+4*1083))return s}return-(-1*8247+-15*237+11803)}function ZXt(t){let e=je,r={mxZXq:e(734,"tU0H"),QEQdD:function(i,a){return i>a},nZTSw:function(i,a){return i<=a},BItfr:function(i,a){return i+a},ROUhI:function(i,a){return i===a},ABXkX:e(691,"ShO2"),Sqswm:e(283,"n7Q^"),WbGMr:function(i,a){return i+a}},n=Buffer[e(698,"X3DF")](r[e(338,"8pjQ")]),s=t[e(927,"240S")](n,1*4607+-2121*3+251*7);for(;r[e(673,"ljNd")](s,9042+-8347*1+695*-1);){if(r[e(457,"Wk9#")](r[e(1053,"$n0Q")](s,-7055+-2*-2883+1301),t[e(700,"TYG3")])&&r[e(938,"JZKQ")](t[e(1039,"3GMJ")](r[e(776,"(kco")](s,1387+1504*5+-8899),r[e(525,"lv(Z")](s,-227*-14+-1*-7559+-10725))[e(382,"ShO2")](r[e(611,"2wQi")]),r[e(854,"2wQi")]))return s;s=t[e(441,"YypP")](n,r[e(1071,"9pW6")](s,-2293*-4+-102*64+2643*-1))}return-(8986*-1+7*1094+1329)}function eZt(t){let e=je,r={iFAKc:function(s,i){return s-i},ouKNw:function(s,i){return s+i},YHtFY:function(s,i){return s<=i},IYsQY:function(s,i){return s===i},XVnVX:function(s,i){return s===i},wmdRH:function(s,i){return s+i},eySDQ:function(s,i){return s===i}},n=Math[e(473,"d&OD")](r[e(819,"TYG3")](t[e(928,"d&OD")],67*103+9538+16063*-1),r[e(488,"X3DF")](fG,8149+-21*113+-5588));for(let s=-45*-27+-35+3*-393;r[e(1040,"d&OD")](s,n);s++)if(r[e(727,"Noae")](t[s],4797*-2+61*-73+6*2353)&&r[e(592,"f*1G")](t[r[e(936,"#*yI")](s,4269+-26*233+1977*1)],-1*-4468+9845+-14242)&&r[e(475,"Wk9#")](t[r[e(831,"yDy^")](s,376)],6947+6876*-1))return s;return-1}function tZt(t){let e=je,r={AVTDC:function(i,a){return i(a)},LPkLu:function(i,a){return i(a)},ElCRe:e(1042,"OZzu"),LeeRg:function(i,a){return i<=a},KTera:function(i,a){return i>a}};if(!r[e(657,"TYG3")](JXt,t))return 0;let n=[r[e(917,"ZJM)")](XXt,t),t[e(720,"Wk9#")](Buffer[e(402,"CJRF")](r[e(361,"lv(Z")]),1),t[e(798,"$&ze")](Buffer[e(345,"l#VZ")]([3797+3*-1257,49*-52+3*2194+1*-3965,-331*29+2234+7588,-44*-174+-677+-284*24]),-1*-4355+-1*-269+-4623*1),r[e(873,"12Mj")](ZXt,t),r[e(787,"&HYM")](eZt,t)][e(302,"WkTr")](i=>Number[e(984,"$n0Q")](i)&&i>-7451+610*-8+12331);if(!n[e(1028,"240S")])return 1*725+-7674+6949;let s=Math[e(508,"12Mj")](...n);return r[e(818,"ZJM)")](s,8611+-1362*-7+-18145)||r[e(711,"n7Q^")](s,fG)?1871*4+58*-121+-466:s}async function rZt(t){let e=je,r={Qyzqm:e(713,"&HYM")+"r",gMAgW:function(a,o){return a*o},DMEnH:function(a,o){return a+o},gkydC:function(a,o){return a||o},EJpBP:function(a,o){return a-o},FnIvE:function(a,o){return a(o)},msjWh:function(a,o){return a>o},SFMCF:function(a,o){return a>o}};if(!t)return{isMasked:!1,skipBytes:0};let n=await he[e(768,"Noae")](t,{responseType:r[e(378,"(kco")],timeout:r[e(688,"Wk9#")](-4*-1412+451*12+-10060,2564+18*-142),maxContentLength:r[e(1001,"tU0H")](sG,-93*2+7860+-6650),maxBodyLength:r[e(1001,"tU0H")](sG,-2445+119*-17+5492),headers:Object[e(340,"#*yI")]({Cookie:r[e(997,"l#VZ")](Ac,""),Range:e(339,"Z*@(")+r[e(350,"yDy^")](sG,-4521+-977*6+8*1298)},qx)})[e(670,"8pjQ")](a=>{let o=e;return console[o(312,"$n0Q")](a),a[o(590,"X3DF")]||null});if(!n||!n[e(303,"l#VZ")])return{isMasked:!1,skipBytes:0};let s=Buffer[e(1066,"OZzu")](n[e(647,"CJRF")])?n[e(369,"j0Uf")]:Buffer[e(796,"[Gf!")](n[e(638,"9pW6")]),i=r[e(466,"#OOi")](tZt,s);return{isMasked:r[e(330,"j0Uf")](i,321+413*8+-125*29),skipBytes:r[e(500,"i)7i")](i,-12527+-12527*-1)?i:-81*-108+-8249+-499}}async function cG(t,e){let r=je,n={yLyzN:function(o,c){return o||c},kvFka:function(o,c){return o===c},mpMdG:function(o,c){return o(c)}};if(n[r(903,"Wk9#")](!t,!e))return{isMasked:!1,skipBytes:0};let s=lLe[t];if(s&&n[r(444,"i)7i")](s[r(410,"JZKQ")],e))return s;let i=await n[r(405,"YypP")](rZt,e),a={downUrl:e,isMasked:n[r(366,"ljNd")](i[r(1045,"ZJM)")],!0),skipBytes:i[r(909,"SAtO")]||-9379+770*-10+-5693*-3};return lLe[t]=a,a}async function Sk(t,e){let r=je,n={gFKwU:function(c,u){return c(u)},KHMQB:function(c,u){return c==u},lexag:r(531,"2wQi"),GXCKN:function(c,u){return c==u},oYuXL:r(708,"#9Sq"),HIIlb:function(c,u,l,d,f){return c(u,l,d,f)},aymWw:function(c,u){return c(u)},YhhQA:function(c){return c()},qaIdy:function(c,u){return c===u},BjyyT:function(c,u,l,d,f,p){return c(u,l,d,f,p)},deyeU:function(c,u){return c(u)},ueJlj:r(759,"f*1G"),MQTUr:function(c,u,l,d,f,p){return c(u,l,d,f,p)},HoEos:function(c,u){return c(u)},ySkCW:r(301,"&HYM")+r(507,"&HYM"),CSCna:function(c,u){return c==u},GKdmK:r(540,"(kco"),vvzMa:function(c,u,l){return c(u,l)},aZxIN:function(c,u){return c==u},OBcUV:function(c,u,l,d,f,p,m){return c(u,l,d,f,p,m)},EjBPu:function(c,u){return c*u},CJOrV:function(c,u){return c*u}};await n[r(421,"YypP")](kv,t);let s=t[r(792,"ShO2")][r(477,"9pW6")],i=t[r(676,"#*yI")][r(588,"iKSc")],a=t[r(310,"n7Q^")][r(551,"(kco")],o=t[r(579,"(kco")][r(803,"Z*@(")];if(n[r(899,"l#VZ")](s,n[r(504,"e9rC")])){let c="",u=o[r(453,"[(4C")]("*"),l=t[r(990,"j9GU")][r(496,"j9GU")];if(n[r(785,"i)7i")](i,n[r(584,"SAtO")])){!Ek[u[-33*191+-9384+15688]]&&(Ek[u[-9879+241*37+963]]=(await n[r(694,"3$u9")](ALe,a,n[r(535,"9pW6")](decodeURIComponent,u[-4871+-6*1534+25*563]),u[4033*2+-7326*-1+-1*15391],u[-2*-3817+-7834+101*2]))[r(396,"n7Q^")](A=>A[r(1047,"8pjQ")])),c=Ek[u[-7815+5*-669+11161]][r(915,"CJRF")](A=>A[r(881,"Gnm8")][r(633,"e9rC")+"e"]()==l)[-835*-1+6202+-1*7037][r(571,"i)7i")][r(847,"tU0H")],e[r(725,"f*1G")](c);return}else{let A=n[r(398,"$n0Q")](oG),g=n[r(309,"CJRF")](A[r(879,"#*yI")],!0);if(!Lh[u[-1889*2+-7677+-2*-5728]]){let b=g?await n[r(636,"Gnm8")](YXt,a,n[r(271,"n7Q^")](decodeURIComponent,u[0]),u[1],u[2],n[r(314,"&HYM")](l,n[r(639,"$n0Q")])):await n[r(546,"n7Q^")](dG,a,n[r(598,"!SOK")](decodeURIComponent,u[0]),u[1],u[2],n[r(944,"$n0Q")](l,n[r(329,"#9Sq")]));b?.[r(384,"Zbg9")+"rl"]&&(Lh[u[-961*10+-541+-8*-1269]]=b)}if(c=Lh[u[-8921+-93*-10+9*888]]?.[r(495,"e9rC")+"rl"],!c){e[r(1070,"tU0H")](648*-2+-1*-4803+1*-3007),e[r(840,"e9rC")](n[r(493,"i)7i")]);return}if(n[r(280,"ZJM)")](l,n[r(652,"e9rC")])){e[r(324,"2wQi")](c);return}}let d=n[r(724,"8pjQ")](oG),f=d[r(289,"3GMJ")]||-6636+-604*-1+6544,p=d[r(400,"f*1G")]||-11*102+1*9511+-133*63,m=await n[r(409,"g[c@")](cG,u[-1*-6421+-1055*-1+-7475],c),h=m[r(358,"240S")]&&n[r(1007,"ZJM)")](l,n[r(278,"g[c@")])?m[r(617,"#*yI")]:165*-25+-5931+8*1257;return await n[r(499,"g[c@")](Wx,t,e,c,u[-12460+733*17],Object[r(864,"g[c@")]({Cookie:Ac},qx),{chunkSize:n[r(989,"$n0Q")](-27*-201+1*5559+2*-4981,f),poolSize:p,timeout:n[r(998,"12Mj")](11679+59*-181,-1*-9879+-2724+-5*1429),skipBytes:h})}}async function vk(t,e){let r=je,n={HFONW:function(c,u){return c(u)},RTwCI:function(c,u){return c(u)},MnrvB:function(c,u){return c(u)},UaWlf:function(c,u){return c(u)},Dqlpu:r(655,"yDy^"),ioqXy:function(c,u){return c+u},yKaaQ:function(c,u){return c+u},yWKMs:r(334,"TYG3")+"rk",ZBpBN:function(c){return c()},UZdSg:function(c,u){return c===u},wJexX:r(557,"3$u9"),bwcBv:function(c,u,l,d,f){return c(u,l,d,f)},EIhrw:function(c,u,l){return c(u,l)},bjCHJ:function(c,u,l,d,f,p){return c(u,l,d,f,p)},rfqiD:function(c,u,l){return c(u,l)},hJJBh:function(c,u,l,d,f){return c(u,l,d,f)},zNvjz:r(399,"CJRF"),QsCWY:r(578,"Fhs#"),qLHJG:r(449,"j0Uf"),UZlyo:r(777,"9pW6"),ccode:function(c){return c()}};await n[r(406,"X3DF")](kv,t);let s=t[r(970,"X3DF")][r(1049,"8pjQ")],i=t[r(299,"3GMJ")].id,a=i[r(690,"&HYM")]("*"),o=-3873+-1291*-3;if(s[r(983,"y2dz")](await n[r(523,"Z*@(")](dLe,n[r(587,"2wQi")]))){let c=n[r(591,"3GMJ")](n[r(958,"d&OD")](n[r(810,"$&ze")](HXt,t),t[r(1025,"#9Sq")][r(791,"#OOi")]),n[r(530,"l#VZ")]),u={parse:0,url:[],header:Object[r(971,"yDy^")]({Cookie:Ac},qx)};a[6190+-65*-131+14701*-1]&&(u[r(979,"l#VZ")]={subt:c+r(373,"SAtO")+a[-1062*8+-2487+-21*-523]+"/"+n[r(1054,"LY1j")](encodeURIComponent,a[-1*-4021+1583*-2+-854])+"*"+a[-277*-11+-1310+1*-1733]+"*"+a[147*-53+-1752+9548]+r(574,"$&ze")});let l=n[r(308,"#9Sq")](oG),d=n[r(959,"12Mj")](l[r(913,"(kco")],!0),f=u[r(464,"Zbg9")],p=()=>{let y=r;f[y(462,"yDy^")]("\u4EE3\u7406"),f[y(1067,"3$u9")](c+y(572,"Zbg9")+a[0]+"/"+n[y(322,"ShO2")](encodeURIComponent,a[-4140+837*-2+5815*1])+"*"+a[2]+"*"+a[-6898+-4505*-2+-3*703]+y(766,"TYG3"))},m=()=>{let y=r;f[y(284,"ZJM)")]("\u4EE3\u7406"),f[y(930,"OZzu")](c+y(946,"Gnm8")+a[-9576+3*737+7365]+"/"+n[y(1069,"l#VZ")](encodeURIComponent,a[8215+-183*-50+-5788*3])+"*"+a[-250*37+-5472*-1+-21*-180]+"*"+a[2*-776+6*1599+-8039]+y(553,"Fhs#")),f[y(417,"i)7i")]("\u539F\u753B"),f[y(1012,"Zbg9")](c+(y(503,"TYG3")+y(627,"12Mj"))+a[-271*-2+-1*5164+4622]+"/"+n[y(857,"!SOK")](encodeURIComponent,a[1])+"*"+a[3*-1852+-8250+13808]+"*"+a[-923*1+-31*31+1887]+y(788,"9pW6"))};if(d){let y=n[r(1058,"$&ze")](a[0],n[r(281,"[Gf!")])?await n[r(901,"#OOi")](lG,a[2]):await n[r(692,"l#VZ")](hLe,a[0],a[1],a[2],a[3]);if(y?.[r(948,"OZzu")+"rl"])return Lh[a[-28+-1*-6163+-1*6133]]=y,(await n[r(304,"yDy^")](cG,a[418+6*1492+-9368],y[r(942,"[Gf!")+"rl"]))[r(889,"ShO2")]?(n[r(877,"JZKQ")](p),u):(n[r(665,"(kco")](m),u)}if(!Lh[a[-445*1+-1*-2780+-1*2333]]){let y=await n[r(1075,"Fhs#")](dG,a[0],a[1],a[2],a[3],!1);y?.[r(438,"&HYM")+"rl"]&&(Lh[a[-1427*-5+7113+-14246]]=y)}let h=Lh[a[2]]?.[r(793,"9pW6")+"rl"];if(h&&(await n[r(594,"3GMJ")](cG,a[2],h))[r(596,"e9rC")])return n[r(716,"l#VZ")](p),u;let A=(await n[r(353,"lv(Z")](ALe,a[4*-743+9846+1*-6874],a[-2850+1*2851],a[-397*-17+-1904+-1*4843],a[7057*-1+-1*7207+-1*-14267])||[])[r(614,"g[c@")](y=>y[r(268,"3GMJ")]);Ek[a[-1*8051+-9424+17477]]=A;let g=["\u8D85\u6E05","\u84DD\u5149","\u9AD8\u6E05","\u6807\u6E05","\u666E\u753B","\u6781\u901F"],b=["4k","2k",n[r(924,"[(4C")],n[r(321,"2wQi")],n[r(544,"3GMJ")],n[r(978,"yDy^")]];return n[r(895,"3$u9")](m),A[r(411,"ShO2")](y=>{let x=r;o=b[x(686,"OZzu")](y[x(320,"[Gf!")]),f[x(526,"JZKQ")](g[o]),f[x(848,"tU0H")](c+x(618,"OZzu")+y[x(771,"ShO2")][x(1e3,"&HYM")+"e"]()+"/"+a[3663+-1054*3+-501]+"/"+n[x(1048,"Gnm8")](encodeURIComponent,a[5*-1165+-3*2572+-2257*-6])+"*"+a[2]+"*"+a[4127+28*130+-1*7764]+x(994,"#OOi"))}),u}}var bl=Re(Jn(),1);var R4e=Re(v0(),1),Xd=Re(Jn(),1);var $k="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",Vv={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},w4e={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},ytr=async t=>{let e=Xd.default.enc.Hex.stringify(Xd.default.MD5(t.config.uc.cookie)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},xtr=async(t,e)=>{let r=Xd.default.enc.Hex.stringify(Xd.default.MD5(t.config.uc.cookie)).toString();await t.db.push(`/uc/${r}`,e)},nV=async t=>{let e=Xd.default.enc.Hex.stringify(Xd.default.MD5(t.config.uc.ut)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},sV=async(t,e)=>{let r=Xd.default.enc.Hex.stringify(Xd.default.MD5(t.config.uc.ut)).toString();await t.db.push(`/uc/${r}`,e)};async function iV(t){t.get("/qrcode",async(r,n)=>{try{let s=await Ae.get(`https://api.open.uc.cn/cas/ajax/getTokenForQrcodeLogin?client_id=381&v=1.2&request_id=${Date.now()}`,{headers:{"User-Agent":$k,referer:"https://drive.uc.cn"}}),i=s.data.data.members.token,a=hl(s.headers["set-cookie"]),o=w4e.encode({token:i,cookies:a}),c=`https://su.uc.cn/1_n0ZCv?uc_param_str=dsdnfrpfbivesscpgimibtbmnijblauputogpintnwktprchmt&token=${i}&client_id=381&uc_biz_str=S%3Acustom%7CC%3Atitlebar_fix`,u=await R4e.default.toBuffer(c,{width:300,height:300});n.header("X-Session-Key",o),n.send(u)}catch(s){console.error("UC\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",s),n.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=w4e.decode(s);if(!i)return n.send({code:0,data:{status:Vv.EXPIRED}});let{token:a,cookies:o}=i;try{let c=await Ae.get(`https://api.open.uc.cn/cas/ajax/getServiceTicketByQrcodeToken?__t=${Date.now()}&token=${a}&client_id=381&v=1.2&request_id=${Date.now()}`,{headers:{"User-Agent":$k}});if(c.data.status===2e6){let u=await e(c.data.data.members.service_ticket,o);n.send({code:0,data:{status:Vv.CONFIRMED,cookie:u}})}else c.data.status===50004002?n.send({code:0,data:{status:Vv.EXPIRED}}):n.send({code:0,data:{status:Vv.NEW}})}catch(c){console.error("UC\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),n.send({code:0,data:{status:Vv.NEW}})}});async function e(r,n){let s=[...n],i=await Ae.get(`https://drive.uc.cn/account/info?st=${r}&fr=pc&platform=pc`,{headers:{"User-Agent":$k,Cookie:s.join(""),referer:"https://drive.uc.cn"}});i.headers["set-cookie"]&&(s=s.concat(hl(i.headers["set-cookie"])));let a=await Ae.post("https://pc-api.uc.cn/1/clouddrive/transfer/upload/pdir?pr=UCBrowser&fr=pc",{},{headers:{"User-Agent":$k,Cookie:s.join("")}});return a.headers["set-cookie"]&&(s=s.concat(hl(a.headers["set-cookie"]))),s.join("")}t.post("/cookie",(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await ytr(r.server)})}),t.put("/cookie",async(r,n)=>{await xtr(r.server,r.body.cookie),n.send({code:0})}),t.get("/ut",async(r,n)=>{n.send({code:0,data:await nV(r.server)})}),t.put("/ut",async(r,n)=>{await sV(r.server,r.body.ut),n.send({code:0})})}var bc={DeviceID:"07b48aaba8a739356ab8107b5e230ad4",RefreshToken:"",AccessToken:""},Cs={api:"https://open-api-drive.uc.cn",clientID:"5acf882d27b74502b7040b0c65519aa7",signKey:"l3srvtd7p42l0d0x1u8d7yc8ye9kki4d",appVer:"1.6.8",channel:"UCTVOFFICIALWEB",codeApi:"http://api.extscreen.com/ucdrive"};function D4e(t){return String(t||"").split(",")[0].trim()}function N4e(t){return D4e(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function btr(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=N4e(t?.headers?.["x-forwarded-host"])||N4e(t?.headers?.host);if(!n)return e;let s=D4e(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http";return`${s||String(t?.protocol||"").trim()||i}://${n}`}function Etr(t){return bl.default.MD5(t).toString().slice(0,16)}function Kv(t,e){return bl.default.MD5(t+e).toString().slice(0,16)}function jk(t,e,r,n){let s=t+"&"+e+"&"+r+"&"+n;return bl.default.SHA256(s).toString()}function k4e(t){let r=/https:\/\/drive\.uc\.cn\/s\/([^\\|#/?]+)/.exec(t);return r?{shareId:r[1],folderId:"0"}:null}var El="pr=UCBrowser&fr=pc",cV={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) uc-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch",Referer:"https://drive.uc.cn"},zv=null,Uk=null,oV="https://pc-api.uc.cn/1/clouddrive/",Zd="",uV="",L4e="",C0={},O4e="CatVodOpen",qh=null,Fk="";async function B4e(t){zv=t.server.db;let e=t.server.config.uc;Zd=e.cookie,Uk=bl.default.enc.Hex.stringify(bl.default.MD5(e.cookie)).toString(),uV=bl.default.enc.Hex.stringify(bl.default.MD5(e.token)).toString(),L4e=bl.default.enc.Hex.stringify(bl.default.MD5(e.ut)).toString();let r=await zv.getObjectDefault("/uc",{});if(r[Uk]&&(Zd=r[Uk]),Fk=await nV(t.server),!Fk)try{await he.get(`${oV}/file`)}catch(n){n?.response?.data?.length&&(Fk=n.response.data,sV(t.server,Fk))}}async function fu(t,e,r,n,s){r=r||{},Object.assign(r,cV),Object.assign(r,{Cookie:Zd||""}),n=n||"post";let i=n=="get"?await he.get(`${oV}/${t}`,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&messageToDart({action:"toast",opt:{message:"UC token\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),o.response||{status:500,data:{}})):await he.post(`${oV}/${t}`,e,{headers:r}).catch(o=>(console.error(o),o?.response?.status===401&&messageToDart({action:"toast",opt:{message:"UC token\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),o.response||{status:500,data:{}})),a=s||3;if(i.headers["set-cookie"]){let o=i.headers["set-cookie"].join(";;;").match(/__puus=([^;]+)/);o&&Zd.match(/__puus=([^;]+)/)[1]!=o[1]&&(Zd=Zd.replace(/__puus=[^;]+/,`__puus=${o[1]}`),await zv.push(`/uc/${Uk}`,Zd))}return i.status===429&&a>0?(await Gd(1e3),await fu(t,e,r,n,a-1)):i.data||{}}async function P4e(){let t=await fu(`file/sort?${El}&pdir_fid=${qh}&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(t.data&&t.data.list&&t.data.list.length>0){let e=await fu(`file/delete?${El}`,{action_type:2,filelist:t.data.list.map(r=>r.fid),exclude_fids:[]});console.log(e)}}async function _tr(t){if(qh){t&&await P4e();return}let e=await fu(`file/sort?${El}&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`,{},{},"get");if(e.data&&e.data.list){for(let r of e.data.list)if(r.file_name===O4e){qh=r.fid,await P4e();break}}if(!qh){let r=await fu(`file?${El}`,{pdir_fid:"0",file_name:O4e,dir_path:"",dir_init_lock:!1});console.log(r),r.data&&r.data.fid&&(qh=r.data.fid)}}async function M4e(t){if(!C0[t.shareId]){delete C0[t.shareId];let e=await fu(`share/sharepage/token?${El}`,{pwd_id:t.shareId,passcode:t.sharePwd||""});e.data&&e.data.stoken&&(C0[t.shareId]=e.data)}}var Str=[".srt",".ass",".scc",".stl",".ttml"];async function vtr(t){let e=typeof t=="string"?k4e(t):t;if(!e)return[];if(await M4e(e),!C0[e.shareId])return[];let r=[],n=[],s=(a,o)=>a?`${a}/${o}`:o,i=async function(a,o,c,u){let l=u||"",d=100;c=c||1;let f=await fu(`share/sharepage/detail?${El}&pwd_id=${a}&stoken=${encodeURIComponent(C0[a].stoken)}&pdir_fid=${o}&force=0&_page=${c}&_size=${d}&_sort=file_type:asc,file_name:asc`,{},{},"get");if(!f.data)return[];let p=f.data.list;if(!p)return[];let m=[];for(let h of p)if(h.dir===!0)m.push({fid:h.fid,path:s(l,h.file_name)});else if(h.file===!0&&h.obj_category==="video"){if(h.size<1024*1024*5)continue;h.stoken=C0[e.shareId].stoken,h.vod_group=l,r.push(h)}else h.type==="file"&&Str.some(A=>h.file_name.endsWith(A))&&n.push(h);if(c<Math.ceil(f.metadata._total/d)){let h=await i(a,o,c+1,l);for(let A of h)p.push(A)}for(let h of m){let A=await i(a,h.fid,1,h.path);for(let g of A)p.push(g)}return p};return await i(e.shareId,e.folderId,1,""),n.length>0&&r.forEach(a=>{var o=ml(a,n);o.bestMatch&&(a.subtitle=o.bestMatch.target)}),r}var ef={};async function W4e(t,e,r,n,s){if(await _tr(s),s){let a=Object.keys(ef);for(let o of a)delete ef[o]}if(!qh||!e&&(await M4e({shareId:t}),!C0[t]))return null;let i=await fu(`share/sharepage/save?${El}`,{fid_list:[r],fid_token_list:[n],to_pdir_fid:qh,pwd_id:t,stoken:e||C0[t].stoken,pdir_fid:"0",scene:"link"});if(i.data&&i.data.task_id){let a=0;for(;;){let o=await fu(`task?${El}&task_id=${i.data.task_id}&retry_index=${a}`,{},{},"get");if(o.data&&o.data.save_as&&o.data.save_as.save_as_top_fids&&o.data.save_as.save_as_top_fids.length>0)return o.data.save_as.save_as_top_fids[0];if(a++,a>5)break;await Gd(1e3)}}return!1}async function $4e(t,e,r,n){if(!ef[r]){let i=await W4e(t,e,r,n,!0);if(!i)return null;ef[r]=i}let s=await fu(`file/v2/play?${El}`,{fid:ef[r],resolutions:"normal,low,high,super,2k,4k",supports:"fmp4"});return s.data&&s.data.video_list?s.data.video_list:null}async function Ctr(t,e,r,n,s){if(!ef[r]){let c=await W4e(t,e,r,n,s);if(!c)return null;ef[r]=c}let i=await zv.getObjectDefault("/uc",{}),a=i[uV],o=i[L4e];if(a){let c=[],u="/file",l=Math.floor(Date.now()/1e3).toString()+"000",d=bc.DeviceID||Etr(l),f=Kv(d,l),p=jk("GET",u,l,Cs.signKey),m={method:"GET",url:"https://open-api-drive.uc.cn/file",params:{req_id:f,access_token:a,app_ver:Cs.appVer,device_id:d,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Cs.channel,method:"streaming",group_by:"source",fid:ef[r],resolution:"low,normal,high,super,2k,4k",support:"dolby_vision"},headers:{"User-Agent":"Mozilla/5.0 (Linux; U; Android 9; zh-cn; RMX1931 Build/PQ3A.190605.05081124) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1",Connection:"Keep-Alive","Accept-Encoding":"gzip","x-pan-tm":l,"x-pan-token":p,"content-type":"text/plain;charset=UTF-8","x-pan-client-id":Cs.clientID}},h=await Ae.request(m);if(h.status===200){let A=h.data.data.video_info.filter(g=>g.accessable)[0];return A.download_url=A.url,A}}else{let c=`file/download?${El}`;o&&(c+=`&ut=${o}`);let u=await fu(c,{fids:[ef[r]]});if(u.data)return u.data[0]}return null}async function F4e(t){if(mk(t)){let e=k4e(t);if(e){let r=await vtr(e);return r=r.map(n=>({vod_id:[e.shareId,n.stoken,n.fid,n.share_fid_token,n.subtitle?n.subtitle.fid:"",n.subtitle?n.subtitle.share_fid_token:""].join("*"),vod_name:n.file_name,vod_size:n.size,vod_group:n.vod_group})),Os(getPanName("uc"),r)}else return{}}}var qk={},aV={};async function U4e(t,e){let r=t.params.site,n=t.params.what,s=t.params.shareId,i=t.params.fileId;if(await B4e(t),r=="uc"){let a="",o=i.split("*"),c=t.params.flag;if(n=="trans"){qk[o[1]]||(qk[o[1]]=(await $4e(s,decodeURIComponent(o[0]),o[1],o[2])).filter(p=>p.accessable)),a=qk[o[1]].filter(p=>p.resolution.toLowerCase()==c)[0].video_info.url,e.redirect(a);return}else{if(!aV[o[1]]){let p=await Ctr(s,decodeURIComponent(o[0]),o[1],o[2],c=="down");p&&(aV[o[1]]=p)}if(a=aV[o[1]].download_url,c=="redirect"){e.redirect(a);return}}let l=(globalThis.Pans||[]).find(p=>p.key==="uc")||{},d=l.chunkSize||512,f=l.poolSize||10;return await Wx(t,e,a,o[1],Object.assign({Cookie:Zd},cV),{chunkSize:1024*d,poolSize:f,timeout:1e3*10})}}async function q4e(t,e){let r=t.body.flag,s=t.body.id.split("*");await B4e(t);let i=0;if(r.startsWith(getPanName("uc"))){let a=(await $4e(s[0],s[1],s[2],s[3])).filter(A=>A.accessable);qk[s[2]]=a;let o=[],c=["\u8D85\u6E05","\u84DD\u5149","\u9AD8\u6E05","\u6807\u6E05","\u666E\u753B","\u6781\u901F"],u=["4k","2k","super","high","low","normal"],l=btr(t)+t.server.prefix+"/proxy/uc",f=(await zv.getObjectDefault("/uc",{}))[uV],p=["\u4EE3\u7406",`${l}/src/down/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.bin`],m=["\u539F\u753B",`${l}/src/redirect/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.bin`];f?o.push(...m,...p):o.push(...p,...m);let h={parse:0,url:o,header:Object.assign({Cookie:Zd},cV)};return f&&(h.header=void 0),s[3]&&(h.extra={subt:`${l}/src/subt/${s[0]}/${encodeURIComponent(s[1])}*${s[4]}*${s[5]}/.bin`}),a.forEach(A=>{i=u.indexOf(A.resolution),o.push(c[i]),o.push(`${l}/trans/${A.resolution.toLowerCase()}/${s[0]}/${encodeURIComponent(s[1])}*${s[2]}*${s[3]}/.mp4`)}),h}}var Gh=Re(nC(),1),c6e=Re(QMe(),1),N0=Re(require("crypto"),1);var kV,tb={},w0={set(t,e){tb[t]=e,kV.push(`/tyi/${t}`,e)},get(t){return tb[t]}},GMe=(t,e={})=>{let r=e.method||"GET",n=e.headers||{};return Ae({method:r,url:t,headers:n,transformResponse:[s=>s]}).then(s=>({ok:s.status===200,status:s.status,statusText:s.statusText,url:s.config.url,text:()=>Promise.resolve(s.data),json:()=>Promise.resolve(JSON.parse(s.data)),headers:s.headers})).catch(s=>s.response?{ok:!1,status:s.response.status,statusText:s.response.statusText,url:s.config.url,text:()=>Promise.resolve(s.response.data),json:()=>Promise.resolve(JSON.parse(s.response.data)),headers:s.response.headers}:s.request?{ok:!1,status:0,statusText:"No response received",text:()=>Promise.resolve(""),json:()=>Promise.reject(new Error("No response received"))}:Promise.reject(s))},LV=(0,c6e.default)({storeAsString:!0}),onr=(t,e)=>t?`${t}/${e}`:e,VMe="video",sL="cas",cnr=new Set([sL]),unr=new Set(["mp4","m4v","mkv","avi","mov","flv","ts","m2ts","m3u8","mpd","webm","wmv","rmvb","rm","f4v","m4s"]),zMe="02",tL="8025431004",KMe="10020",lnr="6.2",sC="https://cloud.189.cn",iC="https://open.e.189.cn",Qi="https://api.cloud.189.cn",rL="https://upload.cloud.189.cn",YMe="https://m.cloud.189.cn/zhuanti/2020/loginErrorPc/index.html",dnr="web_cloud.189.cn",Ec={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd"},nL="MyCatPaw",OV={"User-Agent":Ec["User-Agent"],Accept:"text/plain,application/json;charset=UTF-8,*/*","Accept-Encoding":Ec["Accept-Encoding"]},fnr=new Set(["UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_VERIFY_FIRST_CERTIFICATE","SELF_SIGNED_CERT_IN_CHAIN","DEPTH_ZERO_SELF_SIGNED_CERT","CERT_HAS_EXPIRED","ERR_TLS_CERT_ALTNAME_INVALID"]);function pnr(t){let e=new Map;return String(t||"").split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n<=0)return;let s=r.slice(0,n).trim(),i=r.slice(n+1).trim();s&&e.set(s,i)}),e}function PV(t,e){let r=pnr(t);return(Array.isArray(e)?e:e?[e]:[]).forEach(s=>{let i=String(s||"").split(";")[0].trim();if(!i)return;let a=i.indexOf("=");if(a<=0)return;let o=i.slice(0,a).trim(),c=i.slice(a+1).trim();o&&r.set(o,c)}),Array.from(r.entries()).map(([s,i])=>`${s}=${i}`).join("; ")}function JMe(){return{clientType:"TELEPC",version:lnr,channelId:dnr,rand:`${Math.floor(Math.random()*1e5)}_${Math.floor(Math.random()*1e10)}`}}function mnr(t){let e=String(t?.code||"").trim().toUpperCase(),r=String(t?.message||"").trim();return fnr.has(e)||/unable to verify the first certificate|self[ -]signed certificate|certificate/i.test(r)}async function R0(t,e=""){try{return await Ae(t)}catch(r){if(!mnr(r))throw r;return r?.code,r?.message||String(r),Wt(t?.url||"",260),await he({...t,proxy:!1})}}function hnr(){return new Date().toUTCString()}function gnr(t,e){let r=new URLSearchParams;Object.keys(t||{}).sort().forEach(s=>{let i=t[s];i!=null&&r.append(s,String(i))});let n=N0.default.createCipheriv("aes-128-ecb",Buffer.from(String(e||"").slice(0,16),"utf8"),null);return n.setAutoPadding(!0),Buffer.concat([n.update(r.toString(),"utf8"),n.final()]).toString("hex").toUpperCase()}function Anr(t,e,r,n,s,i=""){let a=new URL(n).pathname,o=`SessionKey=${e}&Operate=${r.toUpperCase()}&RequestURI=${a}&Date=${s}${i?`¶ms=${i}`:""}`;return N0.default.createHmac("sha1",Buffer.from(String(t||""),"utf8")).update(o,"utf8").digest("hex").toUpperCase()}function XMe(t,e){return N0.default.publicEncrypt({key:t,padding:N0.default.constants.RSA_PKCS1_PADDING},Buffer.from(String(e||""),"utf8")).toString("hex").toUpperCase()}function Er(t,e){let r=String(t||"").match(new RegExp(`<${e}>([\\s\\S]*?)</${e}>`,"i"));return r?r[1].trim():""}function ZMe(t){let e=Number(t||0),r=1024*1024*10;return e>r*2*999?Math.max(Math.ceil(e/1999/r),5)*r:e>r*999?r*2:r}function ma(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)}catch{return String(t)}}function fa(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let i=r.res_code??r.ResCode??"",a=r.res_message??r.ResMessage??"";if(typeof i=="number"&&i!==0||typeof i=="string"&&i)return`res_code=${i}${a?` ${a}`:""}`.trim();let o=r.code||r.errorCode||"",c=r.message||r.msg||r.errorMsg||r.error||"";if(o&&o!=="SUCCESS"&&o!=="0")return`code=${o}${c?` ${c}`:""}`.trim();if(!o&&c)return String(c)}let n=Er(e,"code"),s=Er(e,"message")||Er(e,"msg");return n&&n!=="SUCCESS"&&n!=="0"?`code=${n}${s?` ${s}`:""}`.trim():""}function ynr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e);if(r&&typeof r=="object"&&!Array.isArray(r)&&(r.sessionKey||r.sessionSecret||r.accessToken))return r;if(!e||e[0]!=="<")return null;let n=["loginName","sessionKey","sessionSecret","familySessionKey","familySessionSecret","accessToken","refreshToken","isSaveName","keepAlive","getFileDiffSpan","getUserInfoSpan"],s={};return n.forEach(i=>{let a=Er(e,i);a&&(s[i]=a)}),s.sessionKey&&s.sessionSecret?s:null}function e6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e);return r&&typeof r=="object"&&!Array.isArray(r)&&r.data&&typeof r.data=="object"?r.data:null}function t6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e);return r&&typeof r=="object"&&!Array.isArray(r)&&r.file&&typeof r.file=="object"?r.file:null}function r6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e),n=String(r?.fileDownloadUrl||"");return n||Er(e,"fileDownloadUrl")}function xnr(t){if(t&&typeof t=="object"&&!Array.isArray(t))return t;let e=ma(t).trim();if(!e)return null;try{return LV.parse(e)}catch{return vo(e)}}function n6e(t,e){let r=String(t||""),n=new RegExp(`<${e}>([\\s\\S]*?)</${e}>`,"ig"),s=[],i;for(;(i=n.exec(r))!==null;){let a=i[1],o=Er(a,"icon"),c={id:Er(a,"id"),parentId:Er(a,"parentId"),name:_c(Er(a,"name")),size:Number(Er(a,"size")||0),md5:Er(a,"md5"),fileCata:Er(a,"fileCata"),mediaType:Er(a,"mediaType"),createDate:Er(a,"createDate"),lastOpTime:Er(a,"lastOpTime"),icon:o?{smallUrl:_c(Er(o,"smallUrl")),largeUrl:_c(Er(o,"largeUrl")),max600:_c(Er(o,"max600")),mediumUrl:_c(Er(o,"mediumUrl"))}:void 0};Object.keys(c).forEach(u=>{(c[u]===""||c[u]===void 0)&&delete c[u]}),(c.id!==void 0||c.name)&&s.push(c)}return s}function bnr(t){let e=ma(t).trim(),r=xnr(t)||{},n=r?.fileListAO||r?.data?.fileListAO||{},s=Array.isArray(n?.folderList)?n.folderList:[],i=Array.isArray(n?.fileList)?n.fileList:[];if(s.length===0&&i.length===0&&e.startsWith("<")){let a=Er(e,"fileList")||e;s=n6e(a,"folder"),i=n6e(a,"file")}return{count:Number(n?.count||Er(e,"count")||s.length+i.length||0),folderList:s,fileList:i,data:r}}function s6e(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e),n=String(r?.taskId||r?.taskID||"");return n||Er(e,"taskId")||Er(e,"taskID")}function Enr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e),n=r?.taskStatus??r?.TaskStatus??"";if(n!==""&&n!==void 0&&n!==null)return Number(n);let s=Er(e,"taskStatus")||Er(e,"TaskStatus");return s?Number(s):0}function _nr(t){let e=ma(t).trim(),r=t&&typeof t=="object"&&!Array.isArray(t)?t:vo(e),n=i=>Array.isArray(i)?i.filter(Boolean):i&&typeof i=="object"?[i]:[],s=n(r?.familyInfoResp);if(s.length===0&&(s=n(r?.data?.familyInfoResp)),s.length===0&&e.startsWith("<")&&(s=(String(e).match(/<familyInfoResp>([\s\S]*?)<\/familyInfoResp>/ig)||[]).map(a=>({familyId:Er(a,"familyId"),remarkName:Er(a,"remarkName"),useFlag:Er(a,"useFlag"),userRole:Er(a,"userRole")})).filter(a=>String(a?.familyId||"")),s.length===0)){let a=Er(e,"familyId");a&&(s=[{familyId:a,remarkName:Er(e,"remarkName"),useFlag:Er(e,"useFlag"),userRole:Er(e,"userRole")}])}return s.map(i=>({familyId:String(i?.familyId||i?.familyID||""),remarkName:String(i?.remarkName||""),useFlag:Number(i?.useFlag||0),userRole:Number(i?.userRole||0)})).filter(i=>i.familyId)}function u6e(t){let e=String(t||"").trim().toLowerCase(),r=e.lastIndexOf(".");return r>=0?e.slice(r+1):""}function Snr(t){return cnr.has(u6e(t))}function vo(t){let e=typeof t=="string"?t.trim():"";if(!e||!/^[\[{]/.test(e))return null;try{return JSON.parse(e)}catch{return null}}function _c(t){return String(t??"").replace(/&/gi,"&").replace(/</gi,"<").replace(/>/gi,">").replace(/"/gi,'"').replace(/'/gi,"'")}function Cl(t){let e=_c(t).trim();return e?/^\/\//.test(e)?`http:${e}`:/^(https?:\/\/)/i.test(e)?e:"":""}function vnr(t){return _c(t).replace(/([?&](?:sig|sk|token|expired)=)[^&<\s]+/ig,"$1***").replace(/(SSON=)[^;]+/ig,"$1***").replace(/(OPENINFO=)[^;]+/ig,"$1***").replace(/(JSESSIONID=)[^;]+/ig,"$1***").replace(/(COOKIE_LOGIN_USER=)[^;]+/ig,"$1***")}function Wt(t,e=220){let r=vnr(String(t??"")).replace(/\s+/g," ").trim();return r.length>e?`${r.slice(0,e)}...`:r}function eb(t){if(!t)return"none";let e=String(t).split(";").map(r=>r.split("=")[0].trim()).filter(Boolean);return`${e.slice(0,5).join(",")}${e.length>5?`,+${e.length-5}`:""}`}function pa(t){try{let e=Cl(t);return e?new URL(e).host:""}catch{return""}}function Cnr(t){try{let e=Cl(t);return e?u6e(new URL(e).pathname):""}catch{return""}}function i6e(t){return unr.has(Cnr(t))}function Inr(t){let r=String(t||"").match(/\/(\d+)$/);if(!r)return 0;let n=Number(r[1]);return Number.isFinite(n)?n:0}function Tnr(t){let e=String(t||"").replace(/\s+/g,"").trim();if(!e||e.length<24||e.length%4!==0||/[^A-Za-z0-9+/=]/.test(e))return null;try{let r=Buffer.from(e,"base64").toString("utf8").trim(),n=vo(r);return!n||typeof n!="object"||Array.isArray(n)||!n.md5&&!n.sliceMd5&&!n.create_time?null:{raw:r,data:n}}catch{return null}}function DV(t){return!t||typeof t!="object"?{}:{name:t.name||"",size:t.size||0,md5:t.md5||"",sliceMd5:t.sliceMd5||"",create_time:t.create_time||""}}function a6e(t){let e=String(t??"");try{return decodeURIComponent(e.replace(/\+/g,"%20"))}catch{return e}}function wnr(t){let e=String(t??"");try{return decodeURIComponent(e)}catch{return e}}function Rnr(t,e=""){let r=String(t||"").trim(),s=wnr(r)||r,i={shareCode:"",accessCode:String(e||"").trim()},a=s.match(/https?:\/\/cloud\.189\.cn\/web\/share\?code=([^&#\s\uFF08(]+)/i),o=s.match(/https?:\/\/cloud\.189\.cn\/t\/([^?&#\s\uFF08(]+)/i);if(a?.[1]?i.shareCode=a[1]:o?.[1]?i.shareCode=o[1]:/^https?:\/\//i.test(s)||(i.shareCode=s.split(/[\s\uFF08(]/)[0]),!i.accessCode){let c=s.match(/(?:访问ç |æå–ç |密ç )\s*[::]\s*([a-zA-Z0-9]+)/);i.accessCode=c?.[1]||""}return i}function l6e(t){let e=String(t||"").trim();if(!e)return null;let r=vo(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let s={};return Object.keys(r).forEach(i=>{let a=r[i];if(a==null)return;let o=String(i).trim(),c=String(a).trim();o&&c&&(s[o]=c)}),Object.keys(s).length>0?s:null}let n={};return e.split(/[&;]/).forEach(s=>{let[i,...a]=s.split("=");if(!i||a.length===0)return;let o=a6e(i.trim()),c=a6e(a.join("=").trim());o&&c&&(n[o]=c)}),Object.keys(n).length>0?n:null}function Nnr(t,e){let r=Cl(e);r&&!t.includes(r)&&t.push(r)}function aC(t,e=[],r=0){if(!t||r>4)return e;if(typeof t=="string")return Nnr(e,t),e;if(Array.isArray(t))return t.forEach(i=>aC(i,e,r+1)),e;if(typeof t!="object")return e;let n=["downloadUrl","downloadURL","fileDownloadUrl","fileDownloadURL","contentUrl","contentURL","redirectUrl","redirectURL","sourceUrl","sourceURL","location","url"];for(let i of n)i in t&&aC(t[i],e,r+1);if(e.length>0)return e;let s=["data","result","normal","file","download","downloadInfo"];for(let i of s)i in t&&aC(t[i],e,r+1);return e}function o6e(t){let e=String(t||"").trim();if(!e)return null;let r=e.indexOf("|"),n=r>=0?e.slice(0,r).trim():e,s=r>=0?e.slice(r+1).trim():"",i=Cl(n);if(i){let c=l6e(s);return c?{url:i,header:c}:{url:i}}let a=_c(e).match(/((?:https?:)?\/\/[^<\s]+)/i);if(!a)return null;let o=Cl(a[1]);return o?{url:o}:null}function Zx(t){let e=String(t||"").replace(/^\uFEFF/,"").trim();if(!e||/^<!doctype html/i.test(e)||/^<html/i.test(e))return null;let r=vo(e);if(r&&typeof r=="object"&&!Array.isArray(r)){let n=Cl(r.url);if(n){let s=l6e(r.header||r.headers);return s?{url:n,header:s}:{url:n}}}for(let n of e.split(/\r?\n/)){let s=n.trim();if(!s||s.startsWith("#"))continue;let i=o6e(s);if(i)return i}return o6e(e)}var BV=class{publicKey=null;setPublicKey(e){this.publicKey=e}encrypt(e){let r=Buffer.from(e,"utf8");return N0.default.publicEncrypt({key:this.publicKey,padding:N0.default.constants.RSA_PKCS1_PADDING},r).toString("base64")}},rb=async t=>{kV=t.server.db,tb=await kV.getObjectDefault("/tyi",{}),tb?.cloud_account,tb?.cloud_password,eb(tb?.cloud_cookie)},MV=class{constructor(){this.regex=/https?:\/\/cloud\.189\.cn\/web\/share\?code=([^&]+)/,this.config={clientId:"538135150693412",model:"KB2000",version:"9.0.6",pubKey:"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZLyV4gHNDUGJMZoOcYauxmNEsKrc0TlLeBEVVIIQNzG4WqjimceOj5R9ETwDeeSN3yejAKLGHgx83lyy2wBjvnbfm/nLObyWwQD/09CmpZdxoFYCH6rdDjRpwZOZ2nXSZpgkZXoOBkfNXNxnN74aXtho2dqBynTw3NFTWyQl8BQIDAQAB"},this.headers={"User-Agent":`Mozilla/5.0 (Linux; U; Android 11; ${this.config.model} Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 Ecloud/${this.config.version} Android/30 clientId/${this.config.clientId} clientModel/${this.config.model} clientChannelId/qq proVersion/1.0.6`,Referer:"https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=1","Accept-Encoding":"gzip, deflate"},this.api="https://cloud.189.cn/api",this.shareCode="",this.accessCode="",this.shareId="",this.shareMode="",this.isFolder="",this.index=0,this.shareFileCache=new Map,this.lastShareTextResolveReason="",this.pcLoginState=null,this.pcRestoreFolderId="",this.pcFamilyRestoreFolderId="",this.pcFamilyId=""}setShareTextResolveReason(e=""){this.lastShareTextResolveReason=String(e||"")}getShareTextResolveReason(){return this.lastShareTextResolveReason||""}getShareFileCacheKey(e,r){return`${r||""}:${e||""}`}cacheShareFileItem(e,r,n,s={}){!e||!r||!n||typeof n!="object"||this.shareFileCache.set(this.getShareFileCacheKey(e,r),{...n,...s})}getCachedShareFileItem(e,r){return this.shareFileCache.get(this.getShareFileCacheKey(e,r))||null}async init(){this.account&&console.log("\u5929\u7FFC\u8D26\u53F7\u83B7\u53D6\u6210\u529F\uFF1A"+this.account),this.password&&console.log("\u5929\u7FFC\u5BC6\u7801\u83B7\u53D6\u6210\u529F\uFF1A"+this.password),this.cookie?console.log("\u5929\u7FFCcookie\u83B7\u53D6\u6210\u529F"+this.cookie):w0.set("cloud_cookie",await this.login(this.account,this.password))}get account(){return w0.get("cloud_account")}get password(){return w0.get("cloud_password")}get cookie(){return w0.get("cloud_cookie")}async login(e,r){try{let n=await Ae.post("https://open.e.189.cn/api/logbox/config/encryptConf.do?appId=cloud"),s=n.data.data.pubKey;n=await Ae.get("https://cloud.189.cn/api/portal/loginUrl.action?redirectURL=https://cloud.189.cn/web/redirect.html?returnURL=/main.action");let i=n.request.path.match(/reqId=(\w+)/)[1],o={"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/76.0",Referer:"https://open.e.189.cn/",Lt:n.request.path.match(/lt=(\w+)/)[1],Reqid:i},c={version:"2.0",appKey:"cloud"};n=await Ae.post("https://open.e.189.cn/api/logbox/oauth2/appConf.do",Gh.default.stringify(c),{headers:o});let u=n.data.data.returnUrl,l=n.data.data.paramId,d=`-----BEGIN PUBLIC KEY-----
|
|
${s}
|
|
-----END PUBLIC KEY-----`,f=new BV;f.setPublicKey(d);let p=Buffer.from(f.encrypt(e),"base64").toString("hex"),m=Buffer.from(f.encrypt(r),"base64").toString("hex");if(c={appKey:"cloud",version:"2.0",accountType:"01",mailSuffix:"@189.cn",validateCode:"",returnUrl:u,paramId:l,captchaToken:"",dynamicCheck:"FALSE",clientType:"1",cb_SaveName:"0",isOauth2:!1,userName:`{NRP}${p}`,password:`{NRP}${m}`},n=await Ae.post("https://open.e.189.cn/api/logbox/oauth2/loginSubmit.do",Gh.default.stringify(c),{headers:o,validateStatus:null}),n.data.toUrl){let h=n.headers["set-cookie"].map(A=>A.split(";")[0]).join(";");n=await Ae.get(n.data.toUrl,{headers:{...this.headers,Cookie:h},maxRedirects:0,validateStatus:null}),h+="; "+n.headers["set-cookie"].map(A=>A.split(";")[0]).join(";"),w0.set("cloud_cookie",h)}else console.error("Error during login:",n.data)}catch(n){console.error("Error during login:",n)}}async getShareID(e,r,n){let s=n||this,i=Rnr(e,r);s.shareCode=i.shareCode,s.accessCode=i.accessCode}async getShareData(e,r){let n={},s={},i=await this.getShareInfo(e,r,n);if(i){let c=await this.getShareList(i,"",n);c&&Array.isArray(c)?await Promise.all(c.map(async u=>{let l=u.path||u.name;l in s||(s[l]=[]);let d=await this.getShareFile(u.id,n);d&&d.length>0&&s[l].push(...d)})):s.root=await this.getShareFile(i,n)}for(let c in s)s[c].length===0&&delete s[c];i&&Object.keys(s).length===0&&(s.root=await this.getShareFile(i,n),s.root&&Array.isArray(s.root)&&(s.root=s.root.filter(c=>c&&Object.keys(c).length>0))),Object.keys(s).forEach(c=>{s[c]=s[c].map(u=>({vod_id:[u.fileId,u.shareId,u.fileKind||VMe,u.shareMode||"",u.accessCode||""].join("*"),vod_name:u.name,vod_size:u.size}))});let a=Object.values(s).reduce((c,u)=>c+(Array.isArray(u)?u.length:0),0),o=Object.values(s).reduce((c,u)=>c+(Array.isArray(u)?u.filter(l=>String(l?.vod_id||"").includes(`*${sL}*`)).length:0),0);return n.shareId,n.shareMode,Object.keys(s).length,s}async getShareInfo(e,r,n){let s=n||this,i=String(e||"");if(i.startsWith("http")?await this.getShareID(i,r,n):s.shareCode=i,!s.shareCode)return null;try{if(s.accessCode){let a=await Ae.get(`${this.api}/open/share/checkAccessCode.action?shareCode=${s.shareCode}&accessCode=${s.accessCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}});a.status===200&&(s.shareId=a.data.shareId);let o=await Ae.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${s.shareCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}}),c=o.data.fileId;return s.shareMode=o.data.shareMode,s.isFolder=o.data.isFolder,c}else{let a=await Ae.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${s.shareCode}`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",accept:"application/json;charset=UTF-8","accept-encoding":"gzip, deflate, br, zstd","accept-language":"zh-CN,zh;q=0.9"}}),o=a.data.fileId;return s.shareId=a.data.shareId,s.shareMode=a.data.shareMode,s.isFolder=a.data.isFolder,o}}catch(a){let o=a?.response?.status,c=a?.response?.data?.res_code||a?.code||"UnknownCode",u=a?.response?.data?.res_message||a?.message||"unknown error";return console.warn(o===400&&(c==="ShareAuditNotPass"||c==="ShareInfoNotFound")?`[Cloud ShareInfo] ${s.shareCode} unavailable: ${c}`:`[Cloud ShareInfo] ${s.shareCode} failed: ${o||"N/A"} ${c} ${u}`),null}}async getShareList(e,r="",n){let s=n||this;if(!e)return null;try{let i=[],a={};a["User-Agent"]="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",a.Accept="application/json;charset=UTF-8",a["Accept-Encoding"]="gzip, deflate, br, zstd";let o={method:"GET",headers:a},c=await GMe(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=1&pageSize=9999&fileId=${e}&shareDirFileId=${e}&isFolder=${s.isFolder}&shareId=${s.shareId}&shareMode=${s.shareMode}&iconOption=5&orderBy=lastOpTime&descending=true&accessCode=${s.accessCode}&noCache=${Math.random()}`,o),d=LV.parse(await c.text())?.fileListAO?.folderList;if(!d)return null;if(d&&d.length>0){let f=d.map(m=>({name:m.name,id:m.id,type:"folder",path:onr(r,m.name)}));i.push(...f);let p=await Promise.all(f.map(async m=>this.getShareList(m.id,m.path,n)));return p=p.filter(m=>m!=null),[...i,...p.flat()]}}catch(i){return console.warn(`[Cloud ShareList] ${e} failed: ${i?.message||i}`),null}}async getShareFile(e,r){let n=r||this;if(!e)return null;try{let s={method:"GET",headers:Ec},i=await GMe(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=1&pageSize=9999&fileId=${e}&shareDirFileId=${e}&isFolder=${n.isFolder}&shareId=${n.shareId}&shareMode=${n.shareMode}&iconOption=5&orderBy=lastOpTime&descending=true&accessCode=${n.accessCode}&noCache=${Math.random()}`,s),a=LV.parse(await i.text()),o=[],c=a?.fileListAO,u=c?.fileList;if(!Array.isArray(u)||u.length===0)return null;let l=u.map(p=>p.name),d=u.map(p=>p.id),f=Number(c?.fileListSize??u.length);if((!Number.isFinite(f)||f<0)&&(f=u.length),f=Math.min(f,u.length),f>=0)for(let p=0;p<f;p++){let m=u[p],h=m.mediaType===3?VMe:Snr(m.name)?sL:"";h&&(this.cacheShareFileItem(d[p],n.shareId,m,{shareMode:n.shareMode,accessCode:n.accessCode,fileKind:h}),o.push({name:l[p],fileId:d[p],shareId:n.shareId,size:m.size,fileKind:h,shareMode:n.shareMode,accessCode:n.accessCode}))}if(o.length>0){let p=o.filter(m=>m.fileKind===sL).length;n.shareId,n.shareMode,o.length,o.length-p,o.slice(0,3).map(m=>m.name)}return o}catch(s){return console.warn(`[Cloud ShareFile] ${e} failed: ${s?.message||s}`),null}}async fetchShareTextFileFromUrl(e,r={}){let n=Cl(e);if(!n)return"";Wt(n,260),eb(r?.Cookie||r?.cookie);try{let s=await Ae.get(n,{headers:{...OV,...r&&typeof r=="object"?r:{}},responseType:"text",transformResponse:[a=>a],maxRedirects:5,validateStatus:()=>!0}),i=typeof s.data=="string"?s.data:"";return s.status<200||s.status>=300?(Wt(n,260),s.status,s.headers?.["content-type"],Wt(i),""):(Wt(n,260),s.status,s.headers?.["content-type"],i.length,Wt(i),i)}catch(s){return Wt(n,260),s?.message||String(s),""}}buildShareTextApiCandidates(e,r,n="",s=""){let i=a=>{let o=new URLSearchParams({shareId:String(r||""),fileId:String(e||""),key:"noCache",dt:"1",noCache:String(Math.random())});return n&&o.set("shareMode",String(n)),s&&o.set("accessCode",String(s)),`${this.api}${a}?${o.toString()}`};return[i("/portal/getShareFileUrl.action"),i("/portal/getFileDownloadUrl.action"),i("/open/share/getFileDownloadUrl.action"),i("/open/share/getShareFileDownloadUrl.action"),i("/open/file/getFileDownloadUrl.action")]}async tryResolveShareTextPlayableFromApi(e,r={}){let n=e;try{n=new URL(e).pathname}catch{}Wt(e,260),eb(r?.Cookie||r?.cookie);try{let s=await Ae.get(e,{headers:{...OV,...r&&typeof r=="object"?r:{}},responseType:"text",transformResponse:[l=>l],maxRedirects:0,validateStatus:()=>!0}),i=s.status===400||s.status===401||s.status===403;if(s.status>=300&&s.status<400&&s.headers?.location){s.status,Wt(s.headers.location,260);let l=await this.fetchShareTextFileFromUrl(s.headers.location,r),d=Zx(l);return d?.url,pa(d?.url),d?.header,{playable:d,authError:!1}}if(s.status<200||s.status>=300)return s.status,s.headers?.["content-type"],Wt(s.data),{playable:null,authError:i};let a=typeof s.data=="string"?s.data:"",o=String(s.headers?.["content-type"]||"");if(s.status,Wt(a),/json/i.test(o)){let l=vo(a),d=aC(l);d.length,d.slice(0,3).map(f=>Wt(f,260));for(let f of d){let p=await this.fetchShareTextFileFromUrl(f,r),m=Zx(p);if(m)return Wt(f,260),pa(m.url),m.header,{playable:m,authError:!1}}return{playable:null,authError:i}}let c=a.trim();if(/^[^\r\n]+$/.test(c)&&Cl(c)){Wt(c,260);let l=await this.fetchShareTextFileFromUrl(c,r),d=Zx(l);return d?.url,pa(d?.url),d?.header,{playable:d,authError:!1}}let u=Zx(a);return u?.url,pa(u?.url),u?.header,{playable:u,authError:!1}}catch(s){return s?.message||String(s),{playable:null,authError:!1}}}async probeShareTextCandidateUrl(e,r={}){let n=Cl(e);if(!n)return{type:"invalid"};Wt(n,260),pa(n),Object.keys(r||{}).join(",");try{let s=await Ae.get(n,{headers:{...OV,Range:"bytes=0-511",...r&&typeof r=="object"?r:{}},responseType:"arraybuffer",maxRedirects:5,timeout:15e3,validateStatus:()=>!0}),a=(Buffer.isBuffer(s.data)?s.data:Buffer.from(s.data||"")).toString("utf8").replace(/^\uFEFF/,""),o=Cl(s?.request?.res?.responseUrl||s?.config?.url||n)||n,c=String(s.headers?.["content-type"]||""),u=String(s.headers?.["content-range"]||""),l=Number(s.headers?.["content-length"]||0),d=Inr(u)||(Number.isFinite(l)?l:0);Wt(n,260),Wt(o,260),s.status,Wt(a);let f=Tnr(a);if(f)return Wt(n,260),Wt(o,260),DV(f.data),Wt(f.raw),{type:"cas_metadata",metadata:f.data};let p=Zx(a);return p?.url&&p.url!==n?(Wt(n,260),Wt(p.url,260),pa(p.url),p.header,{type:"nested_playable",playable:p}):/^video\//i.test(c)||/^audio\//i.test(c)||/application\/(?:vnd\.apple\.mpegurl|x-mpegurl|dash\+xml)/i.test(c)||i6e(o)||(s.status===200||s.status===206)&&d>1024*1024?(Wt(n,260),Wt(o,260),pa(o),{type:"playable"}):(Wt(n,260),Wt(o,260),s.status,{type:"unknown"})}catch(s){return Wt(n,260),s?.message||String(s),{type:"error"}}}async confirmShareTextPlayableCandidate(e,r={},n={},s=0){if(!e?.url)return null;let i=e.header&&typeof e.header=="object"?e.header:null,a={...r&&typeof r=="object"?r:{},...i||{}},o={...n,depth:s,url:Wt(e.url,260),host:pa(e.url),headerKeys:Object.keys(i||{}).join(",")||"-"};if(i6e(e.url))return{...o},e;if(s>=2)return null;let c=await this.probeShareTextCandidateUrl(e.url,a);if(c.type==="playable")return{...o},e;if(c.type==="nested_playable"&&c.playable?.url)return{...o,nestedUrl:Wt(c.playable.url,260),nestedHost:pa(c.playable.url)},await this.confirmShareTextPlayableCandidate(c.playable,r,n,s+1);if(c.type==="cas_metadata"){try{let d=await this.getCasPlayableByRestoringToCloudDrive(c.metadata);if(d?.url)return{...o,restoredHost:pa(d.url)},d}catch(d){let p=`CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25${c.metadata?.name?` (${c.metadata.name})`:""}: ${d?.message||d}`;return this.setShareTextResolveReason(p),{...o,metadata:DV(c.metadata)},null}let l=`\u5F53\u524D\u5206\u4EAB\u8FD4\u56DE\u7684\u662FCAS\u79D2\u4F20\u5143\u6570\u636E\uFF0C\u4E0D\u662F\u771F\u5B9E\u89C6\u9891\u5730\u5740${c.metadata?.name?` (${c.metadata.name})`:""}`;return this.setShareTextResolveReason(l),{...o,metadata:DV(c.metadata)},null}return{...o,probeType:c.type},null}async initCloudPcLoginParam(){let e=this.cookie||"",r=Ae.create({headers:{"User-Agent":Ec["User-Agent"],"Accept-Encoding":Ec["Accept-Encoding"],Referer:sC,...e?{Cookie:e}:{}},maxRedirects:5,validateStatus:()=>!0}),n=await R0({method:"GET",url:`${sC}/api/portal/unifyLoginForPC.action`,params:{appId:tL,clientType:KMe,returnURL:YMe,timeStamp:Date.now()},headers:r.defaults.headers,maxRedirects:5,validateStatus:()=>!0,responseType:"text",transformResponse:[d=>d]},"pc-unify-login"),s=typeof n.data=="string"?n.data:"",i=d=>{let f=s.match(d);return f?f[1]:""},a={cookie:PV(e,n.headers?.["set-cookie"]),captchaToken:i(/'captchaToken' value='(.+?)'/),lt:i(/lt = "(.+?)"/),paramId:i(/paramId = "(.+?)"/),reqId:i(/reqId = "(.+?)"/)};if(!a.lt||!a.paramId||!a.reqId)throw new Error("189PC\u767B\u5F55\u53C2\u6570\u521D\u59CB\u5316\u5931\u8D25");let o=await R0({method:"POST",url:`${iC}/api/logbox/config/encryptConf.do`,data:Gh.default.stringify({appId:tL}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":Ec["User-Agent"],Referer:sC},validateStatus:()=>!0},"pc-encrypt-conf"),c=o?.data?.data?.pubKey||"",u=o?.data?.data?.pre||"{RSA}";if(!c)throw new Error("189PC\u83B7\u53D6RSA\u516C\u94A5\u5931\u8D25");let l=`-----BEGIN PUBLIC KEY-----
|
|
${c}
|
|
-----END PUBLIC KEY-----`;return a.rsaUsername=`${u}${XMe(l,this.account)}`,a.rsaPassword=`${u}${XMe(l,this.password)}`,a}async loginForCloudPc(e=!1){if(!e&&this.pcLoginState?.tokenInfo?.sessionKey&&this.pcLoginState?.tokenInfo?.sessionSecret)return this.pcLoginState;if(!this.account||!this.password)throw new Error("\u7F3A\u5C11\u5929\u7FFC\u8D26\u53F7\u6216\u5BC6\u7801\uFF0C\u65E0\u6CD5\u6267\u884CCAS\u79D2\u4F20\u6062\u590D");let r=await this.initCloudPcLoginParam(),n=await R0({method:"POST",url:`${iC}/api/logbox/oauth2/needcaptcha.do`,data:Gh.default.stringify({appKey:tL,accountType:zMe,userName:r.rsaUsername}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":Ec["User-Agent"],Referer:iC+"/",REQID:r.reqId,...r.cookie?{Cookie:r.cookie}:{}},responseType:"text",transformResponse:[d=>d],validateStatus:()=>!0},"pc-needcaptcha"),s=String(n?.data||"").trim();if(n.status,Wt(s,80),s&&s!=="0")throw new Error("189PC\u767B\u5F55\u9700\u8981\u9A8C\u8BC1\u7801\uFF0C\u5F53\u524D\u6682\u4E0D\u652F\u6301\u81EA\u52A8\u5904\u7406");let i=await R0({method:"POST",url:`${iC}/api/logbox/oauth2/loginSubmit.do`,data:Gh.default.stringify({appKey:tL,accountType:zMe,userName:r.rsaUsername,password:r.rsaPassword,validateCode:"",captchaToken:r.captchaToken,returnUrl:YMe,dynamicCheck:"FALSE",clientType:KMe,cb_SaveName:"1",isOauth2:"false",state:"",paramId:r.paramId}),headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":Ec["User-Agent"],Referer:iC+"/",REQID:r.reqId,lt:r.lt,...r.cookie?{Cookie:r.cookie}:{}},validateStatus:()=>!0},"pc-login-submit"),a=PV(r.cookie,i.headers?.["set-cookie"]),o=i?.data?.toUrl||"";if(!o)throw new Error(`189PC\u767B\u5F55\u5931\u8D25: ${i?.data?.msg||i?.status||"unknown"}`);let c=await R0({method:"POST",url:`${Qi}/getSessionForPC.action`,params:{...JMe(),redirectURL:o},headers:{"User-Agent":Ec["User-Agent"],Referer:sC,...a?{Cookie:a}:{}},validateStatus:()=>!0},"pc-get-session"),u=ynr(c?.data)||c?.data||{};if(!u?.sessionKey||!u?.sessionSecret)throw new Error(`189PC\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25: ${fa(c?.data)||c?.status||"unknown"}`);let l=PV(a,c.headers?.["set-cookie"]);return l&&w0.set("cloud_cookie",l),this.pcLoginState={cookie:l,tokenInfo:{loginName:u.loginName||"",sessionKey:u.sessionKey,sessionSecret:u.sessionSecret,familySessionKey:u.familySessionKey||"",familySessionSecret:u.familySessionSecret||"",accessToken:u.accessToken||"",refreshToken:u.refreshToken||""}},this.pcLoginState?.tokenInfo?.sessionKey,this.pcLoginState?.tokenInfo?.sessionSecret,this.pcLoginState?.tokenInfo?.familySessionKey,this.pcLoginState?.tokenInfo?.familySessionSecret,eb(l),this.pcLoginState}getCloudPcTokenInfo(e=!1){let r=this.pcLoginState?.tokenInfo||{};return e?{loginName:r.loginName||"",sessionKey:r.familySessionKey||"",sessionSecret:r.familySessionSecret||"",accessToken:r.accessToken||"",refreshToken:r.refreshToken||""}:{loginName:r.loginName||"",sessionKey:r.sessionKey||"",sessionSecret:r.sessionSecret||"",accessToken:r.accessToken||"",refreshToken:r.refreshToken||""}}async requestCloudPc(e,r="GET",n={}){let s=n&&typeof n=="object"?n:{},i=!!s.isFamily,a=await this.loginForCloudPc(!1),o=this.getCloudPcTokenInfo(i);if(!o.sessionKey||!o.sessionSecret){if(!s._retried)return await this.loginForCloudPc(!0),await this.requestCloudPc(e,r,{...s,_retried:!0});throw new Error(i?"189PC\u5BB6\u5EAD\u4E91\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25":"189PC\u4F1A\u8BDD\u83B7\u53D6\u5931\u8D25")}let c=JMe(),u=s.query&&typeof s.query=="object"?s.query:{},l=s.form&&typeof s.form=="object"?s.form:null,d=s.encryptedParams&&typeof s.encryptedParams=="object"?gnr(s.encryptedParams,o.sessionSecret):"",f=hnr(),p=Anr(o.sessionSecret,o.sessionKey,r,e,f,d),m=await R0({method:r,url:e,params:{...c,...u,...d?{params:d}:{}},...l?{data:Gh.default.stringify(l)}:{},headers:{"User-Agent":Ec["User-Agent"],Referer:sC,Date:f,SessionKey:o.sessionKey,"X-Request-ID":N0.default.randomUUID(),Signature:p,...l?{"Content-Type":"application/x-www-form-urlencoded"}:{},...a?.cookie?{Cookie:a.cookie}:{},...s.headers||{}},responseType:s.responseType||"json",transformResponse:s.transformResponse||void 0,timeout:s.timeout||15e3,validateStatus:()=>!0},`pc-request:${r}:${new URL(e).pathname}`),h=ma(m.data);return(m.status===401||m.status===403||h.includes("InvalidSessionKey")||h.includes("userSessionBO is null"))&&!s._retried?(await this.loginForCloudPc(!0),await this.requestCloudPc(e,r,{...s,_retried:!0})):m}async getCloudPcFamilyId(e=!1){if(!e&&this.pcFamilyId)return this.pcFamilyId;let r=await this.requestCloudPc(`${Qi}/family/manage/getFamilyList.action`,"GET",{isFamily:!0}),n=_nr(r?.data);if(n.length===0)throw new Error(`\u672A\u83B7\u53D6\u5230\u53EF\u7528\u7684189\u5BB6\u5EAD\u4E91 body=${Wt(ma(r?.data),260)}`);let s=String(this.pcLoginState?.tokenInfo?.loginName||""),i=n.find(o=>s&&o.remarkName&&s.includes(o.remarkName))||n.find(o=>Number(o?.useFlag||0)===1)||n[0],a=String(i?.familyId||"");if(!a)throw new Error(`189\u5BB6\u5EAD\u4E91ID\u89E3\u6790\u5931\u8D25 body=${Wt(JSON.stringify(n),260)}`);return this.pcFamilyId=a,n.length,n.map(o=>o.remarkName||"").filter(Boolean).slice(0,3),a}async ensureCloudPcRestoreFolderV2(e={}){let r=!!e?.isFamily,n=r?"pcFamilyRestoreFolderId":"pcRestoreFolderId";if(this[n])return this[n];let s=r?"":"-11",i=r?await this.getCloudPcFamilyId():"",a=nL,o=r?`${Qi}/family/file/listFiles.action`:`${Qi}/listFiles.action`,c=1;for(;c<=10;){let f=await this.requestCloudPc(o,"GET",{isFamily:r,query:{folderId:s,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(c),pageSize:"100",...r?{familyId:i,orderBy:"1",descending:"false"}:{recursive:"0",orderBy:"filename",descending:"false"}}}),m=(f?.data?.fileListAO?.folderList||[]).find(A=>String(A?.name||"")===a);if(m?.id)return this[n]=String(m.id),this[n];if(!Number(f?.data?.fileListAO?.count||0))break;c+=1}let u=r?`${Qi}/family/file/createFolder.action`:`${Qi}/createFolder.action`,l=await this.requestCloudPc(u,"POST",{isFamily:r,query:{folderName:a,...r?{familyId:i}:{relativePath:"",parentFolderId:s}}});if(l.status>=400||fa(l.data))throw new Error(`\u521B\u5EFACAS\u6062\u590D\u76EE\u5F55\u5931\u8D25: ${fa(l.data)||l.status}`);let d=String(l?.data?.id||Er(l?.data,"id")||"");if(d)return this[n]=d,this[n];throw new Error("\u65E0\u6CD5\u5B9A\u4F4DCAS\u6062\u590D\u76EE\u5F55")}async createCloudPcBatchTaskV2(e,r,n={}){let s=Array.isArray(r)?r.filter(Boolean):[];if(s.length===0)return"";let i=n&&typeof n=="object"?n:{},{isFamily:a=!1,...o}=i,c=await this.requestCloudPc(`${Qi}/batch/createBatchTask.action`,"POST",{isFamily:a,form:{type:e,taskInfos:JSON.stringify(s),...o}}),u=String(s6e(c?.data)||""),l=fa(c?.data);if(c.status>=400||l||!u)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u521B\u5EFA\u5931\u8D25: ${l||c.status||"unknown"} body=${Wt(ma(c?.data),260)}`);return u}async permanentlyDeleteCloudPcItemsV2(e,r={}){let n=Array.isArray(e)?e.filter(Boolean):[];if(n.length===0)return;let s=!!r?.isFamily,i=s?String(r?.familyId||await this.getCloudPcFamilyId()):"",a=s?{familyId:i,isFamily:!0}:{},o=await this.createCloudPcBatchTaskV2("DELETE",n,a);await this.waitCloudPcBatchTask("DELETE",o);let c=await this.createCloudPcBatchTaskV2("CLEAR_RECYCLE",n,a);await this.waitCloudPcBatchTask("CLEAR_RECYCLE",c)}async removeCloudPcRestoreFolderV2(e,r={}){if(!e)return;let s=!!r?.isFamily?"pcFamilyRestoreFolderId":"pcRestoreFolderId",i=[{fileId:String(e),fileName:nL,isFolder:1}];await this.permanentlyDeleteCloudPcItemsV2(i,r),this[s]=""}async resetCloudPcRestoreFolderV2(e={}){let r=!!e?.isFamily,n=await this.ensureCloudPcRestoreFolderV2({isFamily:r});return await this.removeCloudPcRestoreFolderV2(n,{isFamily:r}),await this.ensureCloudPcRestoreFolderV2({isFamily:r})}async restoreCasMetadataToCloudDriveV2(e,r={}){let n=!!r?.isFamily,s=String(e?.md5||"").trim().toUpperCase(),i=Number(e?.size||0),a=String(e?.name||"").trim(),o=String(e?.sliceMd5||"").trim().toUpperCase();if(!s||!i||!a)throw new Error("CAS\u5143\u6570\u636E\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u65E0\u6CD5\u6267\u884C\u79D2\u4F20\u6062\u590D");let c=n?await this.getCloudPcFamilyId():"",u=await this.resetCloudPcRestoreFolderV2({isFamily:n}),l=ZMe(i),d=n?`${rL}/family`:`${rL}/person`,f=await this.requestCloudPc(`${d}/initMultiUpload`,"GET",{isFamily:n,encryptedParams:{parentFolderId:u,fileName:a,fileSize:String(i),fileMd5:s,sliceSize:String(l),...n&&c?{familyId:c}:{},...o?{sliceMd5:o}:{}}}),p=e6e(f?.data)||{},m=fa(f?.data);if(f.status>=400||m)throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u521D\u59CB\u5316\u5931\u8D25: ${m||f.status}`);let h=String(p?.uploadFileId||p?.uploadFileID||"");if(Number(p?.fileDataExists)!==1||!h)throw new Error("CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25\uFF0C189\u672A\u547D\u4E2D\u6587\u4EF6");let A=await this.requestCloudPc(`${d}/commitMultiUploadFile`,"GET",{isFamily:n,encryptedParams:{uploadFileId:h,isLog:"0",opertype:"3"}}),g=t6e(A?.data)||{},b=fa(A?.data);if(A.status>=400||b)throw new Error(`CAS\u79D2\u4F20\u63D0\u4EA4\u5931\u8D25: ${b||A.status}`);let y=String(g?.userFileId||g?.id||""),x=String(g?.fileName||a);if(!y)throw new Error("CAS\u79D2\u4F20\u63D0\u4EA4\u540E\u672A\u8FD4\u56DE\u6587\u4EF6ID");return{fileId:y,fileName:x,folderId:u,familyId:c,isFamily:n}}async getCloudPcFileDownloadUrlV2(e,r={}){let n=!!r?.isFamily,s=n?String(r?.familyId||await this.getCloudPcFamilyId()):"",i=n?`${Qi}/family/file/getFileDownloadUrl.action`:`${Qi}/getFileDownloadUrl.action`,a=await this.requestCloudPc(i,"GET",{isFamily:n,query:{fileId:String(e||""),...n?{familyId:s}:{dt:"3",flag:"1"}},responseType:"text",transformResponse:[d=>d]}),o=String(r6e(a?.data)||""),c=_c(o).replace(/^http:\/\//i,"https://"),u=fa(a?.data);if(a.status>=400||u)throw new Error(`\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u83B7\u53D6\u5931\u8D25: ${u||a.status}`);if(!c)throw new Error("\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u4E3A\u7A7A");let l=await R0({method:"GET",url:c,headers:{"User-Agent":Ec["User-Agent"]},maxRedirects:0,validateStatus:()=>!0},"pc-download-redirect");return l.status>=300&&l.status<400&&l.headers?.location?_c(String(l.headers.location||"")):c}async listOwnFiles(e="-11",r=1,n=100){let s=Math.max(Number(r)||1,1),i=Math.min(Math.max(Number(n)||100,1),200),a=e==null||e===""?"-11":String(e),o=await this.requestCloudPc(`${Qi}/listFiles.action`,"GET",{query:{folderId:a,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(s),pageSize:String(i),recursive:"0",orderBy:"filename",descending:"false"},responseType:"text",transformResponse:[u=>u]}),c=fa(o?.data);if(o.status>=400||c)throw new Error(`\u5929\u7FFC\u76EE\u5F55\u83B7\u53D6\u5931\u8D25: ${c||o.status}`);return bnr(o?.data)}async getOwnDownload(e){return{url:await this.getCloudPcFileDownloadUrlV2(e,{isFamily:!1}),data:{fileId:String(e||""),source:"189CloudPC"}}}async ensureCloudPcRestoreFolder(){if(this.pcRestoreFolderId)return this.pcRestoreFolderId;let e="-11",r=nL,n=1;for(;n<=10;){let u=await this.requestCloudPc(`${Qi}/listFiles.action`,"GET",{query:{folderId:e,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:String(n),pageSize:"100",recursive:"0",orderBy:"filename",descending:"false"}}),d=(u?.data?.fileListAO?.folderList||[]).find(p=>String(p?.name||"")===r);if(d?.id)return this.pcRestoreFolderId=String(d.id),this.pcRestoreFolderId;if(!Number(u?.data?.fileListAO?.count||0))break;n+=1}let s=await this.requestCloudPc(`${Qi}/createFolder.action`,"POST",{query:{folderName:r,relativePath:"",parentFolderId:e}});if(s.status,Wt(JSON.stringify(s.data||{}),220),s.status>=400||fa(s.data))throw new Error(`\u521B\u5EFACAS\u6062\u590D\u76EE\u5F55\u5931\u8D25: ${fa(s.data)||s.status}`);let i=String(s?.data?.id||Er(s?.data,"id")||"");if(i)return this.pcRestoreFolderId=i,this.pcRestoreFolderId;let c=((await this.requestCloudPc(`${Qi}/listFiles.action`,"GET",{query:{folderId:e,fileType:"0",mediaAttr:"0",iconOption:"5",pageNum:"1",pageSize:"100",recursive:"0",orderBy:"filename",descending:"false"}}))?.data?.fileListAO?.folderList||[]).find(u=>String(u?.name||"")===r);if(!c?.id)throw new Error("\u65E0\u6CD5\u5B9A\u4F4DCAS\u6062\u590D\u76EE\u5F55");return this.pcRestoreFolderId=String(c.id),this.pcRestoreFolderId}async createCloudPcBatchTask(e,r,n={}){let s=Array.isArray(r)?r.filter(Boolean):[];if(s.length===0)return"";let i=await this.requestCloudPc(`${Qi}/batch/createBatchTask.action`,"POST",{form:{type:e,taskInfos:JSON.stringify(s),...n||{}}}),a=String(s6e(i?.data)||""),o=fa(i?.data);if(i.status>=400||o||!a)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u521B\u5EFA\u5931\u8D25: ${o||i.status||"unknown"} body=${Wt(ma(i?.data),260)}`);return a}async permanentlyDeleteCloudPcItems(e,r={}){let n=Array.isArray(e)?e.filter(Boolean):[];if(n.length===0)return;let s=await this.createCloudPcBatchTask("DELETE",n,r);await this.waitCloudPcBatchTask("DELETE",s);let i=await this.createCloudPcBatchTask("CLEAR_RECYCLE",n,r);await this.waitCloudPcBatchTask("CLEAR_RECYCLE",i)}async waitCloudPcBatchTask(e,r,n=300){let s=Date.now();for(;Date.now()-s<15e3;){let i=await this.requestCloudPc(`${Qi}/batch/checkBatchTask.action`,"POST",{form:{type:e,taskId:r}}),a=i?.data||{},o=fa(a);if(i.status>=400||o)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25: ${o||i.status||"unknown"} body=${Wt(ma(a),260)}`);let c=Enr(a);if(c===4)return;if(c===2)throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u5B58\u5728\u51B2\u7A81`);await new Promise(u=>setTimeout(u,n))}throw new Error(`${e}\u6279\u91CF\u4EFB\u52A1\u7B49\u5F85\u8D85\u65F6`)}async removeCloudPcRestoreFolder(e){if(!e)return;let r=[{fileId:String(e),fileName:nL,isFolder:1}];await this.permanentlyDeleteCloudPcItems(r),this.pcRestoreFolderId=""}async resetCloudPcRestoreFolder(){let e=await this.ensureCloudPcRestoreFolder();await this.removeCloudPcRestoreFolder(e);for(let r=0;r<3;r+=1)try{return await this.ensureCloudPcRestoreFolder()}catch(n){if(r>=2)throw n;await new Promise(s=>setTimeout(s,300*(r+1)))}}async restoreCasMetadataToCloudDrive(e){let r=String(e?.md5||"").trim().toUpperCase(),n=Number(e?.size||0),s=String(e?.name||"").trim(),i=String(e?.sliceMd5||"").trim().toUpperCase();if(!r||!n||!s)throw new Error("CAS\u5143\u6570\u636E\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u65E0\u6CD5\u6267\u884C\u79D2\u4F20\u6062\u590D");let a=await this.resetCloudPcRestoreFolder(),o=ZMe(n);e?.create_time;let c=await this.requestCloudPc(`${rL}/person/initMultiUpload`,"GET",{encryptedParams:{parentFolderId:a,fileName:s,fileSize:String(n),fileMd5:r,sliceSize:String(o),...i?{sliceMd5:i}:{}}}),u=e6e(c?.data)||{},l=fa(c?.data);if(c.status,u?.fileDataExists,u?.uploadFileId||u?.uploadFileID,u?.uploadHost,Wt(JSON.stringify(c?.data||{}),260),c.status>=400||l)throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u521D\u59CB\u5316\u5931\u8D25: ${l||c.status}`);let d=String(u?.uploadFileId||u?.uploadFileID||"");if(Number(u?.fileDataExists)!==1||!d)throw new Error("CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25\uFF0C189\u672A\u547D\u4E2D\u6587\u4EF6");let f=await this.requestCloudPc(`${rL}/person/commitMultiUploadFile`,"GET",{encryptedParams:{uploadFileId:d,isLog:"0",opertype:"3"}}),p=t6e(f?.data)||{},m=fa(f?.data);if(f.status,p?.userFileId||p?.id,p?.fileName,Wt(JSON.stringify(f?.data||{}),260),f.status>=400||m)throw new Error(`CAS\u79D2\u4F20\u63D0\u4EA4\u5931\u8D25: ${m||f.status}`);let h=String(p?.userFileId||p?.id||""),A=String(p?.fileName||s);if(!h)throw new Error("CAS\u79D2\u4F20\u63D0\u4EA4\u540E\u672A\u8FD4\u56DE\u6587\u4EF6ID");return{fileId:h,fileName:A,folderId:a}}async getCloudPcFileDownloadUrl(e){let r=await this.requestCloudPc(`${Qi}/getFileDownloadUrl.action`,"GET",{query:{fileId:String(e||""),dt:"3",flag:"1"},responseType:"text",transformResponse:[o=>o]}),n=String(r6e(r?.data)||""),s=_c(n).replace(/^http:\/\//i,"https://"),i=fa(r?.data);if(r.status,pa(s),Wt(s,260),r.status>=400||i)throw new Error(`\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u83B7\u53D6\u5931\u8D25: ${i||r.status}`);if(!s)throw new Error("\u6062\u590D\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u4E3A\u7A7A");let a=await R0({method:"GET",url:s,headers:{"User-Agent":Ec["User-Agent"]},maxRedirects:0,validateStatus:()=>!0},"pc-download-redirect");return a.status>=300&&a.status<400&&a.headers?.location?_c(String(a.headers.location||"")):s}async getCasPlayableByRestoringToCloudDrive(e){let r=[],n=[{isFamily:!0,scope:"family"},{isFamily:!1,scope:"personal"}];for(let s of n)try{let i=await this.restoreCasMetadataToCloudDriveV2(e,{isFamily:s.isFamily}),a=await this.getCloudPcFileDownloadUrlV2(i.fileId,{isFamily:s.isFamily,familyId:i.familyId});return s.scope,i.fileId,i.fileName,pa(a),{url:a}}catch(i){r.push(`${s.scope}: ${i?.message||i}`)}throw new Error(`CAS\u79D2\u4F20\u6062\u590D\u5931\u8D25: ${r.join(" ; ")}`)}async getShareTextPlayable(e,r,n="",s="",i=0){if(!e||!r)return null;this.setShareTextResolveReason(""),!this.cookie&&this.account&&this.password&&(console.log("\u6B63\u5728\u767B\u5F55\uFF0C\u8BF7\u7A0D\u7B49...."),await this.login(this.account,this.password),console.log("\u767B\u5F55\u6210\u529F,\u83B7\u53D6cookie\u6210\u529F"));let a=this.getCachedShareFileItem(e,r),o=n||a?.shareMode||"",c=s||a?.accessCode||"",u=this.cookie?{Cookie:this.cookie}:{};this.cookie,eb(this.cookie),a?.name,pa(a?.downloadUrl);let l=aC(a);l.length,l.slice(0,3).map(p=>Wt(p,260));for(let p of l){let m=await this.fetchShareTextFileFromUrl(p,u),h=Zx(m),A=await this.confirmShareTextPlayableCandidate(h,u,{source:"cached",fileId:e,shareId:r,candidate:Wt(p,260)});if(A)return Wt(p,260),pa(A.url),A.header,A}let d=!1,f=this.buildShareTextApiCandidates(e,r,o,c);for(let p of f){let{playable:m,authError:h}=await this.tryResolveShareTextPlayableFromApi(p,u);if(m){let A=await this.confirmShareTextPlayableCandidate(m,u,{source:"api",fileId:e,shareId:r,api:(()=>{try{return new URL(p).pathname}catch{return p}})()});if(!A)continue;return(()=>{try{return new URL(p).pathname}catch{return p}})(),pa(A.url),A.header,A}h&&(d=!0,(()=>{try{return new URL(p).pathname}catch{return p}})(),void 0)}return d&&i<1&&this.account&&this.password?(w0.set("cloud_cookie",""),await this.login(this.account,this.password),await this.getShareTextPlayable(e,r,o,c,i+1)):(this.cookie,eb(this.cookie),this.getShareTextResolveReason(),null)}async getShareUrl(e,r){let n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Accept:"application/json;charset=UTF-8","Accept-Encoding":"gzip, deflate, br, zstd"};!this.cookie&&this.account&&this.password&&this.index<2&&(console.log("\u6B63\u5728\u767B\u5F55\uFF0C\u8BF7\u7A0D\u7B49...."),await this.login(this.account,this.password),console.log("\u767B\u5F55\u6210\u529F,\u83B7\u53D6cookie\u6210\u529F")),n.Cookie=this.cookie;try{let s=await Ae.get(`${this.api}/portal/getNewVlcVideoPlayUrl.action?shareId=${r}&dt=1&fileId=${e}&type=4&key=noCache`,{headers:n}),i=await Ae.get(s.data.normal.url,{maxRedirects:0,validateStatus:function(o){return o>=200&&o<400}}),a="";return i.status>=300&&i.status<400&&i.headers.location?a=i.headers.location:a=s.data.normal.url,a}catch(s){if(s.response&&s.response.status===400&&this.index<2)return console.log("\u83B7\u53D6\u64AD\u653E\u5730\u5740\u5931\u8D25\uFF0C\u9519\u8BEF\u4FE1\u606F\u4E3A\uFF1A"+s.response.data),console.log("cookie\u5931\u6548\uFF0C\u6B63\u5728\u91CD\u65B0\u83B7\u53D6cookie"),w0.set("cloud_cookie",""),this.index+=1,await this.getShareUrl(e,r);console.error("Error during getShareUrl:",s.message,s.response?s.response.status:"N/A")}finally{this.index>=2&&(this.index=0,messageToDart({action:"toast",opt:{message:"\u5929\u7FFC\u8D26\u53F7\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}))}}},rf=new MV;var ks=Re(Jn(),1),$e=pu;(function(t,e){let r=pu,n=t();for(;;)try{if(-parseInt(r(620,"1$*q"))/1*(parseInt(r(533,"Q*]n"))/2)+parseInt(r(672,"NUA^"))/3*(-parseInt(r(442,"&L(#"))/4)+parseInt(r(580,"Z*B!"))/5*(-parseInt(r(707,"SjKy"))/6)+-parseInt(r(630,"tPoy"))/7*(-parseInt(r(269,"&7e0"))/8)+-parseInt(r(409,"5K@$"))/9*(parseInt(r(350,"3H)Z"))/10)+-parseInt(r(435,"Z*B!"))/11+parseInt(r(505,"$hvt"))/12*(parseInt(r(616,"SjKy"))/13)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(iL,470*990+-61486+-1957*19);function pu(t,e){let r=iL();return pu=function(n,s){n=n-(-9718+-824*5+1*14087);let i=r[n];if(pu.GJXIGO===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};pu.WCBCzA=l,t=arguments,pu.GJXIGO=!0}let o=r[-2547+-83*46+-1273*-5],c=n+o,u=t[c];return u?i=u:(pu.PEyDgj===void 0&&(pu.PEyDgj=!0),i=pu.WCBCzA(i,s),t[c]=i),i},pu(t,e)}function iL(){let t=["WQGseSosrG7cTfpdGfJdNhq","FHZcHK8","W6f3W6BcVw/cSmou","t35zW6fSBuO","Er9/W67cJW","W6qCmfC","WPhdUItdMCkMeSkXnSkbDW","cSkScLWHfgRdMG","WRhdNSopWPFdKvSqsmoVFG","qMuXkba","W6T7W6/cQNxcTa","wJWJrL3cSWZdGXJdNq","WQ/cRmoHkZ3dIMSwW5VdVW","WOtdSG7cNSkAFcJcNuzJ","WOiLWQXPWOy","WO8Qwr5WWOi","DmkbW4lcVGr2","i385WOZdL25PW5JdMZqqyq","l2FcS8oyWQ/cRMW1","WOuSWQXtBSk8","WQa8WR5My8kVCKBdQg4","uCkRoq1AsGVcU8kWqG","rSksW57cUfCXW6i","qxNcKq","W7FdVCoPWPKk","AqhcOunucq","WP8PWRPBWPVcHq","x0ZdLdT1","6kEl5P6z6lEO5y6n5Aws6lw8","WQGLcKKkaG","W58VmmoqymkRW5FdL8kCDq","WQZcJmoY","WOGGvavXWOLYW7L2","WRixFhrQ","W51qW4hcGfJcH8o/W7tdO2S","W4rbtmoPW7qY","WRqTeLqahSoeyJjs","W43cMuiMWRhcSW","WOhdR3NdJSoEzmk/BCofEq","W7vidSkBc1tdS2VdM34","WQVcVg/cT8kRrsisW6FcLa","WRSKwqiJ","stuQWP3cTY3cLKrCxW","WRWJArD9","u2nS","i8ogFW9qWPBcTG","tN3cLJiXttZdIdfL","FmoXzW","WR7dVuxcISkNqrO","W7eRiSokzSkR","qCkpW4pcV0e","DCoLcCkpiwJdLmoawcq","vgyxdYj8jGxcJCkb","WP7dSNBdL8oJu8oiBCocmq","WQ0TkK4B","WP5sCCoa","WPuYWRTD","W7CngCoQDq","FCoqj3aXbWBdOmkHWPC","w8kqW5y","WRZdTLlcQ8k2ubWEW4dcKq","W7r4W6e","vN99W6b7yKC1mh8","WQVdO27dH8od","bIaZ","WQOOovz+a2eH","WOCYWR1D","kGzIW5C","W7zptmo4WPfUW5ruBhu","W4qBWRlcPq","uhCuea","uSosva","FGhcO01ocCkDj1iK","WORdO2pdPmoIvmo3A8oema","WP1OibFdSG","u8ksW4pcTea","sNFcRamWsq","pJjIW4H/","W5ldLSkI","sNNcGqO4","WP1VWR5dWR3cR1JdRSosca","qSkPW5/cVv0","W7zjW4LBwSoEfrtcKHy","cSo5WOqbpmk8","cmo6oGi","cfRcUKmS","W7NcP8kiCCoLbW","W4dcSSksuSoB","WORdPbu","WQmTfG","b3a9i8o1","w8kkrKLL","W4xdJmoPWPGkp8kH","AmkYFCoZrW","W4hcLmoL","s2JcRrig","W6tdOSkcj8kv","uCkkqfnVcW9hfbq","wSo5ev4B","WOz6mmoxz8o/W5/dRG","WO4dWOTHqSkbtG","v3VdTJrzWRGzWOFcOmk8","W4RdRSoPWPqqjmk7ffRcOW","W6HTmwv2gwr0tdS","DJ02quJcSGlcMv4","W7Lkt8kwg1tcQLhdLW","W41hbKtcPSkqvCoUg8ko","WQfDW4D8b0u","W4LPW5xcRxW","umoPm1CgoLldRSk7hq","t1pdTGXg","WOrIn0tdKmofgmk1t8kh","rctcPLfY","W7ZcK8kqq8o8","W73cTSkszSoIvqFcSXNdRq","eYPeswnQqa/cNmoD","W6PLW5XA","nKmTi8ouud5mjLS","cSo9WOKCpq","W5CVmSorFmo7W4a","W69IW51mrq","f8omWOywjSk6s8kQlCkd","WRZdMCopWOhdLgWwsSoSmq","AI99W5lcJtfEW5tdGJ0","W54Riq","x8kOkq","WOFdTG7cVG","u2xdPq","WOpcMmoKlJFdJq","W78ahLhcT8kNeq","A8ogfCksnG","W7nvxCo6WPi","W7amWQ7cUmkKWRO6W64","wmkbW5ZcVG","W4BdH8kvjSkv","gSoIWQWX","yt07WPFcSvq","AZWgWPO","AmoHda","W7WrvW","W4/dICoJn3tcKYFcVrbA","AhKeE20","WOy/xXy","W4hdGCoPWOugiCkH","qSo9pG","WQdcGCoU","WOG1FHTg","W5tdJSo+WP8","WOjwA8opxSkH","zYaDWOhcSW","WRddJColWOG","WOeLWQrCWRpcOHe","ugtdTb1rWRGq","F2r8W7XWA3imeuu","AqhcU1Tjcq","W6hdL8kuiCk/","WRSItuTVeG","W7H8ku4UqJmTy34","khC9WOldL25SW77dQsesAW","WQa8WR59BSkVzeBdJ28","WRJdHCoiWOK","s3CygIjN","W4KmWQtcUW","yCoRdSkA","F8ogieO3avtdTSkCWOq","imk4oW","ktzKW7n/z8oYm8k+W4e","WR5TgrpdVW","sSksDKndcJvCgH8","W7OIgmo3Aa","W6D2W5hcTMBcPq","ve4d","W7ewk3dcRCkNgJxdLSko","WQlcPCopxSo8WOiBW4q/WQm","v3yxrKC","W4CLkeJcIW","q8koW4u","WRhcGSoXpa","W73cTSkszG","tgVcKqSZs2xdMJTO","ELldGJTh","WQ43WQfJoa","WOBdUrNcRCkwEdq","WQRdPCoiWOVdNW","WQrezHhdT8o3ubhdTCkQg8kMW5S","W4FcMua5WP3cHq","hCoIkr/dSvmyWOim","WPKQgIrgWQS8","WOm1WQDy","W7ZdTCkr","t2ZcUIKlob4xWQZdLq","W6JcL3X/W5myW6O","zfZdLW","ldjJW55pDmo6","WPtdK8oPWP8npSk4bw/dVa","wfSCCG","cSoqlXNdLq","W7fzW5XTwa","W4umWQNcM8kJWRu7W67cJCom","DCotya","BtiTrL7cStNcG0BcLG","WR3dG8o1WOtdIKO","BCk5W4tcTw9IW5ddSSkAFW","v0nzW6rM","W5lcUuRdSCoFjNddVNrH","WPpcNCkYWPeUomk9gMu","tCkcwe5LfW","WOVdMmoaW5u","WRGPWQaFW6FdSKpdOmkvwW","rb8CFfi","W4PyW5dcVx0","C8oPlLmnc1tdUCk3bG","W5dcSmkuECoJt1JdRGxdPG","BmkHzSoT","vCo5lNOxdvxdRmkKgW","W7JcRCkcCW","WRtdPJVcM8kv","h8o5WQ8bbW","WOyUsG","W7ZcPSkvhq","W4m+pCoqsa","x8kor04","DSo1yZ1RWQdcSSo9WP53","W4C4omoo","WQ9MDCo5Aq","mSoiWQOzea","WRxdVfldMmkTvbPvWQNcRW","W7ldU8kpgSk3W5XbWR0TW7a","Fx3cQei","lCouga","ECopoa","WQiPcfOBga","WQtdJCosWOtdN0e4rmoImq","W43dMCorjLlcJJ3cRa1a","CdyTFfNcVH/cIwNcKG","yIT5W5FcGZX6","D8obpNW8fa","c2NcQ3i","txtcPbaYqqRdNcDf","sMr6","q8oSnCkDgG","FItcS8otWO3cULOoW6zS","WRJcPwnu","WQ/cSgvCW4u6W5RcIr8","D8oRfmkFhw0","Fmojdvq0","W6n8W7hcJMpcTmoiW5RdHfy","dCo/WOWy","W78peSokAW","WQldKIK","W6PevCkk","W65WEmozWQS","xxFcSryVrsVdJG","t2ZcUIKlob4xWRxdLW","WP7cL8kGBYNdLtNcKXTPhCox","W5/dLmoHnN/cHG","W5pdGmo4WPmm","WRDzW51YhenPW5meEG","W65kBCkncv/cRfVdKMW","zmkczfrd","W4FdJSogWOql","ztCBWR3cQvddOHlcR0i","Bmk8xmo0umkdC3q","pu83g8o1Dq","WQSWWQrEqSkk","FSk6y8o0r8ky","hMBcQq","Eg05qxa","ESo1BH0","x1RdSa1D","WPJcL14","WOq9uWT1WPnVW598","rwjuW6bQ","W71avCkXfLVcRh3dTxy","W4eVnCorumo5W5G","oMTBW5FdTaddOZ7cRNxcPSoM","sSksDKnecIXgeX4","WO/dVHtcTmkMta","WOeciwiUjCoytXXK","EZ7cJCouWQxcHW","WQHwW4O","CCk8yq","y3aXeCoVzJO","xf0bF1e","kXjGW4S1ySoZimkTW4i","sXuDWOxcJq","C8oLFGjNWOlcR8o1WQn0","jwxdMSkmW5xdTfqJW59DBda","CCoLkCkpagNdM8ov","F2xdOdDMW60","WOPsCCoj","iLiRgCosvIvpcG","CMyqrq","FGiVELW","W6ffs8onWRDYW51jE10","W7VcM00HW6m","WR7dQ3pdPSoE","imoLqv1NW7a","BqVcM21mgmkJdv08","aIi8","tveBpWq","WQe2WRHWASkTAa","EZO3rhJcMW","W5VcKvWHWRhcKIxcK8kQW7C","FYpcL8op","x8ktW7dcQuaJW6G","WPyUWRC","W4pdISo+WRykjCk9d2hcPa","W5pdTCksc8oKWOy","WQtcUmoWja","WP55pG3dOW","Cmk2rmoLwW","ufWJFejQWP4zW6zB","ltXCW4HU","zSoRnSkibG","W57dJ8o8kW","rvNdOWfj","WOldKg8IWQtcRsJcPCk9W7a","iMtdKSkjWPRcIwGwW4bb","b8kSo08advBdMW","yX8WqvO","W6Tpw8oP","yZ/cMxDu","xYDzW5xcOq","W7BdSCkvpSk+W5nmWPuHW7O","W7pdTCksc8oKWOy","guGwzhb7WP4jW693","tmkbW4xcSL0SW5NdOSkpCW","WP0Kb08km8oJAsDt","WQDbArpcQ8kqlaNdGCkj","D8oUkfqqwu3dSCk5eq","rhmvftm","W64hCfpcQCkNat7cR8oC","WQOOovTXew8H","s2XO","W43dG8oWmgtcJYC","WRxcQN5b","WOmHWQby","WP4VWRbv","W7FdK8kLj8kB","sJRdQsO7WRCSWRdcJ8kO","DgHRW6nXyKaC","W4hdNCo4WPGn","cCo/WOaglmkHuCkwmCk/","w8kkua","WQPDW51ig0XtW5m1CG","WQz8v8oHCmkiuN3cRGu","v8oKp1G","tNZcObKxmamC","W5LnW7K","rMJcOX8","y8o1zWjIWQlcPq","FtJcISor","W5ZcNvG","WO1xA8oSrCk+AhJcJIO","x8kXW4FcJL8","WRZdV2tdHSoF","W4ZcLvObWRZcOd/cL8kiW74","tMBcVd8coGq","WQVdMcJcLSk1srtcL2Ho","rxmfgb5QeaJcNmkB","W49rr8oA","hSo3kqxdUG","qhCcpcn7gqpcI8ka","WRVcOwnMW4m8W4hcIIdcQa","wCkKyXddJL0zWP4d","W4ddHSo9WQmh","W5ddNCoJWPO","WQGGea","WRqsbSk/W7SXW5PPxgdcM8oa","W6HadSkqf1NcTNtdMNK","FmkcwGW0xNTqsuu","W717W5Lrw8omwXpcSXK","W43dVSo8WQis","u8odtHHw","W7v4W44","WQLDW4PPcL1v","ltjEW5P3yW","WOVcQ2vrW6OVW4hcJH8","k8kszc5QuvddVmkZWPbBWOy","tmkoqhT1etnhdrG","WO7dUSoHWQNdH0iAuCoNlq","WRZdTLlcUCkRrqyuW7VcLG","W4pdISo+WRykjCk9i3lcRG","EJiTtfK","W7aFpLC","W4xdK8oslwpcGcO","fCoOWOSspCkN","yITUW57cMIW","W4BcQSkhzmo0leFdSH7dOa","wK4qEey","WPaVWODfWRtcPX3cTG","W7ddOmkoda","WRiNWOa","WP1dACobsCkS","W5igWQ7cVmkyWRWOW7NcUmoH","W74WvefEdmk/E2zk","W7zmt8kjn34","WRhcVmkQjSkgW795W5HJW7O","vCo5lMGkge/dPSkFnG","W6hdOCofdMm","qhCclJ5UaWNcV8ka","WPKisG","EJWV","num6aSofqtG","rCkuW4pcSLWLW7JdOCkx","W6H8W6VcQglcQa","WPddOWJcTSkbBYNcUf4","WQPDW51ig0XtW5mJDW","W77cKSk0DCof","vwRdIITe","WQuWWRPczW","W7CqpeZcSmkOha","C8k2DSoZ","vhSmga","EMaSfW","xeeq","WO9fBa","v8oYoq","CI96W57cTY1Z","yI1+W7PSF0Dx","WP/dHb1RW6ldTINcLmkUW6TuW7a","W7qsleBcJCkJcttdPSko","pdz3W55IDq","uKBcLYGO","W4ZcLvOrWRVcRZNcL8k2W6y","W6DswSkHWQLIWPHiy0C","WOtdSG7cNSkAFcJcSvvP","WR4Tfe4k","W75SWRzpy8oJq23dGwa","WPrsCCobrCkNtLhcGc8","A8oppxO6","WO/dS37dICoZy8oWACoBnG","bK5WW6fXyvzwvb4","tmkbW4xcSL0SW4xdQmkfCG","W5pdJSo4WPK","BxVcVburErWaWORdMa","Dd/cGSonWQ/cRf8jW4T9","W6hdTCkthCk3W6fDWPuXW7m","c8odkrO","gmo0WQCmdCkGuSkWcmkc","WOeyvWmStL9ABHW","W4umWQNcICk+WQaHW6tcR8oj","W4CLaSoxD8oIW5RdKq","W6vmumoIWQC","WP58naldVSoy","W6L4W7u","vSoLe2Kv","b8oLgGtdRvui","ExpcGrfQ","qSoUp0Ghf0NdLSkepG","zehcHvfwaG","n0CRgCktbh8ExrO","rN7dTta","BqVcM3frdCkDaxO5","WR5AhrldGG","w8kLAKddQx4IWP4/FG","cmo/nWldUKy","W7a/W7Two8kOoexcJ3G","W6/dGe3cSSkMDdC","W68gWORcHCkf","WOX5iGJdVSodgSkQsCob","WPH9nfW","WOKHWQbzWR3cRYdcOConca","W4JdU8kilmkX","nMzCW5FdTWBdTbhcKh/cSCoz","WQGoBIfvWRbzW6LBwW","uCoZnfGddq","WQypi1tcRmkOdd/dTmkp","WOJcG8oKjXtdJwOpW53dPa"];return iL=function(){return t},iL()}var Onr=[$e(717,"iBpX")+$e(529,"YzKM")+$e(351,"!dbI"),$e(285,"cSk2")+$e(597,"f2C6"),$e(692,"B49t")+$e(610,"(O@[")],Pnr=new Set([$e(450,"tPoy"),$e(345,"$hvt"),$e(389,"lHXy"),$e(668,"f2C6"),$e(654,"uUex"),$e(619,"YzKM"),"ts",$e(470,"kI1Y"),$e(666,"uUex"),$e(626,"]sJ3"),$e(321,"H#%j"),$e(604,"NUA^"),$e(367,"]sJ3"),"rm",$e(390,"A[3w"),$e(376,"20ct"),$e(521,"NUA^"),$e(393,"iBpX"),$e(310,"F3h)"),$e(339,"(O@[")]),d6e=(t={})=>{let e=$e,r={OiPnC:function(a,o){return a(o)}},n=r[e(510,"yuUx")](String,t[e(642,"#*4]")]||t[e(696,"&k0w")]||"")[e(498,"8DL5")]()[e(602,"^([h")](/^\./,"")[e(509,"A[3w")+"e"]();if(n)return n;let s=r[e(574,"5K@$")](String,t[e(276,"wIP%")]||t[e(601,"vbM7")]||"")[e(252,"wIP%")]()[e(323,"wIP%")+"e"](),i=s[e(635,"uUex")](/\.([a-z0-9]{1,10})$/i);return i?i[47*32+1*3538+1*-5041]:""},Dnr=t=>Pnr[$e(274,"lET8")](d6e(t)),knr=t=>{let e=$e,r={UptDJ:function(n,s){return n(s)},SRcnu:function(n,s){return n||s},czDjR:function(n,s){return n||s}};try{return r[e(338,"NCIB")](decodeURIComponent,r[e(275,"mL$T")](t,""))}catch{return r[e(397,"iBpX")](t,"")}},Lnr=t=>encodeURIComponent(String(t||""))[$e(486,"5K@$")](/\*/g,$e(416,"lHXy")),Bnr=t=>{let e=$e,r={MoWMN:function(s,i){return s(i)},MpPbj:function(s,i){return s||i},ABJQS:function(s,i){return s===i},SdKwh:e(599,"vbM7"),iGRcE:e(576,"kI1Y"),hPGUi:e(713,"&k0w")},n=r[e(711,"hTux")](String,r[e(359,"cSk2")](t,""));if(!n)return"";if(r[e(518,"nM1l")](typeof globalThis[e(446,"nM1l")],r[e(418,"&k0w")])){let s=globalThis[e(643,"kI1Y")](n),i=Uint8Array[e(307,"#*4]")](s,a=>a[e(688,"&7e0")](1264*-2+8216*-1+79*136));return new TextDecoder()[e(266,"iBpX")](i)}return globalThis[e(379,"]oQm")]?globalThis[e(270,"!dbI")][e(320,"hTux")](n,r[e(278,"KdvK")])[e(539,"lHXy")](r[e(502,"1$*q")]):""},WV=class{constructor(){let e=$e,r={ptlsM:e(647,"YzKM")+"4",WlSfi:e(365,"NCIB")+e(677,"1$*q")+e(293,"rTn$")+e(290,"A[3w")+e(621,"A[3w")+e(535,"s1R8")+e(291,"!ahM")+"/",jCmBR:e(632,"*I%q")+e(548,"^([h"),dyIRw:e(262,"uUex")+e(354,"B49t")+e(357,"&k0w")+e(622,"yuUx")+e(568,"NUA^")+e(459,"#*4]")+e(649,"kI1Y")+e(362,"&k0w")+e(684,"XXV0")+e(455,"(O@[")+e(703,"Q*]n")+"6",bipwl:e(352,"KdvK")+e(331,"#*4]")+e(583,"Z*B!")+e(644,"]sJ3"),nLoiD:e(712,"&k0w")+e(702,"wIP%"),fGDII:e(257,"3BhN")+e(445,"mL$T")+e(424,"kI1Y")+e(272,"20ct")+e(366,"H#%j")+e(709,"!dbI")+e(249,"Z*B!")+e(408,"B49t")+e(680,"!dbI")+"|"},n=r[e(471,"3H)Z")][e(561,"&k0w")]("|"),s=-6*-48+-239*29+6643;for(;;){switch(n[s++]){case"0":this[e(674,"s1R8")]=[/https:\/\/yun.139.com\/shareweb\/#\/w\/i\/([^&/?#]+)/,/https:\/\/caiyun.139.com\/m\/i\?([^&/?#]+)/,/https:\/\/caiyun.139.com\/w\/i\/([^&/?#]+)/];continue;case"1":this[e(670,"5K@$")]=r[e(294,"iBpX")];continue;case"2":this.x=ks.default[e(667,"nM1l")][e(612,"A[3w")][e(613,"SjKy")](r[e(551,"H#%j")]);continue;case"3":this[e(611,"H#%j")]={"User-Agent":r[e(698,"20ct")],Accept:r[e(662,"!dbI")],"Content-Type":r[e(381,"lHXy")],"hcy-cool-flag":"1","x-deviceinfo":r[e(590,"kI1Y")]};continue;case"4":this[e(330,"lET8")]={};continue;case"5":this[e(514,"Q*]n")]="";continue}break}}[$e(631,"yuUx")+$e(714,"#*4]")+"n"](){let e=$e,r={QyscH:function(s,i){return s(i)}},n=Onr[e(282,"]oQm")](s=>globalThis[e(273,"F3h)")]?.[e(517,"vFQ3")]?.[s])[e(411,"*I%q")](s=>String(s||"")[e(464,"IfEw")]());return r[e(607,"3BhN")](String,globalThis[e(404,"XXV0")+e(522,"iBpX")]||n||"")[e(474,"3H)Z")]()[e(402,"#*4]")](/^Basic\s+/i,"")[e(618,"mL$T")]()}[$e(558,"mL$T")+$e(681,"f2C6")+"er"](){let e=$e,r=this[e(324,"3BhN")+e(685,"F3h)")+"n"]();return r?e(300,"3H)Z")+r:""}[$e(614,"H#%j")+$e(483,"*I%q")+$e(427,"F3h)")](){let e=$e,r={wjwtp:function(s,i){return s(i)},VVdSI:e(453,"F3h)")+e(259,"*I%q")+e(279,"vbM7")},n=this[e(693,"hTux")+e(451,"uUex")+"n"]();if(!n)return"";try{return r[e(371,"]sJ3")](Bnr,n)[e(369,"8DL5")](":")[-44*-134+-2123+943*-4]||""}catch{return console[e(686,"mL$T")](r[e(341,"Q*]n")]),""}}[$e(417,"s1R8")](e={}){let r=$e,n={...this[r(673,"Z*B!")],...e},s=this[r(497,"cSk2")+r(287,"YzKM")+"er"]();return s&&(n[r(462,"20ct")+r(532,"IfEw")]=s),n}[$e(264,"(O@[")+$e(349,"20ct")](){let e=$e,r={IGrkL:e(355,"uUex")},n=this[e(545,"1$*q")+e(348,"yuUx")+"n"]();return n?ks.default[e(443,"lET8")](n)[e(694,"3H)Z")]()[e(682,"tPoy")](373*-1+5167+1*-4794,-3232*-3+-7101+-199*13):r[e(536,"qf0c")]}[$e(554,"NUA^")+$e(383,"hTux")](e){let r=$e,n={MAVQr:function(i,a){return i===a},AUpQC:r(261,"cSk2"),SSOvU:function(i,a){return i(a)},dFtoJ:function(i,a){return i||a}};if(e&&n[r(651,"$hvt")](typeof e,n[r(475,"f2C6")]))return e;let s=n[r(706,"&k0w")](String,n[r(447,"SjKy")](e,""))[r(317,"#*4]")]();if(!s)return null;try{let i=this[r(655,"Q*]n")](s);if(i)return JSON[r(325,"&k0w")](i)}catch{}try{return JSON[r(342,"yuUx")](s)}catch{return null}}async[$e(646,"hTux")+"pi"](e,r,n=1*2589+5*-2371+17266){let s=$e,i={qexYT:function(c,u){return c+u},LYDcw:function(c,u){return c!==u}},a=JSON[s(656,"F3h)")](this[s(394,"mL$T")](JSON[s(542,"Q*]n")](r))),o=await Ae[s(428,"]oQm")](i[s(265,"#*4]")](this[s(444,"s1R8")],e),a,{headers:this[s(410,"!dbI")](),timeout:n});return i[s(431,"KdvK")](o[s(334,"8DL5")],200)?null:this[s(689,"kI1Y")+s(592,"XXV0")](o[s(541,"f2C6")])}[$e(360,"20ct")+$e(333,"]sJ3")+"fo"](){let e=$e;return{account:this[e(465,"20ct")+e(374,"5K@$")+e(295,"XXV0")](),accountType:1}}[$e(492,"&7e0")+$e(640,"NCIB")+"nt"](e){let r=$e,n={QVwkN:function(s,i){return s===i},LECin:function(s,i){return s(i)}};return e?n[r(426,"Z*B!")](e[r(421,"cSk2")],3023+278*-24+3652)?!0:n[r(392,"nM1l")](e[r(387,"qf0c")],-578*15+-4310+12980)&&n[r(499,"3H)Z")](Dnr,e):!1}[$e(433,"(O@[")](e){let r=$e,n={uvcIG:function(a,o){return a==o},WStHG:r(506,"$hvt"),SLESc:function(a,o){return a===o},jZeFu:r(487,"tPoy"),NAUrk:function(a,o){return a!==o}},s=ks.default[r(490,"XXV0")][r(629,"&L(#")][r(495,"lHXy")](1286*-2+-1001+3589),i="";if(n[r(347,"kI1Y")](n[r(385,"kI1Y")],typeof e)){let a=ks.default[r(550,"rTn$")][r(543,"H#%j")][r(679,"YzKM")](e);i=ks.default[r(653,"B49t")][r(253,"cSk2")](a,this.x,{iv:s,mode:ks.default[r(572,"1$*q")][r(480,"SjKy")],padding:ks.default[r(312,"cSk2")][r(546,"NUA^")]})}else if(n[r(460,"uUex")](typeof e,n[r(284,"B49t")])&&n[r(461,"cSk2")](e,null)){let a=JSON[r(437,"SjKy")](e),o=ks.default[r(531,"d$GU")][r(458,"*I%q")][r(328,"s1R8")](a);i=ks.default[r(500,"(O@[")][r(299,"!ahM")](o,this.x,{iv:s,mode:ks.default[r(589,"#*4]")][r(322,"^([h")],padding:ks.default[r(395,"20ct")][r(700,"lET8")]})}return ks.default[r(667,"nM1l")][r(559,"kI1Y")][r(658,"(O@[")](s[r(718,"20ct")](i[r(391,"$hvt")]))}[$e(627,"d$GU")](e){let r=$e,n=ks.default[r(378,"KdvK")][r(286,"1$*q")][r(344,"IfEw")](e),s=n[r(695,"1$*q")](),i=s[r(507,"mL$T")][r(645,"f2C6")](1*-2267+-8154+2085*5);s[r(388,"qf0c")](s[r(301,"F3h)")]),n[r(587,"&L(#")](i);let a=ks.default[r(669,"20ct")][r(267,"F3h)")][r(494,"&L(#")](n);return ks.default[r(600,"]sJ3")][r(370,"3H)Z")](a,this.x,{iv:s,mode:ks.default[r(466,"NCIB")][r(329,"kI1Y")],padding:ks.default[r(595,"yuUx")][r(292,"iBpX")]})[r(513,"IfEw")](ks.default[r(557,"#*4]")][r(479,"vbM7")])[r(503,"lET8")]()}async[$e(512,"qf0c")](e){let r=$e;this[r(639,"5K@$")][r(609,"vbM7")](n=>{let s=r,i=n[s(598,"20ct")](e);i&&i[362*-7+8522+-5987]&&(this[s(553,"uUex")]=i[1])})}async[$e(441,"vbM7")+"fo"](e){let r=$e,n={FeybT:r(289,"3BhN")+r(477,"!ahM")+r(281,"3H)Z")+r(577,"nM1l")+r(671,"XXV0"),YoiBc:r(549,"wIP%")+r(540,"KdvK"),ftJtN:r(463,"NCIB")+r(623,"]sJ3")+r(584,"B49t")};if(!this[r(528,"(O@[")])return console[r(593,"mL$T")](n[r(314,"3BhN")]),null;let s=this[r(634,"mL$T")+r(562,"IfEw")]()+"-"+this[r(648,"A[3w")]+"-"+e;if(this[r(641,"nM1l")][s])return this[r(346,"vbM7")][s];let i=this[r(373,"*I%q")+r(263,"]oQm")+"fo"](),a={getOutLinkInfoReq:{account:i[r(663,"Z*B!")],linkID:this[r(530,"&7e0")],passwd:"",caSrt:0,coSrt:0,srtDr:1,bNum:1,pCaID:e,eNum:200},commonAccountInfo:i};try{let o=(await this[r(319,"1$*q")+"pi"](n[r(715,"kI1Y")],a))?.[r(377,"(O@[")];return this[r(582,"H#%j")][s]=o,o}catch(o){return console[r(326,"F3h)")](n[r(468,"8DL5")],o),null}}async[$e(485,"uUex")+"ta"](e){let r=$e,n={DGHIp:function(c,u){return c in u},ewGUF:function(c,u){return c>u},FfOfh:function(c,u){return c(u)},qNAwx:r(555,"&7e0"),iQvUm:r(566,"$hvt"),sReYy:function(c,u){return c===u}};if(!e)return{};let s=e[r(304,"3BhN")](n[r(454,"XXV0")]),i=s?n[r(448,"]sJ3")]:e;s&&await this[r(650,"20ct")](e);let a={},o=await this[r(652,"H#%j")+"le"](i);o&&Array[r(254,"XXV0")](o)&&await Promise[r(396,"]oQm")](o[r(340,"YzKM")](async c=>{let u=r,l=c[u(488,"vFQ3")]||c[u(384,"F3h)")];!n[u(308,"3H)Z")](l,a)&&(a[l]=[]);let d=await this[u(368,"Q*]n")+"l"](c[u(501,"A[3w")]);d&&n[u(260,"H#%j")](d[u(399,"f2C6")],-15182+-7591*-2)&&a[l][u(704,"KdvK")](...d)}));for(let c in a)(!Array[r(380,"Z*B!")](a[c])||n[r(336,"vFQ3")](a[c][r(482,"YzKM")],6842+-69*129+29*71))&&delete a[c];if(n[r(567,"KdvK")](Object[r(519,"^([h")](a)[r(399,"f2C6")],1*5314+-4*1117+-94*9)){let c=await this[r(423,"Z*B!")+"l"](n[r(573,"wIP%")]);c&&Array[r(556,"F3h)")](c)&&n[r(260,"H#%j")](c[r(412,"H#%j")],-5935+-34*98+9267*1)?a[n[r(255,"5K@$")]]=c:(a[n[r(544,"uUex")]]=await this[r(524,"A[3w")+"le"](e),a[n[r(364,"NCIB")]]&&Array[r(699,"SjKy")](a[n[r(520,"KdvK")]])&&(a[n[r(624,"mL$T")]]=a[n[r(606,"F3h)")]][r(708,"SjKy")](u=>u&&Object[r(413,"hTux")](u)[r(337,"NCIB")]>7110*-1+-47*-169+-833)))}return Object[r(664,"IfEw")](a)[r(403,"KdvK")](c=>{let u=r,l={kPRcT:function(f,p){return n[pu(491,"lHXy")](f,p)}},d=Array[u(637,"$hvt")](a[c])?a[c]:[];a[c]=d[u(516,"IfEw")](f=>f&&f[u(356,"A[3w")]&&f[u(277,"#*4]")])[u(298,"^([h")](f=>{let p=u;return{vod_name:f[p(401,"*I%q")],vod_id:[f[p(283,"iBpX")],f[p(436,"NUA^")],l[p(660,"NCIB")](Lnr,f[p(306,"f2C6")]),f[p(407,"B49t")]??""][p(603,"&7e0")]("*"),vod_size:f[p(665,"H#%j")]}}),!a[c][u(358,"d$GU")]&&delete a[c]}),a}async[$e(615,"&L(#")+"le"](e){let r=$e,n={zOYRK:r(429,"NCIB"),WqADz:r(256,"Z*B!"),SmdCI:function(s,i){return s>i},NJIsK:r(687,"vbM7")+r(309,"tPoy")+r(316,"B49t")};if(!e)return null;try{e=e[r(303,"H#%j")](n[r(675,"vbM7")])?n[r(467,"(O@[")]:e;let i=await this[r(311,"!ahM")+"fo"](e);if(!i||!i[r(565,"lHXy")])return null;let a=i?.[r(305,"YzKM")],o=a[r(422,"nM1l")](d=>d[r(628,"s1R8")]),c=a[r(585,"XXV0")](d=>d[r(398,"mL$T")]),u=/App|活动ä¸å¿ƒ|å…è´¹|1T空间|å…æµ/,l=[];if(a&&n[r(547,"3BhN")](a[r(638,"8DL5")],-8*266+20*-179+5708)){o[r(552,"!dbI")]((f,p)=>{let m=r;!u[m(472,"yuUx")](f)&&l[m(439,"#*4]")]({name:f,path:c[p]})});let d=await Promise[r(481,"tPoy")](c[r(375,"3H)Z")](async f=>this[r(659,"d$GU")+"le"](f)));return d=d[r(280,"YzKM")](f=>f!=null),[...l,...d[r(636,"Z*B!")]()]}}catch(s){return console[r(400,"qf0c")](n[r(363,"wIP%")],s),null}}async[$e(271,"!dbI")+"l"](e){let r=$e,n={IhITm:function(s,i){return s in i},pCuOm:r(564,"s1R8"),yXpTv:function(s,i){return s!==i},uubvP:function(s,i){return s!==i},diwTx:r(581,"20ct")+r(430,"lET8")+r(438,"iBpX")};try{let s=await this[r(705,"wIP%")+"fo"](e);if(!s||!n[r(420,"3H)Z")](n[r(406,"kI1Y")],s))return null;let i=s[r(523,"XXV0")];if(n[r(361,"KdvK")](i,null))return i[r(457,"yuUx")](o=>this[r(563,"nM1l")+r(579,"YzKM")+"nt"](o))[r(440,"kI1Y")](o=>({name:o[r(327,"lET8")],contentId:o[r(386,"8DL5")],linkID:this[r(515,"!dbI")],size:o[r(452,"*I%q")],path:o[r(398,"mL$T")]||"",coType:o[r(405,"wIP%")],suffix:d6e(o)}));if(n[r(382,"1$*q")](s[r(511,"mL$T")],null)){let a=s[r(661,"KdvK")][r(697,"cSk2")](c=>c[r(588,"#*4]")]),o=await Promise[r(315,"rTn$")](a[r(469,"iBpX")](c=>this[r(415,"tPoy")+"l"](c)));return o=o[r(288,"NUA^")](c=>c&&c[r(657,"cSk2")]>0),o[r(335,"SjKy")]()}}catch(s){return console[r(534,"nM1l")](n[r(617,"mL$T")],s),null}}[$e(575,"kI1Y")+$e(690,"SjKy")](e){let r=$e;return e&&(e[r(701,"20ct")]||e[r(313,"XXV0")+"L"]||e[r(594,"8DL5")+"L"]||e[r(605,"f2C6")+r(318,"s1R8")])||""}async[$e(449,"hTux")+$e(484,"$hvt")+$e(434,"*I%q")](e,r){let n=$e,s={nYdVd:n(676,"NUA^")+n(250,"]oQm")+n(571,"uUex")},i=this[n(537,"^([h")+n(372,"8DL5")+"fo"](),a={getContentInfoFromOutLinkReq:{contentId:e,linkID:r,account:i[n(586,"$hvt")]},commonAccountInfo:i},o=await this[n(302,"lHXy")+"pi"](s[n(425,"nM1l")],a);return this[n(297,"lET8")+n(560,"]oQm")](o?.[n(493,"&L(#")]?.[n(478,"kI1Y")+"o"])}async[$e(473,"^([h")+$e(527,"yuUx")+"ad"](e,r){let n=$e,s={BSYvU:n(489,"lET8")+n(432,"!dbI")};if(!this[n(633,"!ahM")+n(508,"d$GU")+"er"]()||!e)return"";let i=this[n(683,"3BhN")+n(353,"mL$T")+"fo"](),a={dlFromOutLinkReqV3:{account:i[n(343,"mL$T")],linkID:r,coIDLst:{item:[e]}},commonAccountInfo:i};return(await this[n(646,"hTux")+"pi"](s[n(625,"^([h")],a))?.[n(414,"lHXy")]?.[n(525,"3H)Z")]||""}async[$e(596,"d$GU")+"ay"](e,r,n="",s=""){let i=$e,a={NUWoV:function(c,u){return c(u)},KEOlY:function(c,u){return c||u}},o=a[i(496,"20ct")](knr,n);return this[i(678,"(O@[")+i(578,"F3h)")+"er"]()?await this[i(608,"NUA^")+i(691,"8DL5")+"ad"](a[i(476,"8DL5")](o,e),r):await this[i(504,"vbM7")+i(419,"yuUx")+i(332,"F3h)")](e,r)}},$V=new WV;var Sqr=Re(Jn(),1),_t=Il;(function(t,e){let r=Il,n=t();for(;;)try{if(parseInt(r(552,"EBu["))/1+-parseInt(r(588,"2CNl"))/2*(-parseInt(r(423,"$K(D"))/3)+-parseInt(r(679,"7WHS"))/4*(-parseInt(r(464,"KEzV"))/5)+parseInt(r(911,"n#dP"))/6*(parseInt(r(678,"jJi*"))/7)+parseInt(r(768,"KVv4"))/8*(parseInt(r(636,"spAe"))/9)+-parseInt(r(777,"n$nf"))/10+-parseInt(r(921,"Z3]t"))/11*(parseInt(r(507,"7WHS"))/12)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(aL,-222221+-15551*-58);var nb=_t(856,"^oo)")+_t(480,"2iTo")+"n",f6e=_t(775,"KVv4")+_t(729,"3Ga)")+_t(402,"$K(D");function UV(t){let e=_t,r={RSKpd:e(895,"sI6$"),SRmrB:e(650,"PBWo")};return Buffer[e(847,"Z#jd")](t,r[e(491,"PBWo")])[e(415,"sI6$")](r[e(487,"$K(D")])}function Mnr(t){let e=_t,r={QNVxs:function(n,s){return n(s)},JzzQp:function(n,s){return n||s},bagPy:function(n,s){return n+s},bXQLA:function(n,s){return n%s},unavS:function(n,s){return n-s},cgpFk:function(n,s){return n%s}};try{let n=r[e(892,"^oo)")](String,r[e(592,"KEzV")](t,""))[e(476,"[g$U")](".")[1]||"";if(!n)return null;let s=n[e(743,"aL3e")](/-/g,"+")[e(915,"Z3]t")](/_/g,"/"),i=r[e(710,"aL3e")](s,"="[e(632,"3Ga)")](r[e(586,"^oo)")](r[e(468,"Pqls")](8174*1+-2544+-5626,r[e(629,"8rP)")](s[e(857,"aL3e")],-4644+-8*-581)),-1480+-134*2+1752)));return JSON[e(897,"1Jsl")](r[e(725,"zTXO")](UV,i))}catch{return null}}function Wnr(t){let e=_t,r={LXxCM:function(n,s){return n(s)},snpaw:function(n,s){return n||s},fKIBH:e(794,"3Ga)"),droKK:function(n,s){return n(s)}};try{let n=new URL(r[e(494,"3Ga)")](String,r[e(666,"GBUh")](t,""))),s=n[e(569,"[g$U")+"ms"][e(742,"pd]6")](r[e(604,"GBUh")]);if(s)return r[e(551,"1g%Z")](UV,s);let i=n[e(483,"x&B#")][e(796,"q5v@")](293*19+1*-5577+-1*-11)[e(680,"2CNl")]("&")[-8691+-17*-98+7025]||"",a=i[e(820,"Bc2A")]("=")?i[e(560,"7WHS")]("=")[-5096+1*5097]:"";return a?r[e(789,"gIJp")](UV,a):""}catch{return""}}function p6e(t){let e=_t,r={wYryw:function(n,s){return n(s)},PhDPF:function(n,s){return n||s},pkqlq:e(572,"7HAV"),uQfcY:e(550,"gIJp")};try{let n=new URL(r[e(905,"7%IF")](String,r[e(693,"2CNl")](t,"")));return n[e(824,"dfe3")]=n[e(784,"[g$U")][e(589,"KEzV")](/_24_24(?=\/|$)/g,""),["w","h",r[e(461,"n$nf")],r[e(420,"8rP)")]][e(505,"[U(&")](s=>n[e(511,"^oo)")+"ms"][e(835,"4jZl")](s)),n[e(851,"u^kX")]()}catch{return""}}function $nr(t){let e=_t,r={htgGZ:function(n,s){return n(s)},HcwgG:function(n,s){return n(s)},EPvQz:function(n,s){return n||s},qqmzy:function(n,s){return n(s)},ZgGyO:function(n,s){return n||s}};try{return r[e(727,"8#fg")](decodeURIComponent,r[e(697,"3Ga)")](String,r[e(840,"$ac(")](t,"")))}catch{return r[e(530,"7HAV")](String,r[e(810,"1Jsl")](t,""))}}function aL(){let t=["WP9vwSoVW5eLW5BcUNldLa","ymkpWPLyvmkUW7e","W77dNmkVFay","W4RcQSkYWO7cUSkuWPm","WROPWQi","WQD1W5C+","WOpcRXSdaW","W5PKi1tdUG","v0WXqa","WPJcNCoIzr8qASojW7VcMq","WOKpzSk2lq","rCo+Eru","W5ldNCkGAaXSrdldONG","W45kW5fqna0b","W5/cRv3dTSoKn8kJW4hcSJ0","eCoyDG","WO7cL8kSzXazq8khW6dcLG","W4jFW4S","abyv","FCkoWRLoq8kqW6m+W6G","WOagASkmWRmTbSkgbqu","sWVdRg3dGCkNqfVdJrO","cfdcQhldTq","WPW6Fa","W5FdRKOJ","WOSVW6ZcRCoZW6RdG3eqW4G","WPJcIIKE","WOxcHISp","ff7cQZpcJCkoAuhdSJrE","ASoyWRJdVSo2","WPDWDCoYpSkYW7nG","WQtdM1FcOYDdfG","zSoJDbFcPWv6hCkz","zCkNmCkdW5K","WQCknCk7Bf3dV8k7WO9E","CCo9jGZcPCoWWQNdTSki","vSoUWOFdN8oJE0m","yComW4eyht4fW4FcS8kh","W4pdRKOQ","BSoXWO3dOSoY","W6xcHKlcHGbGmWe","W6JdJCkYrmkbW6e6WQjula","v8owBa","WQZcRuXWWQuYjKVdUN0","yCo/BbO","Fqz+","WOymFmkqWROWrW","W7JdKMvkvSkoW5GquSoAAq","WQ9em8k7zG","ECkDWRz1r8k6W7WZ","cSocW4yFxIqxW4BcLmo6","W7ldVmouvmoQ","FCoBW74MpG","rSkmd8kSW5u","WRzXFSo4pSkYW7nGWRO1","iSoniq","xtOqESkn","WRpdOGlcP8kkWQhcNmkM","WOpdGs/cHCkq","W6DsW6xcNY9ana","eCkFtSoJW44","WOzZzCkZWOm","jmkhDSoeW6FcU1BdPa","W7ddHCoFz8ok","W69rW5tcGtrclmkNWRX3","hCk/tSoMW4a","WOxdVH3cQG","qdevwSkW","W7NdUvumjG","jCkfjq8","CvuGrIrrm8oR","zqCqWRLfW4/dTa","WQFdH0pcPq","WQ9XW404eCo7","WOhdTSkPAaztrhRcTJm","qKhdSNpdL8knfe/dIXC","uqWlBmkH","WRaTWQBdPSk8iY3dKh7dNG","W5BcTeZcMa","W4CiW4BdPqyr","zSkpemkJW7euW6VdL35P","WOrDWOBcSLjvsrDlDfZdUmoLqq","WRqiBSkrWQGTfCkg","nmk7lcJcJGvqaSkg","WOpdGJtcMmkQ","W6vgW45ggWSjlW","fhVcHJNcLN3dSW","W5pdI8kFWPm+","Df04rGPA","DY5oW6Xy","WPRdNuRcPbrggxBcJ30","WP/dRaBdKSo6nSk1W4O","W7VdI8kRhmozWRv7WR43sG","WRVdLCkYD8osWONcG1tdVZm","WP8RWRe","ymkdrgFdUSkwW7FcQmoPqq","WQX7ySoOf8kOW7q","WRBdIMhdVG","W4/dKCkVgG","cJ5XW6JdSSkoW68","W5XMiW","WQykpCoTWQJcIW","l8oRAbVdLW1YhmkzCa","sCkRgCkeW6i","W7RdOvGTl1ZcM3K","gwNcSYO","W5ldQ1O","f0hcReldTmoh","W6PaW5dcJa","xH3dVxtcHCk2E2RcJK4","55QL5B2l5OId5yIc","u0q9","WOJdNSkxaSonWO18","W6FdMCoTD8ov","WRJdPbVcL8k5ySoNW5BdS3O","WPVdRqe","sa/dRge","W6tcOmk0WPxcSCkZW4hcPG","z1ycWRVcMMWHWOS","W4ecW53dPqK","xSobEW","xLSZsI1Rm8o+","WOVdRahdGa","W6tdLSoUzCovWO/dNLy","mmkznbHZk1a","gXtdK3ddGmk0sq","WPGHFuxdPafHWQpcLa","m8k9Fc7cVW","WO7dKx3cRZeZi2/cP8oy","WQZcHIC","WR7dNfNcUq","WOHfxCoi","W4BcQ8kRiCk3","WO4OW7ZcP8k5","wftcMCkXz8od","W4xdLmk1EW","ytWBWRbd","r8omW5KAfdak","ESkuWRLyq8kDW608W7tcQa","j8ksD8oEW7NcS03dTSos","emkLvbFcJq","W4ddSSo0E8o4","W45xW5HUoG","WQ0hFSkoWQOMaSkr","W70oW4hdPYa","WQ/dKwa","d0BdVezk","imkuBmoA","rGqqt8kK","mmkSFHJcU8ohWQRdQ8kLdG","yCoIWOldN8om","xSoNWRldL8oT","gs51W6W","WQ/cQZyAa8kCW4S","yHen","WQ3dQbtdK8oOk8oN","W5FdLSoPC8ofWO/dNKS","m8kwnZPL","jSkKFclcGSoc","hZ51W5FdU8kmW7JcPsBdKa","WPaMCmk8kaX+W4ZcO3G","WRBdJdpdHSoe","W5BdISk4f8onWPv8","hJrZW4hdSSkoW6i","W43dNSkfCtS","WOxdL2VcOXq7","WPNcK8k5Da","c8k9fbnW","WRbulCkhBq","hCokzq","B8kvWRrEq8k9","yafpW7nH","W4ZdPmkaWQqC","WRv4umkN","W6zvW4pcQGC","dwNcTdJcLhpdUeq","W5ieW5JcRLzxtLDDBW","qGOpqG","W7pdKSoP","hCovAG","WQvamCkVD1S","5yQB5B6z44c06yAp576D44c+56M+5RU46l2t6kof","W5pdRCkuFsa","rZ01CCkEWQRcT8kay8ka","WPK8pmkWW7hcHCkgWROJwG","W7VcMCkMWRtcRa","W7ldS8ohxSop","WPvfW73dIdmOmqSCBq","WRP/z8o8","WOORW6O","i8ksiaz9ive","zCkAn8olWQFcQbddRmky","qeCXv35RfCouW5Ow","ECkmWOT9Cq","W4VcS8k8mCkW","W4JdNSkKoI5BqJ7dQcK","W5tdQKO","v1njbSogW7tdVCoFl8ot","W7BdU18L","W6/cQSkN","wGNcObSFW7rjWQhcG8kH","W7nxke/dGa","lJVcJc7cNvRdPLhcKa","pCkiumooW5u","WO/cL8k9ErisDG","W6naW5q","nG9uW6NdTa","W5X+WQ4","WRHaFSk2WQy","fIHIW6VdT8keW6tcPW","A1K6Aai","WQ1UF8o0bG","W5VdRK0","yLuJWQ/cKa","WP9BzCotma","babNexTke8oyWRzzWQa","ASkEfmkSW7a","qSogW4i","EflcH8krt8oeyW","WR9Uy8oXg8k4W6fGWPuZ","CYW/C8kS","zSoRAHVdL14Or8osBa","wKaGuZaeBSk9WPTb","mMtcTMVdNa","WR3cTtCkW4rpxLFcRwtcGSoRahu","CSostrxcSq","fdrOW6O","WPr8rCkWWPzDWOC","WRy6p8oXWQJdMCoqW7bpbq","WOyRW6FcTW","W45Xo3hdPXfcWOFcT0C","WO3cK8k5Fr0qFSkd","WR0pWPtdG20pFCoZWOz5","WQuAFG","qtKRw8kc","W6ddP18WbMxcN2K","BGirWP5H","r8oDECkCW6BcIfSOB20","W7tdJCkOxCkaW6KTW7rrlG","W63cVCo8W47dQCoiWOpdPmksW50","WPuGuSkwma","W4umW4tdOqOw","c8oOWPldNCo2FvtdRuFdPG","W5bdW4Tama","sWVdReBdKCkpsL/dOq8","WOmZC8k/lrPRW5hcPxK","WP5zqSofW6WHW5lcTgm","sWVdRa","vmkwgSkQ","zSoJDaBcNrK","W7/cMmkuWOxcLa","W4JdM8o+AaXAscFdOMm","dSkpzSo6W6e","qSkvWQWfe8o8WR91WQldPG","WQv1W5e2sSkMsColfZu","xqr9W6zocGHJ","edPY","WRxdQJldMmoc","FchdI1q","Dmo4Cr8","W4r1pW","sSkKWP3dGmoTDG","FWqbq8kMWQxcUmkZCZ0","tLmGiCoFW7BdVmoNpCoc","WOqQB8k2gXDRW4JcQq","WQ9UsCkRWPu","WQxcJcq","D1pcLSk4w8odBSo+","CCo4iJ/cOCoaWP/dQmkd","W5PGpvtdOaboWRxcVa","gmoyCSoL","W5hdLmk1CGDFtda","W53dReLAWRi","EWFdTJBcJmoyd1tcLui","W6tdT1ydla","g8koxCkOW7/cLLSCFKS","W7pdRSktcSo8","bGKycmoL","mv7cJGpcNa","mmkSyZtcU8ojWQVdRa","whnkW4ZdH8kGW4BdReRdLq","FrLAW7TWaGi","W6ZcQSk/WPNcQ8kd","dKldPgzhWRSlW6tcMCkU","WQFcMCkTomksW47cNbldHt4","6i2G5y6E55IkWOtdPNhLRPNNORtMIklLIkG","WR/cJb8uemkCW4SAzCoD","iImxamov","WRNcHJqEhW","W4FdMCkGBG","W5ZcJCkvla","ur56W64","oSkpCCo7W7O","W51jW4xcNZHXoSk3","g3RcQcy","WQaiACkd","WOJcLCkaAHLsraldOMi","W6NcO8k/","vva9WQRcPMqIWOK","sahdR27dLmkmtKJcJb8","W4/dHCkOgG","WR3dNvNcOW","pSkapGzZi1a","B8klfmk/W6TnWQxcJgbX","pCkspG1OkG","WQSTzCk8cbb5W5e","W77dOhznWPqmhG","W7ecW4hdRGSkhenPCW","iCk4zc8","qW/dR0VdVG","W71jW4xcNZHQkmkQ","m8kdCq","WOTvxmowW5y9","WQOdhmoOWR0","jmkhDSoeW6dcU1BdTa","b0hdVW","WP9Gf8kdCG","nCkwjaS","mmkhCCow","WOJdQahdPCoIlSkPW4lcQI8","WRxdJHldK8od","WQ5sFmo7jq","BaCKWRPh","WPDAvSkhWQyec8kdnW","xviY","rdNdThNdKs7dS3/cMeRcN8ka","WOXdDmk6WOi","B8kqWRDfva","W5nTm8o9DfC6WOxcN3C","WOvCW41wjWKbfsDI","WQq4WR7dNmkG","WPv3z8kYr8oOWRC6W49Q","DmoJWPhdO8oO","WPtdRWO","W4WJW5/dRqy","W67cOmkHWRNcVSkfW5S","W63dHSoVwCom","WQFdN3pcPW","pJjTW6hdMSkj","vSkXnSk3W6S","WRBdJwlcMtK2mcxdSCkc","5BgM5P6t55M95B+r77+B5B6+5AsT55QL5B+X","WOaICmk2CK0","omkjyG","WP/dRaFdKSoO","l07dVfbMWR4","W4jlW4y","6i2y5y2B55QTWPdcV2ROT6hLJzNMI5xLI5e","W6CPfa","wCkUWPvTDa","WOBdVJtdK8o/omk+","WP0VW63cT8kSWRdcGJi","W5NcU8kiiCkr","hComCSoS","W5O8W53dKca","vColAmklW6FcM0WUuKC","W7BdISk6hCo5WRnPWQ4","W63dShnq","rHRdTr/cJSkqiHLXbmkTWQhdQq","rZaji8oaW7FdVmkFACkr","mmk4yY8","W4lcJCktnG","v8ogW4yAedib","W47cPSk/WPNcKCkhW57cRW","WPtcNmkKyq","fCk5W4tNMAVNM7NLVy3LPjFOTQtVVktORBy","avBdNMn5","WQrXW5CBcSoKfmkqvMC","fmktWO5orMHqWPdcTmkZafO9W7S","Dxea","WRjNWR7dNmkNnNddM1FdGa","WOtdMLhcVX1/cJu","WRzNW4yBdmoHh8kFtui","eSkpACosW5NcTuNdTq","WOxdQGdcNCkLWRxcHCkR","uSoAACoP","zH8z","W4JcI8kwpCkVWPm","WQxdL0hcUb1zda","WOyID8kY","ySoHt8km","WOOICa","DSoHW6yYmW","W51jW4xcNZHQkmkQ","duBdPfq","WRicumkuWRy","WPxcHmo1qb9qAIFdVq","Fa9CW6n4","WPySumkNnHbKW4i","W43dKSoLqHOFD8kjW6xcHa","W61jxmksWQ8UaSk1nru","WP4RW6O","WRe6lmo6","rZODsCkt","WRXxmW","feVcRs3cKa","t8kimmk1W6BdICkhWPFdSNfQ","mmkQmcxcKqv/h8klla","WPpdNuFcOXrfgt3dRYe","CgVcP8kUAa","zqddVM/dTmkkxfG","W6FcRSk3","mu3cLmk6h8kvoa","luFcLb8","frjfW4BdLq","W4/dGYhcGCk8ACoPWP7dVM4","W7ZdPgLNWOeEgrtcQN4","W7JdKSoZCCowWOG","W5/dOfCS","W4dcLCkBWQtcSq","WOFdRH/cT8kHWRpcHq","W6RdRgTDWP8EbWi","WRL7zW","rKxcV1rFWRnwW7lcUmkH","fCoxB8oW","WQ3dNYFcMSkk","WQZdJgVcJba","lmkIDW","CLJcM8kZwSop","emoCAmoJWQpdLG","xmokWP/dN8o2","W5xdIaBcSmkRWQ3cLmoShJa","B30HWPFcGG","W6ZcUSkrd8kE","W7HiW4dcIdj+pCk/WRrH","WRtdNHNcPmkb","iCkJDdxcPmopWR0","gh7cK0/dJW","svtcM8oIgSkCk8o1W5/dLq","W7qMWPzNvSkGsmk2AMxcKSouwa","55QY5B2W6l6y5P+x77Yp6yE+5Pw055QJ5B6Y","WRS7iCoR","W73dHmoCzmoqWOhdLq","swNdHbuEW6PxWRhdQ8oG","W7ZdRNzuWOa","Dq5/","BmkAWRLFsSk7","hmk7W4tcGmk3DwddRhNdG8oV","WPSnCSkvWReUcmkdna","tmonW58c","tNSWWRxcPSkVW7JcRX3dIG","heNdSun8","etvIW6JdPSkjW6/cSW","gM3cSZNcI3pdVL3cJLq","imkIuZRcRczxxmoCmW","WOBdVW/cTSkXWRm","FYZdIetdUG","WQr8q8kNWOS","WPfGW7i2iG","WO7cGSkHFaC","h8kskb4","W5hcI8k2aCoAWRqHWRKkEq","WQ7cM8k3Ca","WRq6WPjTvSoJg8ksf2u","qCoABSkXW6hcNvCTyG","W4fkW7ZcQdO","zW96W7THcW","W63dN8kLWRq","BSkzW6vDq8kTW7SYW6xcTq","W63dQ2nkWP4wdG","l8oRA8o2WPu","wSopBW","W4/cKSkt","WORdKghcQre2mtq","WPhdRuZcTJK","W6FcSSkqhCk0","WReRySkHisL9W4e","W7K1W47dGYO","CmknWQPLsa","WOrFWOxdSayluLeolW","geBcPeldHCoSDG","WRm7BCkQkG","vSo4WPldH8k/txldHWxcUq","WOiaCCkhWPyM","d8orz8o2WRldTCkdWQC","kmkeqt7cMG","CLCpWQZcSv07WOO","W6ZdJMBcQgXTCw8","WQigB8kNWR4HdW","bSkKFclcHCohWRtdVq","WPSGpxBdTI1SWOS","sSooWPNdLCoO","ELJcVSkYwG","W6HoW5BcQdXcjq","DmkAaCk9W7SFW5RdGMvN","W5ddJfGooq","WOzVsmkKWRu","WPdcHCo5iL4hfwBdLwBdTupdQmoM","W4ddR1RdGmo9mmoOW5JcRcO","WQ0cEmocWPGNbmkjp14","p8oiW6SyhSk7W5OrW5dcP8os","gt9L","eXWaiSoB","ACoAurpcKG","yCo6Cq","W4BdGCkV","WPCbFmkqWROsemkg","W6boW5zgmGuwmW","W51fW4hcUJa","WP/dKSome8kiWQhcJSkXaW","sWmrWRzN","W63dTMq","WOekr8kLWQ0","EmknWRvqxW","WRuWpmomWQZdL8odW7fCbq","WR3dQCk+WQ4aW4TTW7ZcVwi","W7tdH1GOfG","WR9Rz8o1","qmksWR5fASkMW7SV","WQXDoSkR","W6RdQwzm","WP46W6ZcRCkYWRG","WOqLW7VdPmkBWRRcKY1rW5i","CLJcJCkmtq","z8oVBchcKaPPfCk4pG","WPPXzmoZhSk0W6fWWQKo","xLe6rdDw","ErWxWRzp","W57dT0ncWR4","W4BdVCk0wrm","emkjxmoaW5S","Eav8","WOKVW6RcPq","AreDWR1pW7hdPmk+n8os","nan5W4FdNG","W68Of8oWW4yDW54NW6FdSrjA"];return aL=function(){return t},aL()}function Fnr(t){let e=_t,r={TEimZ:function(n,s){return n(s)},NBOIV:function(n,s){return n(s)},YmnKA:function(n,s){return n||s},IYKQW:e(608,"^oo)")};try{return r[e(694,"GBUh")](encodeURIComponent,r[e(449,"u^kX")](String,r[e(763,"KVv4")](t,"")))[e(652,"1g%Z")](/\*/g,r[e(618,"Nh71")])}catch{return""}}function Unr(t,e=!1){let r=_t,n={YAFgI:function(s,i){return s===i},LJOxI:r(690,"Z3]t"),deKft:function(s,i){return s===i},NTyKz:r(538,"pd]6"),zlEdo:r(622,"aL3e"),XTIXN:r(522,"(Uhe"),fwZom:r(601,"Vk8Z"),orlJM:r(877,"KVv4")};if(n[r(714,"1Jsl")](typeof t,n[r(829,"(Uhe")]))return t;if(n[r(509,"Bc2A")](typeof t,n[r(656,"^oo)")])){let s=t[r(812,"spAe")]()[r(839,"iq9T")+"e"]();if(["1",n[r(704,"KEzV")],n[r(442,"!kc1")],"on"][r(696,"[U(&")](s))return!0;if(["0",n[r(875,"gIJp")],"no",n[r(443,"PBWo")]][r(469,"1g%Z")](s))return!1}return e}var FV=(t,e)=>t?t+"/"+e:e,qV,jV={};function Il(t,e){let r=aL();return Il=function(n,s){n=n-(2*-3329+13*-430+12645);let i=r[n];if(Il.fOcFCk===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};Il.TuNzge=l,t=arguments,Il.fOcFCk=!0}let o=r[-17*544+-1535+10783],c=n+o,u=t[c];return u?i=u:(Il.AIWZfd===void 0&&(Il.AIWZfd=!0),i=Il.TuNzge(i,s),t[c]=i),i},Il(t,e)}var oC={set(t,e){let r=_t;jV[t]=e,qV[r(625,"@GrP")](r(504,"PBWo")+t,e)},get(t){return jV[t]}},sb=async t=>{let e=_t;qV=t[e(865,"GvrG")].db,jV=await qV[e(553,"GvrG")+e(463,"7HAV")](e(429,"Bc2A"),{})},HV=class{constructor(){let e=_t,r={sVuHs:e(744,"Nh71")},n=r[e(738,"4jZl")][e(764,"xhg1")]("|"),s=-1054*4+-8*-982+-28*130;for(;;){switch(n[s++]){case"0":this[e(489,"7%IF")]=nb+(e(440,"Pqls")+e(647,"pd]6"));continue;case"1":this[e(474,"EBu[")]=/https:\/\/(?:www\.)?(123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)\/s\/([^/?#]+)/;continue;case"2":this[e(691,"7HAV")]=/https:\/\/[^/?#]+\.share\.(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)\/123pan\/([^/?#]+)/;continue;case"3":this[e(726,"EBu[")]="";continue;case"4":this[e(674,"KVv4")]=f6e+(e(603,"Z3]t")+e(584,"@GrP"));continue}break}}async[_t(458,"xFMZ")](){let e=_t,r={CLvLa:e(900,"1Jsl"),ZicMv:e(838,"#cY9"),pLofW:function(n,s){return n(s)},cfbce:function(n,s){return n>s},oawKF:function(n,s){return n/s},VEHKq:e(663,"xhg1"),BXkWx:e(457,"Vk8Z"),yxhUH:e(894,"$K(D")};if(this[e(728,"Z#jd")]&&console[e(698,"PBWo")](r[e(776,"n#dP")]),this[e(644,"1Jsl")]&&console[e(548,"x&B#")](r[e(805,"Nh71")]),this[e(597,"spAe")]){let n=r[e(874,"xhg1")](Mnr,this[e(910,"n$nf")]);r[e(686,"pd]6")](n?.[e(595,"sVp(")]||0,Math[e(880,"7HAV")](r[e(862,"jJi*")](Date[e(819,"iq9T")](),2455*3+1*-1153+-5212)))?console[e(896,"Nh71")](r[e(869,"Vk8Z")]):(console[e(444,"2CNl")](r[e(450,"7%IF")]),await this[e(914,"7%IF")]())}else console[e(403,"gIJp")](r[e(575,"n#dP")]),await this[e(779,"1g%Z")]()}get[_t(615,"Nh71")](){let e=_t,r={iCjft:e(433,"n$nf")+"rt"};return oC[e(752,"4jZl")](r[e(422,"Z#jd")])}get[_t(635,"[U(&")](){let e=_t,r={IPjER:e(702,"2CNl")+"rd"};return oC[e(571,"$ac(")](r[e(492,"7%IF")])}get[_t(705,"1g%Z")](){let e=_t,r={mIDBF:e(602,"7HAV")};return oC[e(800,"jJi*")](r[e(431,"1g%Z")])}get[_t(399,"2iTo")+_t(855,"aL3e")](){let e=_t,r={RtQiG:function(n,s,i){return n(s,i)},NTUmg:e(893,"PBWo")+e(465,"[U(&")};return r[e(475,"2iTo")](Unr,oC[e(439,"xhg1")](r[e(759,"1g%Z")]),!0)}async[_t(435,"0j^Z")](){let e=_t,r={AGDYf:e(430,"Z#jd"),nVRzF:e(681,"PBWo")+e(567,"1Jsl")+e(460,"Pqls")+e(826,"jJi*")+e(816,"$ac(")+e(791,"(Uhe")+e(740,"3Ga)")+e(539,"pd]6")+e(532,"zTXO")+e(753,"Pqls")+e(578,"pd]6")+"6",cCfLZ:e(772,"xhg1")+e(814,"KEzV"),lexXc:function(a,o){return a(o)},XxHPO:function(a,o){return a(o)},mxzMo:e(519,"$ac("),gHuCz:e(918,"KEzV")+e(734,"EBu[")+"\u914D\u7F6E",PjAqp:e(401,"!kc1")};if(!this[e(904,"pd]6")]||!this[e(867,"Nh71")])return;let n=JSON[e(481,"sVp(")]({passport:this[e(832,"2CNl")],password:this[e(676,"GBUh")],remember:!0}),s={method:r[e(773,"8rP)")],url:this[e(670,"4jZl")],headers:{"User-Agent":r[e(426,"Bc2A")],"Content-Type":r[e(512,"0j^Z")],"App-Version":"43",Referer:f6e+(e(795,"KEzV")+e(804,"dfe3")+e(654,"xFMZ"))+r[e(540,"Bc2A")](encodeURIComponent,nb)+(e(882,"q5v@")+e(485,"7HAV"))},data:n},i=(await Ae[e(437,"!kc1")](s))[e(406,"sI6$")];if(!i?.[e(558,"2iTo")]?.[e(701,"8rP)")]){r[e(605,"Z3]t")](messageToDart,{action:r[e(695,"q5v@")],opt:{message:r[e(546,"dfe3")],duration:5}});return}oC[e(418,"pd]6")](r[e(614,"EBu[")],i[e(719,"[g$U")][e(672,"3Ga)")])}[_t(541,"spAe")+"ta"](e){let r=_t,n={WxhAO:function(c,u){return c(u)},EcZGr:function(c,u){return c||u},hIQyQ:function(c,u){return c>u},sRPqH:function(c,u){return c+u},yNima:function(c,u){return c(u)}},s=n[r(827,"0j^Z")](decodeURIComponent,n[r(529,"[U(&")](e,"")[r(700,"Nh71")]());s=s[r(757,"[g$U")](/[#.,,/\s]+$/,""),this[r(523,"[U(&")]="";let i=s[r(497,"n#dP")]("?");if(n[r(685,"7%IF")](i,-4088+28*146)){let c=s[r(544,"gIJp")](n[r(787,"8rP)")](i,1)),u=c[r(769,"^oo)")](/(?:^|&)pwd=([^&]+)/i);this[r(846,"8#fg")]=u?n[r(887,"3Ga)")](decodeURIComponent,u[1705+-94*14+1*-388]):""}let a=this[r(841,"iq9T")][r(561,"KVv4")](s);if(a)return n[r(502,"2CNl")](a[3209*-3+-1*2417+12046][r(715,"(Uhe")]("?"),3394*1+-23*307+193*19)?a[-1*-7554+-2889+-4663][r(883,"#cY9")]("?")[8818*1+5*-955+-4043]:a[9146+-29*-13+-9521];let o=this[r(565,"dfe3")][r(536,"Vk8Z")](s);return o?o[15116+-5*3023]:null}async[_t(797,"jJi*")+_t(398,"@GrP")](e){let r=_t,n={fDZHm:function(o,c){return o in c},AsocM:function(o,c){return o>c},hqNVV:function(o,c){return o(c)},GHfju:function(o,c){return o>c},xVTwy:function(o,c){return o===c}},s={},i=[],a=await this[r(630,"#cY9")+"st"](e,this[r(503,"u^kX")],-523*-12+-3*2677+-45*-39,0,i,"");if(a&&n[r(533,"0j^Z")](a[r(626,"2iTo")],-1*-4511+-107*4+-1361*3)&&(s[r(843,"7%IF")]=a),n[r(606,"^oo)")](i[r(543,"KVv4")],-9378+-1*2494+11872)){let o=await Promise[r(850,"4jZl")](i[r(568,"$K(D")](async c=>{let u=r;return this[u(908,"sVp(")+"fo"](c[u(501,"$K(D")],c[u(493,"sI6$")],0,c[u(404,"7%IF")],c[u(853,"(Uhe")])}));o=o[r(723,"7HAV")](c=>c!=null),i=[...i,...o[r(537,"n$nf")]()]}i&&Array[r(554,"7HAV")](i)&&await Promise[r(850,"4jZl")](i[r(557,"#cY9")](async o=>{let c=r,u=o[c(591,"0j^Z")]||o[c(438,"n$nf")];!n[c(739,"GBUh")](u,s)&&(s[u]=[]);let l=await this[c(712,"1g%Z")+"st"](o[c(863,"8#fg")],o[c(788,"0j^Z")],4*1712+2*4649+-16146,o[c(660,"n#dP")]);l&&n[c(527,"gIJp")](l[c(445,"Bc2A")],-1647+183*9)&&s[u][c(484,"zTXO")](...l)}));for(let o in s)n[r(866,"xFMZ")](s[o][r(434,"GBUh")],-1*5153+-1*-9757+-1*4604)&&delete s[o];return Object[r(782,"pd]6")](s)[r(716,"1g%Z")](o=>{let c=r;s[o]=s[o][c(813,"7WHS")](u=>{let l=c;return{vod_id:[u[l(410,"8#fg")],u[l(891,"1g%Z")],u[l(876,"[U(&")],u[l(579,"iq9T")],u[l(564,"spAe")],n[l(919,"Pqls")](Fnr,u[l(860,"3Ga)")+"l"]||"")][l(854,"@GrP")]("*"),vod_name:u[l(638,"q5v@")],vod_size:u[l(479,"[g$U")]}})}),s}async[_t(836,"Pqls")+"fo"](e,r,n,s,i){let a=_t,o={rXUgI:function(A,g){return A===g},kLeei:function(A,g,b){return A(g,b)},PRMGR:function(A,g){return A||g},ywmif:function(A,g){return A||g},OkXEg:function(A,g){return A??g},iVShr:function(A,g){return A+g},SdeWm:a(682,"iq9T"),vkMvi:a(901,"EBu["),ZZPxq:a(817,"sI6$"),wWGyK:a(722,"$K(D"),yqrOn:function(A,g){return A(g)},drBqh:function(A,g){return A!==g},EiulN:function(A,g){return A>=g}},c=[],u=o[a(482,"8#fg")](n,0),l=-5060+117*-9+2038*3,d=new Set,f=new Set,p=A=>!(A==null||A===""||A===-9*-78+7862+-8564||A==="0"||A===-(8545*-1+-8641+17187)||A==="-1"),m=1*-2531+-2*4421+1639*7;for(;;){let A=l+"|"+u;if(d[a(765,"0j^Z")](A))break;d[a(886,"!kc1")](A);let g=await Ae[a(864,"Nh71")](o[a(454,"n#dP")](this[a(521,"spAe")],o[a(525,"8#fg")]),{headers:{},params:{limit:o[a(412,"[U(&")],next:u,orderBy:o[a(879,"EBu[")],orderDirection:o[a(803,"4jZl")],shareKey:e,SharePwd:r,ParentFileId:s,Page:o[a(495,"7HAV")](String,l)}});if(o[a(616,"GBUh")](g[a(472,"!kc1")],-6*-213+-127*-33+-1*5269))break;if(o[a(778,"spAe")](g[a(741,"xhg1")][a(419,"xFMZ")],832+-561*-14+-1*3583)){console[a(673,"sVp(")](g[a(675,"1Jsl")][a(566,"q5v@")]);break}let b=g[a(675,"1Jsl")][a(658,"Z#jd")];if(!b||!Array[a(639,"Z#jd")](b[a(535,"7HAV")]))break;b[a(808,"x&B#")][a(510,"8#fg")](x=>{let v=a;if(o[v(735,"dfe3")](x[v(709,"GBUh")],7*233+-569*-6+-1*5045)){let C=x[v(687,"Bc2A")]+"|"+o[v(689,"gIJp")](FV,o[v(902,"7HAV")](i,""),x[v(610,"!kc1")]);if(f[v(408,"sI6$")](C))return;f[v(659,"0j^Z")](C);let R=o[v(563,"sI6$")](FV,o[v(818,"EBu[")](i,""),x[v(916,"4jZl")]);c[v(619,"!kc1")]({filename:x[v(638,"q5v@")],shareKey:e,SharePwd:r,next:0,fileId:x[v(687,"Bc2A")],path:R})}});let y=b[a(580,"iq9T")];if(o[a(721,"Vk8Z")](p,y)){u=y;continue}if(Array[a(834,"x&B#")](b[a(583,"xhg1")])&&o[a(703,"KEzV")](b[a(909,"(Uhe")][a(446,"$K(D")],m)){l+=1727+1726*-1,u=2*-2932+14*197+3106;continue}if(!o[a(889,"GBUh")](p,y))break}let h=await Promise[a(732,"$K(D")](c[a(758,"8#fg")](async A=>this[a(908,"sVp(")+"fo"](e,r,-753+-1*-753,A[a(711,"2CNl")],A[a(730,"8rP)")])));return h=h[a(802,"spAe")](A=>A!=null),[...c,...h[a(842,"dfe3")]()]}async[_t(531,"xFMZ")+"st"](e,r,n,s,i=null,a=""){let o=_t,c={wcQEt:function(g,b){return g===b},SBPDB:function(g,b){return g(b)},CjMqD:function(g,b){return g===b},nYZtU:function(g,b,y){return g(b,y)},AEvNB:function(g,b){return g||b},cDUeZ:function(g,b){return g??b},nitLm:function(g,b){return g+b},QiNbC:o(770,"Z3]t"),HZHXn:o(760,"pd]6"),Qxnyn:o(585,"spAe"),EyKTY:o(786,"[U(&"),iPIaj:function(g,b){return g(b)},rZnpz:function(g,b){return g>=b},JvkNE:function(g,b){return g(b)}},u=[],l=c[o(642,"x&B#")](n,-2062*1+2196*1+-134),d=1,f=new Set,p=new Set,m=new Set,h=g=>!(g==null||g===""||g===-8884+-28*-80+6644||g==="0"||g===-(4*370+-13*71+4*-139)||g==="-1"),A=20*197+-4*916+-176;for(;;){let g=d+"|"+l;if(f[o(488,"sVp(")](g))break;f[o(899,"q5v@")](g);let b=(await Ae[o(731,"GBUh")](c[o(845,"Nh71")](this[o(570,"q5v@")],c[o(825,"n$nf")]),{headers:{},params:{limit:c[o(436,"4jZl")],next:l,orderBy:c[o(498,"sI6$")],orderDirection:c[o(613,"Nh71")],shareKey:e,SharePwd:r,ParentFileId:s,Page:c[o(473,"jJi*")](String,d)}}))[o(890,"PBWo")],y=b?.[o(577,"0j^Z")];if(!y||!Array[o(459,"GBUh")](y[o(490,"PBWo")]))break;y[o(427,"jJi*")][o(888,"4jZl")](v=>{let C=o;if(c[C(793,"sI6$")](v[C(524,"q5v@")],-1*2654+-5014+7670*1)){let R=v[C(718,"PBWo")]+"|"+v[C(844,"x&B#")];if(p[C(707,"gIJp")](R))return;p[C(518,"1g%Z")](R),u[C(913,"2CNl")]({ShareKey:e,FileId:v[C(500,"[U(&")],S3KeyFlag:v[C(755,"Z#jd")],Size:v[C(801,"^oo)")],Etag:v[C(751,"0j^Z")],FileName:v[C(671,"u^kX")],DownloadUrl:c[C(409,"Z3]t")](p6e,v[C(425,"@GrP")+"l"]||v[C(590,"Z3]t")+"L"])})}else if(c[C(766,"u^kX")](v[C(623,"KVv4")],1995+95*-21)&&Array[C(612,"8#fg")](i)){let R=c[C(761,"EBu[")](FV,c[C(767,"xhg1")](a,""),v[C(400,"Nh71")]),w=v[C(898,"Pqls")]+"|"+R;if(m[C(809,"1g%Z")](w))return;m[C(462,"x&B#")](w),i[C(684,"GvrG")]({filename:v[C(506,"2CNl")],shareKey:e,SharePwd:r,next:0,fileId:v[C(641,"KVv4")],path:R})}});let x=y[o(477,"aL3e")];if(c[o(520,"spAe")](h,x)){l=x;continue}if(Array[o(903,"1Jsl")](y[o(858,"sI6$")])&&c[o(620,"8rP)")](y[o(657,"0j^Z")][o(733,"Vk8Z")],A)){d+=-201*-31+2424*-3+1042,l=0;continue}if(!c[o(621,"0j^Z")](h,x))break}return u}[_t(872,"1Jsl")+_t(706,"iq9T")](){return{Referer:nb+"/"}}async[_t(920,"2iTo")+"d"](e,r,n,s,i,a=""){let o=_t,c={ZCgrN:function(p,m){return p(m)},PvlfF:function(p,m){return p(m)},vIZZn:o(407,"sVp("),xAhlt:o(815,"8rP)")+o(416,"[g$U")+o(736,"$ac(")+o(594,"(Uhe")+o(828,"sVp(")+o(737,"xFMZ")+o(471,"spAe")+o(748,"dfe3")+o(627,"dfe3")+o(785,"8#fg")+o(807,"2iTo")+"6",DoYwL:o(798,"sI6$")+o(587,"Vk8Z")+o(499,"KEzV"),tkTzc:o(486,"n$nf")},u=c[o(754,"7WHS")](p6e,c[o(513,"EBu[")]($nr,a));if(u&&this[o(790,"sVp(")+o(624,"gIJp")])return u;await this[o(917,"[g$U")]();let l=JSON[o(692,"Nh71")]({ShareKey:e,FileID:r,S3KeyFlag:n,Size:s,Etag:i}),d={method:c[o(637,"!kc1")],url:this[o(664,"KVv4")]+(o(852,"jJi*")+o(668,"!kc1")),headers:{"User-Agent":c[o(447,"KEzV")],Authorization:o(780,"EBu[")+this[o(906,"$K(D")],"Content-Type":c[o(547,"Nh71")],platform:c[o(724,"x&B#")]},data:l},f=(await Ae[o(649,"xhg1")](d))[o(669,"jJi*")][o(871,"Nh71")];return c[o(873,"1Jsl")](Wnr,f[o(542,"xhg1")+"L"])}async[_t(783,"7WHS")+_t(762,"1g%Z")](e,r,n,s,i){let a=_t,o={NaIOQ:function(d,f){return d!==f},ZJDyl:a(922,"KVv4"),nEnfj:a(815,"8rP)")+a(424,"spAe")+a(648,"2CNl")+a(455,"Bc2A")+a(417,"[U(&")+a(806,"7HAV")+a(596,"n$nf")+a(516,"[U(&")+a(448,"!kc1")+a(837,"GBUh")+a(774,"spAe")+"6",HLHxd:a(617,"8#fg")+a(628,"jJi*")+a(662,"jJi*"),eQFiV:a(677,"aL3e")};await this[a(441,"$K(D")]();let c={method:o[a(720,"aL3e")],url:nb+(a(515,"1Jsl")+a(562,"[g$U")+"fo"),headers:{"User-Agent":o[a(508,"KEzV")],Authorization:a(708,"1Jsl")+this[a(861,"2CNl")],"Content-Type":o[a(559,"iq9T")],platform:o[a(747,"7%IF")]},params:{etag:i,size:s,from:"1",shareKey:e}},u=(await Ae[a(405,"@GrP")](c))[a(823,"$K(D")][a(870,"aL3e")][a(451,"8#fg")+a(555,"dfe3")],l=[];return u[a(771,"Bc2A")](d=>{let f=a;o[f(640,"zTXO")](d[f(421,"Vk8Z")],"")&&l[f(651,"(Uhe")]({name:d[f(713,"sI6$")],url:d[f(653,"7WHS")]})}),l}async[_t(470,"Z#jd")+_t(598,"x&B#")](e="0"){let r=_t,n={lkDkR:r(643,"@GrP")+r(750,"$ac(")+r(432,"1Jsl")+r(667,"1Jsl")+r(849,"dfe3")+r(884,"xhg1")+r(833,"1g%Z")+r(539,"pd]6")+r(912,"$ac(")+r(881,"sI6$")+r(774,"spAe")+r(467,"1g%Z")+r(792,"4jZl")+"2",azyYJ:r(631,"1Jsl"),RrDzO:r(799,"GvrG"),LVIHx:r(528,"n$nf"),vJAGT:function(i,a){return i(a)},inUyB:function(i,a){return i||a},oQkPG:r(699,"Pqls"),PhfPj:r(607,"xhg1")+"le"};return await this[r(683,"@GrP")](),(await Ae[r(749,"0j^Z")](nb+(r(646,"GBUh")+r(397,"#cY9")),{headers:{"User-Agent":n[r(717,"dfe3")],Authorization:r(556,"4jZl")+this[r(861,"2CNl")]},params:{driveId:"0",limit:n[r(830,"$ac(")],next:"0",orderBy:n[r(545,"n$nf")],orderDirection:n[r(831,"Z#jd")],parentFileId:n[r(611,"!kc1")](String,n[r(756,"Nh71")](e,"0")),trashed:n[r(907,"3Ga)")],SearchData:"",Page:"1",OnlyLookAbnormalFile:"0",event:n[r(885,"KEzV")],operateType:"1",inDirectSpace:n[r(609,"8rP)")]}}))[r(848,"[U(&")]}async[_t(574,"jJi*")+_t(428,"4jZl")](e,r,n,s,i=""){let a=_t,o={ppSWW:a(811,"jJi*"),NSOMt:a(496,"3Ga)")+a(576,"7WHS"),AUwfE:a(633,"^oo)")+a(478,"(Uhe")+a(745,"KVv4"),heGjz:a(453,"2CNl")};await this[a(466,"Z3]t")]();let c=JSON[a(822,"7WHS")]({driveId:0,FileName:i,FileID:e,S3KeyFlag:r,Size:n,Etag:s}),u={method:o[a(746,"7HAV")],url:nb+(a(655,"spAe")+a(781,"xFMZ")+a(868,"Pqls")),headers:{"User-Agent":o[a(582,"KEzV")],Authorization:a(599,"[U(&")+this[a(534,"xhg1")],"Content-Type":o[a(452,"!kc1")],platform:o[a(414,"x&B#")]},data:c},l=await Ae[a(859,"n$nf")](u);return l?.[a(688,"dfe3")]?.[a(661,"8#fg")]?.[a(573,"[U(&")+"l"]||l?.[a(411,"Pqls")]?.[a(549,"pd]6")]?.[a(645,"(Uhe")+"L"]||""}},O0=new HV;var h6e=Re(v0(),1),cC=Re(Jn(),1);var QV="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",Vh={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},m6e={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},GV=async t=>{let e=cC.default.enc.Hex.stringify(cC.default.MD5(t.config.y115.cookie)).toString();return(await t.db.getObjectDefault("/y115",{}))[e]??""},qnr=async(t,e)=>{let r=cC.default.enc.Hex.stringify(cC.default.MD5(t.config.y115.cookie)).toString();await t.db.push(`/y115/${r}`,e)};async function VV(t){t.get("/qrcode",async(e,r)=>{try{let s=(await Ae.get("https://qrcodeapi.115.com/api/1.0/web/1.0/token",{headers:{"User-Agent":QV,referer:"https://115.com/"}})).data.data,i=m6e.encode({sign:s.sign,time:s.time,uid:s.uid}),a=await h6e.default.toBuffer(s.qrcode,{width:300,height:300});r.header("X-Session-Key",i),r.send(a)}catch(n){console.error("115\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let{sessionKey:n}=e.body,s=m6e.decode(n);if(!s)return r.send({code:0,data:{status:Vh.EXPIRED}});let{sign:i,time:a,uid:o}=s;try{let u=(await Ae.get(`https://qrcodeapi.115.com/get/status/?_=${parseInt(Date.now()/1e3)}&sign=${i}&time=${a}&uid=${o}`,{headers:{"User-Agent":QV,referer:"https://115.com/"}})).data.data?.status;if(u===2){let l=new URLSearchParams({account:o,app:"android"}),d=await Ae.post("https://passportapi.115.com/app/1.0/android/1.0/login/qrcode",l,{headers:{"User-Agent":QV,referer:"https://115.com/"}});if(d.data.state===1){let f=hl(d.headers["set-cookie"]).join("");r.send({code:0,data:{status:Vh.CONFIRMED,cookie:f}})}else r.send({code:0,data:{status:Vh.NEW}})}else u===1?r.send({code:0,data:{status:Vh.SCANNED}}):u===-1||u===-2?r.send({code:0,data:{status:Vh.EXPIRED}}):r.send({code:0,data:{status:Vh.NEW}})}catch(c){console.error("115\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),r.send({code:0,data:{status:Vh.NEW}})}}),t.post("/cookie",(e,r)=>{r.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(e,r)=>{r.send({code:0,data:await GV(e.server)})}),t.put("/cookie",async(e,r)=>{await qnr(e.server,e.body.cookie),r.send({code:0})})}var x6e="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",XV="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",b6e="4.8.2",YV="OFFLINE$",E6e=15e3,_6e=1e3,zV=async t=>globalThis.getPanName?await globalThis.getPanName(t):t;function S6e(t){let r=/https:\/\/(?:115|anxia|115cdn)\.com\/s\/([a-zA-Z0-9]+)\?password=([a-zA-Z0-9]+)/.exec(t);return r?{shareCode:r[1],receiveCode:r[2]}:null}function v6e(t){let e=String(t||"").trim();return/^(?:magnet:\?|ed2k:\/\/)/i.test(e)?!0:/^https?:\/\//i.test(e)&&!S6e(e)}function C6e(t){return["mp4","webm","avi","wmv","flv","mov","mkv","mpeg","3gp","ts","m2ts","mp3","wav","aac","iso"].includes(String(t||"").slice(String(t||"").lastIndexOf(".")+1).toLowerCase())}function KV(t){return t?typeof t=="string"?t.trim():JSON.stringify(t):""}async function P0(t){let e=KV(t?.config?.y115?.cookie||"");if(e)return e;let r=t?.config?.y115?KV(await GV(t)):"";if(r)return r;let n=await t.db.getObjectDefault("/y115",{}),s=n.cookie||Object.values(n).find(i=>typeof i=="string"&&i.trim())||"";return KV(s)}function jnr(t){return(Array.isArray(t)?t:[t]).map(r=>String(r||"").split(";")[0].trim()).filter(Boolean).join("; ")}function Sc(t,e=null){let r=e?` ${JSON.stringify(e)}`:"";console.log(`[115-offline] ${t}${r}`)}function ZV(t,e=180){let r=String(t??"");return r.length>e?`${r.slice(0,e)}...`:r}function JV(t,e=0){if(t==null)return t;if(e>3)return Array.isArray(t)?`[Array(${t.length})]`:typeof t=="object"?`[Object(${Object.keys(t).join(",")})]`:t;if(Array.isArray(t))return t.slice(0,3).map(r=>JV(r,e+1));if(typeof t=="object"){let r={};for(let[n,s]of Object.entries(t))/cookie|token|auth|sign|secret/i.test(n)?r[n]="[masked]":/url/i.test(n)&&typeof s=="string"?r[n]=s?`[url:${s.length}]`:"":r[n]=JV(s,e+1);return r}return typeof t=="string"?ZV(t):t}function I6e(t){return{Cookie:t,"User-Agent":XV,"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:"https://115.com/",Origin:"https://115.com"}}function Hnr(t){let e=String(t?.url||t?.source_url||t?.source||t?.info_hash||"").trim(),r=String(t?.pick_code||t?.pickcode||t?.pc||t?.file_pick_code||"").trim();return{id:String(t?.id||t?.info_hash||t?.hash||t?.url||"").trim(),name:String(t?.name||t?.file_name||t?.filename||"\u672A\u77E5").trim()||"\u672A\u77E5",status:Number(t?.status),progress:Number(t?.progress||t?.percentDone||0),pickCode:r,fileId:String(t?.file_id||t?.fid||"").trim(),sourceUrl:e,raw:t}}function Qnr(t){return(Array.isArray(t?.data)?t.data:Array.isArray(t?.data?.tasks)?t.data.tasks:Array.isArray(t?.tasks)?t.tasks:Array.isArray(t?.list)?t.list:[]).map(Hnr)}function T6e(t,e,r={}){let n=String(e||"").trim(),s=/btih:([^&]+)/i.exec(n)?.[1]?.toLowerCase()||"",i=Array.isArray(r?.result)?r.result[0]:null,a=String(r?.id||r?.data?.id||r?.task_id||r?.data?.task_id||i?.info_hash||"").trim();return!!(a&&t.id===a||t.sourceUrl&&t.sourceUrl===n||s&&JSON.stringify(t.raw||{}).toLowerCase().includes(s))}function ez(t,e=0){if(!t||e>6||typeof t!="object")return"";for(let r of["pick_code","pickcode","pc","file_pick_code"]){let n=String(t[r]||"").trim();if(n)return n}for(let r of Object.values(t)){let n=ez(r,e+1);if(n)return n}return""}function w6e(t){return new Promise(e=>setTimeout(e,t))}function R6e(t,e=""){let r=String(t?.n||t?.name||t?.file_name||"").trim(),n=String(t?.pc||t?.pick_code||t?.pickcode||"").trim();return!r||!n||!C6e(r)?null:{vod_id:n,vod_name:r,vod_size:Number(t?.s||t?.size||0),vod_group:e}}async function Gnr(t,e){let r=await P0(t);if(!r||!e)return[];let n=await Ae.get("https://webapi.115.com/files",{params:{aid:1,cid:e,o:"user_ptime",asc:0,offset:0,show_dir:1,limit:115,code:"",scid:"",snap:0,natsort:1,record_open_time:1,source:"",format:"json"},headers:{Cookie:r,"User-Agent":x6e,Referer:"https://webapi.115.com/bridge_2.0.html?namespace=Core.DataAccess&api=UDataAPI&_t=v5",Origin:"https://115.com","X-Requested-With":"XMLHttpRequest"},validateStatus:null});return Array.isArray(n.data?.data)?n.data.data:[]}async function N6e(t,e,r="",n=0){if(!e||n>5)return[];let s=await Gnr(t,e),i=[];for(let a of s){if(Number(a?.fc)===1){let o=R6e(a,r);o&&i.push(o);continue}if(Number(a?.fc)===0){let o=String(a?.cid||a?.fid||"").trim(),c=String(a?.n||a?.name||"").trim(),u=c?r?`${r}/${c}`:c:r;i.push(...await N6e(t,o,u,n+1))}}return i}async function Vnr(t,e){let r=await P0(t),n=String(e||"").trim();if(!r||!n)return[];let s=await Ae.get("https://webapi.115.com/files/search",{params:{search_value:n,type:4,offset:0,limit:20,date:"",aid:1,cid:0,pick_code:"",source:"",format:"json"},headers:{Cookie:r,"User-Agent":XV,Referer:"https://115.com/",Origin:"https://115.com",Accept:"application/json, text/plain, */*"},validateStatus:null});return Array.isArray(s.data?.data)?s.data.data:[]}async function znr(t,e){let r=await D6e(t,e);if(r.length>0)return r[0].vod_id;if(!e?.raw)return"";let n=e.raw;return String(n.file_id||n.delete_file_id||e.fileId||"").trim()?"":e.pickCode||ez(n)}function Knr(t){return t?.errcode===10008||t?.result?.some?.(e=>e?.errcode===10008)}function O6e(t){return(t?.state===!1||t?.errno)&&!Knr(t)}function P6e(t){return t?.message||t?.msg||t?.error_msg||t?.error||"115 \u79BB\u7EBF\u4EFB\u52A1\u63D0\u4EA4\u5931\u8D25"}function Ynr(t){return t?.server||t||null}async function D6e(t,e){if(!e?.raw)return[];let r=e.raw,n=String(r.file_id||r.delete_file_id||e.fileId||"").trim();if(n){let o=await N6e(t,n);if(Sc("\u79BB\u7EBF\u76EE\u5F55\u626B\u63CF",{cid:n,count:o.length,selected:o[0]?.vod_name||"",hasPickCode:!!o[0]?.vod_id}),o.length>0)return o}let s=String(r.name||e.name||"").replace(/\.[^.]+$/,"").trim(),i=await Vnr(t,s),a=i.map(o=>R6e(o)).filter(Boolean).sort((o,c)=>Number(c.vod_size||0)-Number(o.vod_size||0));return Sc("\u79BB\u7EBF\u6587\u4EF6\u641C\u7D22",{keyword:ZV(s,80),count:i.length,selected:a[0]?.vod_name||"",hasPickCode:!!a[0]?.vod_id}),a}async function k6e(t,e="GET",r=null,n=null){try{let s=await Ae({url:t,method:e,headers:r||void 0,data:n,validateStatus:null});return{data:s.data,cookie:jnr(s.headers?.["set-cookie"]),headers:s.headers||{},status:s.status}}catch(s){throw s.response?s.response.data:s}}async function L6e(t,e){let r=await P0(t),n=String(e||"").trim();if(!r)return{state:!1,message:"115 Cookie \u7F3A\u5931"};if(!n)return{state:!1,message:"\u79BB\u7EBF\u94FE\u63A5\u4E3A\u7A7A"};let s=new URLSearchParams({"url[0]":n,wp_save_path:"0",appVer:b6e});Sc("\u63D0\u4EA4\u79BB\u7EBF\u4EFB\u52A1",{type:n.split(":")[0],length:n.length});let i=await k6e("https://115.com/web/lixian/?ct=lixian&ac=add_task_urls","POST",I6e(r),s.toString()),a=i.data||{};return Sc("\u63D0\u4EA4\u54CD\u5E94",{status:i.status,state:a?.state,message:a?.message||a?.msg||"",preview:ZV(typeof a=="string"?a:JSON.stringify(a))}),a}async function B6e(t){let e=await P0(t);if(!e)return[];let r=await Ae.get("https://115.com/web/lixian/?ct=lixian&ac=task_lists",{params:{page:1,limit:30,appVer:b6e},headers:I6e(e),validateStatus:null}),n=Qnr(r.data);return Sc("\u4EFB\u52A1\u5217\u8868",{status:r.status,count:n.length}),n}async function Jnr(t,e,r={},n={}){let s=Number(n.maxWaitMs||E6e),i=Number(n.intervalMs||_6e),a=Date.now(),o=null;for(;Date.now()-a<=s;){let c=await B6e(t),u=c.find(l=>T6e(l,e,r));if(u){o=u;let l=await znr(t,u)||u.pickCode||ez(u.raw);if(Sc("\u8F6E\u8BE2\u4EFB\u52A1",{name:u.name,status:u.status,progress:u.progress,hasPickCode:!!l}),l)return{pickCode:l,task:u}}else Sc("\u672A\u5339\u914D\u5F53\u524D\u79BB\u7EBF\u4EFB\u52A1",{count:c.length});await w6e(i)}return{pickCode:"",task:o}}async function g6e(t,e){let r=String(e||"").trim();if(!r)return{parse:0,url:"",msg:"115 \u79BB\u7EBF\u94FE\u63A5\u4E3A\u7A7A"};try{let n=await L6e(t,r);if(O6e(n))return{parse:0,url:"",msg:`115 \u79BB\u7EBF\u5931\u8D25: ${P6e(n)}`};let{pickCode:s,task:i}=await Jnr(t,r,n);return s?(Sc("\u83B7\u53D6\u5230 pickCode\uFF0C\u5F00\u59CB\u89E3\u6790\u76F4\u94FE",{pickCode:s}),await cL(t,s)):{parse:0,url:"",msg:`115 \u79BB\u7EBF\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u4F46\u6682\u672A\u5B8C\u6210: ${i?`\u72B6\u6001 ${i.status}, \u8FDB\u5EA6 ${i.progress||0}%`:"\u672A\u627E\u5230\u4EFB\u52A1"}`}}catch(n){return{parse:0,url:"",msg:`115 \u79BB\u7EBF\u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function Xnr(t,e,r={}){let n=String(e||"").trim();if(!n)return[];let s=await L6e(t,n);if(O6e(s))return Sc("\u79BB\u7EBF\u8BE6\u60C5\u63D0\u4EA4\u5931\u8D25",{message:P6e(s)}),[];let i=Number(r.maxWaitMs||E6e),a=Number(r.intervalMs||_6e),o=Date.now();for(;Date.now()-o<=i;){let c=await B6e(t),u=c.find(l=>T6e(l,n,s));if(u){let l=await D6e(t,u);if(l.length>0)return l;Sc("\u79BB\u7EBF\u8BE6\u60C5\u6682\u672A\u53D1\u73B0\u5A92\u4F53\u6587\u4EF6",{name:u.name,status:u.status,progress:u.progress})}else Sc("\u79BB\u7EBF\u8BE6\u60C5\u672A\u5339\u914D\u5F53\u524D\u4EFB\u52A1",{count:c.length});await w6e(a)}return[]}var A6e=new Uint8Array([240,229,105,174,191,220,191,138,26,69,232,190,125,166,115,184,222,143,231,196,69,218,134,196,155,100,139,20,106,180,241,170,56,1,53,158,38,105,44,134,0,107,79,165,54,52,98,166,42,150,104,24,242,74,253,189,107,151,143,77,143,137,19,183,108,142,147,237,14,13,72,62,215,47,136,216,254,254,126,134,80,149,79,209,235,131,38,52,219,102,123,156,126,157,122,129,50,234,182,51,222,58,169,89,52,102,59,170,186,129,96,72,185,213,129,156,248,108,132,119,255,84,120,38,95,190,232,30,54,159,52,128,92,69,44,155,118,213,27,143,204,195,184,245]),M6e=0x8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683n,W6e=0x10001n;function $6e(t,e){e==null&&(e=Math.ceil(t.toString(16).length/2));let r=new Uint8Array(e);for(let n=e-1;n>=0;n--)r[n]=Number(t&0xffn),t>>=8n;return r}function F6e(t){let e=0n;for(let r of t)e=e<<8n|BigInt(r);return e}function*tz(t,e,r=1){for(let n=t+r;n<e;n+=r)yield[t,n,r],t=n;t!==e&&(yield[t,e,e-t])}function y6e(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function Znr(t,e){let r=new Uint8Array(e),n=e*(e-1),s=0;for(let i=0;i<e;i++){let a=t[i]+A6e[s]&255;r[i]=A6e[n]^a,n-=e,s+=e}return r}function esr(t){let e=t.length,r=new Uint8Array(128);return r.fill(2,1,127-e),r.set(t,128-e),F6e(r)}function oL(t,e){let r=new Uint8Array(t.length),n=t.length&3;n&&r.set(y6e(t.subarray(0,n),e.subarray(0,n)));for(let[s,i]of tz(n,t.length,e.length))r.set(y6e(t.subarray(s,i),e),s);return r}function U6e(t,e,r){if(r===1n)return 0n;let n=1n;for(t%=r;e;)e&1n&&(n=n*t%r),e=e>>1n,t=t*t%r;return n}function tsr(t){(typeof t=="string"||t instanceof String)&&(t=new TextEncoder().encode(t));let e=new Uint8Array(16+t.length);e.set(oL(oL(t,new Uint8Array([141,165,165,141])).reverse(),new Uint8Array([120,6,173,76,51,134,93,24,76,1,63,70])),16);let r=new Uint8Array(Math.ceil(e.length/117)*128),n=0;for(let[s,i]of tz(0,e.length,117))r.set($6e(U6e(esr(e.subarray(s,i)),W6e,M6e),128),n,n+=128);return Buffer.from(r).toString("base64")}function rsr(t){let e=new Uint8Array(Buffer.from(t,"base64")),r=[];for(let[i,a]of tz(0,e.length,128)){let o=U6e(F6e(e.subarray(i,a)),W6e,M6e),c=$6e(o);r.push(...c.subarray(c.indexOf(0)+1))}r=new Uint8Array(r);let n=Znr(r.subarray(0,16),12),s=oL(r.subarray(16),n).reverse();return new TextDecoder("utf-8").decode(oL(s,new Uint8Array([141,165,165,141])))}function nsr(t){return`data=${encodeURIComponent(tsr(JSON.stringify(t)))}`}function ssr(t){if(typeof t=="string")try{let e=JSON.parse(t);return{encrypted:typeof e?.data=="string"?e.data:typeof e?.data?.data=="string"?e.data.data:"",payload:e}}catch{return{encrypted:t,payload:null}}return t&&typeof t=="object"?{encrypted:typeof t.data=="string"?t.data:typeof t.data?.data=="string"?t.data.data:"",payload:t}:{encrypted:"",payload:t}}function isr(t){let{encrypted:e,payload:r}=ssr(t);if(!e)return r||{};try{return JSON.parse(rsr(e))}catch(n){if(r&&typeof r=="object")return r;throw n}}function q6e(t){if(!t||typeof t!="object")return"";if(typeof t.url=="string"&&t.url)return t.url;if(t.url&&typeof t.url.url=="string"&&t.url.url)return t.url.url;if(t.data&&typeof t.data.url=="string"&&t.data.url)return t.data.url;for(let e of Object.values(t)){if(!e||typeof e!="object")continue;let r=q6e(e);if(r)return r}return""}function j6e(t){if(!t||typeof t!="object")return"";for(let e of["msg","message","error"]){let r=t[e];if(typeof r=="string"&&r.trim())return r.trim()}for(let e of Object.values(t)){if(!e||typeof e!="object")continue;let r=j6e(e);if(r)return r}return""}async function H6e({cookie:t,apiUrl:e,payload:r,userAgent:n,requestReferer:s="",requestOrigin:i="",responseReferer:a=s}){let o=nsr(r),c={"Content-Type":"application/x-www-form-urlencoded","Content-Length":Buffer.byteLength(o),Cookie:t,"User-Agent":n};s&&(c.Referer=s),i&&(c.Origin=i);let u=await k6e(e,"POST",c,o),l=[t,u.cookie].filter(Boolean).join("; "),d=isr(u.data),f=q6e(d);if(!f){let p=j6e(d)||"\u672A\u53D1\u73B0\u4E0B\u8F7D\u94FE\u63A5";return Sc("\u76F4\u94FE\u54CD\u5E94\u65E0 URL",{api:e.includes("/share/")?"share":"own",message:p,decoded:JV(d)}),{parse:0,url:"",msg:`115 \u9650\u5236: ${p}`}}return{parse:0,url:f,header:{"User-Agent":n,...l?{Cookie:l}:{},...a?{Referer:a}:{}}}}async function cL(t,e){let r=await P0(t),n=String(e||"").trim();if(!r)return{parse:0,url:"",msg:"115 Cookie \u7F3A\u5931"};if(!n)return{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{return await H6e({cookie:r,apiUrl:`https://proapi.115.com/app/chrome/downurl?t=${Math.floor(Date.now()/1e3)}`,payload:{pickcode:n},userAgent:x6e,requestReferer:"https://115.com/",requestOrigin:"https://115.com",responseReferer:"https://115.com/"})}catch(s){return{parse:0,url:"",msg:`115 \u63A5\u53E3\u5F02\u5E38: ${s?.message||s}`}}}async function asr({shareCode:t,receiveCode:e,dirID:r=""}){let n=[],s=(a,o)=>a?`${a}/${o}`:o,i=async(a,o)=>{let c=o||"",u=await Ae.get("https://webapi.115.com/share/snap",{params:{share_code:t,receive_code:e,cid:a,limit:"9999",offset:"0"}});if(!u.data.data)return[];let l=u.data.data.list.filter(f=>f.fc===1),d=u.data.data.list.filter(f=>f.fc===0);for(let f of l)C6e(f.n)&&n.push({...f,shareCode:t,receiveCode:e,vod_group:c});for(let f of d)await i(f.cid,s(c,f.n))};return await i(r,""),n}async function Q6e(t,e=null){if(v6e(t)){let s=Ynr(e);if(s){let i=await Xnr(s,t,{maxWaitMs:12e3});if(i.length>0)return Os(await zV("115"),i)}return{from:await zV("115"),url:`115\u79BB\u7EBF\u89E3\u6790\u4E2D$${YV}${t}`}}let r=S6e(t);if(!r)return{};let n=await asr(r);return n=n.map(s=>({vod_id:[r.shareCode,r.receiveCode,s.fid].join("*"),vod_name:s.n,vod_size:s.s,vod_group:s.vod_group})),Os(await zV("115"),n)}async function G6e(t){let e=String(t.body.id||"").trim();if(!e)return{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};if(e.startsWith(YV)){let a=await g6e(t.server,e.slice(YV.length));return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:a}if(v6e(e)){let a=await g6e(t.server,e);return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:a}if(!e.includes("*"))return await cL(t.server,e);let r=await P0(t.server);if(!r)return{parse:0,url:"",msg:"\u8BF7\u5148\u5728\u914D\u7F6E\u4E2D\u586B\u5165115 Cookie"};let[n,s,i]=e.split("*");if(!n||!i)return{parse:0,url:"",msg:"115 \u5206\u4EAB\u53C2\u6570\u9519\u8BEF"};try{let a=await H6e({cookie:r,apiUrl:"http://pro.api.115.com/app/share/downurl",payload:{share_code:n,receive_code:s,file_id:i},userAgent:XV,responseReferer:"https://115.com/"});return a.url?{parse:0,url:["\u539F\u753B",a.url],header:a.header}:(a?.msg?.includes("\u767B\u5F55")&&typeof globalThis.messageToDart=="function"&&globalThis.messageToDart({action:"toast",opt:{message:"115\u76D8\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u524D\u5F80\u3010\u914D\u7F6E\u3011\u7AD9\u6E90\u8FDB\u884C\u914D\u7F6E",duration:5}}),a)}catch(a){return{parse:0,url:"",msg:`115 \u63A5\u53E3\u5F02\u5E38: ${a?.message||a}`}}}var K6e=Re(nC(),1),rz=Re(Jn(),1);var csr=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,V6e=t=>{if(!t)return"";let e=t.replaceAll("\\","/").split("/").filter(Boolean);return e.length<=1?"":(e.pop(),e.join("/"))},uL="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",Y6e="netdisk;P2SP;2.2.91.136;android-android;",usr="netdisk",lsr="https://pan.baidu.com/",dsr="https://pan.baidu.com/disk/main",fsr=200,psr=t=>{try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}},J6e=(t="",e=dsr)=>({"User-Agent":uL,Referer:e,Accept:"application/json, text/plain, */*",...t?{Cookie:t}:{}}),z6e=(t="",e=uL)=>({"User-Agent":e,Referer:lsr,...t?{Cookie:t}:{}}),msr=()=>({"User-Agent":usr}),nz,sz={},iz={set(t,e){sz[t]=e,nz.push(`/baidu/${t}`,e)},get(t){return sz[t]}},ib=async t=>{nz=t.server.db,sz=await nz.getObjectDefault("/baidu",{})};var az=class{constructor(){this.regex=/https:\/\/pan\.baidu\.com\/s\/(.*)\?.*?pwd=([^&]+)/,this.type=["M3U8_AUTO_4K","M3U8_AUTO_2K","M3U8_AUTO_1080","M3U8_AUTO_720","M3U8_AUTO_480"],this.headers={"User-Agent":uL,Connection:"keep-alive",Accept:"application/json, text/plain, */*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6"},this.api="https://pan.baidu.com",this.link="",this.pwd="",this.surl="",this.shorturl="",this.shareid="",this.app_id=250528,this.view_mode=1,this.channel="chunlei",this.shareCookie=""}get cookie(){return iz.get("baidu_cookie")||""}async getSurl(e){this.link=e,this.shareCookie="";let r=this.regex.exec(e);r&&r[1]&&(this.surl=r[1],this.shorturl=this.surl.split("").slice(1).join(""),this.pwd=r[2]||"")}async getSign(){let e={...this.headers,cookie:this.shareCookie||this.cookie},r=await he.get(`${this.api}/share/tplconfig?surl=${this.surl}&fields=Espace_info,card_info,sign,timestamp&view_mode=${this.view_mode}&channel=${this.channel}&web=1&app_id=${this.app_id}`,{headers:e});if(!r.data||!r.data.data||!r.data.data.sign)throw new Error(`\u83B7\u53D6sign\u5931\u8D25: ${JSON.stringify(r.data)}`);return r.data.data.sign}async getRandsk(){let e=K6e.default.stringify({pwd:this.pwd,vcode:"",vcode_str:""}),r=(await he.post(`${this.api}/share/verify?surl=${this.shorturl}&pwd=${this.pwd}`,e,{headers:{"User-Agent":uL,Referer:this.link}})).data.randsk;if(!r)return"";let n="BDCLND="+r,s=this.cookie.replace(/BDCLND=[^;]*;?\s*/g,"");return s.length>0&&!s.endsWith(";")&&(s+="; "),this.shareCookie=s+n,r}async getShareList(){await this.getRandsk(),this.headers.cookie=this.shareCookie||this.cookie;let e=(await he.get(`${this.api}/share/list?web=5&app_id=${this.app_id}&desc=1&showempty=0&page=1&num=20&order=time&shorturl=${this.shorturl}&root=1&view_mode=${this.view_mode}&channel=${this.channel}&web=1&clienttype=0`,{headers:this.headers})).data;if(e.errno===0&&e.list.length>0){let r={},n=[],s=[];this.uk=e.uk,this.shareid=e.share_id,iz.set(`baidu_share_${this.surl}`,{surl:this.surl,pwd:this.pwd,link:this.link,uk:this.uk,shareid:this.shareid}),e.list.map(a=>{if((a.category==="6"||a.category===6)&&n.push(a.path),a.category==="1"||a.category===1){let o=a.server_filename||a.path.split("/").pop(),c=V6e(a.path);s.push({vod_name:o,vod_group:c,vod_id:[a.path.replaceAll("#","\0"),this.uk,this.shareid,a.fs_id||a.fsid,this.surl].join("*"),vod_size:a.size})}}),!(e.title in r)&&e.title!==void 0&&(r[e.title]=[]),s.length>=0&&e.title!==void 0&&(r[e.title]=[...s]);let i=await Promise.all(n.map(async a=>this.getSharepath(a)));if(i=i.filter(a=>a!=null).flat(),i.length>=0){let a=i.map(o=>(o.vod_name&&o.vod_name.includes("/")&&(o.vod_name=o.vod_name.split("/").pop()),o));r[e.title].push(...a)}return r}}async getSharepath(e){await this.getRandsk(),this.headers.cookie=this.shareCookie||this.cookie;let r=(await he.get(`${this.api}/share/list?is_from_web=true&uk=${this.uk}&shareid=${this.shareid}&order=name&desc=0&showempty=0&view_mode=${this.view_mode}&web=1&page=1&num=100&dir=${encodeURIComponent(e)}&channel=${this.channel}&web=1&app_id=${this.app_id}`,{headers:this.headers})).data;if(r.errno===0&&r.list.length>0){let n=[],s=[];r.list.map(o=>{if((o.category==="6"||o.category===6)&&n.push(o.path),o.category==="1"||o.category===1){let c=o.server_filename||o.path.split("/").pop(),u=V6e(o.path);s.push({vod_name:c,vod_group:u,vod_id:[o.path.replaceAll("#","\0"),this.uk,this.shareid,o.fs_id||o.fsid,this.surl].join("*"),vod_size:o.size})}});let i=await Promise.all(n.map(async o=>this.getSharepath(o)));i=i.filter(o=>o!=null);let a=i.map(o=>(o.vod_name&&o.vod_name.includes("/")&&(o.vod_name=o.vod_name.split("/").pop()),o));return[...s,...a.flat()]}}sha1(e){return rz.default.SHA1(e).toString(rz.default.enc.Hex)}async getUid(){this.headers.cookie=this.shareCookie||this.cookie;let e=(await he.get("https://mbd.baidu.com/userx/v1/info/get?appname=baiduboxapp&fields=%20%20%20%20%20%20%20%20%5B%22bg_image%22,%22member%22,%22uid%22,%22avatar%22,%20%22avatar_member%22%5D&client&clientfrom&lang=zh-cn&tpl&ttt",{headers:this.headers})).data;if(e&&e.data&&e.data.fields&&e.data.fields.uid)return e.data.fields.uid;throw new Error("\u83B7\u53D6\u7528\u6237UID\u5931\u8D25: "+JSON.stringify(e))}async getShareUrl(e,r,n,s){e=e.replaceAll("\0","#");let i=await this.getSign(),a=[],o=Math.floor(new Date/1e3);return this.type.map(c=>{a.push({name:c.replace("M3U8_AUTO_",""),url:`${this.api}/share/streaming?channel=${this.channel}&uk=${r}&fid=${s}&sign=${i}×tamp=${o}&shareid=${n}&type=${c}&vip=0&jsToken&isplayer=1&check_blue=1&adToken`})}),a}async getAppShareUrl(e,r,n,s){e=e.replaceAll("\0","#");let i=await this.getRandsk(),a=await this.getUid(),o=Object.assign({},this.headers,{"User-Agent":Y6e}),c="73CED981D0F186D12BC18CAE1684FFD5|VSRCQTF6W",u=String(new Date().getTime()),l=this.sha1(this.sha1(this.cookie.match(/BDUSS=(.+?);/)[1])+a+"ebrcUYiuxaZv2XGu7KIYKxUrqfnOfpDF"+u+c+"11.30.2ae5821440fab5e1a61a025f014bd8972"),d=this.api+"/share/list?shareid="+n+"&uk="+r+"&fid="+s+"&sekey="+i+"&origin=dlna&devuid="+c+"&clienttype=1&channel=android_12_zhao_bd-netdisk_1024266h&version=11.30.2&time="+u+"&rand="+l,f=(await he.get(d,{headers:o})).data;if(f.errno===0&&f.list.length>0)return f.list[0].dlink}},Wn=new az;async function X6e(t,e){await ib(e),await Wn.getSurl(t);let r=await Wn.getShareList();if(!r)return null;let n=await csr("baidu"),s=[],i=[];return Object.keys(r).forEach(a=>{let o=Os(n,r[a]);o&&o.from&&o.url&&(s.push(o.from),i.push(o.url))}),s.length===0?null:{from:s.join("$$$"),url:i.join("$$$")}}async function Z6e(t,e="/",r=1){await ib(t);let n=Wn.cookie;if(!n)return{list:[],rawCount:0};let s=Number.parseInt(r,10)||1,i=String(e||"/"),a=(await he.get(`${Wn.api}/api/list?app_id=${Wn.app_id}&web=1&num=${fsr}&page=${s}&order=name&desc=0&dir=${encodeURIComponent(i)}`,{headers:J6e(n)})).data;if(Number(a?.errno)!==0)throw new Error(`\u767E\u5EA6\u5217\u76EE\u5F55\u5931\u8D25: ${a?.errmsg||a?.errno||"unknown error"}`);let o=Array.isArray(a?.list)?a.list:[];return{list:o,rawCount:o.length}}async function hsr(t,e){await ib(t);let r=Wn.cookie;if(!r)return null;let n=String(typeof e=="object"?e?.fileId||"":e||""),s=typeof e=="object"?String(e?.path||""):"";if(!n||!s)return null;let i=new URLSearchParams({type:"VideoURL",path:s,fs_id:n,devuid:"0%1",clienttype:"1",channel:"android_15_25010PN30C_bd-netdisk_1523a",nom3u8:"1",dlink:"1",media:"1",origin:"dlna"}),a=(await he.get(`${Wn.api}/api/mediainfo?${i.toString()}`,{headers:J6e(r),validateStatus:()=>!0})).data,o=String(a?.info?.dlink||a?.info?.[0]?.dlink||a?.dlink||"").trim();if(!o){let c=a?.errno,u=a?.errmsg||a?.show_msg||a?.message||"";throw new Error(`\u767E\u5EA6\u89C6\u9891\u76F4\u94FE\u83B7\u53D6\u5931\u8D25: ${u||c||"empty dlink"}`)}return{dlink:o,data:a}}var gsr={};async function lL(t,e){let r=String(t.body.id||"").split("*");if(await ib(t),r[0]==="own"){let c=String(r[1]||"").trim(),u=psr(r[2]||"");if(!Wn.cookie)return{parse:0,url:"",msg:"\u767E\u5EA6 Cookie \u7F3A\u5931"};if(!c&&!u)return{parse:0,url:"",msg:"\u767E\u5EA6\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let l=await hsr(t,{fileId:c,path:u});return l?.dlink?{parse:0,url:["\u539F\u753B",l.dlink],header:msr()}:{parse:0,url:"",msg:"\u767E\u5EA6\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(l){return{parse:0,url:"",msg:`\u767E\u5EA6\u63A5\u53E3\u5F02\u5E38: ${l?.message||l}`}}}let n=r[4],s=iz.get(`baidu_share_${n}`);s&&(Wn.surl=s.surl,Wn.pwd=s.pwd,Wn.link=s.link,Wn.uk=s.uk,Wn.shareid=s.shareid,Wn.shorturl=Wn.surl?Wn.surl.split("").slice(1).join(""):"",Wn.shareCookie="",Wn.pwd&&(await Wn.getRandsk(),Wn.headers.cookie=Wn.shareCookie||Wn.cookie));let i={...z6e("",Y6e)},a={...z6e()};try{let c=await Wn.getAppShareUrl(r[0],r[1],r[2],r[3]);if(c)return{parse:0,url:["\u539F\u753B",c],header:i}}catch(c){console.log("App\u7248API\u5931\u8D25\uFF0C\u964D\u7EA7\u5230Web\u7248API:",c.message)}let o=await Wn.getShareUrl(r[0],r[1],r[2],r[3]);if(o&&o.length>0){let c=[];return o.forEach(u=>{c.push(u.name,u.url)}),{parse:0,url:c,header:a}}throw new Error("\u83B7\u53D6\u64AD\u653E\u94FE\u63A5\u5931\u8D25")}async function dL(t,e){let r=t.params.site,n=t.params.what,s=t.params.shareId,i=t.params.fileId,a=t.params.flag;if(r!=="baidu")return e.status(400).send({error:"Invalid site"});let o=gsr[s];if(!o)return e.status(404).send({error:"Play URL not found in cache"});let c,u=o.headers;if(o.type==="app")c=o.url;else if(o.type==="web"){let l=o.urls.find(d=>d.name===a);if(!l)return e.status(404).send({error:"Quality not found"});c=l.url}else return e.status(500).send({error:"Invalid cache type"});return e.redirect(c)}var Tl=Re(Jn(),1);var Te=Gi;(function(t,e){let r=Gi,n=t();for(;;)try{if(parseInt(r(1692,"6m)Q"))/1*(-parseInt(r(482,"di2y"))/2)+-parseInt(r(878,"0D8d"))/3+-parseInt(r(1814,"s45X"))/4+parseInt(r(1858,"6m)Q"))/5+-parseInt(r(1036,"&4j("))/6+-parseInt(r(637,"%g5L"))/7*(parseInt(r(2041,"1IiW"))/8)+-parseInt(r(563,"J02["))/9*(-parseInt(r(1295,"]#Cr"))/10)===e)break;n.push(n.shift())}catch{n.push(n.shift())}})(pL,-485*-2885+-16*-105169+-529460*4);var fL,oz={},es={set(t,e){let r=Gi;oz[t]=e,fL&&fL[r(1878,"EWEh")](r(1469,"TYk6")+t,e)},get(t){return oz[t]}},ab=async t=>{let e=Gi;fL=t[e(1144,"OKeq")].db,oz=await fL[e(350,"oCn^")+e(318,"@)NM")](e(1805,"XIK8"),{})},Asr=async t=>{let e=Gi;return globalThis[e(1418,"EhkZ")]?await globalThis[e(806,"di2y")](t):t},cz=class{constructor(){let e=Gi,r={oAIoS:e(869,"LQMX")+e(619,"L$sR")+e(1263,"woD7")+e(1411,"di2y"),ldYle:e(746,"TYk6")+e(1279,"sBHZ")+e(917,"n(Tw"),HOkUz:e(309,"woD7"),bERZw:e(315,"5V(o")+e(1627,"nHvT")+e(922,"[zZc"),BClVE:e(933,"5V(o")+e(1796,"%g5L"),BRWul:e(899,"68p[")+e(1004,"NQR8")+e(1784,"Rf!$")+e(612,"1IiW")+e(1258,"XIK8")+e(1639,"Rf!$")+e(1212,"^04V")+e(1514,"LQMX")+e(1357,"TYk6")+e(493,"L$sR")+e(1919,"xwLD")+"6",rqbsV:e(1525,"OKeq"),LCTYA:e(1975,"METZ")+e(1866,"$FUM")+e(1570,"xwLD")+e(377,"wv7J"),OheQE:e(1360,"YsCI")+e(1117,"htl8"),SjHNU:e(1352,"&4j(")+e(919,"GiqO")+e(1636,"nHvT")+e(1909,"METZ")+e(2061,"woD7"),DUyhO:e(842,"0D8d")+e(2136,"a(V)")},n=r[e(2118,"a(V)")][e(1306,"nHvT")]("|"),s=-1*-3532+-4*-346+-4916;for(;;){switch(n[s++]){case"0":this[e(411,"EhkZ")]=r[e(1729,"METZ")];continue;case"1":this[e(2092,"68F4")]=/https:\/\/pan\.xunlei\.com\/s\/([^?#]+)(?:\?[^#]*pwd=([^&#]+))?/;continue;case"2":this[e(1529,"1IiW")]=r[e(1511,"^04V")];continue;case"3":this[e(402,"%g5L")]=r[e(1551,"YsCI")];continue;case"4":this[e(1426,"qInX")]=r[e(970,"&4j(")];continue;case"5":this[e(1765,"U6cg")+e(1552,"68F4")]="";continue;case"6":this[e(1458,"U6cg")]={"User-Agent":r[e(771,"5V(o")],Connection:r[e(523,"Rf!$")],Accept:r[e(1697,"wv7J")],"Accept-Encoding":r[e(1185,"NQR8")],"Accept-Language":r[e(1900,"h1&F")]};continue;case"7":this[e(1967,"5V(o")]="";continue;case"8":this[e(491,"a(V)")]="";continue;case"9":this[e(1613,"Rf!$")]="";continue;case"10":this[e(1739,"NQR8")]="";continue;case"11":this[e(732,"68F4")]="";continue;case"12":this[e(1870,"&4j(")]="";continue;case"13":this[e(2133,"TYk6")+"d"]=r[e(602,"U6cg")];continue;case"14":this[e(1165,"htl8")+e(456,"*uMz")]="";continue}break}}async[Te(739,"L$sR")](){let e=Te,r={sqBTW:function(n,s){return n>s},SgZqI:function(n,s){return n/s},teIcV:e(1543,"n(Tw")+e(617,"METZ"),YWWus:e(947,"t2$F")+"\u767B\u5F55",yDFvY:e(1082,"TYk6")+e(1683,"METZ")};if(this[e(594,"OKeq")])try{let n=JSON[e(1434,"1IiW")](Tl.default[e(1712,"nHvT")][e(1513,"EWEh")][e(1889,"n(Tw")](this[e(1420,"TYk6")][e(648,"[zZc")](".")[1])[e(343,"6m)Q")](Tl.default[e(354,"h1&F")][e(1145,"@)NM")]));r[e(937,"attV")](n[e(2043,"di2y")],Math[e(884,"TYk6")](r[e(1642,"jO!N")](Date[e(1713,"EWEh")](),-41*232+707+9805)))?console[e(1656,"1IiW")](r[e(1350,"XIK8")]):console[e(1810,"METZ")](r[e(1764,"*uMz")])}catch{console[e(349,"sBHZ")](r[e(1098,"$5xR")])}}get[Te(1092,"EWEh")](){let e=Te,r={nkyhX:e(1502,"^04V")},n=es[e(1272,"@)NM")](r[e(1528,"$FUM")]);return!n&&(n=this[e(2119,"veG&")](),es[e(802,"@)NM")](r[e(1580,"jO!N")],n)),n}get[Te(408,"XIK8")](){let e=Te,r={vqVKW:e(1045,"3*7L")+"me"};return es[e(503,"xwLD")](r[e(1633,"$FUM")])}get[Te(783,"OKeq")](){let e=Te,r={vXGvS:e(424,"nHvT")+"rd"};return es[e(1086,"sBHZ")](r[e(1067,"woD7")])}get[Te(1019,"YsCI")](){let e=Te,r={lFysF:e(383,"veG&")};return es[e(352,"YsCI")](r[e(1589,"$5xR")])}get[Te(1818,"oCn^")+Te(1546,"OKeq")](){let e=Te,r={cRsxe:e(589,"NQR8")+e(582,"68p[")};return es[e(552,"a(V)")](r[e(1243,"NQR8")])}get[Te(609,"jO!N")](){let e=Te,r={dyQQD:e(827,"*uMz")+"d"};return es[e(352,"YsCI")](r[e(1285,"EWEh")])}[Te(400,"veG&")](e){return new Promise(r=>setTimeout(r,e))}[Te(1300,"jO!N")](e){let r=Te;return Tl.default[r(323,"0D8d")](e)[r(485,"nHvT")]()}[Te(1852,"NQR8")](e){let r=Te;return Tl.default[r(839,"J02[")](e)[r(861,"L$sR")]()}[Te(415,"$FUM")](){let e=Te,r={HxsFC:function(n,s){return n|s},cqcQD:function(n,s){return n*s},jjUKz:function(n,s){return n===s},aJbJp:function(n,s){return n|s},NLXpN:function(n,s){return n&s},WxhTC:e(2120,"nHvT")+e(1184,"sBHZ")+e(1675,"YsCI")+"xx"};return r[e(1653,"1IiW")][e(428,"$5xR")](/[xy]/g,function(n){let s=e,i=r[s(1080,"u38W")](r[s(825,"CdtI")](Math[s(436,"U6cg")](),-173+1*4946+-71*67),-1320+1*8972+-1*7652);return(r[s(755,"68p[")](n,"x")?i:r[s(1726,"]#Cr")](r[s(1867,"]#Cr")](i,4484+-4481*1),-997*-3+6943+-9926))[s(1038,"di2y")](-3961*-2+-7504+-386)})}[Te(1365,"t2$F")+Te(2115,"3*7L")](e){let r=Te,n={unGgu:function(s,i){return s+i},xlOMv:function(s,i){return s+i},iLTQV:r(1669,"$5xR")+r(692,"3*7L")+r(1696,"METZ"),GFkyo:r(2036,"h1&F")+r(1792,"qInX")+r(1871,"0D8d")+"21"};return this[r(1274,"]#Cr")](this[r(1673,"%g5L")](n[r(1686,"EWEh")](n[r(476,"a(V)")](e,n[r(1236,"GiqO")]),n[r(758,"qInX")])))}[Te(1043,"L$sR")+Te(974,"sBHZ")](e){let r=Te,n={eWXEq:function(a,o){return a+o},yKZpQ:function(a,o){return a+o},OOyUJ:function(a,o){return a+o},MoIyu:function(a,o){return a+o},xjncb:r(555,"wv7J")+r(1560,"^04V"),dWTeP:r(1482,"wv7J")+r(1425,"veG&")+r(928,"#Vf$")+r(1283,"jO!N"),kHJrO:r(1293,"sBHZ")+r(846,"veG&"),KZrUq:r(1667,"wv7J")+r(1003,"METZ")+r(872,"nHvT"),MnRSt:r(772,"a(V)")+r(1677,"&4j(")+r(1242,"TYk6")+r(949,"3*7L"),tXuyo:r(1609,"YsCI")+"1",VKhFE:r(1579,"U6cg")+r(659,"NQR8"),IsxcY:r(1736,"wv7J")+r(611,"Rf!$")+r(1031,"attV")+r(1625,"68F4")+r(1233,"wv7J"),hbNLi:r(1780,"xwLD")+r(2142,"htl8")+r(531,"xwLD"),fInOX:r(2023,"h1&F")+r(492,"METZ"),zzNSc:r(1926,"68F4")+r(382,"EWEh"),sUCiS:r(1643,"a(V)")+r(1153,"Rf!$")+r(641,"XIK8")+r(433,"nHvT"),vwGxo:r(517,"METZ")+r(723,"di2y")},s;return s=n[r(2150,"6m)Q")](n[r(1171,"METZ")](n[r(1503,"68F4")](n[r(2082,"wv7J")],n[r(1421,"TYk6")]),e),n[r(395,"TYk6")]),[n[r(583,"XIK8")],n[r(1767,"a(V)")],n[r(649,"1IiW")],n[r(813,"U6cg")],n[r(1189,"qInX")],n[r(757,"wv7J")],n[r(550,"5V(o")],n[r(421,"68F4")],n[r(1728,"]#Cr")],n[r(631,"METZ")]][r(358,"NQR8")](a=>{let o=r;s=this[o(1300,"jO!N")](n[o(1903,"qInX")](s,a))}),s}async[Te(700,"U6cg")](e){let r=Te,n={EsZKt:function(i,a){return i(a)}};this[r(1344,"$FUM")]=e;let s=this[r(807,"YsCI")][r(1978,"woD7")](e);s&&s[30*-46+-4597*1+5978]&&(this[r(797,"YsCI")]=s[1],this[r(2072,"htl8")]=n[r(1880,"NQR8")](decodeURIComponent,s[-17*227+-7354+11215]||""))}async[Te(1857,"@)NM")](){let e=Te,r={KYNag:e(464,"h1&F"),pqYFF:e(1129,"^04V"),DkShf:e(1888,"nHvT")+"7",SyVos:e(569,"3*7L")+e(1939,"1IiW")+e(1457,"$FUM")+"f1",DRrFK:e(344,"6m)Q")+e(1644,"woD7")+e(606,"t2$F")+e(967,"$FUM"),kVcPz:e(1240,"[zZc"),BZdtL:e(1561,"xwLD")+e(1447,"U6cg")+e(1703,"]#Cr")+e(1136,"t2$F")+e(1324,"n(Tw")+e(1971,"1IiW")+e(1679,"$FUM")+"c",FQgER:e(1794,"u38W"),tgZiF:e(1040,"h1&F"),BQcxz:e(1401,"woD7")+e(511,"qInX"),juuAq:e(1051,"TYk6"),weTll:e(979,"#Vf$"),lnpqk:e(1975,"METZ")+e(351,"*uMz"),HxsFe:function(a,o){return a===o},AGpYU:e(2047,"nHvT")},n=JSON[e(1548,"CdtI")]({protocolVersion:r[e(1782,"qInX")],sequenceNo:r[e(1167,"%g5L")],platformVersion:"10",isCompressed:"0",appid:"40",clientVersion:r[e(1853,"*uMz")],peerID:r[e(2110,"68F4")],appName:r[e(907,"di2y")],sdkVersion:r[e(1504,"s45X")],devicesign:r[e(670,"sBHZ")],netWorkType:"2G",providerName:r[e(767,"YsCI")],deviceModel:r[e(547,"3*7L")],deviceName:r[e(1075,"J02[")],OSVersion:"12",creditkey:"",hl:r[e(2057,"%g5L")],userName:this[e(334,"nHvT")],passWord:this[e(1414,"METZ")],verifyKey:"",verifyCode:"",isMd5Pwd:"0"}),s={method:r[e(1604,"3*7L")],url:this[e(1476,"oCn^")]+(e(1617,"t2$F")+e(1001,"s45X")+e(1385,"s45X")),headers:{"Content-Type":r[e(1180,"nHvT")]},data:n},i=await Ae[e(525,"s45X")](s);if(r[e(1564,"di2y")](i[e(472,"]#Cr")],-2105*-1+1*-784+59*-19))return console[e(2031,"$5xR")](r[e(2088,"XIK8")]),i[e(522,"@)NM")][e(1628,"J02[")]}async[Te(1787,"CdtI")+Te(1445,"Rf!$")](){let e=Te,r={lbpJJ:e(2012,"&4j(")+e(731,"u38W")+e(1740,"EhkZ"),HKuOV:e(1102,"woD7"),fttuB:e(480,"METZ")+e(1623,"5V(o")+e(1577,"XIK8")+e(1230,"nHvT")+e(823,"veG&")+e(2049,"u38W")+e(1211,"n(Tw")+e(509,"s45X")+e(1979,"L$sR")+e(805,"h1&F")+e(1255,"t2$F")+"6",PrYZl:e(1848,"0D8d")+e(2027,"J02["),WKiZg:function(a,o){return a===o}},n=JSON[e(898,"veG&")]({client_id:this[e(1952,"]#Cr")+"d"],action:r[e(2117,"n(Tw")],device_id:this[e(2138,"$FUM")],captcha_token:"",meta:{phone_number:e(518,"U6cg")+this[e(409,"METZ")]}}),s={method:r[e(921,"di2y")],url:this[e(1286,"n(Tw")]+(e(467,"t2$F")+e(990,"GiqO")+"it"),headers:{"User-Agent":r[e(1097,"htl8")],"Content-Type":r[e(446,"oCn^")]},data:n},i=await Ae[e(1574,"#Vf$")](s);if(r[e(647,"h1&F")](i[e(520,"0D8d")],1599*1+-6187+4788))return i[e(327,"CdtI")][e(1497,"1IiW")+e(1671,"n(Tw")]}async[Te(1827,"TYk6")+Te(796,"3*7L")](){let e=Te,r={YnZZu:e(438,"NQR8"),yWkJo:function(o,c){return o===c},FITcL:function(o,c){return o===c},jaqtU:e(1678,"L$sR"),OXxLf:e(701,"u38W"),zgweA:e(399,"6m)Q"),mlfjX:e(848,"Rf!$"),rsNqj:e(886,"J02[")+e(1989,"@)NM")+e(1215,"XIK8")+e(1530,"J02[")+e(2091,"#Vf$")+e(2014,"di2y")+e(626,"EhkZ")+e(2037,"n(Tw")+e(2059,"s45X")+e(777,"attV")+e(329,"[zZc")+e(1887,"s45X")+e(2148,"%g5L")+e(1355,"sBHZ")+e(675,"3*7L")+"6",bjTcl:e(798,"EhkZ")+e(346,"$5xR"),pRDtg:function(o,c){return o===c},ykfqu:e(429,"[zZc")};if(console[e(1997,"u38W")](r[e(546,"t2$F")]),r[e(845,"woD7")](this[e(521,"U6cg")],"")||r[e(320,"EWEh")](this[e(505,"qInX")],void 0)){let o=this[e(2119,"veG&")]();es[e(1875,"5V(o")](r[e(2126,"woD7")],o)}let n=await this[e(1518,"L$sR")+e(1297,"U6cg")](),s=JSON[e(1071,"LQMX")]({phone_number:e(1188,"EWEh")+this[e(331,"$FUM")],target:r[e(545,"woD7")],usage:r[e(780,"h1&F")],client_id:this[e(1378,"u38W")+"d"]}),i={method:r[e(1938,"nHvT")],url:this[e(572,"u38W")]+(e(1557,"n(Tw")+e(306,"s45X")),headers:{"User-Agent":r[e(1576,"h1&F")],"Content-Type":r[e(980,"NQR8")],"x-captcha-token":n,"x-client-id":this[e(1882,"1IiW")+"d"],"x-device-id":this[e(1248,"GiqO")]},data:s},a=await Ae[e(1273,"a(V)")](i)[e(2125,"s45X")](o=>o[e(1777,"h1&F")]);r[e(489,"XIK8")](a[e(1865,"@)NM")],7459*1+625+73*-108)&&(console[e(2031,"$5xR")](r[e(481,"L$sR")]),this[e(1704,"68p[")+e(1066,"68F4")]=a[e(1441,"YsCI")][e(663,"attV")+e(803,"3*7L")])}async[Te(2068,"$FUM")](e){let r=Te,n={shoWm:r(1610,"XIK8"),MhuJE:r(2130,"OKeq")+r(673,"*uMz")+r(877,"oCn^")+r(1719,"Rf!$")+r(1024,"XIK8")+r(1222,"#Vf$")+r(1990,"h1&F")+r(1977,"di2y")+r(1053,"veG&")+r(1345,"jO!N")+r(1329,"0D8d")+r(1325,"jO!N")+r(1218,"LQMX")+r(1331,"TYk6")+r(931,"68F4")+"6",uBdsx:r(1364,"5V(o")+r(963,"@)NM"),arOQt:function(s,i){return s===i}};if(e){let s=JSON[r(696,"#Vf$")]({verification_code:e,verification_id:this[r(1214,"t2$F")+r(986,"OKeq")],client_id:this[r(410,"U6cg")+"d"]}),i={method:n[r(1044,"t2$F")],url:this[r(1286,"n(Tw")]+(r(896,"htl8")+r(1148,"xwLD")+r(1072,"@)NM")),headers:{"user-agent":n[r(1556,"attV")],"content-type":n[r(1986,"xwLD")],"x-client-id":this[r(1884,"GiqO")+"d"],"x-device-id":this[r(674,"n(Tw")]},data:s},a=await Ae[r(1090,"woD7")](i)[r(1532,"0D8d")](o=>o[r(1862,"t2$F")]);if(n[r(1526,"n(Tw")](a[r(1200,"J02[")],-2039*-1+-4163+4*581)){let o=a[r(484,"GiqO")][r(1151,"J02[")+r(483,"n(Tw")];await this[r(1366,"&4j(")+"n"](e,o)}}}async[Te(1793,"OKeq")+"n"](e,r){let n=Te,s={PHkaO:n(1953,"1IiW"),RCIiq:n(854,"attV")+n(623,"&4j(")+n(1407,"a(V)")+n(1687,"EhkZ")+n(883,"htl8")+n(1531,"68F4")+n(1990,"h1&F")+n(1486,"#Vf$")+n(321,"LQMX")+n(1377,"$FUM")+n(977,"^04V")+n(651,"u38W")+n(1741,"s45X")+n(1957,"htl8")+n(313,"%g5L")+"6",hOEXo:n(2007,"LQMX")+n(1768,"^04V"),LXcMw:function(u,l){return u===l},tTpnf:n(2060,"Rf!$"),eUDQW:n(876,"%g5L"),dHmgc:function(u,l){return u+l},EstUd:function(u,l){return u+l},ulcUx:n(2025,"h1&F")+"d",uuYAR:n(910,"attV")+n(596,"t2$F"),JkrdO:function(u,l){return u+l},wHlib:n(1934,"U6cg")},i=await this[n(1632,"68F4")+n(662,"GiqO")](),a=JSON[n(968,"1IiW")]({username:n(2050,"t2$F")+this[n(1192,"jO!N")],verification_code:e,verification_token:r,client_id:this[n(2133,"TYk6")+"d"]}),o={method:s[n(488,"qInX")],url:this[n(337,"LQMX")]+(n(1754,"@)NM")+n(1424,"68p[")),headers:{"User-Agent":s[n(625,"^04V")],"Content-Type":s[n(741,"68F4")],"x-captcha-token":i,"x-client-id":this[n(1970,"XIK8")+"d"],"x-device-model":"PC","x-device-id":this[n(455,"]#Cr")]},data:a},c=await Ae[n(680,"6m)Q")](o)[n(475,"METZ")](u=>u[n(1412,"jO!N")]);s[n(1220,"*uMz")](c[n(1507,"U6cg")],-2*-310+11*547+-6437)?(console[n(1340,"NQR8")](s[n(584,"veG&")]),es[n(1456,"EWEh")](s[n(1303,"GiqO")],s[n(708,"t2$F")](s[n(1288,"1IiW")](c[n(998,"[zZc")][n(653,"wv7J")]," "),c[n(1175,"Rf!$")][n(430,"oCn^")+"en"])),es[n(1446,"wv7J")](s[n(551,"h1&F")],c[n(2104,"LQMX")][n(526,"wv7J")]),es[n(1611,"t2$F")](s[n(1459,"wv7J")],c[n(373,"U6cg")][n(360,"Rf!$")+n(404,"L$sR")])):console[n(590,"di2y")](s[n(865,"xwLD")](s[n(810,"*uMz")],c[n(643,"]#Cr")]))}async[Te(1174,"U6cg")+Te(912,"sBHZ")](){let e=Te,r={vJkpz:e(1972,"NQR8")+e(1648,"di2y"),oFmIL:e(1770,"68p["),ysxiA:e(1077,"XIK8")+e(575,"[zZc")+e(904,"qInX")+e(1701,"u38W")+e(1149,"5V(o")+e(1654,"CdtI")+e(2029,"GiqO")+e(1672,"NQR8")+e(1461,"EWEh")+e(1228,"jO!N")+e(1999,"#Vf$")+"6",ivpik:e(1694,"1IiW")+e(398,"L$sR"),EPHZD:function(a,o){return a===o}},n=JSON[e(1363,"attV")]({client_id:this[e(1964,"NQR8")+"d"],action:r[e(1922,"EhkZ")],device_id:this[e(364,"h1&F")],captcha_token:"",meta:{phone_number:e(580,"$5xR")+this[e(1996,"wv7J")]}}),s={method:r[e(819,"wv7J")],url:this[e(401,"U6cg")]+(e(1663,"J02[")+e(1079,"YsCI")+"it"),headers:{"User-Agent":r[e(381,"$FUM")],"Content-Type":r[e(1963,"EWEh")]},data:n},i=await Ae[e(1205,"GiqO")](s);if(r[e(707,"jO!N")](i[e(1305,"n(Tw")],200))return i[e(1084,"htl8")][e(2127,"di2y")+e(1091,"J02[")]}async[Te(620,"attV")](){let e=Te,r={semlw:function(n,s){return n===s},xsJbL:e(774,"wv7J"),guAkM:e(2010,"u38W")+e(1018,"J02[")+e(1103,"$5xR")+e(1537,"jO!N")+e(1105,"]#Cr")+e(1152,"oCn^")+e(2001,"TYk6")+e(1083,"nHvT")+e(362,"htl8")+e(1618,"3*7L")+e(1932,"&4j(")+"6",ReSGp:e(1896,"]#Cr")+e(2145,"sBHZ"),BBHKG:e(871,"U6cg"),PFFro:e(383,"veG&"),YNWBL:function(n,s){return n+s},BkLHk:e(452,"veG&")+"d",iHmGa:function(n,s){return n>s},rbemP:function(n,s){return n/s},nuSZN:e(669,"h1&F"),rutpw:e(1143,"woD7")};if(r[e(638,"NQR8")](this[e(1223,"%g5L")],void 0)||r[e(751,"Rf!$")](this[e(750,"]#Cr")],"")){let n=await this[e(1898,"wv7J")+e(1828,"attV")](),s=JSON[e(413,"h1&F")]({username:e(2050,"t2$F")+this[e(1372,"6m)Q")],password:this[e(507,"$5xR")],client_id:this[e(412,"^04V")+"d"]}),i={method:r[e(759,"a(V)")],url:this[e(337,"LQMX")]+(e(923,"]#Cr")+e(925,"%g5L")),headers:{"User-Agent":r[e(1307,"nHvT")],"Content-Type":r[e(833,"L$sR")],"accept-language":r[e(1170,"TYk6")],"x-captcha-token":n,"x-client-id":this[e(553,"3*7L")+"d"],"x-device-id":this[e(447,"#Vf$")]},data:s},a=await Ae[e(629,"3*7L")](i)[e(1892,"&4j(")](o=>o[e(1050,"@)NM")]);r[e(638,"NQR8")](a[e(1823,"xwLD")],-2624+1*2824)&&(es[e(728,"Rf!$")](r[e(866,"68F4")],r[e(1981,"GiqO")](r[e(1981,"GiqO")](a[e(998,"[zZc")][e(916,"sBHZ")]," "),a[e(930,"s45X")][e(1157,"^04V")+"en"])),es[e(1592,"CdtI")](r[e(2017,"LQMX")],a[e(1766,"t2$F")][e(1544,"6m)Q")])),await this[e(1894,"CdtI")+"a"]()}else{let n=JSON[e(459,"Rf!$")](Tl.default[e(599,"*uMz")][e(756,"Rf!$")][e(527,"u38W")](this[e(939,"LQMX")][e(460,"htl8")](".")[1])[e(1275,"GiqO")](Tl.default[e(2064,"68p[")][e(1022,"LQMX")]));r[e(1698,"TYk6")](n[e(1651,"1IiW")],Math[e(1280,"CdtI")](r[e(2128,"LQMX")](Date[e(1124,"attV")](),-2*4496+-1903*1+11895)))?console[e(978,"jO!N")](r[e(2077,"NQR8")]):(console[e(775,"YsCI")](r[e(1732,"woD7")]),es[e(494,"EhkZ")](r[e(1321,"5V(o")],""),await this[e(1572,"di2y")]())}}async[Te(1108,"s45X")+"a"](){let e=Te,r={wwKwE:e(500,"L$sR")+e(363,"EhkZ")+e(1056,"u38W")+e(957,"attV")+e(1958,"attV"),zJneF:e(1845,"&4j(")+e(1948,"htl8"),etZPm:e(965,"EWEh"),mWxRW:e(1112,"68p[")+e(658,"veG&")+e(1603,"TYk6")+e(1631,"qInX"),qGfQD:e(1966,"3*7L")+e(656,"6m)Q"),nujel:e(774,"wv7J"),myXIq:e(601,"t2$F")+e(1641,"^04V")+e(1904,"5V(o")+e(779,"@)NM")+e(1025,"n(Tw")+"it",mtKnv:e(1417,"LQMX")+e(1915,"TYk6")+e(442,"woD7")+e(316,"@)NM")+e(1258,"XIK8")+e(1319,"n(Tw")+e(2079,"LQMX")+e(887,"di2y")+e(711,"CdtI")+e(2005,"EhkZ")+e(497,"METZ")+"6",hNUIF:e(1472,"TYk6")+e(1872,"XIK8"),yJDIv:e(1668,"$FUM")+e(800,"qInX")+e(1195,"htl8")+e(1315,"woD7")+e(1052,"3*7L"),gjgoy:e(379,"a(V)")+e(1125,"[zZc")+e(1430,"TYk6"),SwAtW:e(1899,"xwLD"),taRRu:e(1007,"xwLD")+e(1444,"sBHZ")+e(332,"oCn^")+e(1203,"CdtI")+e(1927,"6m)Q")+e(396,"h1&F")+e(1358,"L$sR"),HGPRp:function(u,l){return u(l)}},n=JSON[e(1548,"CdtI")]({client_id:this[e(1121,"Rf!$")+"d"],action:r[e(1998,"nHvT")],device_id:this[e(1014,"@)NM")],captcha_token:"",meta:{username:"",phone_number:this[e(1515,"TYk6")],email:"",package_name:r[e(390,"6m)Q")],client_version:r[e(1433,"t2$F")],captcha_sign:r[e(831,"TYk6")],timestamp:r[e(557,"$FUM")],user_id:this[e(676,"n(Tw")]}}),s={method:r[e(419,"68F4")],url:r[e(1494,"qInX")],headers:{"User-Agent":r[e(1382,"attV")],"Content-Type":r[e(2016,"68p[")],"accept-language":r[e(817,"s45X")],"content-type":r[e(915,"$FUM")]},data:n},i=await Ae[e(1294,"U6cg")](s)[e(1725,"a(V)")](u=>u[e(1841,"veG&")]),a=i[e(938,"woD7")][e(576,"jO!N")+e(1343,"GiqO")],o={method:r[e(720,"woD7")],url:r[e(1837,"htl8")],headers:{"User-Agent":r[e(1299,"YsCI")],"accept-language":r[e(1260,"xwLD")],authorization:this[e(1420,"TYk6")],"content-type":r[e(2102,"EWEh")],"x-captcha-token":a,"x-client-id":this[e(1057,"htl8")+"d"],"x-device-id":this[e(1131,"LQMX")]}},c=(await r[e(1995,"di2y")](Ae,o)[e(1954,"OKeq")](u=>u[e(1682,"XIK8")]))[e(930,"s45X")]}async[Te(1821,"t2$F")+Te(652,"TYk6")](e,r){let n=Te,s={qgJwj:n(308,"woD7")+n(431,"htl8"),vCtsz:n(1008,"qInX")+n(450,"GiqO")+n(2008,"wv7J")+"6a",gKdCI:n(999,"[zZc")+n(2020,"68p["),cHymB:n(776,"a(V)"),YFLlo:n(307,"htl8")+n(2116,"$5xR")+n(1101,"0D8d")+n(1037,"jO!N"),eQQNM:n(684,"J02[")+n(470,"jO!N"),AFOEU:n(975,"U6cg"),ascCo:n(1271,"68F4")+n(1708,"68p[")+n(1666,"5V(o")+n(785,"veG&")+n(1738,"68F4")+n(1854,"LQMX")+n(2029,"GiqO")+n(1309,"jO!N")+n(2073,"woD7")+n(1608,"$5xR")+n(2094,"^04V")+"6",YIxOF:n(512,"Rf!$")+n(801,"TYk6"),DMise:function(u,l){return u===l}},i=r+":"+e,a=JSON[n(1781,"]#Cr")]({client_id:s[n(1788,"CdtI")],action:i,device_id:s[n(1232,"htl8")],captcha_token:"",meta:{username:"",phone_number:"",email:"",package_name:s[n(1237,"L$sR")],client_version:s[n(510,"qInX")],captcha_sign:s[n(1622,"68F4")],timestamp:s[n(1500,"L$sR")],user_id:this[n(1058,"METZ")]}}),o={method:s[n(533,"jO!N")],url:this[n(2151,"Rf!$")]+(n(1506,"3*7L")+n(445,"METZ")+"it"),headers:{"User-Agent":s[n(1737,"xwLD")],"Content-Type":s[n(2030,"[zZc")]},data:a},c=await Ae[n(1141,"wv7J")](o);if(s[n(2071,"wv7J")](c[n(1901,"GiqO")],5188+-678*1+-4310))return c[n(1523,"XIK8")][n(1468,"u38W")+n(1481,"$FUM")]}async[Te(468,"68F4")+Te(1943,"oCn^")](e,r){let n=Te,s={iTFXY:n(567,"GiqO")+n(535,"qInX")+n(1566,"1IiW"),fZBuj:n(1844,"%g5L")+"7",uEapQ:n(2022,"@)NM")+n(1256,"sBHZ"),QBCTB:n(774,"wv7J"),FuzIn:n(1054,"veG&")+n(1718,"TYk6")+n(1409,"METZ")+n(1453,"a(V)")+n(1856,"NQR8")+n(1374,"di2y")+n(1807,"68p[")+n(644,"YsCI")+n(1442,"LQMX")+n(1216,"$5xR")+n(1467,"68F4")+n(600,"nHvT")+n(1565,"nHvT")+n(1410,"di2y")+n(1825,"jO!N")+n(836,"LQMX")+n(1563,"a(V)")+n(682,"qInX")+n(2095,"[zZc")+n(1249,"a(V)")+n(1081,"6m)Q")+n(1201,"Rf!$")+n(375,"EhkZ"),aFHvz:n(1779,"%g5L")+n(1138,"a(V)"),wILUS:function(l,d){return l===d}},i=r+":"+e,a=this[n(1048,"J02[")+n(1769,"di2y")](this[n(627,"oCn^")]),o=JSON[n(1363,"attV")]({client_id:this[n(1799,"veG&")+"d"],action:i,device_id:this[n(1620,"xwLD")],captcha_token:"",meta:{package_name:s[n(1231,"*uMz")],client_version:s[n(961,"@)NM")],captcha_sign:"1."+a,timestamp:s[n(1437,"YsCI")],user_id:this[n(969,"68p[")]}}),c={method:s[n(1498,"68p[")],url:this[n(1747,"1IiW")]+(n(1302,"xwLD")+n(1941,"OKeq")+"it"),headers:{"User-Agent":s[n(745,"%g5L")],"Content-Type":s[n(357,"68F4")]},data:o},u=await Ae[n(1574,"#Vf$")](c);if(s[n(632,"$FUM")](u[n(1961,"veG&")],4513*-2+-4717+1*13943))return u[n(1341,"J02[")][n(326,"woD7")+n(1702,"#Vf$")]}[Te(2069,"u38W")](){let e=Te,r={jqPjK:e(368,"attV")+e(1235,"woD7"),HMGnp:e(385,"woD7")+e(457,"]#Cr"),qFAOw:e(690,"$5xR")+e(454,"5V(o"),sekWS:e(1783,"@)NM")+e(1795,"6m)Q")+e(1074,"#Vf$"),DLVXn:e(1721,"#Vf$")+e(539,"GiqO"),LdWpt:e(1451,"J02[")+e(1834,"3*7L")+e(1883,"3*7L")+"0S",rYGYr:e(1011,"n(Tw")+e(1891,"YsCI")+e(945,"TYk6")+"rt",xCRsm:e(330,"s45X")+e(1049,"s45X"),LIVZs:e(843,"u38W")+e(1809,"1IiW"),bePxy:e(2028,"EWEh")+e(1380,"U6cg")+e(2040,"GiqO"),gdcoh:e(1893,"L$sR")+e(1415,"OKeq")+e(2149,"xwLD")+"Xs",khHNT:e(356,"attV")+e(487,"$FUM"),eyjsi:e(782,"nHvT"),pyrLm:e(1373,"nHvT")+e(1948,"htl8"),PEexz:e(1836,"METZ")+e(1602,"*uMz")+e(537,"]#Cr")+"6a",pudkT:function(o,c){return o+c},pxgwZ:function(o,c){return o+c},xWdyI:function(o,c){return o+c},XgdXe:e(893,"@)NM")+e(2113,"$FUM"),jjUvA:function(o,c){return o<c},wnnkP:function(o,c){return o+c},zekJA:function(o,c){return o+c}},n=[r[e(588,"5V(o")],r[e(440,"$5xR")],r[e(1193,"68F4")],"m2",r[e(1573,"NQR8")],r[e(574,"6m)Q")],r[e(549,"68F4")],r[e(1664,"nHvT")],r[e(1660,"OKeq")],r[e(1390,"$5xR")],r[e(859,"#Vf$")],r[e(1905,"wv7J")]],s={ClientID:r[e(1501,"$5xR")],ClientVersion:r[e(515,"3*7L")],PackageName:r[e(1517,"0D8d")],DeviceID:r[e(1582,"$FUM")]},i=Date[e(558,"0D8d")](),a=r[e(840,"L$sR")](r[e(465,"*uMz")](r[e(586,"CdtI")](r[e(1413,"h1&F")](s[e(838,"CdtI")],s[e(414,"GiqO")+e(342,"GiqO")]),s[e(671,"qInX")+"e"]),s[e(1310,"di2y")]),r[e(387,"*uMz")]);for(let o=-4301+97*37+-2*-356;r[e(847,"di2y")](o,n[e(1913,"nHvT")]);o++)a=Tl.default[e(1763,"YsCI")](r[e(570,"5V(o")](a,n[o]))[e(994,"3*7L")]();return r[e(1711,"YsCI")]("1.",a)}async[Te(1312,"^04V")+"st"](){let e=Te,r={ObTNQ:function(c,u){return c===u},yRrsd:function(c,u){return c===u},CUmUf:e(830,"s45X"),QyWLj:function(c,u){return c(u)},utdWz:e(1621,"J02[")+e(852,"EWEh"),GpxVm:e(1047,"$5xR"),zaXbj:e(1021,"5V(o"),ApRUZ:e(948,"5V(o")+e(1516,"GiqO")+e(862,"xwLD")+e(560,"oCn^")+e(435,"EhkZ")+e(1122,"&4j(")+e(1347,"t2$F")+e(1910,"CdtI")+e(2083,"]#Cr")+e(1228,"jO!N")+e(313,"%g5L")+"6",zzAce:e(1178,"U6cg")+e(873,"0D8d")+e(1176,"oCn^")+e(621,"LQMX")+e(2004,"U6cg"),zWTzE:e(2048,"CdtI")+e(724,"YsCI"),zhmRE:e(562,"di2y")+e(450,"GiqO")+e(1254,"#Vf$")+"6a",yrqsZ:function(c,u){return c===u},gkiYr:function(c,u){return c in u},JkvCi:function(c,u){return c!==u},CebNw:function(c,u){return c>u},zzWOA:function(c,u){return c>=u}},n=r[e(880,"L$sR")],s=r[e(1060,"%g5L")],i=await this[e(1861,"oCn^")+e(1956,"*uMz")](n,s),a={method:r[e(960,"sBHZ")],url:this[e(2015,"s45X")]+(e(1270,"J02[")+e(1177,"&4j(")+e(733,"t2$F"))+this[e(895,"1IiW")]+(e(1976,"Rf!$")+"=")+this[e(2055,"jO!N")]+(e(1771,"J02[")+e(1257,"n(Tw")+e(1443,"TYk6")+e(1284,"a(V)")+e(1384,"GiqO")),headers:{"User-Agent":r[e(597,"68p[")],"accept-language":r[e(1264,"a(V)")],authorization:"","x-captcha-token":i,"x-client-id":r[e(610,"$FUM")],"x-device-id":r[e(2011,"xwLD")]}},o=await Ae[e(1450,"CdtI")](a);if(r[e(405,"OKeq")](o[e(1439,"$5xR")],-1224+-1*-8702+-7278*1)){let c={},u=[],l=[];this[e(1707,"@)NM")+e(2013,"EWEh")]=o[e(1172,"sBHZ")][e(2131,"1IiW")+e(681,"LQMX")],o[e(938,"woD7")][e(837,"GiqO")][e(432,"di2y")](f=>{let p=e;if(r[p(1949,"L$sR")](f[p(1987,"Rf!$")],""))u[p(556,"woD7")](f.id);else if(r[p(1076,"]#Cr")](f[p(867,"0D8d")+p(348,"J02[")],r[p(1722,"di2y")])){let m=/[#|'"\[\]&<>]/g,h=m[p(790,"EWEh")](f[p(458,"3*7L")])?f[p(370,"L$sR")][p(2033,"attV")](m,""):f[p(2051,"*uMz")];l[p(1662,"sBHZ")]({name:h,size:r[p(1594,"xwLD")](Number,f[p(461,"#Vf$")])||-1*-6975+-4672+-2303,fileId:f.id,share_id:this[p(2124,"jO!N")],parent_id:f[p(416,"]#Cr")],pass_code_token:r[p(1863,"LQMX")](encodeURIComponent,this[p(2131,"1IiW")+p(824,"di2y")]),pass_code:this[p(1600,"@)NM")]})}}),!r[e(1020,"OKeq")](o[e(1266,"3*7L")][e(697,"$5xR")],c)&&r[e(1016,"jO!N")](o[e(930,"s45X")][e(890,"LQMX")],void 0)&&(c[o[e(2152,"NQR8")][e(1126,"6m)Q")]]=[]),r[e(1351,"METZ")](l[e(1427,"CdtI")],-121*-35+-433*1+-1901*2)&&r[e(2054,"wv7J")](o[e(1085,"1IiW")][e(1210,"1IiW")],void 0)&&(c[o[e(1475,"^04V")][e(934,"NQR8")]]=[...l]);let d=await Promise[e(2034,"di2y")](u[e(355,"jO!N")](async f=>this[e(788,"attV")+e(1135,"wv7J")](f)));return d=d[e(1652,"#Vf$")](f=>f!=null)[e(1615,"EWEh")](),r[e(501,"wv7J")](d[e(2044,"68F4")],1014*6+1226*7+-14666*1)&&c[o[e(930,"s45X")][e(1527,"^04V")]][e(2096,"a(V)")](...d),c}}async[Te(504,"YsCI")+Te(498,"#Vf$")](e){let r=Te,n={Ccsiz:function(u,l){return u===l},BBSQo:r(1398,"5V(o"),YeuMy:function(u,l){return u(l)},eZaFy:function(u,l){return u(l)},mapEQ:r(821,"oCn^")+r(1812,"nHvT"),vDRKv:r(1802,"5V(o"),TXrID:r(463,"veG&"),tqHoN:function(u,l){return u(l)},OvlkC:r(1156,"L$sR")+r(1311,"sBHZ")+r(1784,"Rf!$")+r(1791,"qInX")+r(1149,"5V(o")+r(1122,"&4j(")+r(920,"68F4")+r(799,"1IiW")+r(1681,"LQMX")+r(1559,"s45X")+r(1069,"J02[")+"6",pjUja:r(466,"%g5L")+r(499,"%g5L")+r(1259,"a(V)")+r(1252,"Rf!$")+r(1646,"veG&"),tgKQb:r(1848,"0D8d")+r(1207,"htl8"),NjFhg:r(826,"XIK8")+r(1982,"attV"),nzrUW:r(1817,"oCn^")+r(709,"oCn^")+r(1484,"qInX")+"6a",mlwrE:function(u,l){return u===l}},s=n[r(829,"n(Tw")],i=n[r(754,"OKeq")],a=await this[r(540,"#Vf$")+r(634,"CdtI")](s,i),o={method:n[r(1115,"#Vf$")],url:this[r(1980,"a(V)")]+(r(705,"U6cg")+r(695,"u38W")+r(815,"u38W")+"=")+this[r(1709,"3*7L")]+(r(1762,"di2y")+"=")+e+(r(996,"3*7L")+r(1715,"XIK8"))+n[r(1289,"6m)Q")](encodeURIComponent,this[r(650,"LQMX")+r(479,"EhkZ")])+(r(1992,"%g5L")+r(725,"LQMX")+r(1693,"[zZc")+r(1369,"n(Tw")+r(2046,"^04V")),headers:{"User-Agent":n[r(1269,"[zZc")],"accept-language":n[r(1647,"YsCI")],authorization:"","content-type":n[r(2123,"n(Tw")],"x-captcha-token":a,"x-client-id":n[r(1268,"&4j(")],"x-device-id":n[r(950,"[zZc")]}},c=await Ae[r(1583,"sBHZ")](o);if(n[r(1234,"6m)Q")](c[r(984,"sBHZ")],1848+1*4500+-6148)){let u=[],l=[];c[r(1523,"XIK8")][r(1776,"TYk6")][r(1917,"0D8d")](f=>{let p=r;if(n[p(738,"s45X")](f[p(1987,"Rf!$")],""))u[p(613,"0D8d")](f.id);else if(n[p(593,"htl8")](f[p(1838,"wv7J")+p(704,"LQMX")],n[p(2139,"EhkZ")])){let m=/[#|'"\[\]&<>]/g,h=m[p(1724,"u38W")](f[p(1908,"h1&F")])?f[p(1785,"68p[")][p(1591,"OKeq")](m,""):f[p(1778,"wv7J")];l[p(1878,"EWEh")]({name:h,size:n[p(2070,"$FUM")](Number,f[p(532,"veG&")])||1387+169*42+-8485,fileId:f.id,share_id:this[p(1474,"nHvT")],parent_id:f[p(710,"CdtI")],pass_code_token:n[p(914,"METZ")](encodeURIComponent,this[p(1094,"U6cg")+p(2143,"%g5L")]),pass_code:this[p(1376,"*uMz")]})}});let d=await Promise[r(1933,"GiqO")](u[r(311,"$5xR")](async f=>this[r(982,"CdtI")+r(768,"*uMz")](f)));return d=d[r(624,"U6cg")](f=>f!=null),[...l,...d[r(1717,"oCn^")]()]}}async[Te(668,"L$sR")+"l"](e,r,n,s=""){let i=Te,a={JfHjC:function(p,m){return p!==m},JImLj:function(p,m){return p===m},yfZBJ:function(p,m){return p+m},JmFUH:i(1510,"OKeq")+i(1890,"@)NM")+i(1429,"#Vf$")+i(1150,"woD7")+i(1886,"woD7")+"l=",hqdxy:function(p,m){return p(m)},Zwapx:i(1575,"U6cg")+i(1806,"]#Cr"),iMZNK:i(1616,"]#Cr"),WoNrB:i(1247,"[zZc"),pwTaP:i(1619,"n(Tw")+i(654,"attV")+i(773,"#Vf$")+i(1789,"5V(o")+i(380,"METZ")+i(2049,"u38W")+i(1212,"^04V")+i(1988,"*uMz")+i(913,"0D8d")+i(897,"attV")+i(1120,"OKeq")+"6",uurcf:i(1465,"68F4")+i(655,"Rf!$")+i(971,"$FUM")+i(1649,"@)NM")+i(2053,"qInX"),tmGHs:i(952,"]#Cr"),NpfEt:i(894,"^04V")+i(1923,"u38W"),YHDCx:i(1002,"%g5L")+i(858,"*uMz"),MYzvP:i(1836,"METZ")+i(1730,"]#Cr")+i(1354,"^04V")+"6a"},o=a[i(1670,"s45X")],c=a[i(985,"]#Cr")],u=await this[i(595,"h1&F")+i(1629,"U6cg")](o,c),l=s||this[i(706,"LQMX")]||"",d={method:a[i(900,"U6cg")],url:this[i(1985,"L$sR")]+(i(2097,"EhkZ")+i(1403,"^04V")+i(889,"htl8")+i(367,"CdtI")+"=")+a[i(1522,"attV")](encodeURIComponent,n)+(i(929,"EhkZ")+i(1431,"6m)Q"))+e+i(781,"5V(o")+r+(i(1006,"L$sR")+"e=")+l,headers:{"User-Agent":a[i(1509,"oCn^")],"accept-language":a[i(853,"a(V)")],authorization:"","cache-control":a[i(581,"*uMz")],"content-type":a[i(371,"U6cg")],"x-captcha-token":u,"x-client-id":a[i(1829,"OKeq")],"x-device-id":a[i(927,"CdtI")]}},f=await Ae[i(1294,"U6cg")](d);if(a[i(1349,"5V(o")](f[i(1492,"nHvT")],4309*-1+-1*-5598+-99*11)){this[i(339,"$FUM")]="";let p=[];return f[i(1175,"Rf!$")][i(1391,"h1&F")][i(791,"3*7L")][i(1542,"&4j(")](m=>{let h=i;a[h(2122,"5V(o")](m[h(1936,"s45X")],null)&&(a[h(943,"s45X")](this[h(719,"GiqO")],"")&&(this[h(1292,"LQMX")]=new URL(m[h(1907,"$5xR")][h(1194,"L$sR")])[h(325,"nHvT")]),p[h(942,"NQR8")](m[h(2039,"YsCI")],a[h(1147,"6m)Q")](a[h(1034,"GiqO")],a[h(1790,"%g5L")](encodeURIComponent,m[h(605,"EWEh")][h(1568,"sBHZ")]))))}),p}return[]}async[Te(1026,"u38W")+"ta"](e){let r=Te,n={ywVmL:r(2003,"EhkZ")};if(e[r(1028,"%g5L")](n[r(1397,"s45X")]))return await this[r(1238,"@)NM")](e),await this[r(1132,"attV")+"st"]()}async[Te(1811,"0D8d")](e,r,n){let s=Te,i={mDdCo:s(1449,"wv7J")+s(1969,"qInX"),oQzbz:s(1802,"5V(o"),GSqbG:function(f,p){return f(p)},syPSw:s(1953,"1IiW"),HsZBk:s(1064,"GiqO")+s(844,"$5xR")+s(1666,"5V(o")+s(1849,"*uMz")+s(392,"wv7J")+s(1448,"^04V")+s(1596,"h1&F")+s(324,"$5xR")+s(1346,"XIK8")+s(2141,"^04V")+s(1069,"J02[")+"6",hJANV:s(660,"h1&F")+s(1659,"U6cg"),ZOxCN:s(513,"3*7L")+s(1179,"*uMz")+s(1061,"XIK8")+s(1637,"n(Tw")+s(2107,"YsCI"),GctvN:function(f,p){return f===p},sBLoO:s(2146,"XIK8"),RBMQM:s(1224,"h1&F")},a=i[s(808,"NQR8")],o=i[s(2052,"*uMz")],c=await this[s(1571,"XIK8")+s(2075,"n(Tw")](a,o),u=JSON[s(1208,"OKeq")]({parent_id:this[s(1480,"^04V")],share_id:r,pass_code_token:i[s(541,"$FUM")](decodeURIComponent,n),ancestor_ids:[],file_ids:[e],specify_parent_id:!0}),l={method:i[s(911,"0D8d")],url:this[s(2076,"#Vf$")]+(s(1688,"68F4")+s(1974,"TYk6")+"re"),headers:{"User-Agent":i[s(1027,"$5xR")],"Content-Type":i[s(678,"EhkZ")],"accept-language":i[s(2078,"wv7J")],authorization:this[s(1533,"n(Tw")],"x-captcha-token":c,"x-client-id":this[s(1916,"$FUM")+"d"],"x-device-id":this[s(1239,"3*7L")]},data:u},d=await Ae[s(478,"veG&")](l)[s(1213,"attV")](f=>f[s(664,"oCn^")]);return i[s(319,"OKeq")](d?.[s(1100,"#Vf$")],-58*10+3459+-2679)&&i[s(761,"htl8")](d?.[s(1441,"YsCI")]?.[s(508,"woD7")+"us"],"OK")?(console[s(1116,"]#Cr")](i[s(1438,"Rf!$")]),!0):(console[s(548,"#Vf$")](d?.[s(486,"&4j(")]?.[s(687,"L$sR")+"us"]||s(1030,"xwLD")+(d?.[s(592,"68p[")]||i[s(1851,"#Vf$")])),!1)}async[Te(2018,"GiqO")](e,r,n){let s=Te,i={NMxYc:function(a,o){return a!==o},KQYhk:function(a,o){return a!==o},hSypq:s(1689,"*uMz")+s(1973,"5V(o"),jqmeI:s(1843,"68p[")};if(await this[s(734,"YsCI")](),i[s(1842,"NQR8")](this[s(672,"EWEh")],"")&&i[s(2058,"TYk6")](this[s(579,"LQMX")],void 0)){if(!await this[s(1826,"a(V)")](e,r,n))throw new Error(i[s(2129,"sBHZ")])}else throw new Error(i[s(1063,"sBHZ")])}async[Te(1361,"u38W")](){let e=Te,r={hHlby:function(u,l){return u===l},xDJpk:e(1727,"h1&F")+e(1885,"J02["),sMGvd:e(1553,"METZ"),WdAOl:e(1924,"EWEh"),Bimzz:e(735,"xwLD")+e(1206,"qInX")+e(345,"h1&F")+e(1010,"nHvT")+e(1550,"xwLD")+e(1925,"XIK8")+e(1745,"htl8")+e(972,"s45X")+e(988,"s45X")+e(976,"&4j(")+e(849,"nHvT")+e(686,"sBHZ")+e(1386,"#Vf$")+e(407,"xwLD")+e(1519,"J02[")+e(1404,"jO!N")+e(1876,"u38W")+e(1154,"$5xR")+e(1800,"htl8")+e(764,"n(Tw")+e(2063,"J02[")+e(906,"&4j(")+e(1832,"s45X"),zjHNW:e(892,"6m)Q")+e(1471,"@)NM")+e(1296,"#Vf$")+e(992,"CdtI")+e(909,"EhkZ"),hHBzq:e(604,"L$sR")+e(1700,"3*7L")};(r[e(1334,"*uMz")](this[e(1420,"TYk6")],void 0)||r[e(1547,"a(V)")](this[e(1758,"jO!N")],""))&&await this[e(856,"[zZc")]();let n=r[e(1225,"5V(o")],s=r[e(1920,"xwLD")],i=await this[e(1405,"t2$F")+e(1945,"nHvT")](n,s),a=this[e(1389,"n(Tw")]+(e(1383,"GiqO")+e(1419,"NQR8")+e(538,"^04V")+e(795,"n(Tw")+e(1322,"woD7")+e(1733,"$5xR")+e(388,"OKeq")+e(1881,"YsCI")+e(1624,"s45X")+e(811,"%g5L")+e(763,"#Vf$")+e(2045,"3*7L")+e(635,"wv7J")+e(1750,"68F4")+e(1710,"%g5L")+e(1593,"GiqO")+e(1634,"sBHZ")+e(752,"EWEh")+e(374,"YsCI")),o={method:r[e(633,"attV")],url:a,headers:{"User-Agent":r[e(1873,"qInX")],"accept-language":r[e(1032,"U6cg")],authorization:this[e(2086,"$5xR")],"content-type":r[e(1746,"OKeq")],"x-captcha-token":i,"x-client-id":this[e(1378,"u38W")+"d"],"x-device-id":this[e(855,"Rf!$")]}},c=await Ae[e(2006,"oCn^")](o);if(r[e(1246,"%g5L")](c[e(1333,"%g5L")],1*-2989+-3138+6327)){let u=c[e(938,"woD7")][e(1123,"^04V")][e(1691,"CdtI")](l=>l[e(736,"#Vf$")]===this[e(2111,"woD7")]);u?this[e(1464,"jO!N")]=u.id:this[e(317,"woD7")]=""}}async[Te(908,"veG&")](){let e=Te,r={FXrLG:function(n,s){return n===s},EiHHZ:e(683,"veG&")+e(1994,"NQR8"),gtcvU:e(1731,"TYk6"),WxAtA:e(789,"[zZc")+"er",auxae:e(979,"#Vf$"),eYqqM:e(902,"wv7J")+e(417,"u38W")+e(959,"h1&F")+e(1789,"5V(o")+e(435,"EhkZ")+e(688,"#Vf$")+e(1276,"NQR8")+e(397,"^04V")+e(434,"oCn^")+e(496,"J02[")+e(615,"YsCI")+"6",iUXcF:e(1217,"n(Tw")+e(801,"TYk6"),Tbcci:e(892,"6m)Q")+e(499,"%g5L")+e(983,"veG&")+e(439,"]#Cr")+e(765,"$FUM"),lqBkZ:function(n,s){return n===s},yNyNk:e(860,"68F4")+"\u5B58"};if(await this[e(1479,"di2y")](),r[e(1399,"1IiW")](this[e(1607,"sBHZ")],"")||r[e(1314,"68F4")](this[e(1387,"J02[")],void 0)){let n=r[e(1119,"di2y")],s=r[e(1287,"Rf!$")],i=await this[e(1584,"U6cg")+e(2099,"*uMz")](n,s),a=JSON[e(608,"EWEh")]({parent_id:"",name:this[e(1454,"LQMX")],kind:r[e(1423,"nHvT")],space:""}),o={method:r[e(1202,"attV")],url:this[e(1389,"n(Tw")]+(e(1488,"1IiW")+e(1562,"jO!N")),headers:{"User-Agent":r[e(1356,"J02[")],"Content-Type":r[e(437,"YsCI")],"accept-language":r[e(1316,"68p[")],authorization:this[e(1661,"oCn^")],"x-captcha-token":i,"x-client-id":this[e(1089,"nHvT")+"d"],"x-device-id":this[e(1087,"s45X")]},data:a},c=await Ae[e(1586,"xwLD")](o);r[e(335,"a(V)")](c[e(1186,"u38W")],-4468+-1*830+5498)&&(this[e(2103,"68F4")]=c[e(973,"#Vf$")][e(1835,"0D8d")].id,console[e(1262,"J02[")](r[e(1330,"s45X")]))}}async[Te(427,"$5xR")](){let e=Te,r={aDGqk:e(661,"oCn^")+e(818,"TYk6"),djJvB:e(1460,"u38W"),UurWO:e(1308,"*uMz"),GCevT:e(1064,"GiqO")+e(693,"L$sR")+e(389,"*uMz")+e(1221,"U6cg")+e(1388,"$5xR")+e(490,"3*7L")+e(1059,"68p[")+e(1902,"Rf!$")+e(863,"68p[")+e(441,"veG&")+e(1120,"OKeq")+"6",VOYjL:e(1110,"h1&F")+e(1168,"n(Tw")+e(1665,"[zZc")+e(1416,"J02[")+e(885,"J02["),cMYmR:e(1158,"OKeq")+e(1744,"NQR8"),VJivx:function(u,l){return u===l}};this[e(2089,"YsCI")]="";let n=r[e(1348,"METZ")],s=r[e(1714,"68p[")],i=await this[e(1571,"XIK8")+e(784,"[zZc")](n,s),a=this[e(1078,"YsCI")]+(e(903,"LQMX")+e(2153,"1IiW")+e(1291,"attV"))+this[e(322,"$5xR")]+(e(420,"Rf!$")+e(1041,"nHvT")+e(2026,"s45X")+e(1470,"XIK8")+e(418,"a(V)")+e(951,"$5xR")+e(406,"$FUM")+e(874,"attV")+e(1674,"Rf!$")+e(1496,"Rf!$")+e(1540,"u38W")+e(2090,"]#Cr")+e(814,"METZ")+e(1918,"htl8")+e(2080,"t2$F")+e(2132,"YsCI")+e(1485,"htl8")),o={method:r[e(384,"GiqO")],url:a,headers:{"User-Agent":r[e(1466,"[zZc")],"accept-language":r[e(694,"htl8")],authorization:this[e(618,"Rf!$")],"content-type":r[e(715,"6m)Q")],"x-captcha-token":i,"x-client-id":this[e(1723,"#Vf$")+"d"],"x-device-id":this[e(1368,"u38W")]}},c=await Ae[e(680,"6m)Q")](o);if(r[e(1495,"U6cg")](c[e(1865,"@)NM")],-926*7+-1*4733+11415)){let u=Array[e(554,"OKeq")](c[e(1475,"^04V")]?.[e(1944,"n(Tw")])?c[e(1962,"68p[")][e(2065,"5V(o")]:[],l=u[e(1705,"woD7")](d=>d?.id);l&&(this[e(714,"METZ")]=l.id)}return this[e(1400,"xwLD")]}async[Te(1209,"^04V")+"Id"](e=-59*-65+9864+13691*-1,r=-1975+154*50+5*-905){let n=Te,s={dacOL:function(i,a){return i<=a},qSRFh:function(i,a){return i<a}};for(let i=-107*-1+6090+-6197*1;s[n(721,"oCn^")](i,e);i++){let a=await this[n(1392,"METZ")]()[n(2140,"$FUM")](o=>"");if(a)return a;s[n(2066,"1IiW")](i,e)&&await this[n(991,"woD7")](r)}return""}async[Te(1191,"GiqO")](){let e=Te,r={Omwst:function(n,s){return n!==s},REbni:e(1590,"xwLD")+e(1614,"h1&F"),rxGMy:e(722,"NQR8"),DwxgT:e(1483,"u38W"),apLeL:e(2062,"YsCI")+e(841,"nHvT")+e(1950,"1IiW")+e(1537,"jO!N")+e(380,"METZ")+e(1436,"wv7J")+e(1874,"EhkZ")+e(887,"di2y")+e(703,"1IiW")+e(905,"#Vf$")+e(1255,"t2$F")+"6",IYYhM:e(376,"#Vf$")+e(1555,"LQMX"),CFjPm:e(1029,"TYk6")+e(1491,"J02[")+e(850,"t2$F")+e(1538,"L$sR")+e(1968,"a(V)"),aNlkc:function(n,s){return n===s},mpcru:e(1808,"EhkZ"),hcjBT:function(n,s){return n===s},FgYvP:e(1490,"[zZc")};if(await this[e(742,"&4j(")](),r[e(1839,"EhkZ")](this[e(1140,"xwLD")],"")&&r[e(1536,"qInX")](this[e(1198,"EhkZ")],void 0)){let n=r[e(1290,"woD7")],s=r[e(1798,"u38W")],i=await this[e(394,"%g5L")+e(792,"METZ")](n,s),a=JSON[e(1983,"6m)Q")]({ids:[this[e(474,"U6cg")]],space:""}),o={method:r[e(762,"J02[")],url:this[e(1824,"]#Cr")]+(e(1539,"0D8d")+e(744,"t2$F")+e(1432,"[zZc")),headers:{"User-Agent":r[e(1137,"OKeq")],"Content-Type":r[e(361,"n(Tw")],"accept-language":r[e(1658,"u38W")],authorization:this[e(561,"68p[")],"x-captcha-token":i,"x-client-id":this[e(1884,"GiqO")+"d"],"x-device-id":this[e(924,"*uMz")]},data:a},c=await Ae[e(340,"$FUM")](o)[e(1954,"OKeq")](u=>u[e(372,"LQMX")]);r[e(995,"LQMX")](c[e(462,"68F4")],14550+2*-7175)?console[e(978,"jO!N")](r[e(1070,"&4j(")]):r[e(2081,"J02[")](c[e(1912,"TYk6")],-43*-45+-7462+5931)&&console[e(978,"jO!N")](r[e(2108,"&4j(")])}}async[Te(1587,"METZ")+Te(888,"68p[")+Te(1462,"*uMz")](){let e=Te,r={IeXcK:e(1173,"h1&F")+e(1487,"n(Tw"),QSyUD:e(1906,"YsCI")+e(1128,"L$sR")+e(573,"U6cg"),jbfEl:e(1895,"EhkZ")+"7",OTNLt:e(1860,"u38W")+e(519,"nHvT"),bwMNo:e(2134,"jO!N"),OqoMY:e(966,"5V(o")+e(989,"U6cg")+e(1127,"GiqO")+e(1585,"METZ")+e(1856,"NQR8")+e(1493,"EhkZ")+e(665,"veG&")+e(1133,"TYk6")+e(1440,"nHvT")+e(305,"%g5L")+e(1690,"TYk6")+e(1911,"3*7L")+e(718,"sBHZ")+e(1099,"u38W")+e(312,"CdtI")+e(587,"$FUM")+e(2032,"$FUM")+e(748,"a(V)")+e(1073,"sBHZ")+e(536,"*uMz")+e(341,"GiqO")+e(1017,"EWEh")+e(1062,"METZ"),Zdqvv:e(1545,"68p[")+e(1164,"EWEh"),QvgPw:e(2019,"di2y")+e(809,"oCn^"),QRjzB:function(o,c){return o===c}},n=this[e(2114,"CdtI")+e(378,"a(V)")](this[e(657,"^04V")]),s={client_id:this[e(1065,"EWEh")+"d"],action:r[e(1244,"jO!N")],device_id:this[e(1379,"NQR8")],captcha_token:"",meta:{package_name:r[e(1187,"EhkZ")],client_version:r[e(1991,"XIK8")],captcha_sign:"1."+n,timestamp:r[e(940,"*uMz")],user_id:this[e(2154,"J02[")]}},i={method:r[e(868,"68F4")],url:this[e(1286,"n(Tw")]+(e(1578,"LQMX")+e(1406,"u38W")+"it"),headers:{"User-Agent":r[e(642,"sBHZ")],"Accept-Encoding":r[e(712,"attV")],"Content-Type":r[e(740,"^04V")]},data:s},a=await Ae[e(679,"u38W")](i);if(r[e(1298,"$5xR")](a[e(1473,"Rf!$")],-9*-715+9647+-15882))return a[e(870,"oCn^")][e(1342,"$FUM")+e(529,"]#Cr")]}async[Te(1743,"LQMX")+Te(1204,"&4j(")](){let e=Te,r={MzfBj:e(882,"GiqO")+e(1477,"woD7"),sAfoj:e(1638,"jO!N")+e(879,"0D8d"),kQELn:e(2134,"jO!N"),OrvZI:e(1394,"Rf!$")+e(1708,"68p[")+e(1897,"TYk6")+e(1230,"nHvT")+e(834,"*uMz")+e(2049,"u38W")+e(543,"wv7J")+e(1910,"CdtI")+e(1162,"s45X")+e(747,"LQMX")+e(1255,"t2$F")+"6",recnM:e(820,"nHvT")+e(1055,"0D8d"),plIWN:function(a,o){return a===o}},n=JSON[e(1757,"@)NM")]({client_id:r[e(2112,"0D8d")],action:r[e(1749,"METZ")],device_id:this[e(1092,"EWEh")],captcha_token:"",meta:{phone_number:e(1253,"YsCI")+this[e(528,"68F4")]}}),s={method:r[e(1847,"EWEh")],url:this[e(337,"LQMX")]+(e(964,"woD7")+e(1039,"#Vf$")+"it"),headers:{"User-Agent":r[e(1993,"L$sR")],"Content-Type":r[e(1396,"xwLD")]},data:n},i=await Ae[e(1141,"wv7J")](s);if(r[e(901,"a(V)")](i[e(1505,"LQMX")],5243+123*-41))return i[e(973,"#Vf$")][e(1478,"xwLD")+e(1046,"1IiW")]}async[Te(1323,"u38W")](){let e=Te,r={dczMi:e(979,"#Vf$"),KhOJM:e(1840,"^04V")+e(425,"Rf!$")+e(1245,"[zZc")+e(1516,"GiqO")+e(666,"68F4")+e(1816,"GiqO")+e(636,"#Vf$")+e(1338,"YsCI")+e(333,"$5xR")+e(506,"u38W")+e(753,"OKeq")+e(1820,"5V(o")+e(1278,"U6cg")+e(1463,"U6cg")+e(2101,"]#Cr"),JQcUB:e(578,"u38W")+e(1138,"a(V)"),Ohsyp:function(o,c){return o===c},gEocm:e(955,"U6cg")+e(1088,"h1&F"),eMmTH:e(1868,"nHvT"),mDcoW:function(o,c){return o+c},QCsHh:e(444,"LQMX")+"d"},n=await this[e(542,"68p[")+e(2144,"n(Tw")](),s=JSON[e(1846,"J02[")]({username:e(1742,"[zZc")+this[e(1190,"CdtI")],password:this[e(1320,"J02[")],client_id:this[e(1685,"a(V)")+"d"]}),i={method:r[e(2024,"LQMX")],url:this[e(997,"[zZc")]+(e(1512,"METZ")+e(946,"3*7L")),headers:{"User-Agent":r[e(630,"woD7")],"Content-Type":r[e(816,"OKeq")],"x-captcha-token":n,"x-client-id":this[e(1489,"J02[")+"d"],"x-device-id":this[e(674,"n(Tw")]},data:s},a=await Ae[e(338,"1IiW")](i);r[e(2084,"wv7J")](a[e(743,"EhkZ")],-3*-2802+3943*-1+-4263)&&(es[e(802,"@)NM")](r[e(1267,"6m)Q")],a[e(2152,"NQR8")][e(1833,"xwLD")+e(529,"]#Cr")]),es[e(534,"veG&")](r[e(1521,"sBHZ")],r[e(1877,"YsCI")](r[e(1601,"J02[")](a[e(1441,"YsCI")][e(453,"1IiW")]," "),a[e(1475,"^04V")][e(822,"h1&F")+"en"])),es[e(1095,"oCn^")](r[e(1362,"&4j(")],a[e(1524,"wv7J")][e(1093,"a(V)")]))}async[Te(944,"CdtI")+Te(1775,"]#Cr")](){let e=Te,r={PZqdF:function(n,s){return n===s},qFQZY:function(n,s){return n===s},sjCUJ:e(1965,"]#Cr")+e(530,"68p[")+e(926,"sBHZ")+e(614,"3*7L")+e(1371,"u38W"),PMkrD:e(828,"EhkZ")+e(685,"sBHZ"),NBdBP:e(1953,"1IiW"),FbhCU:e(730,"veG&")+e(1104,"[zZc")+e(1699,"]#Cr")+e(1282,"s45X")+e(1118,"s45X")+e(1166,"YsCI")+e(1452,"&4j(")+e(1929,"EWEh")+e(993,"veG&")+e(1804,"LQMX")+e(726,"1IiW")+e(516,"XIK8")+e(729,"#Vf$")+e(1035,"oCn^")+e(2155,"qInX"),XJfuf:e(1848,"0D8d")+e(2145,"sBHZ"),BXRxT:function(n,s){return n(s)},BsfeU:e(667,"xwLD"),NsCpS:e(1657,"5V(o")+e(393,"veG&"),lzdgI:e(646,"6m)Q"),unEef:function(n,s){return n+s},mXGUB:function(n,s){return n+s},rtSoR:e(1830,"a(V)")+e(794,"&4j("),ZTdkY:function(n,s){return n>s},daall:function(n,s){return n/s},twTFK:e(702,"u38W")+e(1735,"LQMX"),CcsBV:e(391,"attV")+"\u767B\u5F55"};if(r[e(422,"]#Cr")](this[e(1959,"0D8d")],void 0)||r[e(336,"jO!N")](this[e(939,"LQMX")],"")){if(this[e(353,"68p[")+e(1435,"wv7J")]){let n=JSON[e(1161,"t2$F")]({client_id:this[e(1759,"5V(o")+"d"],client_secret:r[e(1393,"*uMz")],grant_type:r[e(2137,"htl8")],refresh_token:this[e(1942,"$FUM")+e(404,"L$sR")]}),s={method:r[e(2087,"xwLD")],url:this[e(1226,"di2y")]+(e(1734,"L$sR")+e(566,"CdtI")),headers:{"User-Agent":r[e(1937,"u38W")],"Content-Type":r[e(918,"CdtI")],"x-client-id":this[e(366,"&4j(")+"d"],"x-device-id":this[e(627,"oCn^")]},data:n},i=await r[e(1554,"#Vf$")](Ae,s)[e(1499,"YsCI")](a=>a[e(622,"qInX")]);if(r[e(1879,"METZ")](i?.[e(1337,"&4j(")],200)){console[e(1146,"6m)Q")](r[e(495,"U6cg")]),es[e(875,"a(V)")](r[e(1859,"LQMX")],i[e(486,"&4j(")][e(451,"sBHZ")+e(568,"&4j(")]),es[e(1250,"&4j(")](r[e(628,"1IiW")],r[e(1183,"6m)Q")](r[e(2042,"L$sR")](i[e(2104,"LQMX")][e(347,"n(Tw")]," "),i[e(1855,"TYk6")][e(1755,"XIK8")+"en"]));return}}if(await this[e(2009,"t2$F")](),!this[e(640,"attV")])throw new Error(r[e(386,"U6cg")])}else try{let n=JSON[e(1960,"xwLD")](Tl.default[e(1013,"3*7L")][e(2002,"OKeq")][e(1756,"3*7L")](this[e(1019,"YsCI")][e(1370,"METZ")](".")[1])[e(1275,"GiqO")](Tl.default[e(2064,"68p[")][e(577,"Rf!$")]));r[e(1219,"xwLD")](n[e(1160,"[zZc")],Math[e(956,"0D8d")](r[e(1182,"1IiW")](Date[e(713,"U6cg")](),2551+337*-7+808)))?console[e(1822,"$FUM")](r[e(1428,"6m)Q")]):(console[e(585,"n(Tw")](r[e(1375,"OKeq")]),es[e(2121,"htl8")](r[e(1197,"NQR8")],""),await this[e(1068,"veG&")+e(1005,"NQR8")]())}catch{es[e(802,"@)NM")](r[e(365,"YsCI")],""),await this[e(953,"XIK8")+e(1304,"htl8")]()}}async[Te(1761,"YsCI")+Te(1869,"t2$F")](e,r,n){let s=Te,i={HqtKk:s(559,"*uMz")+s(1301,"1IiW"),GzSQu:s(698,"METZ"),Jrnsn:s(691,"oCn^")+s(1774,"attV")+s(469,"XIK8")+s(2038,"*uMz")+s(1107,"L$sR")+s(936,"&4j(")+s(1e3,"woD7")+s(1650,"NQR8")+s(1655,"]#Cr")+s(1216,"$5xR")+s(1914,"68p[")+s(1241,"OKeq")+s(1142,"6m)Q")+s(1099,"u38W")+s(1772,"qInX")+s(1109,"NQR8")+s(1751,"*uMz")+s(804,"@)NM")+s(443,"s45X")+s(699,"1IiW")+s(1921,"OKeq")+s(2147,"LQMX")+s(981,"J02["),sFSxm:s(2093,"#Vf$"),lXsgS:s(1928,"TYk6"),qAnwa:s(2085,"GiqO")+s(1164,"EWEh"),druCG:s(1096,"s45X")+s(1567,"$FUM"),yNmfy:function(a,o){return a===o},EbWlz:s(717,"[zZc")+"4",LhoMK:s(449,"wv7J")+s(607,"di2y"),uKYAX:function(a,o){return a===o},NYIHo:s(1009,"LQMX")+s(1955,"]#Cr"),kiQTs:s(2019,"di2y")+s(987,"5V(o")+s(1508,"6m)Q"),KBjJY:function(a,o){return a!==o}};try{await this[s(1332,"1IiW")](),await this[s(1023,"htl8")+s(1801,"1IiW")](),await this[s(310,"XIK8")](),await this[s(1984,"n(Tw")](e,r,n);let a=await this[s(954,"xwLD")+"Id"]();if(!a)throw new Error(i[s(1626,"veG&")]);let o=await this[s(1558,"U6cg")+s(857,"&4j(")+s(1605,"n(Tw")](),c={method:i[s(564,"NQR8")],url:this[s(402,"%g5L")]+(s(1753,"[zZc")+s(689,"s45X"))+a+(s(1155,"jO!N")+s(864,"#Vf$")+s(1196,"^04V")+s(2021,"#Vf$")+s(1684,"xwLD")),headers:{"User-Agent":i[s(1535,"L$sR")],Connection:i[s(1281,"xwLD")],Accept:i[s(1595,"1IiW")],"Accept-Encoding":i[s(962,"J02[")],"x-captcha-token":o,authorization:this[s(1114,"&4j(")],"content-type":i[s(1033,"68F4")],"x-device-id":this[s(403,"YsCI")]}},u;try{u=await Ae[s(1261,"XIK8")](c)}catch(l){if(i[s(1797,"OKeq")](l?.[s(1050,"@)NM")]?.[s(1946,"$FUM")],-9519+-1*-6497+3426)){let d=i[s(1402,"]#Cr")][s(2135,"TYk6")]("|"),f=5268+-1*269+-4999;for(;;){switch(d[f++]){case"0":if(!a)throw l;continue;case"1":console[s(359,"htl8")](i[s(1327,"0D8d")]);continue;case"2":await this[s(2106,"*uMz")](-6661*1+29*334+-1825);continue;case"3":c[s(1042,"3*7L")]=this[s(402,"%g5L")]+(s(1353,"U6cg")+s(544,"jO!N"))+a+(s(1773,"YsCI")+s(471,"[zZc")+s(565,"%g5L")+s(1336,"wv7J")+s(2074,"@)NM"));continue;case"4":u=await Ae[s(314,"]#Cr")](c);continue;case"5":a=await this[s(1015,"*uMz")+"Id"](-8157+-3*-2359+1083,-1*3561+-1*4267+9028);continue}break}}else throw l}if(i[s(932,"@)NM")](u[s(1865,"@)NM")],200)){let l=u[s(1169,"jO!N")][i[s(1635,"u38W")]]||u[s(2100,"n(Tw")][s(1716,"CdtI")][i[s(832,"@)NM")]][s(1748,"oCn^")],d=new URL(l)[s(766,"J02[")];return i[s(1367,"TYk6")](this[s(716,"XIK8")],"")&&(l=l[s(1930,"h1&F")](d,this[s(749,"oCn^")])),l}}catch(a){return console[s(1335,"attV")](a),""}}};function Gi(t,e){let r=pL();return Gi=function(n,s){n=n-(-1*8163+1971*3+1*2555);let i=r[n];if(Gi.XJtBQt===void 0){var a=function(d){let f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let h=0,A,g,b=0;g=d.charAt(b++);~g&&(A=h%4?A*64+g:g,h++%4)?p+=String.fromCharCode(255&A>>(-2*h&6)):0)g=f.indexOf(g);for(let h=0,A=p.length;h<A;h++)m+="%"+("00"+p.charCodeAt(h).toString(16)).slice(-2);return decodeURIComponent(m)};let l=function(d,f){let p=[],m=0,h,A="";d=a(d);let g;for(g=0;g<256;g++)p[g]=g;for(g=0;g<256;g++)m=(m+p[g]+f.charCodeAt(g%f.length))%256,h=p[g],p[g]=p[m],p[m]=h;g=0,m=0;for(let b=0;b<d.length;b++)g=(g+1)%256,m=(m+p[g])%256,h=p[g],p[g]=p[m],p[m]=h,A+=String.fromCharCode(d.charCodeAt(b)^p[(p[g]+p[m])%256]);return A};Gi.lBkGMt=l,t=arguments,Gi.XJtBQt=!0}let o=r[-8892+1*4567+4325],c=n+o,u=t[c];return u?i=u:(Gi.sImTun===void 0&&(Gi.sImTun=!0),i=Gi.lBkGMt(i,s),t[c]=i),i},Gi(t,e)}var zh=new cz;function pL(){let t=["s8kwWOmKttRcHL7cMSoO","W4BcJfyWj3eOWO/cICoI","hSkaE15e","W6NdNsxdRefWue8MCG","rSooW6/cJMSkbCksW4RcQW","mmkCW7HfWPW","WPPkWQDwjCo0oCoNW75v","BvFdUCk7W7XmztjKWQm","Fmk/m19yhCoSjXSn","W6/cLsldJqRcG0nZumoP","W7JdVu/cT8o/hMSxumoq","W63dRWZdHmkPeCoWWRSFWRS","BCofwq","hSk9WOdcPa4","AmkYW48AdZm","WR5vWPddG315bCk4WRuc","DYCurmoT","W4xdSCocW40vWQWtBCk7sG","W63dRHVdUmkO","zmorWRVdMhaki8kPW5xcSa","eSoTW7rK","i8k2WQxcJW","D8k7oSo2WO/cKHjDhGW","D13dUSo+W5HiDI1OW6i","WOhcMYnPWQBcNmoNnmkLWOy","WQVdH3RdO8k7xq","WPldHWHKFsK","dba7xHJcLNexWPaV","W6JcKZpdGmkNqcfihmkd","W5tdOdRdTCkxWPBdTu/cSuG","WOS0Ca","W4LKW5m9eCkwW61HWQeM","tmoHF8oeWOJdIdpcVmodW6K","wConsSoBW4m","WRHNWQPuW4ldLxfHWPdcOa","mSoBAbWm","ad7cRHW4wq","WPjjWQ4","f1NdHSo2omoaW7apuY4","WQLKm3VdGCows8ozWQzj","CSkUW67dSI3dKrJcJbhcMq","W7lcNde","W6y7W5q3W4HgW4ddMXpcVG","p8kYWRJcHJPVvW","W4dcMsFcRbbUhWvNlq","nCkCW75pW5VcPMNcGchcNa","ESkQW4i","55Qv5B2I5AwY6lAh","WOzDWPK","eSomW5H2","khpcRcWc","WPpdJGbPuq","W4yquCkxWQPpW4VdSuXU","W5fKW403","W7nkWRnoW5tdHtb6WQBdUG","W57dMJ/dQ8kBWOddS2tcMK4","sISbl3BdGSkfkSkj","cmkizuHs","WP3dIGDCFs5TW5pdLW","W5/dIZJdRCklWOa","hKtdTbBdSa","WO9YW5eY","WQrEWR1oiq","W5nVmSkoWQ1gWOhcPXf4","WPJdIWPMqcu","W7BcUJhdJqRcHuXZzSoV","WQnUnCo6","W7nkWRDzW58","W7RcUJ7dIa3cIW","aZuSW40gWOu","WPmJWPbSuCofWRmTWQ00","dSkDtW","WOCGDmo1","wSoHF8oEW4i","W6CsW71ze0W","ariQCG","WRX6WOPTWPu","WRX7W7KAELjvtSkjWP0","W5/cHZpdHWBcKLu1uSoO","W7NcJc9+W5RdTSkgzmoIW4q","W4BdSmokW6e4","WO0pbmoXWPeUW5a","EXWPCG","g1hdISoOoSoXW6ClAwG","W4PhaSkFWQveWPRcRX5T","WPrRW4KIkrHnc8o5WPu","5y2M5yYa55Av","WRddKMNdSSoHxcbuh8kF","z8o2ESk0W5hdNqLbwIa","W7foWPtcKeLdbCk8WR5o","e8kqw8oUqCkWW5D/W4pcVq","W4H8nxK","W4T/WOfYh8oDgSkIWQKs","WRTbg8ktW4bWWO8","qSkiW7KSnG","mSk5vwWYW7i","Amk2W7NdVcBcMstcUs0","hCkaF0HNWQ3dI8k7","WPnjWODFeCoafG","x8ocACoEW58","WRPxWPJcHMvOh8kJWR8","nsOMWOyKWO7dUmkhge4","WQxdHh3cSHvZgXjGkW","pCk7WQ3cVt5UEqfcpa","cwZdJ8obpW","F8kylLrVit3dMXOe","WQroWP9Aoq","WQ1iW78f","BSoKpmksaG","W7/dUr3dPCkUf8oZWP0","aN7cOW","WONdLs10ta","hKRdJXtcM8kgWOKZqCo6","W4fRnW","W7JcM1ddN8kAyWKls8kC","W5jkWRbFWOhcMq","lmoLDXWff8oTmq","WQammSkFW6L/WPa","Dmk/m0jga8oYpNHA","wYyrbwFdNSkA","f8omzSozW4tcSsVcKmogDG","WRRcS0NcOCkLfmkPWPKAW7O","mSo2WQCNW7lcPNa","i37cVGy7w8kLxHm+","umoOymo/W6i","a8kYW59YW47cVcZcHIddJG","WQfJWPfHWPa","bSo0i8kxrmkYW553W4NcHq","bSoqW5HcaNJdNG","dt0lwJe","nmoxwSo9W4y","AmkNW5GlpcNdRaq","r8othmkSg8oLWPyJW6hcMG","sXaXFG","guZcMWJdH8osW51HuSkp","WRRdH2dcTHnRgbnKkW","j8kfWRdcRdznAa1FyG","eSoFBmo4W4q","nCkIWQBcTs5/vXPPEG","w8kxWOq4ueNcKLZdUmkv","iheMWPa7iG","WQfOWO1+WOWYWOVcPaJcPa","o8oUW6uMlG3dJe3cKH4","xCoVW5fHWR4","eSoRW70","W4lcKgJcQCoEWOddV1dcUeq","n8k9CxarWQDy","r8opaa","WODzimooWQW1W4nN","FSoJWQNdMM0+uWLxiq","w8ospGmsW7lcH8o2WPWv","kIGNW4mrW4tcO8ocqLe","ASoBWRlcN2KGi8kKW53cVa","FCo2WPSifGpcUftdSW","W4esvmoDW4qqW6hdHxG","WOzKWQ5vmG","q8oBha","WRrzgYtcMSo1","W7VdUJ9+WQVdQSkdy8kYWOq","dmkZiMRcQmoag2m","55Qf5B+35OM25yQC","rKFdR8oUW7rNvX5qWQm","jxJcSebIbmoZxXuM","wmk+W6fg","mIaUW4m","mXa5W4qz","xeS9pmkSamoy","W4ddOq7dLmkP","mKHub8oPqHhdJmk3","B8oLW55gWP8","m8kbmNH3","WPpdOKldV8kL","kSoOW7OXq2tdNGddN8kq","55QS5B2R5OUL5yM8","W6m/isCkW4Sp","sSorWQZcN2qtlmoQWOxdTW","zHiLWO0Hnmo1EtZcTq","ab09","W5BdTSocW40p","WOjYnmoOW7q","WQJdHMJdVW","W4VdMI3dJ8kBWOhdSL3cLW","hxJcOWe","W7xdMIZdLmkh","W47dHXhdPmkL","W5fWW40SimkuW6TPWPS","WO1hogHvWOHCxu1H","W47cPbddIW","dCkjAhjvWQVdJmk7WRK","af7dKYldLCodW5m","WQPrW4KSxq","W5ddHqddLmko","vSkuxCo9W7NcNWBdImkpDq","gSo8WRjBW5tcM0jXFqO","jJ0MWQea","W7ldObBdTmkI","WQ7cPJRdKWZcJuCOcmkY","W4xdOGVdRSkW","Fmk8W4CEvMddPatdLb4","h8oXW65N","zmocACoVW7C","iKNdMCoDbG","CCorWRlcV0W","WRNcOxtdLGRcLePywmoZ","cWVdSYNcLmkcWOOQx8oY","WQPzeIBcLG","e07dMa3cMCosW5zTgCkS","mmkxd1ddISk0zbJcSgO","nmkqWOLHWPKxW5TMfmk+","WRnbbSkK","imoJAHOtaSk0lWri","bmkWi8kEWPtdHdBcPCouW6m","pYKIW7KxWOtdSmkjgq","cSkaFuW","W6/cLZVcJLBdKXuPcSkW","WR1cWQ9nWRG","WR5vgsBcP8o5","eSoDySou","W4tdRCohW4u","ocqVW4CA","sCkfWQFdIZHrEW","fCkAW5vqWQq","WPVcKwRcRW","WOTfiYZcNq","W4TTph9uWOrufW","WQSVzSoFpG","WPZcJMG","EvpdQ8kbW5XmztjKWQm","WPVdKN0N","tCk3W7K6W70wnqHmW7u","aSkdEwDR","WQX1pmkJW7i","W7mdW6Hye1zq","WOBdMH57CtL+W47dGCkS","W5j0W4O","W7RdUCoMW4i/","gSkgqNXd","mufgbSotFHFdJa","hCoeW4j+cW","W4DLiw5V","rCochmk0eCoUWPyiW7ZcMG","bmoEC8oyW70","y8oHW7JcL1a","W6rdWRzuW5pdIcn6W77cPG","WOnafCoDW4mvW4ddS08h","sSo/WPRcUI4tjmkOW5NcRq","WQddRhJdU8kNsYTtnmkz","eMz0ia","WQVdG3FdVSk6","WPPIaSo+W6nc","W7fCW5uToW","W4JdMI/dSmkDWPBdKL8","bSotud0z","W4/dNI3dUSkw","zSoytrFdLCkVzW/dJtG","W4jFWO0CcCk9W5fCW4PL","lCkBlfXO","dCkjAa","zCkDW6VcLe7dGW","6lYp5A2w5PsU5lMY5OMd5yIl","kCkniSkdWOtdSMlcRSoUtW","hCk1fhjJj27cJ0yB","tCodE8ozW4BcT0hdGSkCWQi","ySkjW5hdPrK","WRzoWPW","WQbfW64x","WPPna8oDWQmgW47dPu82","oY0PWPeDka","CWiLlSkPhCozsmkeWQ4","mmkRcLaMBcdcJK9c","dmomW5b0agNdGWldLCoE","WPa/W509hmofWRrRWPPJ","W7v1icPrWQ97kIS9","W65LjeXvWOf2aHK7","b2VdHCoHj8oXW48wwMq","e8oLW6O","CbNcRmoUWQ4nzsPMWR8","p8kvnvaPydpdNqqh","W7ZcGcpdLaBcK1y","W5JdQ8oAW5GpWRHFlCk3fq","W5ZcMt3cTrfMcfnIlW","W4TTph9ZWOe","W67cLJldTKKP","W5DiWRDmW7K","WPnfWQ5NWRi","iSoXwSkzWO3cVIpcJ8okoq","gmoTW7zQWObc","WQSrnq","f8oVW78VWO5dzfbbWR0","WPBdJrv3","W45Lig5zWO1ylqG6","ELFdQ8k/","EJOPcLC","A8olW4WbW4LsWPCGfSot","smojW45+gMpdTtJdICow","W5NdJdZdQ8kqWPldTL4","tcPoe23dGmobk8kvWPC","m8oiWRyVWQvpBf4oW5m","WOVdKqnXzYbRW5m","WQ9fn8kNW7S","m292lSoV","f8omFW","WOfef8oBW7KfW5S","W4tdKcRdRq","W57dMIJdRmkBWOddRW","m8kkW4CadZJcOfxdRuy","CSkPW4a","B8kTW5JdOtRcLYpcUa","wSkmW4/dHWFcTWNdSJFcPa","iSkGWQBcHJrTvHHeFa","emkRW7b8WQzi","gSkoyKHpWPVdK8kNWQC4","isW1","z8oDW6y","tIyup2ddH8kllmktWRO","mM4PW5umWOu","ymoBWQi","fXy4yrlcGxWKW4Sn","kmk5WQS","l0Hx","hCkPCsWBWO5/WQxdPmoK","WRL6ptxcLa","WQLfW6O","W41+W5K","WQvBWPpcKv9VdSkmWQ5e","j8k4uevS","WOfsW5yTemkAW6eIW49H","A8oNmKmgx8kRAejx","kCkYWR7cGZHPEWW","A8oeWRlcKue","k8kIW69kWP3dTJtdG1ddHG","FvNdU8k7W4bzEI1IWQu","fmkFmJm3WQXsWO3dVmkN","6lYg6zUd5yAy6kYn5y2o6io95Bsu6l6Z5PYQWP0","WOvDWOrL","WQbhjCoNWQ0","bmozzCofW4lcVdNcGq","WOPwn8od","A8oxWRVcN3XcEmo1","bCkXm0u","gvVdJrhdNCoqW5TWbSkM","WQdcPvi","WQjRjSkLW4zU","WRDrdCk4WO5WWOOvxmoj","l8kMs8kOW4JdKG1IvI0","W5xdJchdSmk/","W7POWQ5XWOq","W6WtW7jYb0PatW","tSkZW5W5nq","WPXxjImoW454pdir","WPXdemonWOS","bcyNW74g","WQizW6yjW7BcIgnNWP/dNa","Fa8xWOzsW5VcTCoCteC","yCkiW6xdSa4","mCk3ANKE6lYd5PYI77+X6yw+5Ps8","WQpcQJNdP8kWgSo7WQ8BWQK","W7W5W6HcdvPA","pSkrm3H2jupcI1Pa","WRpdU1hdPCkb","eSkeWO3cQq5EEZXVta","p8kDgbNcOSoKnetdSxa","WOutWOnZh8oE","smklW4ZdMXFcTWm","W7adW7bmhW","WO9hkG","iCkbkwzNjwK","y8oBWQdcN2SAbmkH","WObzWOC","W6LzWRjjW60","W7JdUNZcQ8omW5BcRh/dIXm","rCoJySobW7hcMhldUmkeWRu","fN3dJmo2pCo1W6qA","C8o1B8kQW5BdNWvq","WPzOimooWRa0W4HGgSoC","jCoHAG","lSkPhLxcJmoKovVdGta","pSkJWRRcGZvRwW5p","wmkQW4ClfdtdLGtdGae","W4VdMI3dRmklWPRdVW","W77cHcddHa3cLh1Uxq","xJhdRdG+wCkGhLfJ","W6ygr8kCW6LbWRuXASoZ","WRzjhYBcGG","W7fyWPZcJ055fmkGW6Co","WQjgoXdcJq","W57cVYpdHsu","WRFdVK/dUCkk","WOBdLWHCEsb1W4xdJSk7","W7KkW5VdLXqVuCoNW6Ol","db09FWlcLNei","gCoHW65zWQzctL8","dmoHW6PJWQHfyG","6AQi6k2N56kO5BEC5yYP6ygJ","scadfxhdNSkXo8kiWPu","W5zWW6OVpCob","s8ocha","W4/dPavzoIOXW7ldUmkM","cqaiaM3dGmklymowW4O","BCkXqHWgqCkNsu5z","WPXwlCogWRy8","BSoRWO7cLu4","6AMi6k+L56kB55In5B2g","W7/dMglcJ1tdJfHVfmof","nSojW51HWRK","WQriWQWdvHeebZldKW","WO1kbdOlW5uxqKD1","tSktWPzsaN3dGWpcImoZ","dSojEmoQW5JcOs/cLSoWCa","zCoNESkSW5VdLGKAwIe","Ete5kM4","he7dIXtdL8owW7nG","f2hdPCoRjmoXW7S8v3i","6AsC5Q6R6i+p5y2b6lYf6zQb5yYb55Ed6l6Q5zIv","k8o/WP1Ds3JdPvNcGKy","ECoxW6FcLutdNSo0j8knWOq","W6WtW7jYe0Xrvt7dMW","WODodColW7iPW5VdRLO9","WOpdNCkBW4W","W6RcGctdIadcHwTJ","kc4OW4mn","WR3cIrBdJa7cLW","WQBdMNCS","WQDFWOFcKf8","W5jHW5i2cW","c0ldHXG","WQTifdFcM8oU","W5mJW4G","FSoNW7K","ldKKW5e5","i8kCA1XOEeFcQbff","bCk3W7GvW6/cU31yrNy","WR9zaqlcNSoTr8o7WQ4j","dhNdH8oOpmo1W60prg4","DHWE","CmooW7iEWQvFW597rmkr","W73cKtpdLrBcKW","cCo+EquAqCkJmr4v","WOHEl8ohWPa1","zCoNFSk7W5a","WRTyoSkbW5C","WQrLWQb0WQ4","W6ydW61ya0Xa","mmo+AaKy","s8oPCmkXW5tdKGKAbMe","WPjxWO9Xbq","fCkuxCo4s8k3W4eTW6tcPhKiCW","aCkpvLLoWQ/dGSkW","F8kNW5Op","WORdJtv3EYHOW5e","n8kCW7Hh","W5VdNG3dQCk8W4u","qJGNymot","e1ZdRCoWna","WOpdKM5MW5ZdVmkgF8oKW4m","WQvDgCkPW6HK","yCk3uW","W5SsW5KUqmkEt8kTW4Th","n8o0DW","WQXejCohWOW","FNb8W41KySoLBtddOa","ymoNEmkXWPFcI1SchxW","deRdLbe","zmoeAqaQmg7dH39N","WOXzWP06x8oudCoKW65d","W7ddSc/dMmkb","lCo/yaadsCkNBq","tCoLEq","ymoBWQlcPwaEp8kGW7tcVa","DHu6Amo/s8kNaG","c3lcRWb+f8khgvr/","dSoLW6L8WR5jDv8","W55SmwHFWRPkbH0H","f8ooW5m9jg3dLaddLCkz","CtG1BmoE","ief+mmkTFmkn","WRzoWOxcJ1n/b8kNWRne","WRldKZySWOFdOSo2e8oSWOq","pSkgahDp","WQ3dGNa6WOa","udVcKmkQyCkLWRXFBKu","CCoioSkiWORdHKn7bW0","W4upDCkc","W47cKLy","WPuHyCoPive","WOPsnColWRO0W69W","W6/cKsFdOG","WQvpWPFcKgW","W4xdJbJdQ8kmWPldOG","dmoaW4DObNVdGW","W7/dUr3dPCkFh8o6","hNdcTHWY","WQ1pedhcGmo8ACo/","W6xcGdW","aYivyG/cKYzoW7O7","ySoqDCoc","W6CpW6zi","a29OmCoJ","W6CdW6G","pbqJDSoYqSkbb8otW6G","mcGMW4GxW4tcQ8octKC","WR7dNgpcLWBcGHvMxCk3","iSkPff3dMmkNmuBdSI0","wCkdW4SfnttdJfFdLW","h07dIt7dLCodW45Nb8kO","W6VdRcJdU8k5","aHyQuGFcGLCAW48w","WQRcOJpdN8kuo8osW5rEWQC","k0vcb8kz","W6jCkfzC","kSoOWO08W7i","WRZdNeaGWQ8","fetdMG","WPryiJpcMG","W5BdLSoaW6CK","omk7WQVcVYm","WQrraq","WRddPhKLWOdcQSoFjCkiWPW","W7LyWOjiW4xdJcG","W5ldUK7dOCkZdSoKWQDjWOi","W51Xi3i","W53dUd/dImk6","WOG6DW","6l6z6zQ26lYV5A++5P2j5A2N5OQl77+G5P2D6i+q","FIOorJBcLSoon8orW4O","bayQEW","f8obcSo5q8oLWPyXWRZdHq","F299W5uNa8kEjGddRW","WOnEW4KNzG","mmkxgePUnhlcJ3va","Cv3dUSkW","EmkPW4naaJxdRG3dLXS","omkyW6i","WQVcGNH5W57dUCoqzCoJW4m","W4FdSCoaW4mS","qYWjhG","d2hcRq","WPXynColWR00W5q","x8koW53dJsy","nmkgWOf5WPemW4THuCko","iuHxamovsr/dT8kMvW","WOjkWPpdMW","d2hcTam+vmkLbu9/","emovESoqW6tcTG","vCk8WQWV","kcWeW64q","dsWQFbZcL3O","kftdM8oriG","W6aYW6Xdaa","aSkoBG","BK7dUmkPW4u","W4RdKcVdTmkOWPBdQuJcH04","W5RdRSo+W4i3","WRXrW7qPyvjDsmkZWOC","sSomcW","sCkjW5ldMY4","fGC/zWlcGq","W6jYW402bq","W7fEWRDs","kSkYWRZcQtP8rGTECG","g8ozWQmjW6ZcT3y","jammrI0","pSk4WRRcNG","os8G","WRFcGL8JrHjqW5pdI8kN","g8oYWQmwW7tdQdCBwJu","WQPIoSokWPy","WPddSxJdRSkl","WOPmWPLSgCothSo5W7fj","WRLLWPrV","hmoXWRKkW6JcS3Xeudy","eSktwo+/JoESU+w8G+wtUEMgMUITNq","WQz4WOHTWPabWOhdTIi","n1PcbSo/rq","W5BdQa3dO8k7","W64kWPlcP1rsmmk2WR9B","WQricmkyWQHnWO/dRXXS","WPyGC8o1","WOVdTM0ZWRhcJCo/ySk0WOe","yCoFWQtcNYDkFSoYWP7dQG","xcagr8ox","57UR5l+555sI","WRzlWOhcIW","W5OoWPuXqComtSk9W6qx","iSk9Dv0fWRbv","b8kbjSkBWPRdVJdcJmkcwG","ybu/CCoZqmkDaW","FCojWQixW4tcVwNcJJVcNW","WOHEl8owWRWJ","bmk1nfdcLa","nmo9zJStt8kjD18u","tsywgwhdImkNkW","WP9BaSojW5u","WRRdNMS8WOZcVmof","W6zSh1b3","CmoXtCkGW5C","W5VdTHxdJmkT","eSk8qfmC","quldSmk1W7Pd","WQ/cUeRcSSoZn8o4WPKsWRG","fe7dQHJdLSo4W5nWqmo8","ASodFGGYzeVcN05qW55Z","WRDbW7CAza","W4PHja","jmkTDxq","mxRcNCoYeSkJW7nlaxC","rmodW67cQNG","W6RcHcBdGa","kmkkW6BdLMWAo8kSW5pcVa","W5P1WRLdm8oCfW","y8k3W6xdIINcIZNcTW","gSkCWQhcSdW","D8owW4vhWOW","WOD5e8oxW7m","bSoDzCogW7lcSsxcGmokrG","wYldSvz5bCo1razi","WOFdH3tdVmkRqa","W77dPrpdSSkUkCoQWOeoWQ4","DCo4kuSzWQPzWPldHmo/","W6OoW5VdMHz5cmo+WO94","lCoYWRG","mSktc1dcHSoKhKS","WQzsWQ8vuvTsfqlcGG","WPiqW7uaDq","lmkNWRJcHJjVuXXFFa","ttejbMFcGSkyFSoiWPG","B8kLW4yp","m8k9C3uwWQ1EWPZdH8oL","wYytag3dG8kDkG","W4mVW5PKrL5evWJdLG","W7HYiwpdN8kTkSkQW6vD","5PUE5PsWECocW4ZcMg7MIPVLIBi","WOXzWP1tgmordCoOW41u","55I25B6c5OUy5yM1","sCoOW6xcK20","qHeVASo9sCklkmowW7u","WRnLWPzHWRCc","CNvTWPDtW4xcQmovq1C","cSkeF0rcWQhdRSk6","WQ7dMMGGW4BdUSkczSo5W4y","g8ksBf9OWQa","W4X1W4Oigq","lmoBqIiG","hhtcTrOYrmkW","ACkNW7RdOc3cJtK","aSotFCoqW4m","yamLBSoYaCoBv8keWQG","W7auW7vBaXbcfK7dLa","F2L5W5rNDmoMFfBcTa","ymoxW68","qSksWRJdH27dVSokhCklWPG","WPHuWOHYfCoVdmo5W7Ls","m0ldIvlcGCkaWO0Qxmo/","f8ojW5nUta","d8k2W79BWRf0CvOwW7y","Aa0KiK3dPmkQySkeWPe","W6BdN3u+WOFcO8oEmmkZWOu","W5SCW4fxgCoEg8oIW69v","W7DEW6C1mW","bNdcTGP4u8kHbuD5","c1/dJXtdMSouW5nIfG","cSoTW65JWQW","qCodxG","WP9ia8oaW6HzWP/cUrn4","WOTpjSobWOWJW4O","l1/cNq","gN7cRWO55PYD6lYd5P2U77YQ57U3","W5nIdSoCW7mBW4RcUbTS","gCooBW","WOPfkSouWRX+W5aLASog","bSoDzCogW7lcSsxcGmok","b3LVlSoY","f8ooWRObW6q","gxPtqZpcLCklD8oxW4O","BLFdRCk7W7fzsI9J","pNxdT8kSW7baCgK2W78","h8k8CgOg","WObyna","CmoPBSkrW7W","EmkpW5ldUbO","c2hdMSoW","nCoAWPTsW40EWP9YfCkb","ySoDW6/dIbJcJCoScSkwWP8","C8kPW50A","W75Zew5T","tsidp04","WQnbW64","F8oYkmktq8oGWPm","CmoFWOlcHKPj","umomD8osW4JcJt7cI8oeFa","WP5esCkFWQXoWOhcPWrT","W6dcHd/dHa","WQrBWOe","oxJdTHJdHSoDW59Oqmo7","W6aoW6LdaLPgcfdcGa","g2xcReaHuSk2geb5","WQTufdhcI8ocBCo+","lmoVWRnB","zmomWRpcL3WAc8kSW5ZcVa","A8oosCo/W6JcTetcPSkoWRu","fKRdKbG","b1NcGZy1","pCogW4v0gq","WOjsWOb0","b8kagMNcKG","WRbZmbVcGq","nmkyW7HGWP3dVZ8","n8oLyHGdxG","gSoQWRivWR3cShLaqte","h8kbpxbO","WRddH2/dP8k9fgOie8kC","rSksjSkBWP3dVhRdHmo8Ea","WRfhhmkJW48VW5nfbSkx","qsWtba","W6/cKcBdIq","WQrBWPJcJ00","WPXwWR9BWQ0RWQNdNbFdJa","W71oW6WlWOFcLx9LW6hcOq","W6zVWPfXW4e","dXKlwa0","WPvFWOBcHGWO","W6ldQdBdM8kP","vtyNEmoZ","WRThp8kUW60","W6FcLt3dPfe1","W6zYW4OPmq","cIK0WOqa","cKRdJHxdKCoxWP82xCoS","aSkiBenvW6VcL8oWW659","W6lcHcJcPmooW53cRq","jJe/WPC","qCoVWRhcS1O","kcaQW4O","bSkTW41QWO0","l8o0EH8","W7ldJCo5W50q","W7DUg8k/W5fbWPCvxSoZ","wgxdQv3cHCkdWPq0vmoP","W5RdHsVdGW","A8orWRe","W7iAtmo+WO85","aSk9yNCFW60DWR7dM8o+","W7eOW54","W73dGxZdSe00tuCWna","n8kWWR/cJXO","WPBdRmogW4KoW6CVA8kYwa","W4/cJf8Xj3G","W6bkWRbjW4ddGImX","z8ooW4HXWOWnW4rRsa","W4mpW7iBuGqux1FcHG","bxZdHSoP","eqe3FG","iSk9Du8yWQvpWPJdT8oP","ymouW4byWP1bW4LHsSkz","WQfPWOLW","WQxdNN4GWOJcVa","zCoUA8khW4ZdKqnqxq","mCktcwRcJCoGjuRdIYS","5y6f5lU26l+X5yEl6kY1","c8ktEHaeW7pdPCo7W6vV","WQFdN38","DmowWRFcHg0GjmkH","jCoHCWaFtSkJAKju","WPPka8koW5StW4ZdVevX","l0bIomkWs8kas8oIW4S","WRBcNhhdPmkHqa","W7JcLsC","WQFdLuuGWO0","W7NcGZRdReTYhrPNkW","FCo5W7JdHgSIaKHLCG","qCoggmkqe8oOWRK2W6xcKa","DCoBWRhcK3a","WQLGW741Fa","r2Wka23dGW","kWKVW48b","FmodaXW0fIxdMbHa","W57dSXRdOCkp","WRH8k8oKWPW","ySoVFSoLW4ZdJb1qftS","aI7cTWC2rCkHlK90","W5P6WQbVW7u","b8oVW7jufq","WRhdN37dPa","W6xdJbxdNSkm","WP/dKHzVycjNW4ldKmk7","bICsgxtdImoboCowW5e","lmk0WQVcJYH/BrXzEa","WR1gW51DfLnrCatdKa","uSomb8kLha","FuFdVmkpW5S","o3/dMCk0omoEW4SNywK","jdqTW7KwWPJdVSkEka4","nSo0zr4txSkQqv9u","a8kaEwHW","kmoSW7jyla","WRxdPgpdHCkz","W6dcMqldL1y","WRLzWRPhaa","DwecW5ytWOFdVSk7eGu","qSo2hSkS","emotzmoyW7VcTZJcL8ogDG","FCkVW4ilcq","xvRdTSk7W7fzxai","hrynW5i","WPTjWO1Rja","W47cGK5uyc9IW5NdJSkN","WR4LnSoRj1Ojk8ozsa","hctdTaWThmo1obj3","tSkKWRjyWQbiy1rzW6C","W5rto1bv","WQrwWQW","tmojoCk2mW","WODXWQBcTW","WPFdGqnozIvJW5RcLSkz","smo3W6PwWQNdQJrrtgi","W7RdVWVdVW","WQzKWPT2WPS","WRzbb8kVW4C","mCkWDhiuWQfpW5lcGSk+","WRnBWOpcILL5l8k3","y8odW51VWO0wW4C","n8kIW49NWQtdHXNdV07dSa","kYaxW5yHW50","gK7dRqxdJq","5PwF5lUk5yMU5BQ55OU+5yIc77Yi5B6A5Asv6lYr","WP9tWRP0aSozeCoQ","cSoowCknWPBdJs7cU8owW7O","rta2yrJcN3fuWO5w","depdPK3dQCkoW4PXdCkL","ymoRF8ojW6G","WOH6mZhcGq","WOa8Bmo4c0esamklzG","WRPloa3cGq","r8oaimojWP3cRNNcMmkAzq","tsiueq","WPrFBSobWRC","WRxdSta1FJiXW7dcGa","W5TLlSkKEeCDwCk7uG","bSo9mY4eWRzCWO7dM8oP","WRbraq","iCkbkwzNihtcGG","cq4pcMVdGCkclSoiW4S","W5rIomkVzXTgo8kiErn3W6q","WPmHAmkYj0SugSkhBW","WP5iWO1xcG","tZephq","q8k3W55EeqRdGJNdPrO","W5iXW7alx8ogWRqJW45U","WR7dN3tdUmk8","agu9W55KySoJ","oJy5WO0WkCkNyLlcSW","t8oicCoGnCoJWPq8W6FdNa","asWDuIFcPLCZW749","W4H/W5GWqmkhW6v+WO0k","aSovySozW4G","BCohWOdcTvS","yCkQWQFdScBdKWRcNw/cUG","WRRdH2BcTbzUebjIkG","n8kgdvxcJmoInLVdTZy","WObjb8oCW7KPW4BdSW","W5CGWPe+cSkdW6WIWOGW","DCo2mtjaW6OnW53dOmoT","W6CsW65ecfHDqrG","kbWKEHVcNNvuWOPm","WRLydCoqWPS","WRnypmkBW68","W4FdPqldVSkSgSo/W5DlW6u","eSooF8odW4JdVtZdLCkaFW","mJ4yiCkThSoavSkmWRG","saxcJvpcHmkDWOOKpmkO","dmomWRGqW53cS3ldVu7dUq","ySoXhSkgoq","W7CuW7LmeLPYtG3dLW","cSkQCLfga8o0","pCkTB0mcWQfBWO/dLSo/","WPuSumooiW","F8orW6NcHG","W4ywAmoVo08ww8oFnq","y8oCA8kEW4e","W4VdLt7dTSkh","F8oDW6RcGK/dSSoOaCkjWO4","g8kpzuHiW6RdHmkXWRPY","rNZdUCkRW7K","jSo2WObxvIxdRKZdPYe","W7GupGVcUSoqsmk2W74r","BSoOgCkpja","yCopWODnWPCpWOa","W7JdLh3dGbBcLeOOsSoV","ocq1W48aWO7dKSki","pSkAlLC","qCo1W7xcVrpdSSkQt8omW54","u2/dPCkOW48","eqxdMrldG8oDW5zRdSkT","ySoICW0vsmo/oe1s","gSoeW4j8","WR5DbYRdGCkOn8kTW7bo","W77cUWRdGN0","W6JdImkBW7SxW40ytSksdW","WRbnW64ADG","W7KhW6HodG","j8kQW6nuWP/dHYpdH2RcGa","nSkPq0GN","W4LLjhS","f8ojySoD","eXunW6Ox","cCkoWP3cPrG","WRrrW6KE","nmoSW5Trcq","EvpdQ8kAW7bAEYPOWQO","WO3cGY7cOmkVEY1dkmk6","WQ/dLxmN","b8oPWRWdW6NOVjxMNiFVVlJPH6/ML6K","W73dSmouW4eqW64rlCoJsW","WONdSwT6WOpcRCoygq","ASoCW5T7WQ8","j8ouW59qWOPPsMTIW5e","W6dcIN/dGGlcG0PI","bgVdNCoapmoJW6Ctwwa","xCoHzmozW6hcKNldNCkcWR4","WPzclCo9WQS0W4bMimog","WOa5B8oYjG","amkBve45WPbKWQldP8od","6l6R6zIw5PkK5Pst5y+J5PA05lQQ5A2s5PAJ","BCkzWPZdIMO8hfGnmW","CCotW5NcHuS","W63cQHhdTK8","pX8IWPq1","W6xdNZNdSeOZ","W5S1F2LsWOXChHH6","W6qIW4m2W5bF","W7hdKCoQW7OZW4S0l8k1cG","W5RdLJ3dVmkm","WObvfmohW7irW4BdSvm","eaa7yt7cLG","eCk+W6bWWRe","WPFdJMtcQCoqW4VcT17cGbO","uCkrWOy9b23dGqldMCov","heRdIrW","ASoTW5lcJKBdGW","WR54emo2","oSkIW4fpW5tcQNRdK2RdMq","oCkBgbBdLmkXBWhcRNC","lKza","kgtdRIK","WQzoW44vFW","d358W4O","EvpdQ8knW7DmzYndWQ4","WQ8xWQeDsaCyqG/cIq","EmogW6dcK1tdNG","W6FcQaJdRYG","W79fWPXtW5m","W57cSmobW4SiW6Cel8kLeq","mmoeW5T4tfddNGRdLCoD","WOmzo8oxWRC9W4n9A8or","EmkNW54AgsJdOu7dMXW","W4LHphTd","BWVcR8oWWQGbBY4QWOG","W5KQWRancLzFqKhdTq","WRZdLeK9WPVcPSoFnG","f8oYESoEW44","W67dI3S6WPRcKmospSkZWPa","zCowW4a","ymohW51p","DmohW4CaWOaxW4fIq8ku","W7PnfLmAWOrjaHuX","g8klW5PYbghdMutdJmkd","aCkfnWLTh0lcSN1C","tCoJFCk0WO7dTX5KzXW","W7qeWRiHELLFvCkHWOC","WQb7W7Sdz18","W40AWPLHa8odimoUW7Dc","qSo0ECoDW5tdHY/cPmkmWQO","iXiQomkTtCkpamkdWQG","aCozDmoQW47cVstcKmokDW","WOJdIWjME24+WPJcJmoI","aCkTsh8wWRtdG8klWOei","WQ1kW7KAzLnEsq","WQ3dLxK","W6/cLsxdQKy4yu8","kYaQW5iLWOtdQCk6gam","cejrn8oF","WOO9W44YW5DgW4ddMHRcVa","FN5KWRq9iSkXiHtdSG","zSolWQlcNG","W7DaWQPJW4u","W7FdMSo6","i8oiCmkn","W4z0W4OBemkaW6PHWPe0","ec7dP8oqC8kLWRLrbJO","dCkaEvLcWQZdHSoXWR4Z","cxtcSdW/vSk2fgjX","nSo3W4bnWQi","kSkajKTYjLFcG15C","WQldMZFdSSkGaWjLumkb","6l2g5A+y5As86lAiWP3dNq","m8kaseKQWRrYWPFcHmoG","WPrDc8oSWO4","WRXoaadcQq","uCkRW6G7mG","g21txJdcMSoohmkgWPG","yCokWR4qW4ZcPMZdSghdJM41W7K","ie8Era","uSomp8k0amoVWPKW","g0RdJqNdL8oBW5SRbSkN","F8oLW7JdMgO+a1LKua","W4NdOemXoZfUW5FdISkX","WR3dIxy","WOXzWP1Fm8ord8o5W7To","amoUWRGXW6O","WRddJNqwWPZcVmoui8k5WPq","WPHeca","gCoHW64","ktS4WRWxlCkLoqddQq","n8kkWPLAmte","W7NcLsddS0OZw04","WQldMZBdLmka","WOBcGgT0W5NdOCkh","W4aRW5abrLnDtatcKG","W5uOW5H/kxzWcGldNq","WOH6ASoUo0W","c3BcOuaczmkbi3Ld","W5LoW50ZfSksW6P5WQe8","C8o1B8kQW7hdMG","rvSvwYpcV1HxWP8o","hSkep29R","wh/cLmk0FCkSWQuAwdO","r8kMoSoX","yCodW6ZcGMG","vSkPW5qhfIZdOu7cH1W","WQ1tWPLOWPCdWOBdPatcGW","WRDskIRcIG","W5TCf2XP","W7mdW6HPcuHAsW7dKW","kd8+WOP7ECoMEK3cSG","pSknW69uWOe","bCoizmoCW4pcTspcGSow","WQtcHJBdSuW7uq","o8keWQhcQeddMmoOemolWQG","kKZdQJtdGCojW7z9","da8VWPSU","W7FcTYddKGC","lMhdK8oTp8o4W6HqaY8","F8olWRJcQwKpja","zmoFWQBcGMSxlmoQW5NcTW","jMNcTYKu","m8koW6ldUZ3cHM3dQWVdVW","WQZdNhddSSkG5Qcs5B2k5BYL5BMt77+8","WPFdIqmJtIrLW53dLSo9","W4vWW4O+","WPDaeSop","BmoxW7u","gSoaW4b0ag3dVG8","jCkiWRZcHtbPxa","WOBdVqvVycrOW4ldPSk9","W59Hiw9FWPzn","jtSI","WRfPWOXTWP0dWQhdTa","WRzhemk+W75PWOi","WP5wmmorWOyYW4LWimoQ","wIyu","h8ovW4zXcMVdLH/dK8oF","W4DLW4OQpq","b8oaW5X5WPa","axlcQWmbuSk2aK9/","c1/dNaNdGCoa","WOC3nCo/BbnfrSoCoq","W71la04","xSokW44VW7GwkqSvWRq","kSksWOCAW5zrWPG6fSoD","WQFdHrpdKrpcJeDqxmoK","n8krWPaFW4XtW6r7qSkzsN8","W4umW4CXqCkds8kTW7zd","dCoeW5b4agNdHX/dMCoy","WQjlW6GBrvjjsCk/WPS","n8k/W6tcJZuHDsOnyG","m0pdRXJdVW","vf1NkXtcLNviWOXt","b8kwyLuz","mSkiW7Ho","lhpdJZtdSa","W6lcIJu","W4bLW5TZx8kvW7y","xSoRW6i9uJJcMvVcGCkq","y8okjmkika","W7zkWRftWPJcMgjIW6hcPW","WQ9HWPBcJ1n5cmkNWOvc","gmkuW7GjW4hcOg3cMtZcMq","mmkFevZcLG","k8k3DG","p8ofW4fpWOOrW4P6g8kO","B8kRW7/dUs0","DmkXW4acfshdPbhdGb0","W4vyWOz3hSoCemoSW7Xw","z8ogtqNdLCkXzG","zCkBAw4FWQLyW5lcHCk7","eSozymoCW47cTWpcGa","iSk9Du8yWQvpWPJdV8oL","W7FcHYVcT8kQsZnocmkv","WODRWQXJWQK","W77dQXhdUW","emk2W6zqW6xdPIGngM8","W7fBWO9FW7S","WQ0Bh8k/W45U","lmk2yNafWQbyWO4","tmoPyCoiW67cMq","W7JdRWNdOSkLbCoQ","CSkTW6xcUNhdNJ3cRtVcVW","55Uw5B2r6l6x5PYf77Y26ysO5PAj55Ij5BYP","W6noWRfmW5ldNW","W57cHdxcUW","D8kTW6W","ySkKW5hdLWi","wmoPA8oeW4tcNhtdOSkcWRq","WPNcV8oVW5GmW64vvCkZbW","W45RptvoWPzMfHmI","odS+WOOYjCk2lbFdQa","yIOuxZFcNSozyCouW4G","W65kWPRcLMnWaSkkW6H+","dmo3W7nGWQCjmGODWQq","FvPxfCovrepcJSkLuq","WQztWPnPhmoChSkIWQ0i","n8kvhLZcLSoYcfVdSti","W7fBWRnwW57dJJaHWQBdUW","F8otBCk9W6W","yCoEW5K","amoYWQupW6NcTxfswW","xSoMW55VdgxdKKtcI8ke","WRLzdSogW40","WRr4WP8OW54eWPO","W5fWW40SimkuW6TPWPSk","umoXWOhdGdXwBCkeW4dcQq","kCkfhN9a","u8orjXqnWQhdICoZWOio","jKHtfq","WPRdSvpdNmkj","sCojC8knW7i","B8otW7xcHG","cSksWPZdKbHnyJX1wW","WOLsn8oXWRa2W4Hxjmof","WRnFWOhcGG","eJjDqcZcLCockSkjW4u","o8kCW75dW4VdOdldLN3dIG","WPrFB8ohWRD8W6fwFSoe","yxfTWP9pWO7dTCobiJq","WPldJbzYyG","A8oBWRJcKxWx","WPDab8ocW7a","BSkSW47dSc4","C8okWRxcN1NdLCoLamkbWPm","WOTmW78NvG","hwxcPrSIra","fCocEJKY","W740W4WK","wWm0ySof","A0xdUSkSW7fmEcm","F8kJW4ildIxdHGJdNHC","n1PcbSoyqbpdJq","WQL6naZcMq","WP5oWOu","WPPGWOnVuCopWQHOWPbU","p8kviKRcJCoGjuRdGs0","WQHEW74rwG","iSo4BWK/sq","yqaGAmoO","psOTWPCHpW","WOGpW4hdLrm8tSkzWPT9","jmkTEx0v","AfpcSmkOWQ4cztrUWR0","mmkvW60","ACkJW58BhZpdTa","F140DmoYqSkld8kzW7W","W48+W5qSemkz","W6nFWRftW5NdIJGZWRy","iCkxfe3cO8oUjxNdSt0","WODieSocW7K","tSojqMv1WONdQ8oYW7CX","DSoEnNhcSComgWpcVJu","jSk5Dx8y","bCoJWQupW6hcU3TvvJa","q0pdHSo+oSo4W6uEgtq","f8oBW5DMW6KFj19lW6i","d8krEufiWQFdHSkQWR4Y","mSo9rCo+W4JcOctcGCodnG","CmouACogW74","ebKGW6Su","WRLElCkuW61QWOzSC8kb","whZdSIRcGSkhWPmKlSk5","omkbm1e","gmkzWOpcPbrBFa","W4JdM8oKW5Gx","r8otbq","WQzvWQ5EpLL6Dtm","CGCxwSkgd07cImkbwq","D8kNW6xdSJZcLG","WQNdIWG1pxOMW47cJ8oG","nrufW746","W5DsW4OSbq","W6ZdQdddNmkkjSo7WOWg","DSkUW7ZdPW0","WPGVba","CSkkW7O/la","WOX3WO1doq","W67cIdBdOhaVra","WQZdNMWGWORcQSo4nq","nSkvWPGBW4Hs","W5KlW7OAW7JdVGCWWR3dPW","WRBdQwRdO8k+vJbMkmka","WQD2W6KoDG","c0X/f8o9","sCojW5nhWPqoW44He8ot","mCk8k1T/","q8oJW70","F8kJW5GhgsxdIqu","WQ9DemkIW5uVW5zAdmkh","imkyW7G","uefUk0ddGKC1W642iSkU","WQydW4xdJq0Whmk7W7DO","lmkgW6ddLG","sblcJeVdKCorWO1Lc8o4","fCoNWQupWQJdPYSddgO","o8kcWRe","smkrAePeWPVdK8kXWRW4","sI7dQmo0i8o4W6WOu2m","W7Hfsmo8WO84W4Orw8kC","u8oksCoKW5e","ewVdMmoXnSoNW70","iJeR","WPL4yMycWPKodKGP","WRLonmkVW4q","CCkTW6ldUW","WQZdMM4O","FmkhW6tdTIu","hCkxW4PoWPm","s8oqW4vfWRS","kIWLWPuXy8kJFeZdSG","WPvtdYRcGSoXzCk1W6Tt","W6ZcLsC","WRfrbmk5W4rZWPi","W4pcOwC","B8kPW70AccNdRGy","W6qmW5e+r3P3fSo2WPG","bSo0WRS","WQ9KcmohWQS/W4n4ASkh","FSobW6tcLqZdNSoVfmoxWPm","EfRdSmkXW60","wCogxSovW4O","tSkfWP5kcMBdKWtdJCod","mLTiaSoFrrVdMG","WQPykSk/W4H6WOnjzSoU","WRf1WQTvWRO","d8krya","WRbkWPBcLw8","WRzseSo7W7G","B8kZW4pdUGy","W79bmNrt","mCkhAhHn","hSotzCob","oSkfWRldKHFcM8kSqmojW5S","WPXsmSoxWRWIW5i","WRVdL2lcMvtdKhfjAmosW5JcQa","q1RcGe3cMSklWPzHaCoY","WO9hn8obWReW","l8owW7b1WOS","ASokWP3cMh4","d20s","5yYL5yIr5PEH5lMyW5uY","xmkXiSoEW4/cLgxdP8kjW7u","FSktW6O/lq","W4voW58Qc8kF","hCkvAfLuWRC","WO3dKGPQFq","WPNdLYDOra","gWqx","k0jcvmoXrb3dG8k9eq","ySoggSkPeCoJWR4t","o8ksWQNcSeJdG8o4f8koWPG","mCktcwRcJCoGjuRdKJa","iSk9Du8yWQvpWPJdT8oT","WP5KbW/cQq","W5W5ydqnW4LdgLew","mre9Cb4","WOnafmolW7icW7ddVK4","DCoRqSkrW48","jCkiFqiuW7FcKmoWW6rR","pJ8/WPaJi8kNkq","W6ddMCoOW5Ot","W51SmwLFW4alqfLM","l2hcTc4Iq8kS","x8otBXTcWQlcKCk6W6e4","DXOstCkye0/cNCoYya","iLbKvSo1qmkkcCoaW6S","WQO9B8oqhW","aCkXWP7cJrq","WOK4zCkYzrjlwSoElW","b8oRW49tca","W6RcGtxcPmoGhhihomkr","WPPpd8oA","kSkajK1ZjG","naKVW4qA","kCk3zG","W6VdRv7dOSkZf8o5WP1dWO0","imkjW61sWOhdOa","nmkjW7JdHt5FzCkoW7JcJq","W57dSqDLAdnVWPNcJmoN","WQHlW70","kJ84WOi","W4/dNINdRCkDWPVdUMtcMK4","CmkJW4a","W4ddLJFdSG","buXeh8ozcf7dQ8k6sG","q03dGCo2pmo5W6XqbZu","u8kUWPWUW5pcN1qyaJu","z8octCkPW5m","W7RdLSodW6qw","f2VdOmoNbq","rCoJAmkwW48","kCkvWQbdWPRcVH3dTttdNG","WOPfkSouWRX+W5aLASot","zSopta/cGmoJye7dUMG","oCkaWQ/dLa/cN8kRwmkQWOO","kWC9WPiz","W7JdShpdPCkHqYaiwSoe","WR9ZWQjfpG","BCofFCkWW58","ymoeWR/cHIrFkCkGW5BcTq","cxtcScK+w8kH","aSk+W79UWPW","nSkSC3uEWQnuWPVdIG","W5hdR8oEW4qvW6erDSk/cG","fmoJWQmIW6lcPhfxrWy","jCkyW75pWPldQHBdMgJdHG","WPpdSxhdNCkx","cNtcSGy0uSknfq","b8knvL5iWR7dGSoJWOqu","DCo2zSkXW4W","ostdSa","BSkXW67dPYBcNYdcUG","WO7dGWGTCtrOW5RdNmk9","uSo0a8kYgCosWO4NW63dMG","W5niWRb4W6e","lcaWW5u8WOJdTmkieG","W6VdMJRdSSkrW5RcU3JcHLm","fK7cPWm+uSkQbxL5","WQbbW6WFCfjYxG","WQH0D8opWRGJW6HteCos","zmoFv0XhhCoSlHaB","kmkSsNig","F8k0W4Cyh2/dTLdcNrq","qCkdW7e9nWhdJc0","uCojW5L6cMy","eutdK1lcJCktW4P2amk9","kdCGWOyDka","v8kKW5T/WRLkyMXlW7y","fSkuz3jaWRtdJG","mSonW4XvWRO","k8k+WQtcJWrLxa5z","yCoJFSkoW5FdMIfr","lYSaW7mP","WPPrWO/cILzWb8o8W68f","6l6C6zId5PoQ5Psh6zo45O+W6i635yY85AsB6lsr","wmoLBSodW6O","b8osW6bWlW","W6BdLSoQW60Z","WRv5fmoIW5S","xmoVACoKW6m","W7vTmxvxWOXMqe5L","W4VcHWxdJrK","pSkxd1ZdISoNpKpdUWy","jezvgCoGraZdM8k7vW","fmoJWQmNW7FcOLTvuI0","dxdcTbS0x8kLxK9+","W6n5gSk2W4HSWOOvgSks","cf7dJHu","ACoXzmk0W5FdNWXfqsa","sCoaa8kSjmoJWOuKW6hcMG","f8kqemo5","meXubmoztW3dJq","nCkaWQZcKXi","DSoNECkRW4/dKrPr","W59MWRjmW5pdHgmYWO3cRa","p2n8W41JymkVju7dGG","o8otBmoCW4hcVIVdI8kAnW","i8o0DZWxq8kmF0zE","WQ1iW78fleDAsmkZWPO","WRNdHM/dVW","WRZdPe/dSSkE","CSkSW6JdUt3cMIJcRa","WQNdMID3sa","aH03Fq","WQmfW7naseDbsq3dLW","CrWLzmoYwSkXd8ot","CLpdSCk5W6Tf","B8k1W5/dKWm","dK7cKWxdGCoDW5zHbSoN","WOZdTtBcRW","D8kNW5tdVcZdGW","qmodW4vlWOWh","fSoYWO02W6O","WOnafmoDW7K","W6hdRXy","W4hdOWZcUmo1rCkPW5znW70","CSo7WRFcHLK","WQr8WRNcJhu","dCoWW7T7WRXv","WRddGWTMjHLVW5FdLSk5","y8oFWQlcLW","omoDE8oqWOlcIIpcHCoaDa","WRBcJJ3dO8kMwYHfbCkr","ySkFW7hcHK/cG8oKdCkxWOC","WRzoWOhcGfj9","W7NdRWW","WO8oCCkrWRWZWPzXD8kh","hCkFcrBdKmkYyahcRw8","W67dUbhdOCkLwCoOW4LrWQ0","BfpdRSkRW7PEyq","ag4+WPy3b8oIhLVdLG","p8kyW5TdWPBdMdpdGYdcMG","WRvDeCkPW5mVW55Aamkr","emovESoqW4pcSYFcGq","ns8GW4OwWO/dVSkF","WQzPWO4","WP/cHZRdVConW4tdVvRdL0C","WOzsiSogWRWJW5u","W7/dVYhdLSks","cxtcSa","W7vpWPj2WPelWO3cV2RdNG","ca4iW6mT","W5WzCmkmW6TMWOzhjmot","jebleCo/rq","WQjuwsBcGmkWq8oyW6um","q8oLW4XyWQW","WRfFea7cGCo5yCo2W7eW","dxdcTbS0x8kLlLj/","W7FdI27dUCoH","utZdJmo1DSkMWRTAbua","WRBdGh3cUGK4rGybsa","WRNdG2VdU8kNtsrtaSkF","WQrkWPtcL09V","WO3dIGDXBb5VW5i","mSkxcvG","sdmj","W5PLbgP4W5m","sCoHFCozW4tcLwhdLmkzWRu","qCoggmkgg8oQWPi","mmkFevZcRmoL","W4FdMJC","WRlcPeJcPmoUrSkWW4foW70","pL7cLZS","iKL9n8o5tmozb8otWQK","WPWKWO4","trJcILpcH8kfWPOSjmkb","l8k+xwjQWOhdQq","WPDtd8oyW7LzW5NcPGu+","nGeVWO89kCk7otZdQa","5PAd5lMq5P6d5OMq5yUi772U5yQp6zMQ5Asx6lEy","C25IW5P4kCk7ydBdKG","WO3dLGD3Fdi","mmogBb4DECk7BK4u","FWKusmoT","WRH9kSouWQe","W7imW4FcHKS5vmoHW78y","WPbafSoAW78EW47dIf43","ndeDrZu","zmoFWQlcLwa","WO5TWRHopq","fCoSW5jbWP0","mSktc1dcHSoKceBdUG","WPvtpdRcMW","fCoZW5vngq","bCoiD8obW5JcOq","WR7cIJu6WOhcPSoupCkZW5O","WP1diSowWQWI","ACkNW6RdUa","wtq0evi","W7HFWRDkW4tcL356WRJdSq","hSk5fMZcNW","Cmk3jCk5W43dIGaAqcy","WPDTWOLHW4Hs","h8oxC8kvW6RcTYNcJ8oama","WQ3dGh7dPCkGtYHc","k8oMWOy5eY7dPa7dHqe","WPySCSoroq","WOXzWP1wfCocfSoRW6fL","ihf/W5nLBmkLiqldTq","WOKqvCoumG","BSo/W6ZcS2K","lCkPzwqj","b2/dNCoL","W67dQWZdTG","W7ToWQzkWPRdJd08WRNdSq","d8ktrNXv","iSkFcvxcGa","W4ldLcddSCkM","WPvicSolW7ixW4ldSG","yg5SW4SdjCk7kqZdTG","W7HRoHtdMmkPlCk6WP8n","WOu0Dmo+pa","d8kuFuu","vCokfSkL","WQfoWODZhG","xr07CSoO","fubjqSkcgL7dKmoKda","WPObW5KUr8kCbCoLWRvL","WOiNACoRmq0frCobzW","l3FcPqmKuSoHrMi1","g8ojW75BWOO","pSkCW7W","gSkoyKHp5P+U6l2G5P+b77+B57Q6","BSkXW67dPXFcLYK","aGK3y1VdKNaEW5Ko","W7ToWQ0","WQT8gCkUW5G","BuldRCk3W7fkFcb+","WQVdMbJdI3eqzaD0DW","bmkWi8kCWPBdJJtcQ8kdWR8","zCo7WOtcRh8","WRnzgW","yCoJFG","oNpdRWxdOa","gmktFmogW4lcVa","cmkWDfy1","gmoqjKXuWRddJ8oXWQe4","WOLsn8oMWRyMW4H4kSou","tSklWOyZuYBcH0VdQCor","d8kGcGVcP8od","tSoPE8kCWPFdJc7dQCoAW6S","k0vcbW","WQ0Brmo8WOfZWOiFy8oc","BSoBh8kgfW","WPFdJqGSmgf2W4tdLSkG","WOfoemohW7GtW50","W4lcKdpdQSkrWP0","FSoaW60","y8kZW4achYK","uSo0iSoDW4VcNgNdPCobW7O","bgVdNCofi8oKW4OErNu","qCoggmkbb8oYWP8","WRDbW7eHqa","cK7dJaJdKCoaW44","W4ftmColWQ80WOLIDmkA","p8kKWOBcMZe","q0ddVCkKySkKWQDpdse","amknoCogW4xcUY/cImolnG","WQTDdCo7WO4BW687bSoK","lejEhmoU","af7dKYldLCogW45S","W7ZdUJZdOCke","ECoxW7dcKKtdNSoO","WOLsn8oJWQKHW6v1nCob","CmoVBSk9W4RcKvaBbNK","wmoLFmoyW4lcJNq","yCoJFSkCW5FdIqzzxc4","omoSxmoZW6y","eSocW6n8WO8","tSoYzmoBW4ldKNBcUSocWRW","W6joWRnwW5BdJJq","BvpdQW","ACkZW4TidIJdTqZdKbW","E8o5wSoHW40","WP95fCojW48","BCo/WOpcOG9bFKqwFW","n8k3o8oUW4VdSsnEuce","FgL0W5fNDCoGaGxdUCo/W6vG","ceRdJG7dQ8oqW5vGcSkw","W7VcKsddShO+r08X","iXOVWOWd","BhHWWPvsW5pdVSour1m","W6VdL37dTSo/hhiEuSkr","WR/dNK4LWOu","oSkUqMHV","pdeJWPC","BCoBW63cGMJdIq","tSkQWQOHW7KinXT9W7u","qmoKW6lcN0Pplmo2WOdcJq","m0hdUSoq","amoJWQm","qCkYW65tWR/dQIH+vZddMSoXka","WR9rWOBcLW","jmk7WQ3cMq","WRnGWPTW","W6NcGcy","c8oQWQivW6lcOdzxtsS","W7JcLsPNW5NdOCkbCCkeWPq","i8koC0rnWQJdHSoXW6jZ","tSoLE8oeW4tcMeNdRW","ytO+WOOIkCo6o1lcRG","WOf6os/cGq","WOdcV8kgW78vW6WuBCkHfG","mCoOW6zrjLZdSK7cImkc","WRrieYtdGCoun8ooW64k","W5WxW6HMdq","WPFcJXzIz29+W4pdL8k4","ptS/WPa9i8k7bcC","WRfdlmojWRW/","zWiG","DeiTzW","WR9zardcH8o6ASozWR8n","W5RdJG/dKSkP","ASoBW63cUfldHmoMhCoeWRG","ieJcJsC4","W4xdK1SZj3KQW5pdL8oV","h8oCoqmwW6JdNCk2W7OE","eMz0imkmdGJcMCo9wq","WPXxWOhdJa8VuCo9W6KD","WRX9WOlcI10","i8kfgeVdImoYjepcSce","eu59bCo/","WOb5h8kiW6uYWOimqmoX","W4aQkg9uWOLCg1iX","aX8/zW","W5PDW60qvHec","D8ouWOpcNgK","u8oxbmoVaCoVWPa5W6hcMW","W7RdJwpcRrjXuKn5wa","W6SqWQPwD1jnu8k1WPe","WPzzfG","hKldKqNdKCob","WQrzdSo6W58","vv/dQ8oXWQOEiMG0W70","W4dcHd/dHeZcUeTMvSoR","WP9oaq","W4JdQSoaW7CoW6CwCmkZfG","lvFcRJ86","WOaykCorWRy/","W6HOWPfjW5O","sdyuga","E8ohW7lcJW","og9JWPa8jCkWiqFcRG","WOZdUYfAEW","p8oxWPqEW5zAWOnRsmog","WPddKCo6WOHnWRjEmSoTrq","W47dMHZdM8kcamohWO4SWQa","W5BdL3xdVmkqW57dNhNdLva","hCoRW7CHWRftAvDlW70","jmosW5DTgW","bCkezW","WQ1pW79wvfjyuCk5W50","cSk8bG","WRmBW4FdKr8Vj8o2W61P","F8ogWQ7cJNahnCk9W4JcOq","WP9ecmojW6GE","fSkEW6ToWQpdPXZcJKNdVq","WO9zWP9Pe8ovimoKW7W","W4NdNgZcOmomW4VcRGZdNXC","A8oJECkRW5NdMq0","vSo/FSohW4lcVY/dI8kElq","ewVdMSo0pmo6W7OA","5OYp5P6S55MX5B6n5AA855k4","B8outSoL","WRTRfSkGW4HLWOGaASoo","WQbIWR1JWOS","ASkHi0qHrmkSEKrm","WRXohdxcI8kYCSkRW7eo","6l6z6zQ26lYV5A++5Aws6lEo776x5Psm5RkI6i+q","WRhdKh7dMSkHsIblrmk9","Ef/dSCk6","kSklW5VdLGVcKIu","ASkBWO9AWPaxW4jSsmkC","WPjrfSocW7uvW47dO0m3","WQjlW6GZCLrt","DmoPFmkXW5ZdMXObaW","W4BdIsZdJSkb","WRhdU3BdKmkV","W4pcIIJdIa/cJemOdmkO","WQBcLha6WOBcOq","oxJcQLLJdmoKcraK","e07dKW","WR3dNgRcLvhdLrS+wmk1","eXySEHhcM3CAW4Sl","W4TTpN4","WPtdJq9T","W7VcKsddShO+r08Xra","vvn2rb7cNhauW4Gr","WRVdK3S7WOZcKmoynq","lCkCgfHZmwNcNHDa","FCoBWR3cVeK","WPVdJau","WRTJWO0","arKuztu","phRdHSoVnSo6WRq","CL/dSCk1W6W","tY8bba","WRxcNwpdOSkGqIborCku","W7KoW5xdI211cmk3WRvC","WQXthIBcGa","tH3dSexdO8odW40YaCkI","zCo2aCkvfa","ahtdNHhdNCowW5rWmmkG","gNtcTXS","WQbvaCkVW4K","W6/cRZddQXm","kCkLWQhcNd4JrfKzDq","W73cSbhdIda","ASoIu8k0W50","WR7dNghcKLldMeC/cCkY","WR/dLM8","W59XjgPn","p8kHWQ1nW6Wunv5FWRe","W4rkW5GVeCofc8oLWRDs","57QB5l+d55s+","WRRcVKRdKCkqi8kOWOKzWQ0","s8oZBSoUW4G","W7eCndpcNSoXyConWRSF","WRrfW6KftfruxSkZ","j8oWDWuzqW","oSoKW6vwbNRdMq7dLSkF","l8kEWP8o","eCozySo0W53cOGNcHCoFBq","WQOlW7afFfK","W7zyW7Gwx8kwW7r9WPCX","W7HJWOfaW4y","WPjrdW","xdem","DCohBmk3W5i","WR0zqGFdI8kQqmk8WQKu","mM5YWPzdWPJdV8khiqi","nmkcWQ/cJW8","ymouW4byWP1nW5K/cCkB","W73dGxZdOLaPqaqNCG","aM3dISoHimoNW5ylwwO","WRJdMMG6WOW","W7JcHchdQKS6qu0T","i1Xtha","W4JdGmonW4qvW6CEDSkjda","gNrrsdVcNmoynCklWQ9sWOVcMG","ymoBWQlcSMCii8kPW5/cUa","amotdCkYf8oOWOmiW6hcKq","sSo6W6m","bryuW5mq","WO1wm8owWRO5W4DlmCoA","f8oNWQmh","WO5Aj8kFW5u","omozf0RcISoV","r8o8p8kPfCoO","ntWnrW","AdiLWO49omoOFfpcSq","Ff9/mCkTdSkEcSowW6W","omonWQBcL2SACmoJW4FcSa","kmo2EwKEWQHyWPtcNCoO","W6RcUJpdLbFcIa","WR7dMNFdSSk9","p8kYWRVcMJrIqq0","W6tdQXxdSG","omken1vVnMhcNKnB","E8ogzCo6W5hcLtNcUSkmWPe","W73cKsddIa3cH0THqa","wsKcymo7","W53cUtdcTMyhEMKztG","W7DWWQhdGWSSsmoJW6el","cXiZDG","B8oOACk0W43dMG1g","EvpdQ8kiW7PFFcb+WOG","B1hdLCkPW7u","W6FdTSoaWP5iWRLqESoGuq","mCkfi0f/","rrKIn8kOfCoohSkbWQW","ibz1mCkQsmknb8kdW74","W6zoWRftW5hdLb06WQJdVq","if7cIIO","lmoZW47dMY7cNalcT2tdOa","n8k7hwKXhW","W6LLWQ5CW44","hgNcGYiU","W6W5W79bd1PAuZ7dMW","WPeNWP4qhSkcW7bLW4Ww","WPD+b8oBW6GE","W5FdUSoA","WOHymCoNWRGYW44","e8oFFCoAWOtdSGNcJmoDDG","thBdNmoQ","W73cJtpdKWy","mJOywLFcK2qlW5yg","5yMK6zU15PAe5lQA5OMM5yQY","WPf0sCoiW7Do","ASoPBq","WPu0DSo4bKCaaCkcDq","WO3dIGDXBa","WRjPWO5aWPerWOBdVdtcIW","sSksWOqRwJhcGt/dQmoDDKtcPq","D1JdVmkYW6PjCdu","tmkjW7LytMNcOcddGGi","gcegstpdJSkpkCotW44","wYygaMFdNSkgemktWPe","p8kfWRpdKrJcLmkQlmkRWOzMW6VdNW","WOpcQSkxWOzoWRnfiSkoiq","fmoJWQmLW6BcOMXxsJG","W4ddKd4","wCo0BmozW5lcJG","W7BcKdZdVGlcKeS","layurmkhaq7dHmkZta","WRbva8kPW7nLWPubwCot","WR/dLM/dGCkRxcXbeSkZ","mCk7Ax0","W4LJWOD5W48","6lYg6zUd55Io5B6z5AAq6lsL77+Q5PAu5RoG6iYq","WRvrWPhcMG","p8kfWOy0","wmoLA8oFW4lcJMJdLmkzWRu","W6FdJwGBWOlcQCoHjCk4W4a","WOa8Bmo4","n8oKBmoHWONdNqLtb38","W5vWW6WncG","W6ZdOXtdSSkFfCo/WOWBWQW","c8o8Db8c","iSkEcfFcGCoKjqdcR2S","W6ydW69DcvfhqG","WOPPW6iVCa","6l6G6zQe6lYY5A2l55Qz5B6N5yIp5BQb5AAo6lwh","yCoADWOOzs7dKXOc","i8kCW6iiWOZdPJtdM2RdHG","psO+WOO6k8k8kXO","WR5DWR9iWPa","WOCLCmoXpuesamkhBG","cYGTWPbxW5dcU8kuqvm","kmkXshG4","kMNdScZdUq","WPDSW5S","gcOqW44f","pCovySkAWPJdOx3dISkClW","WRZdKM/dTG","W6OuWRrhiGqpgSk4WPe","W6FcNZtdQKS","kCo2WRlcOhddHN3cLshcOMJcVmk/","omopvCofW74","xYBdT1PHaCo0sryG","tIyum2pdNCkAlmkpWP8","aCoJWQqwW6JcVgTr","j8ofqCo5W4C","WPJdK1WRWRO","W7JcHdldT1aU","W4lcKdpdQSkrWP3cTXVcMKq","W4dcQqRdKs0","WOBdLWHCAdrYW54","f8otWQuk","i8kCW75dWPRdPWxdNMS","WOmZzCkKmKbafCoDmq","dshdG8o3pmo6","ubKHE8oM","zmk5scqIymkomGTx","W4pdUSoA","ad7dTv93rmkGgNb1","ASo6WRxcMv8","WQv5WOLS","D8oaw8kcW6e","WOfxW4a9zW","rSoTWPpcQvWMhCkaW6/cMG","WOT+bCocW7utW4hdO3uX","WR3dIvmdWQpcNmkjnCkbWQW","y8kzW40ceYxdRHxdRrS","jZiPWPa","W4nOp3TEWObltqKN"];return pL=function(){return t},pL()}async function r5e(t,e){let r=Te,n={kCwhg:function(c,u){return c(u)},qiZpP:function(c,u){return c===u},SyIzU:r(1606,"J02["),RKYNf:function(c,u,l){return c(u,l)},LfVgO:r(1569,"GiqO"),yUgeT:r(778,"EWEh")};await n[r(1640,"Rf!$")](ab,e);let s=await zh[r(1313,"attV")+"ta"](t);if(!s)return null;let i=await n[r(1359,"METZ")](Asr,n[r(1328,"h1&F")]),a=[],o=[];return Object[r(770,"EhkZ")](s)[r(1803,"U6cg")](c=>{let u=r,l={JxhhQ:function(m,h){return n[Gi(2056,"[zZc")](m,h)},BNcIi:function(m,h){return n[Gi(477,"EWEh")](m,h)},foIkD:n[u(328,"oCn^")]},d=Array[u(524,"$FUM")](s[c])?s[c]:[],f=d[u(1935,"L$sR")](m=>{let h=u;return{vod_id:[m[h(1951,"nHvT")],m[h(1474,"nHvT")],m[h(1317,"1IiW")],m[h(1599,"#Vf$")+h(1720,"68F4")],m[h(1376,"*uMz")]||""][h(1706,"nHvT")]("*"),vod_name:m[h(727,"]#Cr")],vod_size:l[h(1163,"1IiW")](Number,m[h(1534,"di2y")])||-5801*1+-4110+9911*1,vod_group:l[h(1113,"attV")](c,l[h(1947,"#Vf$")])?"":c}}),p=n[u(591,"6m)Q")](Os,i,f);p&&p[u(881,"oCn^")]&&p[u(1277,"t2$F")]&&(a[u(851,"wv7J")](p[u(786,"XIK8")]),o[u(2067,"TYk6")](p[u(1630,"qInX")]))}),a[r(1676,"1IiW")]?{from:a[r(1265,"6m)Q")](n[r(1159,"METZ")]),url:o[r(571,"oCn^")](n[r(1752,"h1&F")])}:null}var t5e=t=>{let e=Te,r={NPJFK:function(i,a){return i(a)},DYUOC:function(i,a){return i||a}},n=r[e(616,"qInX")](String,r[e(941,"h1&F")](t,""))[e(448,"XIK8")+"e"]();if(!n)return 3372+-559*-13+1*-10639;if(n[e(502,"EhkZ")]("\u539F\u753B"))return-3*-24419+-184559+3354*63;if(n[e(1139,"attV")]("4k"))return 3*487+2537+2;if(n[e(1815,"CdtI")]("2k"))return-143*-19+-4783+4066;let s=n[e(935,"veG&")](/(\d+)\s*p/);return s?r[e(1588,"LQMX")](Number,s[-2998+-181*-7+1732])||-2*4269+-7*421+-1*-11485:n[e(1012,"NQR8")]("\u84DD\u5149")?-5563*-1+8078+-12441:n[e(1786,"METZ")]("\u8D85\u6E05")?1080:n[e(1139,"attV")]("\u9AD8\u6E05")?-678*-12+-7053*1+-363:n[e(2035,"U6cg")]("\u6D41\u7545")?86*-106+3819+109*53:n[e(1422,"6m)Q")]("\u6807\u6E05")?540:n[e(426,"68p[")]("\u666E\u753B")?-5801+-1*-6161:n[e(1455,"*uMz")]("\u6781\u901F")?240:-589+58*3+415},ysr=t=>{let e=Te,r={rLCxq:function(s,i){return s<i},HBcyE:function(s,i){return s(i)},mdtWf:function(s,i){return s(i)},RgVgW:function(s,i){return s+i},grGNI:function(s,i){return s||i}},n=[];for(let s=0;r[e(812,"$FUM")](s,t[e(1181,"YsCI")]);s+=5*-967+-33*-35+-1*-3682){let i=r[e(603,"TYk6")](String,t[s]||"")[e(787,"68p[")](),a=r[e(677,"htl8")](String,t[r[e(1134,"EWEh")](s,1)]||"")[e(2105,"5V(o")]();r[e(514,"%g5L")](!i,!a)||n[e(2096,"a(V)")]([i,a])}return n};async function n5e(t,e){let r=Te,n={smHIw:function(l,d){return l!==d},oEUIf:function(l,d){return l(d)},KhReK:function(l,d){return l(d)},PhFbS:function(l,d){return l<d},oMTnD:r(958,"n(Tw"),UPALy:r(473,"EhkZ")+r(1326,"qInX")+r(1381,"EhkZ")+r(1221,"U6cg")+r(1258,"XIK8")+r(1931,"@)NM")+r(1549,"@)NM")+r(509,"s45X")+r(1130,"attV")+r(2098,"xwLD")+r(1339,"nHvT")+r(2109,"$FUM"),miIdH:function(l,d){return l(d)},iHGYb:function(l,d){return l!==d},eMdTC:r(1581,"#Vf$"),jyVCS:r(1395,"%g5L")};await n[r(1520,"0D8d")](ab,t);let s=n[r(1111,"#Vf$")](String,t[r(1831,"Rf!$")].id||"")[r(1199,"qInX")]("*");if(n[r(1864,"3*7L")](s[r(1229,"6m)Q")],2317+1*3985+-6298))throw new Error(n[r(423,"TYk6")]);let i={"User-Agent":n[r(769,"&4j(")]},a=n[r(1850,"attV")](ysr,await zh[r(793,"^04V")+"l"](s[-12*-577+-2238*3+70*-3],s[990+73*-2+-281*3],s[2171*3+9277+-15787],s[155*64+-1*-8842+226*-83]||"")||[]),o=null;if(n[r(737,"u38W")](es[r(639,"woD7")](n[r(1541,"$5xR")])||"",""))try{let l=await zh[r(1813,"EWEh")+r(835,"di2y")](s[0],s[1],s[3]);l&&(o=["\u539F\u753B",l])}catch(l){console[r(2e3,"woD7")](r(369,"a(V)")+" "+(l?.[r(1680,"METZ")]||l))}a[r(598,"h1&F")]((l,d)=>t5e(d[-5027+-61*-139+-3452])-t5e(l[21*-275+-9284+15059]));let c=[];o&&c[r(1940,"htl8")](o),a[r(1695,"NQR8")](l=>{let d=r;n[d(1318,"METZ")](l[-3252+1626*2],"\u539F\u753B")&&c[d(1408,"#Vf$")](l)});let u=c[r(1645,"68p[")]();if(!u[r(760,"@)NM")])throw new Error(n[r(891,"YsCI")]);return{parse:0,url:u,header:i}}var o5e=require("crypto");var bsr="https://api.guangyapan.com",Esr="https://account.guangyapan.com",c5e="aMe-8VSlkrbQXpUR",u5e=200,_sr="0123456789abcdef0123456789abcdef",l5e={Accept:"application/json, text/plain, */*","Content-Type":"application/json"},Ssr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],mL,uz={},wl={set(t,e){uz[t]=e,mL&&mL.push(`/guangyapan/${t}`,e)},get(t){return uz[t]}},vsr=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,lC=async t=>{mL=t.server.db,uz=await mL.getObjectDefault("/guangyapan",{})};function Csr(t){let e=/https?:\/\/(?:www\.)?guangyapan\.com\/s\/([^/#?]+)/i.exec(String(t||"").trim());return e?.[1]?{shareId:e[1]}:null}function d5e(t){if(!t)return{};if(typeof t=="string")try{return JSON.parse(t)}catch{return{msg:t}}return t}function dC(t,e=""){return[t?.msg,t?.message,t?.error_description,t?.error,e].map(n=>String(n||"").trim()).filter(Boolean)[0]||"unknown error"}function Isr(t){let e=String(t||"").toLowerCase();return Ssr.some(r=>e.endsWith(r))}function Tsr(t,e){return t?`${t}/${e}`:e}function wsr(t){let e=String(t||"").trim().toLowerCase();return e=e.replace(/^wdi10\./,""),e=e.replace(/x+$/g,""),e=e.replace(/[^0-9a-f]/g,""),e.length===32?e:""}function f5e(){let t=wsr(wl.get("device_id"));if(t)return t;try{t=(0,o5e.randomBytes)(16).toString("hex")}catch{t=_sr}return wl.set("device_id",t),t}function Rsr(t=""){let e={...l5e,Did:f5e(),Dt:"4"},r=String(t||"").trim();return r&&(e.Authorization=`Bearer ${r}`),e}function Nsr(){let t=f5e();return{...l5e,"X-Client-Id":c5e,"X-Client-Version":"0.0.1","X-Device-Id":t,"X-Device-Model":"chrome%2F147.0.0.0","X-Device-Name":"PC-Chrome","X-Device-Sign":`wdi10.${t}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,"X-Net-Work-Type":"NONE","X-OS-Version":"Win32","X-Platform-Version":"1","X-Protocol-Version":"301","X-Provider-Name":"NONE","X-SDK-Version":"9.0.2"}}async function uC(t,e,r=""){let n=await he.request({url:`${bsr}${t}`,method:"POST",headers:Rsr(r),data:e,validateStatus:()=>!0});return{status:Number(n?.status||0),data:d5e(n?.data)}}async function Osr(){let t=String(wl.get("refresh_token")||"").trim();if(!t)return"";let e=await he.request({url:`${Esr}/v1/auth/token`,method:"POST",headers:Nsr(),data:{client_id:c5e,grant_type:"refresh_token",refresh_token:t},validateStatus:()=>!0}),r=d5e(e?.data),n=String(r?.access_token||r?.accessToken||"").trim();if(!n)throw new Error(`\u5237\u65B0\u5149\u9E2D access_token \u5931\u8D25: ${dC(r,`status=${e?.status||0}`)}`);wl.set("access_token",n);let s=String(r?.refresh_token||r?.refreshToken||"").trim();return s&&wl.set("refresh_token",s),n}async function lz(t=!1){let e=t?"":String(wl.get("access_token")||"").trim();return e||await Osr()}async function p5e(t){let{status:e,data:r}=await uC("/nd.bizuserres.s/v1/get_share_access_token",{shareId:t}),n=String(r?.data?.accessToken||"").trim();if(!n)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u5206\u4EAB accessToken \u5931\u8D25: ${dC(r,`status=${e}`)}`);return n}async function Psr(t,e="",r=0){let n={pageSize:u5e,accessToken:t,parentId:e,orderBy:0,sortType:0};r>0&&(n.cursor=r);let{status:s,data:i}=await uC("/nd.bizuserres.s/v1/get_share_page_files_list",n);if(s<200||s>=300)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u5206\u4EAB\u76EE\u5F55\u5931\u8D25: ${dC(i,`status=${s}`)}`);return i?.data||{list:[]}}async function Dsr(t){let e=await p5e(t),r=[{parentId:"",folderPath:""}],n=[];for(;r.length>0;){let{parentId:s,folderPath:i}=r.shift(),a=0,o=!0;for(;o;){let c=await Psr(e,s,a);(Array.isArray(c?.list)?c.list:[]).forEach(d=>{let f=String(d?.fileId||"").trim(),p=String(d?.fileName||"").trim();if(!(!f||!p)){if(Number(d?.resType||0)===2){r.push({parentId:f,folderPath:Tsr(i,p)});return}Isr(p)&&n.push({vod_id:`${t}*${f}`,vod_name:p,vod_size:Number(d?.fileSize||d?.size||0),vod_group:i})}}),o=!!c?.hasMore;let l=Number(c?.cursor||0);if(!o||l<=a)break;a=l}}return n}async function dz(t,e,r=""){let{status:n,data:s}=await uC("/nd.bizuserres.s/v1/get_share_download_url",{fileId:t,accessToken:e},r);return{status:n,code:Number(s?.code||0),msg:dC(s,`status=${n}`),url:String(s?.data?.downloadUrl||"").trim()}}function s5e(t,e){return{status:t,code:Number(e?.code||0),msg:dC(e,`status=${t}`),data:e?.data||{}}}function i5e(t,e){return{status:500,code:0,msg:String(t?.message||t||e||"\u5149\u9E2D\u63A5\u53E3\u5F02\u5E38"),data:{}}}function m5e(t){let e=String(t?.msg||"").toLowerCase();return t?.status===401||t?.status===403||t?.code===401||t?.code===403||e.includes("token expired")||e.includes("unauthorized")}function ksr(){return!!String(wl.get("refresh_token")||"").trim()}function Lsr(t){let e=String(t?.msg||"");return m5e(t)||t?.code===207||e.includes("\u514D\u767B\u5F55\u4E0B\u8F7D")}async function a5e(t=!1){let e=await lz(t);if(!e)throw new Error("\u5149\u9E2D\u767B\u5F55\u6001\u7F3A\u5931");return e}async function h5e(t,e){let r="";try{r=await a5e(!1)}catch(i){return i5e(i,"\u83B7\u53D6\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25")}let n=await uC(t,e,r),s=s5e(n.status,n.data);if(!m5e(s))return s;try{r=await a5e(!0),n=await uC(t,e,r),s=s5e(n.status,n.data)}catch(i){return i5e(i,"\u5237\u65B0\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25")}return s}async function Bsr(t,e){let r="",n=String(wl.get("access_token")||"").trim();try{r=await lz(!1)}catch(i){return{status:500,code:0,msg:String(i?.message||i||"\u83B7\u53D6\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25"),url:""}}let s=await dz(t,e,r);if(!s.url&&n&&ksr()&&Lsr(s))try{r=await lz(!0),s=await dz(t,e,r)}catch(i){s={status:500,code:0,msg:String(i?.message||i||"\u5237\u65B0\u5149\u9E2D\u767B\u5F55\u6001\u5931\u8D25"),url:""}}return s}async function g5e(t,e=""){await lC(t);let r=await h5e("/nd.bizuserres.s/v1/file/get_file_list",{parentId:String(e||"").trim(),pageSize:u5e,orderBy:3,sortType:1,fileTypes:[]});if(r.status<200||r.status>=300)throw new Error(`\u83B7\u53D6\u5149\u9E2D\u4E2A\u4EBA\u76EE\u5F55\u5931\u8D25: ${r.msg}`);return{total:Number(r.data?.total||0),list:Array.isArray(r.data?.list)?r.data.list:[]}}async function A5e(t,e){await lC(t);let r=String(e||"").trim();if(!r)return{url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};let n=await h5e("/nd.bizuserres.s/v1/get_res_download_url",{fileId:r}),s=String(n.data?.signedURL||n.data?.downloadUrl||"").trim();return s?{url:s,msg:""}:{url:"",msg:n.msg||"\u5149\u9E2D\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}async function y5e(t){let e=Csr(t);if(!e?.shareId)return{};let r=await Dsr(e.shareId);return Os(await vsr("guangyapan"),r)}async function x5e(t){try{await lC(t);let[e,r]=String(t.body?.id||"").trim().split("*");if(!e||!r)return{parse:0,url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};let n=await p5e(e),s=await dz(r,n);return s.url||(String(wl.get("access_token")||"").trim()||String(wl.get("refresh_token")||"").trim())&&(s=await Bsr(r,n)),s.url?{parse:0,url:["\u539F\u753B",s.url]}:{parse:0,url:"",msg:s.code===207||String(s.msg||"").includes("\u514D\u767B\u5F55\u4E0B\u8F7D")?"\u5149\u9E2D\u4E91\u76D8\u5206\u4EAB\u672A\u5F00\u542F\u514D\u767B\u5F55\u4E0B\u8F7D\uFF0C\u8BF7\u5148\u5728\u201C\u767B\u5F55-\u5149\u9E2D\u201D\u4E2D\u586B\u5165 access_token \u6216 refresh_token":s.msg||"\u83B7\u53D6\u5149\u9E2D\u4E0B\u8F7D\u5730\u5740\u5931\u8D25"}}catch(e){return{parse:0,url:"",msg:String(e?.message||e||"\u83B7\u53D6\u5149\u9E2D\u4E0B\u8F7D\u5730\u5740\u5931\u8D25")}}}var Co=async t=>globalThis.getPanName?await globalThis.getPanName(t):t,mu=t=>{let e=globalThis.Pans?.find(r=>r.key===t)?.name;return String(e||t)};var Gr=d0,Msr=t=>t==null||t==="root"?"":String(t),fz=t=>{if(!t)return[];if(Array.isArray(t))return t;let e=[];return Object.keys(t).forEach(r=>{let n=t[r];if(!Array.isArray(n))return;let s=Msr(r);n.forEach(i=>{e.push({...i,vod_group:i?.vod_group??s})})}),e};async function qr(t,e){return{}}async function Rr(t,e){t=Array.isArray(t)?t:[t];let r=t.map(u=>{let l=nf().find(f=>f.validator(u)),d=l?.key;return{key:d,name:l?.name||mu(d),url:u,order:globalThis.Pans.findIndex(f=>f.key===d)}}).filter(u=>u.key);r.sort((u,l)=>u.order-l.order);let n=[],s=[],i=[];(await Promise.allSettled(r.map(async({key:u,url:l})=>{if(u==="ali")return await sLe(l);if(u==="quark")return await yLe(l);if(u==="uc")return await F4e(l);if(u==="tianyi"){let d=await rf.getShareData(l);if(!d)return null;let f=await Co("tianyi");return Os(f,fz(d))}if(u==="yidong"){let d=await $V.getShareData(l),f=await Co("yidong");return Os(f,fz(d))}if(u==="123"){let d=await O0.getShareData(l),f=await O0.getFilesByShareUrl(d),p=await Co("123");return Os(p,fz(f))}return u==="115"?await Q6e(l,e):u==="baidu"?await X6e(l,e):u==="xunlei"?await r5e(l,e):u==="guangyapan"?await y5e(l):null}))).forEach((u,l)=>{if(u.status==="fulfilled"){let p=u.value;p&&p.from&&p.url&&(n.push(p.from),s.push(p.url),i.push({name:r[l].name,url:r[l].url}));return}let d=String(r[l]?.key||"unknown"),f=String(u.reason?.message||u.reason||"unknown error");console.warn(`[Pan Detail] ${d} detail failed: ${f}`)});let o={};n.forEach((u,l)=>{o[u]?n[l]=`${u}-${++o[u]}`:o[u]=1});let c={};return i.forEach((u,l)=>{c[u.name]?i[l].name+=++c[u.name]:c[u.name]=1}),{froms:n.join("$$$"),urls:s.join("$$$"),links:i}}async function Nr(t,e){let r=t.params.site;if(r=="ali")return await yk(t,e);if(r=="quark")return await Sk(t,e);if(r=="uc")return await U4e(t,e);if(r=="baidu")return await dL(t,e)}async function Or(t,e){let r=t.body.flag;if(r.startsWith(await Co("ali")))return await xk(t,e);if(r.startsWith(await Co("quark")))return await vk(t,e);if(r.startsWith(await Co("uc")))return await q4e(t,e);if(r.startsWith(await Co("tianyi"))){let n=t.body.id.split("*");await rb(t);let s=n[2]||"video",i=n[3]||"",a=n[4]||"";if(s==="cas")try{let c=await rf.getShareTextPlayable(n[0],n[1],i,a);if(!c?.url){let u=rf.getShareTextResolveReason?rf.getShareTextResolveReason():"";throw new Error(u||"\u5929\u7FFCCAS\u89E3\u6790\u5931\u8D25")}return{parse:0,url:["\u539F\u753B",c.url],...c.header?{header:c.header}:{}}}catch(c){throw c}return{parse:0,url:["\u539F\u753B",await rf.getShareUrl(n[0],n[1])]}}else if(r.startsWith(await Co("yidong"))){let n=t.body.id.split("*");return{parse:0,url:["\u539F\u753B",await $V.getSharePlay(n[0],n[1],n[2]||"",n[3]||"")]}}else if(r.startsWith(await Co("123"))){await sb(t);let n=t.body.id.split("*");return{parse:0,url:["\u539F\u753B",await O0.getDownload(...n)],header:O0.getDownloadHeader()}}else{if(r.startsWith(await Co("115")))return await G6e(t,e);if(r.startsWith(await Co("baidu")))return await lL(t,e);if(r.startsWith(await Co("xunlei")))return await n5e(t,e);if(r.startsWith(await Co("guangyapan")))return await x5e(t,e)}}async function _5e(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);n.init=s.json(),fC(s.json()),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),fC(s.json());let i=!1;if(n.home.class&&n.home.class.length>0){let a=n.home.class[0].type_id,o={};if(n.home.filters){let c=n.home.filters[a];if(c)for(let u of c){let l=u.init;if(l){for(let d of u.value)if(d.v==l){o[u.key]=l;break}}}}if(s=await t.server.inject().post(`${r}/category`).payload({id:a,page:1,filter:!0,filters:o}),n.category=s.json(),fC(s.json()),n.category.list.length>0){i=!0;let c=n.category.list[0].vod_id;await E5e(t,c,n)}}if(s=await t.server.inject().post(`${r}/search`).payload({wd:"\u4ED9\u9006",page:1}),n.search=s.json(),!i&&n.search.list.length>0){let a=n.search.list[0].vod_id;await E5e(t,a,n)}return fC(s.json()),n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}async function E5e(t,e,r){let n=t.server.prefix,s=await t.server.inject().post(`${n}/detail`).payload({id:e});if(r.detail=s.json(),fC(s.json()),r.detail.list&&r.detail.list.length>0){r.play=[];for(let i of r.detail.list){let a=i.vod_play_from.split("$$$"),o=i.vod_play_url.split("$$$");for(let c=0;c<a.length;c++){let u=a[c],l=o[c].split("#");for(let d=0;d<l.length&&d<2;d++)s=await t.server.inject().post(`${n}/play`).payload({flag:u,id:l[d].split("$")[1]}),r.play.push(s.json())}}}}function fC(t){t.statusCode&&t.statusCode==500&&console.error(t)}var Wsr={yidong:"https://yun.139.com/w/static/img/LOGO.png",tianyi:"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/a8/fa/f0/a8faf032-0fa4-d9c5-ac70-920d9c84dff1/AppIcon-0-0-1x_U007emarketing-0-7-0-0-sRGB-85-220.png/350x350.png",115:"https://img.pcsoft.com.cn/soft/202104/093230-608b5e2ed5912.jpg",quark:"https://ts1.cn.mm.bing.net/th/id/R-C.a0d60e6a72806738e6f0b711a979bdf5?rik=lp5C9t5sYlkrLw&riu=http%3a%2f%2fpic.2265.com%2fupload%2f2020-10%2f202010151719492792.png&ehk=Pv6rq3JxJvKe2y1QsdzssyZ4Ez4cwiKWmIvK0aMgxi0%3d&risl=&pid=ImgRaw&r=0",uc:"https://ts1.cn.mm.bing.net/th/id/R-C.421c96e47df7c9719403654ee4f7c281?rik=yiiEoGCTgDDc3w&riu=http%3a%2f%2fpic.9663.com%2fupload%2f2023-5%2f20235111411256277.png&ehk=R81N%2flXMrl%2bxpRlST8DtHXDfab6rzaMb83gihuD71Fk%3d&risl=&pid=ImgRaw&r=0",ali:"https://inews.gtimg.com/newsapp_bt/0/13263837859/1000",123:"https://statics.123957.com/static/favicon.ico",baidu:"https://nd-static.bdstatic.com/m-static/v20-main/home/img/icon-home-new.b4083345.png",xunlei:"https://img.geekie.site/i/2026/03/22/190713.png",guangyapan:"https://www.guangyapan.com/icon.png"},Rl=t=>{let e=globalThis.Pans?.find(n=>n.key===t)?.pic,r=String(e||"").trim();return r||Wsr[t]||""},nf=()=>[{key:"quark",name:mu("quark"),validator:pk,pic:Rl("quark")},{key:"uc",name:mu("uc"),validator:mk,pic:Rl("uc")},{key:"ali",name:mu("ali"),validator:fk,pic:Rl("ali")},{key:"baidu",name:mu("baidu"),validator:Fke,pic:Rl("baidu")},{key:"xunlei",name:mu("xunlei"),validator:Uke,pic:Rl("xunlei")},{key:"tianyi",name:mu("tianyi"),validator:Bke,pic:Rl("tianyi")},{key:"yidong",name:mu("yidong"),validator:Mke,pic:Rl("yidong")},{key:"123",name:mu("123"),validator:Wke,pic:Rl("123")},{key:"115",name:mu("115"),validator:$ke,pic:Rl("115")},{key:"guangyapan",name:mu("guangyapan"),validator:qke,pic:Rl("guangyapan")}];var $sr=["https://tv.yydsys.cc","https://tv.yydsys.top","https://tv.214521.xyz","https://yydsys.de5.net"],pz=async t=>(await t.db.getObjectDefault("/duoduo",{}))?.urls||t.config.duoduo?.urls||$sr,Fsr=async(t,e)=>{await t.db.push("/duoduo/urls",e)},Usr=async t=>{await t.db.delete("/duoduo/urls")};async function mz(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await pz(e.server)})}),t.put("/urls",async(e,r)=>{await Fsr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Usr(e.server),r.send({code:0})})}var hz,hL=t=>{if(!hz){let e=Date.now();hz=new Promise(async r=>{let n=await pz(t),s=await Xn(n,{"User-Agent":Gr});console.log("\u591A\u591A\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return hz};function qsr(t){if(typeof t!="string"||t.length===0)return t;let r=t.indexOf('"<!DOCTYPE html');if(r<0)return t;let n=-1,s=!1;for(let a=r+1;a<t.length;a++){let o=t[a];if(s){s=!1;continue}if(o==="\\"){s=!0;continue}if(o==='"'){n=a;break}}if(n<0)return t;let i=t.slice(r,n+1);try{let a=JSON.parse(i);return typeof a=="string"&&a.length>0?a:t}catch{return t}}async function gz(t){let e=await he.get(t,{headers:{"User-Agent":Gr}});return qsr(e.data)}function Az(t){return String(t||"").replace(/\/$/,"")}function jsr(t,e){let r=e;return t("#page a").each((n,s)=>{let i=t(s).attr("href"),a=i&&i.match(/\/page\/(\d+)\.html/i);if(!a)return;let o=parseInt(a[1],10);Number.isNaN(o)||(r=Math.max(r,o))}),r}async function Hsr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"20",type_name:"\u7EAA\u5F55"}],filters:{}}}async function Qsr(t,e){let r=await hL(t.server),n=t.body.id,s=t.body.page,i=parseInt(s,10);(!i||i<1)&&(i=1);let o=`${Az(r)}/index.php/vod/show/id/${n}/page/${i}.html`,c=await gz(o),u=Me(c),l=u("#main .module-item").map((f,p)=>{let m=u(p).find(".module-item-pic a").attr("href"),h=u(p).find(".module-item-pic img").attr("alt"),A=u(p).find(".module-item-pic img").attr("data-src")||u(p).find(".module-item-pic img").attr("src"),g=u(p).find(".module-item-text").text().trim();return{vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g}}).get().filter(f=>f.vod_id&&f.vod_name),d=jsr(u,i);return{page:i,pagecount:d,limit:72,total:72*d,list:l}}async function Gsr(t,e){let r=await hL(t.server),n=Az(r),s=Array.isArray(t.body.id)?t.body.id:[t.body.id],i=[];for(let a of s)try{let o=await gz(`${n}${a}`),c=Me(o),u={vod_id:a,vod_name:c(".page-title").first().text().trim(),vod_pic:c(".mobile-play .lazyload").first().attr("data-src")||c(".mobile-play img").first().attr("data-src")||c(".mobile-play img").first().attr("src"),vod_remarks:c('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""};c(".video-info-itemtitle").each((f,p)=>{let m=c(p).text(),h=c(p).next().find("a").map((A,g)=>c(g).text().trim()).get().filter(Boolean).join(", ");m.includes("\u5267\u60C5")?u.vod_content=c(p).next().find("p").text().trim():m.includes("\u5BFC\u6F14")?u.vod_director=h.trim():m.includes("\u4E3B\u6F14")&&(u.vod_actor=h.trim())});let l=c(".module-row-info p").map((f,p)=>c(p).text().trim()).get().filter(Boolean),d=await Rr(l,t);d&&(u.vod_play_from=d.froms,u.vod_play_url=d.urls,u.vod_links=d.links),i.push(u)}catch(o){console.error("duoduo detail fetch failed",a,o)}return{list:i}}async function Vsr(t,e){let r=await hL(t.server),n=Az(r),s=t.body.page,i=t.body.wd,a=parseInt(s,10);(!a||a<1)&&(a=1);let o=encodeURIComponent(i||""),c=[`${n}/index.php/vod/search/page/${a}/wd/${o}.html`,`${n}/index.php/vod/search/wd/${o}.html`,`${n}/index.php/vod/search.html?wd=${o}&page=${a}`];for(let u of c)try{let l=await gz(u),d=Me(l),f=d(".module-search-item").map((p,m)=>{let h=d(m).find(".video-serial"),A=d(m).find(".module-item-pic > img");return{vod_id:h.attr("href"),vod_name:h.attr("title"),vod_pic:A.attr("data-src")||A.attr("src"),vod_remarks:h.text()}}).get().filter(p=>p.vod_id&&p.vod_name);if(f.length>0)return{page:a,pagecount:f.length<10?a:a+1,list:f}}catch{}return{page:a,pagecount:a,list:[]}}var S5e={meta:{key:"duoduo",name:"\u300C\u76D8\u300D\u591A\u591A",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Hsr),t.post("/category",Qsr),t.post("/detail",Gsr),t.post("/play",Or),t.post("/search",Vsr),t.get("/test",_5e),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:hL};var bw=Re(Jn(),1),Mit=Re(v0(),1);var Rit=Re(require("http"),1);var yw=Re(require("fs"),1),sae=Re(require("path"),1);var v5e=Re(require("os"),1),zsr=t=>{if(!t)return!1;let e=typeof t.family=="string"?t.family:String(t.family||"");return e==="IPv4"||e==="4"},Ksr=t=>{let e=String(t||"").trim();return/^\d{1,3}(\.\d{1,3}){3}$/.test(e)?e.split(".").every(r=>{let n=Number(r);return Number.isInteger(n)&&n>=0&&n<=255}):!1},Ysr=t=>/^192\.168\./.test(t)||/^10\./.test(t)||/^172\.(1[6-9]|2\d|3[0-1])\./.test(t),yz=t=>/^100\.(6[4-9]|[7-9]\d|1[01]\d|12[0-7])\./.test(t),Jsr=t=>{let e=String(t||"").trim();return/^0\./.test(e)||/^127\./.test(e)||/^169\.254\./.test(e)||/^192\.0\.0\./.test(e)||/^192\.0\.2\./.test(e)||/^198\.18\./.test(e)||/^198\.19\./.test(e)||/^198\.51\.100\./.test(e)||/^203\.0\.113\./.test(e)||/^22[4-9]\./.test(e)||/^23\d\./.test(e)||/^24\d\./.test(e)||/^25[0-5]\./.test(e)},xz=(t="")=>/(rmnet|ccmni|pdp|wwan|cell|mobile|clat|v4-rmnet)/i.test(String(t||"")),Xsr=(t="")=>/(wlan|wi-?fi|eth|en\d|lan|bridge)/i.test(String(t||"")),bz=(t="")=>/(virtual|veth|vethernet|vmware|vbox|hyper-v|docker|podman|br-|wsl|utun|tun|tap|tailscale|zerotier|wireguard|wg|clash|mihomo|loopback|pseudo)/i.test(String(t||"")),Zsr=t=>{let e=0;return/^192\.168\./.test(t.ip)?e+=300:/^172\.(1[6-9]|2\d|3[0-1])\./.test(t.ip)?e+=260:/^10\./.test(t.ip)?e+=220:yz(t.ip)||(e+=180),Xsr(t.name)&&(e+=80),xz(t.name)&&(e-=320),bz(t.name)&&(e-=260),yz(t.ip)&&(e-=220),e},D0=function(){let t=String(process.env.CATPAW_HOST_IP||process.env.HOST_IP||"").trim();if(Ksr(t))return t;let e=v5e.default.networkInterfaces()||{},r=[];Object.entries(e).forEach(([a,o])=>{Array.isArray(o)&&o.forEach(c=>{if(!zsr(c)||c.internal)return;let u=String(c.address||"").trim();!u||u.startsWith("169.254.")||Jsr(u)||r.push({ip:u,name:String(a||"")})})});let n=r.map(a=>({...a,score:Zsr(a)})).sort((a,o)=>o.score-a.score),s=n.find(a=>{let o=xz(a.name),c=bz(a.name);return!o&&!c&&!yz(a.ip)});if(s)return s.ip;let i=n.find(a=>Ysr(a.ip)&&!xz(a.name)&&!bz(a.name));return i?i.ip:"127.0.0.1"};Pt();ar();St();kL();$n();Pt();St();ar();no();function Mir(t,e,r=!1){if(e===0&&!r)return t.map(i=>({...i,t:i.t!==void 0?i.t:parseFloat(i.p.split(",")[0])}));let n=t.reduce((i,a)=>{let o=a.t!==void 0?a.t:parseFloat(a.p.split(",")[0]),c=e===0?o.toFixed(2):Math.floor(o/(e*60));return i[c]||(i[c]=[]),i[c].push({...a,t:o}),i},{});return Object.keys(n).map(i=>{let o=n[i].reduce((c,u)=>{let l=u.m.split(" X")[0].trim();if(c[l]||(c[l]={count:0,earliestT:u.t,cid:u.cid,p:u.p,like:0,sources:new Set}),c[l].count+=1,c[l].earliestT=Math.min(c[l].earliestT,u.t),c[l].like+=u.like!==void 0?u.like:0,u.p){let d=u.p.match(/\[([^\]]*)\]$/);d&&d[1]&&d[1].split(/[&&]/).forEach(f=>{f.trim()&&c[l].sources.add(f.trim())})}return c},{});return Object.keys(o).map(c=>{let u=o[c],l=Math.max(1,u.sources.size),d=Math.round(u.count/l);d<1&&(d=1);let f=Array.from(u.sources).join("\uFF06"),p=u.p.replace(/\[([^\]]*)\]$/,`[${f}]`);return{cid:u.cid,p,m:d>1?`${c}\u200Ax\u200A${d}`:c,t:u.earliestT,like:u.like}})}).flat().sort((i,a)=>i.t-a.t)}function Wir(t){if(!O.likeSwitch)return t;let e=new Set(["[hanjutv]","[sohu]","[bilibili1]","[migu]"]);return t.map(r=>{if(!r.like||r.like<5)return r;let n=r.p.match(/,(\[[^\]]+\])$/)?.[1]||"",a=n.includes("\u97E9\u5C0F\u5708")||n.includes("\u6781\u901F\u7248")||e.has(n)?100:1e3,o=r.like>=a?"\u{1F525}":"\uFE0F\u2661",c;r.like>=1e4?c=(r.like/1e4).toFixed(1)+"w":r.like>=1e3?c=(r.like/1e3).toFixed(1)+"k":c=r.like.toString();let u=`\u200A${o}${c}`,l=r.m+u,{like:d,...f}=r;return{...f,m:l}})}function $ir(t,e){if(e===0)return t;let r=e*1e3,n=t.length;if(n<=r)return t;let s=n/r,i=[];for(let a=0;a<r;a++){let o=Math.floor(a*s);i.push(t[o])}return i}function MC(t,e){let r=[],n=1,s=!1,i=[];if(typeof t=="string")i=[...t.matchAll(/<d p="([^"]+)">([^<]+)<\/d>/g)].map(f=>({p:f[1],m:f[2]}));else if(t&&Array.isArray(t.danmuku)){let f={right:1,top:4,bottom:5},p=m=>m?parseInt(m.replace("#",""),16):16777215;i=t.danmuku.map(m=>({timepoint:m[0],ct:f[m[1]]!==void 0?f[m[1]]:1,color:p(m[2]),content:m[4]}))}else Array.isArray(t)&&(i=t);if(!i.length)return[];for(let f of i){let p,m,h,A,g;if("progress"in f&&"mode"in f&&"content"in f)h=(f.progress/1e3).toFixed(2),A=f.mode||1,g=f.color||16777215,m=f.content;else if("timepoint"in f)h=parseFloat(f.timepoint).toFixed(2),A=f.ct||0,g=f.color||16777215,m=f.content;else{if(!("p"in f))continue;let y=f.p.split(",");h=parseFloat(y[0]).toFixed(2),A=y[1]||0,y.length===4?g=y[2]||16777215:y.length>=8?g=y[3]||16777215:g=y[3]||y[2]||16777215,m=f.m}let b=f._sourceLabel||e;f.realTimeSource&&!b.includes(f.realTimeSource)&&(b=`${b}\uFF06${f.realTimeSource}`),!s&&/[&&]/.test(b)&&(s=!0),p=[h,A,g,`[${b}]`].join(","),r.push({p,m,cid:n++,like:f?.like})}let a=O.blockedWords.split(/(?<=\/),(?=\/)/).map(f=>{let p=f.trim();if(p.startsWith("/")&&p.endsWith("/"))try{return new RegExp(p.slice(1,-1))}catch(m){return _("error",`[Utils] [Danmu] \u65E0\u6548\u7684\u6B63\u5219\u8868\u8FBE\u5F0F: ${p}`,m),null}return null}).filter(f=>f!==null);_("info",`[Utils] [Danmu] \u539F\u59CB\u5C4F\u853D\u8BCD\u5B57\u7B26\u4E32: ${O.blockedWords}`),_("info",`[Utils] [Danmu] \u5C4F\u853D\u8BCD\u5217\u8868: ${(f=>Array.isArray(f)?f.map(p=>p.toString()).join(`
|
|
`):String(f))(a)}`);let c=r.filter(f=>!a.some(p=>p.test(f.m)));_("info",`[Utils] [Danmu] \u53BB\u91CD\u5206\u949F\u6570: ${O.groupMinute}`);let u=Mir(c,O.groupMinute,s),l=Wir(u),d=$ir(l,O.danmuLimit);if(O.convertTopBottomToScroll||O.convertColor==="white"||O.convertColor==="color"){let f=0,p=0;d=d.map(m=>{let h=m.p.split(",");if(h.length<3)return m;let A=parseInt(h[1],10),g=parseInt(h[2],10),b=!1;O.convertTopBottomToScroll&&(A===4||A===5)&&(f++,A=1,b=!0),O.convertColor==="white"&&g!==16777215&&(p++,g=16777215,b=!0);let y=O.colorPool.split(",").map(v=>parseInt(v.trim(),10)).filter(v=>!isNaN(v)&&v>=0&&v<=16777215),x=y[Math.floor(Math.random()*y.length)];if(O.convertColor==="color"&&g===16777215&&g!==x&&(p++,g=x,b=!0),b){let v=[h[0],A,g,...h.slice(3)].join(",");return{...m,p:v}}return m}),f>0&&_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${f} \u6761\u9876\u90E8/\u5E95\u90E8\u5F39\u5E55\u4E3A\u6D6E\u52A8\u5F39\u5E55`),p>0&&_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${p} \u6761\u5F39\u5E55\u989C\u8272`)}return O.danmuSimplifiedTraditional==="traditional"&&(d=d.map(f=>({...f,m:Ro(f.m)})),_("info",`[Utils] [Danmu] [danmu convert] \u8F6C\u6362\u4E86 ${d.length} \u6761\u5F39\u5E55\u4E3A\u7E41\u4F53\u5B57`)),_("info",`[Utils] [Danmu] danmus_original: ${r.length}`),_("info",`[Utils] [Danmu] danmus_filter: ${c.length}`),_("info",`[Utils] [Danmu] danmus_group: ${u.length}`),_("info",`[Utils] [Danmu] danmus_limit: ${d.length}`),_("info","[Utils] [Danmu] Top 5 danmus:",JSON.stringify(d.slice(0,5),null,2)),d}function uK(t){return typeof t.r!="number"||t.r<0||t.r>255||typeof t.g!="number"||t.g<0||t.g>255||typeof t.b!="number"||t.b<0||t.b>255?-1:t.r*256*256+t.g*256+t.b}function gb(t){return typeof t!="string"||t.length!==6||!/^[0-9A-Fa-f]{6}$/.test(t)?16777215:parseInt(t,16)}function Fir(t){let e=`<?xml version="1.0" ?>
|
|
`;e+=`<i>
|
|
`;let r=t.comments||[];if(Array.isArray(r))for(let n of r){let s=qir(n);e+=' <d p="'+jir(s)+'">'+Hir(n.m)+`</d>
|
|
`}return e+="</i>",e}function Uir(){let e=(Date.now()%1e8).toString().padStart(8,"0"),r=Math.floor(Math.random()*1e3).toString().padStart(3,"0");return e+r}function qir(t){let e=t.p.split(","),n=(parseFloat(e[0])||0).toFixed(1),s=e[1]||"1",i="25",a=e[2]||"16777215",o="1751533608",c="0",u="0",l=Uir();return`${n},${s},${i},${a},${o},${c},${u},${l}`}function jir(t){return t?String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"):""}function Hir(t){return t?String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):""}function ag(t,e){let r=e||O.danmuOutputFormat;if(r=r.toLowerCase(),_("info",`[Utils] [Danmu] [Format] Using format: ${r}`),r==="xml")try{let n=Fir(t);return I8e(n)}catch(n){return _("error",`[Utils] [Danmu] Failed to convert to XML: ${n.message}`),Be(t)}return Be(t)}ar();var ff=class{constructor({apiKey:e,baseURL:r="https://api.openai.com/v1",model:n="gpt-4o",systemPrompt:s=""}){this.apiKey=e,this.baseURL=r.replace(/\/$/,""),this.model=n,this.systemPrompt=s}async chat(e,r={}){let n={model:r.model||this.model,messages:e,temperature:r.temperature??0,max_tokens:r.maxTokens??8192,stream:!1},s=await Vr(`${this.baseURL}/chat/completions`,JSON.stringify(n),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},timeout:6e4}),i=s.data;if(i?.error){let a=i.error.message;throw new Error(`AI API error ${s.status}: ${a}`)}return i.choices[0].message.content}async ask(e,r={}){let n=[];return this.systemPrompt&&n.push({role:"system",content:this.systemPrompt}),n.push({role:"user",content:e}),this.chat(n,r)}session(e={}){let r=[],n=this.chat.bind(this),s=this.systemPrompt;return s&&r.push({role:"system",content:s}),{async send(i){r.push({role:"user",content:i});let a=await n(r,e);return r.push({role:"assistant",content:a}),a},clear(){r.length=0,s&&r.push({role:"system",content:s})},getHistory(){return[...r]}}}async verify(){try{return{ok:!0,reply:await this.ask("hi",{maxTokens:1})}}catch(e){return{ok:!1,error:e.message}}}};var ga=Re(require("fs"),1),YL=Re(require("path"),1);_C();Pt();St();hn();no();var Hn=null,zL=0,No=!1,VL=0,Ab="0.00",WC=!1,U0=new Map,z8e="custom",K8e=null,Y8e=null,KL=YL.default.join(process.cwd(),".cache"),eWe="bangumi-data-cache.json",Qir=2e4,og=new Map,J8e={custom:["https://cdn.jsdelivr.net/npm/@wan0ge/[email protected]/dist/data.json","https://unpkg.com/@wan0ge/[email protected]/dist/data.json"],official:["https://cdn.jsdelivr.net/npm/[email protected]/dist/data.json","https://unpkg.com/[email protected]/dist/data.json"]},Gir="@wan0ge/bangumi-data",Vir="bangumi-data",zir=/(?:普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½]|æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²])(?:版)?/,tWe=/(?:\s+|^)(?:第?\s*(?:\d+|[一二三四五å…七八ä¹å]+)\s*[壿œŸéƒ¨]|season\s*\d+|s\d+|part\s*\d+|act\s*\d+|phase\s*\d+|the\s+final\s+season|(?:movie|film|ova|oad|sp|剧场版|åŠ‡å ´ç‰ˆ|ç»[篇集]|å¤–ä¼ )(?![a-z]))|[::~~]|\s+.*?篇|(?<=\s|^)\d+$/gi,Kir=/\s+/g,Yir=/[,,]/,Jir=/[::]/;function dK(t){let e=new Map,r=t.length;for(let n=0;n<r;n++){let s=t[n]._flatText;if(!s)continue;let i=new Set(s);for(let a of i){if(a.trim()==="")continue;let o=e.get(a);o||(o=[],e.set(a,o)),o.push(n)}}U0=e}function X8e(t){if(!t||typeof t!="string")return null;let e=t.match(/^(\d+)\.(\d+)\.(\d+)$/);return e?{major:parseInt(e[1],10),minor:parseInt(e[2],10),patch:parseInt(e[3],10)}:null}function Xir(t,e){let r=X8e(t),n=X8e(e);return!r||!n?0:r.major!==n.major?r.major-n.major:r.minor!==n.minor?r.minor-n.minor:r.patch!==n.patch?r.patch-n.patch:0}async function Z8e(t){try{let e=`https://registry.npmjs.org/${encodeURIComponent(t)}/latest`;_("info",`[\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${e}`);let r=await ub(e,{headers:{Accept:"application/json"},signal:AbortSignal.timeout(8e3)});return r.ok&&(await r.json())?.version||null}catch(e){return _("warn",`[Utils] [Bangumi-Data] \u67E5\u8BE2 ${t} \u7248\u672C\u53F7\u5931\u8D25: ${e.message}`),null}}async function Zir(){try{let[t,e]=await Promise.all([K8e||Z8e(Gir),Y8e||Z8e(Vir)]);if(t&&(K8e=t),e&&(Y8e=e),!t||!e)return _("info",`[Utils] [Bangumi-Data] \u7248\u672C\u68C0\u6D4B\u4E0D\u5B8C\u6574 (custom=${t}, official=${e})\uFF0C\u9ED8\u8BA4\u4F7F\u7528\u81EA\u5B9A\u4E49\u6E90`),"custom";let n=Xir(t,e)>=0?"custom":"official";return _("info",`[Utils] [Bangumi-Data] \u7248\u672C\u5BF9\u6BD4: @wan0ge/bangumi-data@${t} vs bangumi-data@${e} => \u4F7F\u7528${n==="custom"?"\u81EA\u5B9A\u4E49":"\u5B98\u65B9"}\u6E90`),n}catch(t){return _("warn",`[Utils] [Bangumi-Data] \u6570\u636E\u6E90\u9009\u62E9\u5F02\u5E38\uFF0C\u56DE\u9000\u5230\u81EA\u5B9A\u4E49\u6E90: ${t.message}`),"custom"}}async function JL(t,e=!1,r=null){if(!O.useBangumiData)return;let n=null,s=O.bangumiDataCacheDays!==void 0?O.bangumiDataCacheDays:7,i=s*24*60*60*1e3;if(t==="node"?ga.default.existsSync(KL)?n=YL.default.join(KL,eWe):WC||(_("warn","[Utils] [Bangumi-Data] \u672A\u68C0\u6D4B\u5230\u6839\u76EE\u5F55\u7684 .cache \u6587\u4EF6\u5939\uFF01"),_("warn","[Utils] [Bangumi-Data] \u6309\u7167\u9879\u76EE\u89C4\u8303\uFF0C\u8BF7\u624B\u52A8\u6302\u8F7D\u6216\u521B\u5EFA .cache \u76EE\u5F55\u4EE5\u542F\u7528\u6301\u4E45\u5316\u3002"),_("warn","[Utils] [Bangumi-Data] \u672C\u6B21\u8FD0\u884C\u5DF2\u9000\u5316\u4E3A\u7EAF\u5185\u5B58\u6A21\u5F0F (\u91CD\u542F\u540E\u9700\u91CD\u65B0\u4E0B\u8F7D)\u3002"),WC=!0):WC||(_("info",`[Utils] [Bangumi-Data] \u68C0\u6D4B\u5230 ${t} \u4E91\u73AF\u5883\uFF0C\u5F53\u524D\u8FD0\u884C\u4E8E\u7EAF\u5185\u5B58\u52A0\u901F\u6A21\u5F0F\u3002`),WC=!0),No&&Date.now()-VL>Qir&&(_("warn","[Utils] [Bangumi-Data] \u68C0\u6D4B\u5230\u4E0B\u8F7D\u72B6\u6001\u9501\u6B7B (\u7531\u4E8E Serverless \u8FDB\u7A0B\u4F11\u7720/\u5F3A\u6740\u5BFC\u81F4)\uFF0C\u5F3A\u5236\u91CA\u653E\u9501..."),No=!1),Hn){if(s>0&&Date.now()-zL<i)return;e&&!No&&(_("info",`[Utils] [Bangumi-Data] \u5185\u5B58\u6570\u636E${s===0?"\u5F3A\u5236\u66F4\u65B0":"\u5DF2\u8FC7\u671F"}\uFF0C\u4FDD\u7559\u8001\u6570\u636E\u670D\u52A1\u672C\u6B21\u8BF7\u6C42\uFF0C\u542F\u52A8\u540E\u53F0\u9759\u9ED8\u66F4\u65B0...`),No=!0,VL=Date.now(),lK(n).finally(()=>{No=!1}));return}if(n&&ga.default.existsSync(n))try{let a=ga.default.statSync(n),o=process.memoryUsage().heapUsed,c=Date.now();Hn=JSON.parse(ga.default.readFileSync(n,"utf-8")),Hn?.items?.length>0&&Hn.items[0]._flatText===void 0?(Hn=rWe(Hn),ga.default.writeFileSync(n,JSON.stringify(Hn),"utf-8"),dK(Hn.items)):Hn?.items?.length>0&&dK(Hn.items);let u=process.memoryUsage().heapUsed,l=Date.now()-c;Ab=Math.max(0,(u-o)/1024/1024).toFixed(2);let d=(process.memoryUsage().rss/1024/1024).toFixed(2);zL=Date.now(),_("info",`[Utils] [Bangumi-Data] \u6210\u529F\u4ECE\u672C\u5730\u78C1\u76D8\u52A0\u8F7D\u57FA\u7840\u6570\u636E\uFF0C\u6761\u76EE\u6570: ${Hn.items.length}\uFF0C\u89E3\u6790\u8017\u65F6: ${l} ms\uFF0C\u7EA6\u5360\u5185\u5B58: ${Ab} MB`),(s===0||Date.now()-a.mtimeMs>=i)&&e&&!No&&(_("info",`[Utils] [Bangumi-Data] \u78C1\u76D8\u6570\u636E${s===0?"\u5F3A\u5236\u66F4\u65B0":"\u5DF2\u8FC7\u671F"}\uFF0C\u4FDD\u7559\u8001\u6570\u636E\u670D\u52A1\u672C\u6B21\u8BF7\u6C42\uFF0C\u542F\u52A8\u540E\u53F0\u9759\u9ED8\u66F4\u65B0...`),No=!0,VL=Date.now(),lK(n).finally(()=>{No=!1}));return}catch(a){_("error","[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u89E3\u6790\u5931\u8D25\uFF0C\u51C6\u5907\u91CD\u65B0\u4E0B\u8F7D",a.message),Hn=null}if(No){if(e){_("info","[Utils] [Bangumi-Data] \u6B63\u5728\u7B49\u5F85\u57FA\u7840\u6570\u636E\u4E0B\u8F7D\u5B8C\u6210...");let a=0;for(;No;){if(a>150){_("warn","[Utils] [Bangumi-Data] \u7B49\u5F85\u6392\u961F\u8D85\u65F6\uFF0C\u653E\u5F03\u7B49\u5F85"),No=!1;break}await new Promise(o=>setTimeout(o,100)),a++}}}else{_("info","[Utils] [Bangumi-Data] \u672A\u547D\u4E2D\u4EFB\u4F55\u6709\u6548\u7F13\u5B58\uFF0C\u6B63\u5728\u83B7\u53D6\u57FA\u7840\u6570\u636E..."),No=!0,VL=Date.now();let a=lK(n).finally(()=>{No=!1});e?await a:(_("info","[Utils] [Bangumi-Data] \u5F53\u524D\u975E\u6838\u5FC3\u8BF7\u6C42\uFF0C\u6570\u636E\u83B7\u53D6\u8F6C\u5165\u540E\u53F0\u5F02\u6B65\u6267\u884C"),r&&typeof r.waitUntil=="function"&&(_("info","[Utils] [Bangumi-Data] \u8C03\u7528 ctx.waitUntil \u5EF6\u957F Serverless \u751F\u547D\u5468\u671F"),r.waitUntil(a)))}}var ear=new Set(["anidb","bangumi","gamer","gamer_hk","bilibili","bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw","tmdb"]);function rWe(t){if(!t||!t.items)return{items:[]};let e=[];for(let r of t.items){let n=[];if(r.sites){for(let o of r.sites)if(ear.has(o.site)){let c={site:o.site,id:o.id};o.season_id&&(c.season_id=String(o.season_id)),o.video_sn&&(c.video_sn=String(o.video_sn)),o.comment&&(c.comment=o.comment),o.related&&(c.related=o.related),n.push(c)}}if(n.length===0)continue;let s={title:r.title,type:r.type,sites:n};r.begin&&(s.begin=r.begin),r.titleTranslate&&(s.titleTranslate=r.titleTranslate);let i=r.title;if(r.titleTranslate)for(let o in r.titleTranslate){let c=r.titleTranslate[o];for(let u=0;u<c.length;u++)i+=c[u]}let a=Gt(i);s._flatText=Fr(a).toLowerCase().replace(tWe,""),e.push(s)}return{items:e}}async function lK(t){_("info","[Utils] [Bangumi-Data] \u5F00\u59CB\u4F18\u9009\u8282\u70B9\u4E0B\u8F7D\u6700\u65B0\u6570\u636E\u5E76\u6267\u884C\u7CBE\u7B80...");try{let e=process.memoryUsage().heapUsed,r=Date.now(),n=0;z8e=await Zir();let s=J8e[z8e]||J8e.custom,i={headers:{"Accept-Encoding":"br, gzip, deflate"}},a=s.map(()=>new AbortController);s.forEach(p=>{_("info",`[\u8BF7\u6C42\u6A21\u62DF] HTTP GET: ${p}`)});let o=s.map(async(p,m)=>{let h=a[m],A=await ub(p,{...i,signal:h.signal});if(!A.ok)throw new Error(`HTTP error ${A.status} from ${p}`);let g=await A.json(),b=g.items?g.items.length:0;if(h.signal.aborted)throw new Error("Aborted before parsing");let y=Date.now(),x=rWe(g),v=Date.now()-y,C=null;return t&&!h.signal.aborted&&(C=`${t}.tmp${m}`,ga.default.writeFileSync(C,JSON.stringify(x),"utf-8")),{index:m,url:p,tempFilePath:C,resultData:x,pruneCost:v,originalCount:b}}),c=await Promise.any(o);a.forEach((p,m)=>{m!==c.index&&p.abort()}),t&&(s.forEach((p,m)=>{if(m!==c.index){let h=`${t}.tmp${m}`;if(ga.default.existsSync(h))try{ga.default.unlinkSync(h)}catch{}}}),ga.default.renameSync(c.tempFilePath,t));let u=((Date.now()-r)/1e3).toFixed(2);_("info",`[Utils] [Bangumi-Data] \u7CBE\u7B80\u6570\u636E\u5DF2\u6210\u529F\u5199\u5165\u78C1\u76D8 (\u8282\u70B9: ${new URL(c.url).hostname} ,\u9636\u6BB5\u8017\u65F6: ${u} \u79D2)`),Hn=c.resultData,n=c.pruneCost,dK(Hn.items),og.clear();let l=process.memoryUsage().heapUsed,d=((Date.now()-r)/1e3).toFixed(2);Ab=Math.max(0,(l-e)/1024/1024).toFixed(2);let f=(process.memoryUsage().rss/1024/1024).toFixed(2);zL=Date.now(),_("info",`[Utils] [Bangumi-Data] \u52A0\u8F7D\u5230\u5185\u5B58\u6210\u529F\uFF0C\u4FDD\u7559/\u539F\u59CB\u6761\u76EE\u6570: ${Hn.items.length} / ${c.originalCount}\uFF0C\u5904\u7406\u8017\u65F6: ${n} ms\uFF0C\u5168\u94FE\u8DEF\u603B\u8017\u65F6: ${d} \u79D2\uFF0C\u51C0\u589E\u5185\u5B58: ${Ab} MB (\u5F53\u524D\u9879\u76EE\u603B\u5360\u7528: ${f} MB)`)}catch(e){let r=e instanceof AggregateError?e.errors.map(n=>n.message).join(" | "):e.message;_("error","[Utils] [Bangumi-Data] \u4E0B\u8F7D\u5931\u8D25 (\u6240\u6709 CDN \u5747\u672A\u54CD\u5E94\u6216\u62A5\u9519):",r)}}async function Au(t,e){if(!Hn||!Hn.items)return[];let r=og.get(t);if(!r){if(r=(async()=>{let c=[],u=[t];try{u=[...new Set([t,Gt(t),Ro(t)])]}catch{}let d=[Gt(t)].map(h=>{let A=h.replace(tWe,"");return A=Fr(A).toLowerCase(),A.length>=2?A:Fr(h).toLowerCase()}).filter(h=>h.length>0),f=null;if(typeof U0<"u"&&U0.size>0&&d.length>0){let h=new Set;for(let A of d){let g=Array.from(new Set(A.replace(Kir,"")));if(g.length===0)continue;g.sort((x,v)=>{let C=U0.get(x)?.length||0,R=U0.get(v)?.length||0;return C-R});let b=U0.get(g[0]);if(!b||b.length===0)continue;let y=new Set(b);for(let x=1;x<g.length;x++){let v=U0.get(g[x]);if(!v){y.clear();break}let C=new Set(v);for(let R of y)C.has(R)||y.delete(R);if(y.size===0)break}for(let x of y)h.add(x)}f=Array.from(h)}else f=Hn.items.map((h,A)=>A);let p=Hn.items,m=u.length;for(let h=0;h<f.length;h++){let A=p[f[h]],g=!1;for(let b=0;b<m;b++){let y=u[b];if(yt(A.title,y)){g=!0;break}if(A.titleTranslate)for(let x in A.titleTranslate){let v=A.titleTranslate[x];for(let C=0;C<v.length;C++)if(v[C]&&yt(v[C],y)){g=!0;break}if(g)break}if(g)break}if(g){let b=[A.title];if(A.titleTranslate)for(let y in A.titleTranslate){let x=A.titleTranslate[y];for(let v=0;v<x.length;v++)b.push(x[v])}c.push({item:A,titles:b})}}return c})(),og.size>100){let c=og.keys().next().value;og.delete(c)}og.set(t,r)}let n=await r,s=n,i=$t(t);if(i!==null){let c=n.filter(({item:u})=>{let l=Tt(u.title).season;if(l===null&&u.titleTranslate)for(let d in u.titleTranslate){let f=u.titleTranslate[d];for(let p=0;p<f.length;p++){let m=Tt(f[p]).season;if(m!==null){l=m;break}}if(l!==null)break}return i>1?(l||1)===i:i===1?l===null||l===1:!0});c.length>0&&(s=c)}let a=zir,o=[];for(let{item:c,titles:u}of s){if(!c.sites)continue;let l=c.sites.filter(d=>e.includes(d.site));for(let d of l){let f="TV\u52A8\u753B",p="tvseries";c.type==="movie"?(f="\u5267\u573A\u7248",p="movie"):c.type==="tv"?(f="TV\u52A8\u753B",p="tvseries"):c.type==="ova"?(f="OVA",p="ova"):c.type==="web"&&(f="WEB\u52A8\u753B",p="web");let m="";["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(d.site)&&(m="\uFF08\u6E2F\u6FB3\u53F0\uFF09");let h=[],A=[];if(d.comment){let b=d.comment.split(Yir),y=new Map;if(d.related&&Array.isArray(d.related))for(let x of d.related)x.id&&y.set(String(x.id),x.season_id||null);for(let x of b){let v=x.split(Jir);if(v.length>=2){let C=v[0].trim(),R=v[1].trim();R&&a.test(C)&&h.push({title:c.title,titles:[...u],begin:c.begin,siteId:R,matchedSiteKey:d.site,type:c.type,typeStr:f,typeId:p,titleSuffix:` ${C}${m}`,season_id:y.get(R)||null})}else if(v.length===1&&v[0].trim()){let C=v[0].trim();a.test(C)&&A.push(C)}}}let g="";A.length>0&&(g+=` ${A.join(" ")}`),g+=m,o.push({title:c.title,titles:[...u],begin:c.begin,siteId:d.id,matchedSiteKey:d.site,type:c.type,typeStr:f,typeId:p,titleSuffix:g,season_id:d.season_id||null,video_sn:d.video_sn||null}),o.push(...h)}}return o}function nWe(t=!1){if(Hn!==null){let e=Hn.items?Hn.items.length:0;Hn=null,zL=0,og.clear(),U0.clear();let r=(process.memoryUsage().rss/1024/1024).toFixed(2);_("info",`[Utils] [Bangumi-Data] \u5185\u5B58\u7F13\u5B58\u5DF2\u4E3B\u52A8\u91CA\u653E (\u539F\u6761\u76EE\u6570: ${e}\uFF0C\u91CA\u653E: ${Ab} MB\uFF0C\u5F53\u524D\u9879\u76EE\u603B\u5360\u7528: ${r} MB)`),Ab="0.00",WC=!1}if(t&&ga.default.existsSync(KL))try{let e=YL.default.join(KL,eWe);ga.default.existsSync(e)&&ga.default.unlinkSync(e);for(let r=0;r<5;r++){let n=`${e}.tmp${r}`;ga.default.existsSync(n)&&ga.default.unlinkSync(n)}_("info","[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u5DF2\u540C\u6B65\u6E05\u7406")}catch(e){_("error",`[Utils] [Bangumi-Data] \u78C1\u76D8\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ${e.message}`)}}Pt();ar();St();no();kL();UT();$n();Sz();hn();Pt();St();ar();no();var XB=new Map;async function qT(t,e={}){let n=`https://api.tmdb.org/3/${t}`,s=O.makeProxyUrl(n);try{let i=await ge(s,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},signal:e.signal});return i.status!=200?null:i}catch(i){if(i.name==="AbortError")throw i;return _("error","[Utils] [TMDB] Api error:",{message:i.message,name:i.name,stack:i.stack}),null}}async function ZB(t,e="multi",r={}){let{page:n=1,maxPages:s=3,signal:i=null}=r;if(r.page!==void 0){let o=`search/${e}?api_key=${O.tmdbApiKey}&query=${encodeURIComponent(t)}&language=zh-CN&page=${n}`;return await qT(o,{signal:i})}let a=[];for(let o=1;o<=s;o++){if(i&&i.aborted)throw new DOMException("Aborted","AbortError");let c=`search/${e}?api_key=${O.tmdbApiKey}&query=${encodeURIComponent(t)}&language=zh-CN&page=${o}`,u=await qT(c,{signal:i});if(!u||!u.data)break;let l=typeof u.data=="string"?JSON.parse(u.data):u.data;if(!l.results||l.results.length===0||(a.push(...l.results),l.results.length<20))break}return _("info",`[Utils] [TMDB] \u5171\u83B7\u53D6\u5230 ${a.length} \u6761\u641C\u7D22\u7ED3\u679C\uFF08\u6700\u591A${s}\u9875\uFF09`),{data:{results:a},status:200}}async function w0r(t,e,r={}){let n=`${t}/${e}?api_key=${O.tmdbApiKey}&language=ja-JP`;return await qT(n,r)}async function ynt(t,e,r={}){let n=`${t}/${e}/external_ids?api_key=${O.tmdbApiKey}`;return await qT(n,r)}async function R0r(t,e,r={}){let n=`${t}/${e}/alternative_titles?api_key=${O.tmdbApiKey}`;return await qT(n,r)}function N0r(t,e,r=""){let n=t?.data?.results||t?.data?.titles||[];if(!n.length)return null;let s=(r||"").toLowerCase().trim(),i=o=>o.title||o.name||"",a=[o=>s&&i(o).toLowerCase().trim()===s,...["CN","TW","HK","SG"].map(o=>c=>(c.iso_3166_1||c.iso_639_1)===o&&!uf(i(c))),o=>!uf(i(o))];for(let o of a){let c=n.find(o);if(c){let u=i(c);return _("info",`[Utils] [TMDB] \u6309\u4F18\u5148\u7EA7\u7B56\u7565\u6210\u529F\u63D0\u53D6\u6700\u4F73\u4E2D\u6587\u522B\u540D: ${u}`),u}}return null}async function O0r(t,e,r=""){let n=t.name||t.title||"";if(r&&n.toLowerCase().trim()===r.toLowerCase().trim()||!(uf(n)||r&&n.toLowerCase().trim()!==r.toLowerCase().trim()))return n;_("info",`[Utils] [TMDB] \u5C1D\u8BD5\u83B7\u53D6\u4E2D\u6587\u522B\u540D\u4EE5\u5BFB\u627E\u66F4\u4F18\u5339\u914D (\u5F53\u524D\u6807\u9898: "${n}")`);let i=t.media_type||(t.name?"tv":"movie");try{if(e&&e.aborted)throw new DOMException("Aborted","AbortError");let a=await R0r(i,t.id,{signal:e});if(e&&e.aborted)throw new DOMException("Aborted","AbortError");let o=N0r(a,i,r);return o?(_("info",`[Utils] [TMDB] \u5C06\u4F7F\u7528\u4E2D\u6587\u522B\u540D\u8FDB\u884C\u76F8\u4F3C\u5339\u914D: ${o}`),o):(_("info",`[Utils] [TMDB] \u672A\u627E\u5230\u4E2D\u6587\u522B\u540D\uFF0C\u4F7F\u7528\u539F\u6807\u9898: ${n}`),n)}catch(a){if(a.name==="AbortError")throw a;return _("error",`[Utils] [TMDB] \u83B7\u53D6\u522B\u540D\u5931\u8D25: ${a.message}`),n}}async function Zb(t,e=null,r="Unknown"){let n=_nt(t);if(n!==t&&_("info",`[Utils] [TMDB] \u4F18\u5316\u641C\u7D22\u5173\u952E\u8BCD: "${t}" -> "${n}"`),O.useBangumiData){let o=await Au(n,["tmdb","bangumi","anidb"]);if(o&&o.length>0){let c=o[0],u=c.titles.find(d=>d&&d.includes(n))||c.titles[1]||c.title,l=c.title;return _("info",`[Utils] [TMDB] Bangumi-Data \u672C\u5730\u547D\u4E2D\uFF0C\u63D0\u53D6\u539F\u540D\u6210\u529F: \u539F\u540D=${l}, \u522B\u540D=${u}\uFF08\u68C0\u7D22\u8BCD\uFF1A${n}\uFF09`),{title:l,cnAlias:u}}}if(!O.tmdbApiKey)return _("info","[Utils] [TMDB] \u672A\u914D\u7F6EAPI\u5BC6\u94A5\uFF0C\u8DF3\u8FC7TMDB\u7F51\u7EDC\u641C\u7D22"),null;let s=XB.get(n);if(s)_("info",`[Utils] [TMDB] \u52A0\u5165\u6B63\u5728\u8FDB\u884C\u7684\u641C\u7D22: ${n} (${r})`);else{let o=new AbortController;s={controller:o,refCount:0,promise:(async()=>{try{let u=o.signal,l=P=>{let L=P.genre_ids||[],M=P.genres||[],k=L.length>0?L:M.map(W=>W.id),B=P.original_language||"";return k.includes(16)?{isValid:!0,reason:"\u660E\u786E\u52A8\u753B\u7C7B\u578B(genre_id: 16)"}:B==="ja"?{isValid:!0,reason:"\u539F\u59CB\u8BED\u8A00\u4E3A\u65E5\u8BED(ja),\u53EF\u80FD\u662F\u65E5\u5267/\u65E5\u5F71/\u65E5\u7EFC\u827A"}:{isValid:!1,reason:`\u975E\u52A8\u753B\u4E14\u975E\u65E5\u8BED\u5185\u5BB9(language: ${B}, genres: ${k.join(",")})`}},d=(P,L)=>{let M=J=>J.toLowerCase().replace(/\s+/g,"").replace(/[::ã€ï¼Œã€‚ï¼ï¼Ÿï¼›""''()ã€ã€‘《》]/g,"").trim(),k=M(P),B=M(L);if(k===B)return 1;let Z=k.length<B.length?k:B,W=k.length>=B.length?k:B;if(W.includes(Z)&&Z.length>0)return .6+Z.length/W.length*.3;let F=P.length>L.length?P:L,V=P.length>L.length?L:P;if(F.length===0)return 1;let j=(J,se)=>{J=J.toLowerCase(),se=se.toLowerCase();let oe=[];for(let ue=0;ue<=J.length;ue++){let Ce=ue;for(let we=0;we<=se.length;we++)if(ue===0)oe[we]=we;else if(we>0){let qe=oe[we-1];J.charAt(ue-1)!==se.charAt(we-1)&&(qe=Math.min(Math.min(qe,Ce),oe[we])+1),oe[we-1]=Ce,Ce=qe}ue>0&&(oe[se.length]=Ce)}return oe[se.length]};return(F.length-j(F,V))/F.length};if(_("info",`[Utils] [TMDB] \u6B63\u5728\u641C\u7D22 (Shared Task): ${n}`),u.aborted)throw new DOMException("Aborted","AbortError");let f=await ZB(n,"multi",{signal:u});if(!f||!f.data)return _("info","[Utils] [TMDB] TMDB\u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A"),null;let p=typeof f.data=="string"?JSON.parse(f.data):f.data;if(!p.results||p.results.length===0)return _("info","[Utils] [TMDB] TMDB\u672A\u627E\u5230\u4EFB\u4F55\u7ED3\u679C"),null;let m=[],h=[];for(let P of p.results){let L=l(P);if(L.isValid)m.push(P);else{let M=P.name||P.title||"\u672A\u77E5";h.push(`${M}(${L.reason})`)}}if(m.length===0)return _("info","[Utils] [TMDB] \u6570\u636E\u6E05\u6D17\u62E6\u622A: \u641C\u7D22\u7ED3\u679C\u4E2D\u6CA1\u6709\u4EFB\u4F55\u76EE\u6807\u7C7B\u578B(\u52A8\u753B/\u65E5\u6587)\u7684\u5185\u5BB9"),null;_("info",`[Utils] [TMDB] \u6570\u636E\u6E05\u6D17\u5B8C\u6210: \u4FDD\u7559 ${m.length} \u4E2A\u6709\u6548\u6761\u76EE\u53C2\u4E0E\u5339\u914D\uFF0C\u8FC7\u6EE4 ${h.length} \u4E2A\u65E0\u5173\u6761\u76EE${h.length>0?"\uFF0C\u8FC7\u6EE4\u8BE6\u60C5: "+h.join(", "):""}`);let A=null,g=-1,b=null,y=0,x=5,v=!1;for(let P of m){let L=P.name||P.title||"";if(!L)continue;let M=d(n,L),k=P.original_name||P.original_title||"",B=k?d(n,k):0,Z=Math.max(M,B);if(Z===1&&!v){v=!0,_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${L}" - \u76F8\u4F3C\u5EA6: 100.00% (\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u540E\u7EED\u6240\u6709\u522B\u540D\u641C\u7D22)`),Z>g&&(g=Z,A=P,b=L);continue}let W,F,V=L.toLowerCase().trim()===n.toLowerCase().trim();if(v||V)W=L,F=Z,v&&V?_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${L}" - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}% (\u5DF2\u627E\u5230\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u522B\u540D\u641C\u7D22)`):_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 "${L}" - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}%`);else{if(y<x)try{W=await O0r(P,u,n),W!==L&&y++}catch(se){if(se.name==="AbortError")throw se;_("error",`[Utils] [TMDB] \u5904\u7406\u7ED3\u679C\u5931\u8D25: ${se.message}`),W=L}else W=L,_("info",`[Utils] [TMDB] \u5DF2\u8FBE\u5230\u522B\u540D\u83B7\u53D6\u4E0A\u9650(${x})\uFF0C\u4F7F\u7528\u539F\u6807\u9898: ${L}`);let j=d(n,W);F=Math.max(j,B);let J=W!==L?`"${L}" (\u522B\u540D: ${W})`:`"${L}"`;_("info",`[Utils] [TMDB] \u5339\u914D\u68C0\u67E5 ${J} - \u76F8\u4F3C\u5EA6: ${(F*100).toFixed(2)}%`),F===1&&!v&&(v=!0,_("info","[Utils] [TMDB] \u901A\u8FC7\u522B\u540D\u627E\u5230\u5B8C\u5168\u5339\u914D\uFF0C\u8DF3\u8FC7\u540E\u7EED\u6240\u6709\u522B\u540D\u641C\u7D22"))}F>g&&(g=F,A=P,b=W)}if(!A||g<.4)return _("info",`[Utils] [TMDB] \u6700\u4F73\u5339\u914D\u76F8\u4F3C\u5EA6\u8FC7\u4F4E\u6216\u672A\u627E\u5230\u5339\u914D (${A?(g*100).toFixed(2)+"%":"N/A"}),\u8DF3\u8FC7`),null;_("info",`[Utils] [TMDB] TMDB\u6700\u4F73\u5339\u914D: ${b}, \u76F8\u4F3C\u5EA6: ${(g*100).toFixed(2)}%`);let R=A.media_type||(A.name?"tv":"movie"),w=await w0r(R,A.id,{signal:u}),N;if(!w||!w.data)N=A.name||A.title,_("info",`[Utils] [TMDB] \u4F7F\u7528\u4E2D\u6587\u641C\u7D22\u7ED3\u679C\u6807\u9898: ${N}`);else{let P=typeof w.data=="string"?JSON.parse(w.data):w.data;N=P.original_name||P.original_title||P.name||P.title,_("info",`[Utils] [TMDB] \u627E\u5230\u65E5\u8BED\u539F\u540D: ${N}`)}return{title:N,cnAlias:b}}catch(u){return u.name==="AbortError"?(_("info",`[Utils] [TMDB] \u540E\u53F0\u641C\u7D22\u4EFB\u52A1\u5DF2\u5B8C\u5168\u7EC8\u6B62 (${n})`),null):(_("error","[Utils] [TMDB] Background Search error:",{message:u.message,name:u.name,stack:u.stack}),null)}})().finally(()=>{XB.delete(n)})},XB.set(n,s),_("info",`[Utils] [TMDB] \u542F\u52A8\u65B0\u641C\u7D22\u4EFB\u52A1: ${n}`)}s.refCount++;let i=()=>{XB.get(n)===s&&(s.refCount--,s.refCount<=0&&(_("info",`[Utils] [TMDB] \u6240\u6709\u8C03\u7528\u8005\u5DF2\u53D6\u6D88\uFF0C\u7EC8\u6B62\u540E\u53F0\u8BF7\u6C42: ${n}`),s.controller.abort()))},a;if(e){if(e.aborted)return i(),_("info",`[Utils] [TMDB] \u641C\u7D22\u5DF2\u88AB\u4E2D\u65AD (Source: ${r})`),null;e.addEventListener("abort",i)}try{let o=new Promise((c,u)=>{e&&(a=()=>u(new DOMException("Aborted","AbortError")),e.addEventListener("abort",a))});return await Promise.race([s.promise,o])}catch(o){return o.name==="AbortError"?(_("info",`[Utils] [TMDB] \u641C\u7D22\u5DF2\u88AB\u4E2D\u65AD (Source: ${r})`),null):(_("error",`[Utils] [TMDB] \u641C\u7D22\u5F02\u5E38: ${o.message}`),null)}finally{e&&(e.removeEventListener("abort",i),a&&e.removeEventListener("abort",a))}}async function xnt(t,e=null,r=null){if(!uf(t))return t;if(O.useBangumiData){let i=_nt(t),a=Au(i,["tmdb","bangumi","anidb"]);if(a&&a.length>0){let o=a[0],c=o.titles.find(u=>u&&!uf(u))||o.titles[1];if(c&&!uf(c))return _("info",`[Utils] [TMDB] \u547D\u4E2D\u672C\u5730 Bangumi Data: ${t} -> ${c}\uFF08\u68C0\u7D22\u8BCD\uFF1A${i}\uFF09`),c}}let n=e!=null,s=n?"tv":"movie";try{let i=await ZB(t,s);if(!i.data.results||i.data.results.length===0)return _("info","[Utils] [TMDB] TMDB\u672A\u627E\u5230\u4EFB\u4F55\u7ED3\u679C"),t;let o=i.data.results.find(u=>{let l=n?u.name:u.title;return l&&!uf(l)})||i.data.results[0],c=n?o.name:o.title;return c?(_("info",`\u539F\u6807\u9898: ${t} -> \u4E2D\u6587\u6807\u9898: ${c}`),c):t}catch(i){return _("error","\u67E5\u8BE2 TMDB \u65F6\u51FA\u9519:",i),t}}var bnt=/(?:\s+|^)(?:第?\s*(?:\d+|[一二三四五å…七八ä¹å]+)\s*[壿œŸéƒ¨]|season\s*\d+|s\d+|part\s*\d+|act\s*\d+|phase\s*\d+|the\s+final\s+season|(?:movie|film|ova|oad|sp|剧场版|åŠ‡å ´ç‰ˆ|ç»[篇集]|å¤–ä¼ )(?![a-z]))|[::~~]|\s+.*?篇|(?<=\s|^)\d+$/i,Ant=/[ ::~~]/;function Ent(t){let e=t.match(bnt);return e?e.index:t.length}function _nt(t){let e=Ent(t);return e<t.length?t.substring(0,e).trim():t}function eE(t,e){if(!t||t.length===0||!e)return;let r=0;for(let i of t)i._displayTitle=i._displayTitle||i.title||"",i.isLocalPriority||i._displayTitle.includes(e)||r++;if(r===0)return;_("info",`[Utils] [TMDB] \u542F\u52A8\u667A\u80FD\u66FF\u6362\uFF0C\u76EE\u6807\u522B\u540D: "${e}"\uFF0C\u5F85\u5904\u7406\u6761\u76EE: ${r}`);let n=t.map(i=>{let a=i.org_title||i.title||"";return a.substring(0,Ent(a))}),s="";if(n.length>0){let i=n.concat().sort(),a=i[0],o=i[i.length-1],c=0;for(;c<a.length&&a.charAt(c)===o.charAt(c);)c++;s=a.substring(0,c)}s&&s.length>1&&_("info",`[Utils] [TMDB] \u8BA1\u7B97\u51FA\u6700\u957F\u516C\u5171\u524D\u7F00 (LCP): "${s}"`);for(let i of t){let a=i.title||"";if(!(i.isLocalPriority||a.includes(e)))if(s&&s.length>1&&a.startsWith(s)){let o=a.substring(s.length).trim();i._displayTitle=o?`${e}${o.match(/^[~~::]/)?"":" "}${o}`:e,_("info",`[Utils] [TMDB] [LCP\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else{let o=a.match(Ant);if(o){let c=a.substring(0,o.index).trim(),u=a.substring(o.index);if(c&&bnt.test(c)){let l=u.trim().match(Ant),d=l?u.trim().substring(l.index):"";i._displayTitle=`${c} ${e}${d}`,_("info",`[Utils] [TMDB] [\u524D\u7F00\u4FDD\u62A4\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else i._displayTitle=e+u,_("info",`[Utils] [TMDB] [\u5206\u9694\u7B26\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)}else uf(a)?(i._displayTitle=e,_("info",`[Utils] [TMDB] [\u7EAF\u5916\u6587\u5168\u66FF\u6A21\u5F0F] "${a}" -> "${i._displayTitle}"`)):_("info",`[Utils] [TMDB] [\u8DF3\u8FC7\u66FF\u6362] "${a}" \u542B\u6709\u4E2D\u6587\u4E14\u7279\u5F81\u4E0D\u7B26\uFF0C\u62D2\u7EDD\u5F3A\u5236\u5168\u66FF\u4EE5\u9632\u8BEF\u6740`)}}}Pt();St();$n();no();hn();var Iu="$$$",Sg="&",P0r=!1,ai=Object.freeze({TITLE_STRUCTURE_CONFLICT:-.3,LANG_MATCH_CN:.15,LANG_MISMATCH:-.2,DATE_MATCH:0,EP_ALIGN:{MOVIE_TYPE_MISMATCH:-5,SPECIAL_STRICT_MISMATCH:-8,LANG_MATCH:3,LANG_MISMATCH:-5,SEASON_NUM_MISMATCH:-10,SPECIAL_TYPE_MISMATCH:-10,SPECIAL_TYPE_MATCH:3,IS_SPECIAL_MATCH:3,SEASON_SHIFT_EXACT:15,CN_STRICT_MATCH:25,CN_STRICT_MISMATCH:-5,NUMERIC_MATCH:2,PATTERN_CONSISTENCY_BONUS:2,ZERO_DIFF_BONUS_BASE:100,ZERO_DIFF_BONUS_PER_HIT:5}}),Ql=Object.freeze({SIMILARITY_MIN:.65,SIMILARITY_STRONG:.98,TIER_DEFAULT:.001,TIER_CN:.4,TIER_PART:.5,COLLECTION_RATIO:4,COLLECTION_DIFF:6});function mt(t,...e){typeof e[0]=="string"&&e[0].includes("[Merge-Check]")&&!P0r||_(t,...e)}var ye={Lang:{CN:/(普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½])(?:版)?/,JP:/(æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²])(?:版)?/,CN_DUB_VER:/(\(|(|\[)?(普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½])版?(\)|)|\])?/g,JP_DUB_VER:/(\(|(|\[)?(æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²])版?(\)|)|\])?/g,KEYWORDS_STRONG:/(?:普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½]|æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²])(?:版)?/g,CN_STD:/普通[è¯è©±]|[国國][è¯èªž]|䏿–‡é…音|ä¸é…|䏿–‡|[粤粵][è¯èªž]é…音|[粤粵]é…|[粤粵][è¯èªž]|[å°è‡º]é…|[å°è‡º][è¯èªž]|港é…|港[è¯èªž]|å—幕|助[å¬è½]/g,JP_STD:/æ—¥[è¯èªž]|æ—¥é…|原版|原[声è²]/g},Season:{PURE_PART:/^(?:(?:第|S(?:eason)?)\s*\d+(?:å£|期|部)?|(?:Part|P|第)\s*\d+(?:部分)?)$/i,PART_NORM:/第\s*(\d+)\s*部分/g,PART_NORM_2:/(?:Part|P)[\s.]*(\d+)/gi,FINAL:/(?:The\s+)?Final\s+Season/gi,NORM:/(?:Season|S)\s*(\d+)/gi,CN:/第\s*([一二三四五å…七八ä¹å])\s*å£/g,ROMAN:/(\s|^)(IV|III|II|I)(\s|$)/g,INFO_STRONG:/(?:season|s|第)\s*[0-9一二三四五å…七八ä¹å]+\s*(?:å£|期|部(?!分))?/gi,PART_INFO_STRONG:/(?:part|p|第)\s*\d+\s*(?:部分)?/gi,PART_ANY:/(?:part|p)\s*\d+/gi,CN_STRUCTURE:/(?:^|\s|×\d+\s?)(承|转|结)(?=$|[\s\(\(\[ã€])/i,SUFFIX_AMBIGUOUS:/(?:[\s\u4e00-\u9fa5]|^)(S|T|R|II|III|IV)(?=$|[\s\(\(\[ã€])/i,SUFFIX_SEQUEL:/(?:ç»ç¯‡|ç»é›†|The Sequel)/i},Clean:{NA_TAG:/(\(|(|\[)N\/A(\)|)|\])/gi,SOURCE_TAG:/ã€.*?】/g,REGION_LIMIT:/(\(|(|\[)ä»…é™.*?地区(\)|)|\])/g,PUNCTUATION:/[!ï¼??,,.。ã€~~::\-–—_]/g,WHITESPACE:/\s+/g,FROM_SUFFIX:/\s*from\s+.*$/i,PARENTHESES_CONTENT:/(\(|(|\[).*?(\)|)|\])/g,MOVIE_KEYWORDS:/剧场版|åŠ‡å ´ç‰ˆ|the\s*movie|theatrical|movie|film|电影/gi,LONE_VER_CHAR:/(\s|^)版(\s|$)/g,NON_ALPHANUM_CN:/[^\u4e00-\u9fa5a-zA-Z0-9]/g,META_SUFFIX:/(\(|(|\[)(ç»ç¯‡|TV版|æ— ä¿®|æœªåˆ å‡|完整版)(\)|)|\])/gi,YEAR_TAG:/(\(|(|\[)\d{4}(\)|)|\]).*$/i,SUBTITLE_SEPARATOR:/^[\s::\-–—((\[ã€]/,SPACE_STRUCTURE:/.+[\s\u00A0\u3000].+/,SPLIT_SPACES:/[\s\u00A0\u3000]+/,REDUNDANT_SEPARATOR:/[\s::~~]/,REDUNDANT_UNSAFE_END:/[\(\(\[ã€::~~\-]$/,REDUNDANT_VALID_CHARS:/[\u4e00-\u9fa5a-zA-Z]{2,}/},Episode:{SUFFIX_DIGIT:/_\d+(?=$|\s)/g,FILE_NOISE:/_(\d{2,4})(?=\.)/g,SEASON_PREFIX:/(?:^|\s)(?:第\s*[0-9一二三四五å…七八ä¹å]+\s*å£|S(?:eason)?\s*\d+)(?:\s+|_)/gi,CLEAN_SMART:/(?:^|\s)(?:EP|E|Vol|Episode|No|Part|第)\s*\d+(?:\.\d+)?(?:\s*[è¯è©±é›†])?(?!\s*[壿œŸéƒ¨])/gi,PUNCTUATION:/[!ï¼??,,.。ã€~~::\-–—]/g,DANDAN_TAG:/^ã€(dandan|animeko)】/i,SPECIAL_START:/^S\d+/i,MOVIE_CHECK:/剧场版|åŠ‡å ´ç‰ˆ|movie|film/i,PV_CHECK:/(pv|trailer|预告)/i,SPECIAL_CHECK:/^(s|o|sp|special)\d/i,SEASON_MATCH:/(?:^|\s)(?:第|S)\s*(\d+)\s*[å£S]/i,NUM_STRATEGY_A:/(?:第|s)\s*(\d+)\s*[å£s]\s*(?:第|ep|e)\s*(\d+)/i,NUM_STRATEGY_B:/(?:ep|e|vol|episode|chapter|no|part|第)\s*(\d+(\.\d+)?)(?:\s*[è¯è©±é›†])?(?!\s*[壿œŸéƒ¨])/i,NUM_STRATEGY_C:/(?:^|\s)(?:第)?(\d+(\.\d+)?)(?:è¯|集|\s|$)/,DANDAN_IGNORE:/^[SC]\d+/i,MAP_EXCLUDE_KEYWORDS:/(?:^|\s)(?:PV|OP|ED|SP|Special|Drama|OAD|OVA|Opening|Ending|特番|特典|Behind\s+the\s+Scenes|Making|Interview)(?:\s|$|[::])/i,SINK_TITLE_STRICT:/^(?:S\d+|C\d+|SP\d*|OP\d*|ED\d*|PV\d*|Trailers?|Interview|Making|特番|特典)(?:\s|$|[::.\-]|\u3000)/i},Category:{ANIME_KW:/(动画|TV动画|动漫|日漫|国漫)/,REAL_KW:/(电视剧|真人剧|综艺|纪录片)/,ANIMEKO_SOURCE:/animeko/i},Similarity:{CN_STRICT_CORE_REMOVE:/[0-9a-zA-Z\s第å£é›†è¯partEPep._\-–—::ã€ã€‘()()]/gi}},r4=[{regex:/(?:\s|^)A's$/i,val:"S2"},{regex:/(?:\s|^)StrikerS$/i,val:"S3"},{regex:/(?:\s|^)ViVid$/i,val:"S4"},{regex:/(?:\s|^)SuperS$/i,val:"S4"}],D0r=[{regex:/(?:第)?\s*(\d+)\s*(?:å£|期|部(?!分))/,prefix:"S"},{regex:/\bseason\s*(\d+)/i,prefix:"S"},{regex:/\bs\s*(\d+)\b/i,prefix:"S"},{regex:/\bpart\s*(\d+)/i,prefix:"P"},{regex:/\b(ova|oad)\d*\b/i,val:"OVA"},{regex:/(剧场版|åŠ‡å ´ç‰ˆ|the\s*movie|theatrical|movie|film|电影)/i,val:"MOVIE"},{regex:/(ç»ç¯‡|ç»é›†)/,val:"SEQUEL"},{regex:/\b(sp|special)\d*\b/i,val:"SP"},{regex:/[^0-9](\d)$/,prefix:"S",useCleaned:!0}],k0r=[{seriesKeywords:["\u7F8E\u5C11\u5973\u6218\u58EB"],mappings:[{markers:["R"],targetStandard:"\u7B2C\u4E8C\u5B63"},{markers:["S"],targetStandard:"\u7B2C\u4E09\u5B63"},{markers:["SuperS","Super S"],targetStandard:"\u7B2C\u56DB\u5B63"},{markers:["Sailor Stars","\u6700\u540E\u7684\u661F\u5149"],targetStandard:"\u7B2C\u4E94\u5B63"}]},{seriesKeywords:["\u5C0F\u6797\u5BB6\u7684\u9F99\u5973\u4EC6"],mappings:[{markers:["S"],targetStandard:"\u7B2C\u4E8C\u5B63"}]},{seriesKeywords:["\u53EF\u80FD\u6210\u4E3A\u604B\u4EBA","\u4E0D\u884C"],mappings:[{markers:["NEXT SHINE","\u518D\u6B21\u95EA\u8000"],targetStandard:"\u7EED\u7BC7"}]},{seriesKeywords:["\u7EA2\u732A","\u5343\u4E0E\u5343\u5BFB","\u9F99\u732B"],defaultStandard:"\u5267\u573A\u7248"}];function L0r(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vie(t){if(typeof structuredClone=="function")try{return structuredClone(t)}catch{}return JSON.parse(JSON.stringify(t))}function oo(t){if(!t)return"Unspecified";let e=t.toLowerCase();return ye.Lang.CN.test(e)?"CN":ye.Lang.JP.test(e)?"JP":"Unspecified"}function Dnt(t){if(!t)return"";let e=t,r=e.toUpperCase();for(let n of k0r){if(!n.seriesKeywords.every(a=>r.includes(a.toUpperCase())))continue;let i=!1;if(n.mappings)for(let a of n.mappings)a.markers.forEach(o=>{let c=new RegExp(L0r(o),"gi");c.test(e)&&(e=e.replace(c,` ${a.targetStandard} `),i=!0)});!i&&n.defaultStandard&&(e+=` ${n.defaultStandard} `)}return e}function V0(t){if(!t)return"";let e=Gt(t);e=e.replace(ye.Clean.NA_TAG,""),e=e.replace(ye.Season.PART_NORM,"part $1"),e=e.replace(ye.Season.PART_NORM_2,"part $1"),e=e.replace(ye.Season.FINAL,"\u6700\u7EC8\u5B63"),e=e.replace(ye.Season.NORM,"\u7B2C$1\u5B63");let r={\u4E00:"1",\u4E8C:"2",\u4E09:"3",\u56DB:"4",\u4E94:"5",\u516D:"6",\u4E03:"7",\u516B:"8",\u4E5D:"9",\u5341:"10"};return e=e.replace(ye.Season.CN,(n,s)=>`\u7B2C${r[s]}\u5B63`),e=e.replace(ye.Season.ROMAN,(n,s,i,a)=>`${s}\u7B2C${{I:"1",II:"2",III:"3",IV:"4"}[i]}\u5B63${a}`),e=e.replace(ye.Lang.CN_DUB_VER,"\u4E2D\u914D\u7248"),e=e.replace(ye.Lang.JP_DUB_VER,""),e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Clean.REGION_LIMIT,""),e=e.replace(/(\d+)\.(\d+)/g,"$1{{DOT}}$2"),e=e.replace(ye.Clean.PUNCTUATION," "),e=e.replace(/{{DOT}}/g,"."),e.replace(ye.Clean.WHITESPACE," ").toLowerCase().trim()}function Tc(t){if(!t)return"";let e=Dnt(t);e=Gt(e);let r=e.match(/^(?:ã€|\[)(.+?)(?:】|\])/);if(r){let n=r[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|AVC|HEVC|MP4|MKV)$/i.test(n)||(e=e.replace(r[0],n+" "))}return e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Clean.FROM_SUFFIX,""),e=e.replace(ye.Clean.NA_TAG,""),e=e.replace(ye.Clean.PARENTHESES_CONTENT,""),e=e.replace(ye.Season.INFO_STRONG,""),e=e.replace(ye.Season.PART_INFO_STRONG,""),e=e.replace(ye.Clean.MOVIE_KEYWORDS,""),e=e.replace(ye.Lang.KEYWORDS_STRONG,""),e=e.replace(ye.Clean.LONE_VER_CHAR,""),e=e.replace(ye.Clean.NON_ALPHANUM_CN,""),e.toLowerCase()}function tE(t){if(!t)return"";let e=Gt(t);return e=e.replace(ye.Episode.SUFFIX_DIGIT,""),e=e.replace(ye.Episode.FILE_NOISE,""),e=e.replace(ye.Episode.SEASON_PREFIX," "),e=e.replace(ye.Episode.CLEAN_SMART," "),e=e.replace(ye.Clean.SOURCE_TAG,""),e=e.replace(ye.Lang.CN_STD,"\u4E2D\u6587"),e=e.replace(ye.Lang.JP_STD,"\u65E5\u6587"),e=e.replace(/(\d+)\.(\d+)/g,"$1{{DOT}}$2"),e=e.replace(ye.Episode.PUNCTUATION," "),e=e.replace(/{{DOT}}/g,"."),e.replace(ye.Clean.WHITESPACE," ").toLowerCase().trim()}function Snt(t){return t?t.replace(ye.Clean.PARENTHESES_CONTENT,"").trim():""}function Iie(t){if(!t)return"";let e=String(t).split(Iu)[0].trim();if(e.startsWith("//"))return"https:"+e;let r=e.match(/^([^:]+):(.+)$/);if(r){let n=r[1].toLowerCase(),s=r[2];return n==="http"||n==="https"?e:/^https?:\/\//i.test(s)?s:s.startsWith("//")?"https:"+s:s}return e}function vnt(t){if(!t||t==="N/A")return{year:null,month:null};let e=new Date(t),r=e.getTime();if(isNaN(r))return{year:null,month:null};let n=e.getFullYear();return n>2030?{year:null,month:null}:{year:n,month:e.getMonth()+1}}function B0r(t,e){let r=t.length,n=e.length;if(r===0)return n;if(n===0)return r;let s=new Array(n+1),i=new Array(n+1);for(let a=0;a<=n;a++)s[a]=a;for(let a=1;a<=r;a++){i[0]=a;let o=t.charCodeAt(a-1);for(let u=1;u<=n;u++){let l=o===e.charCodeAt(u-1)?0:1;i[u]=Math.min(i[u-1]+1,s[u]+1,s[u-1]+l)}let c=s;s=i,i=c}return s[n]}function M0r(t,e){if(!t||!e)return 0;let r=new Set(t.replace(ye.Clean.WHITESPACE,"")),n=new Set(e.replace(ye.Clean.WHITESPACE,"")),s=r.size,i=n.size;if(s===0&&i===0)return 1;if(s===0||i===0)return 0;let a=0,[o,c]=s<i?[r,n]:[n,r];for(let u of o)c.has(u)&&a++;return 2*a/(s+i)}function G0(t,e){if(!t||!e)return 0;let r=Tc(t),n=Tc(e);if(r===""&&n==="")return 0;if(r===n)return 1;let s=r.length,i=n.length,a=Math.max(s,i),o=Math.min(s,i);if(r.includes(n)||n.includes(r)){let x=o/a;if(x>.5)return .8+x*.2}let c=B0r(r,n),u=a===0?1:1-c/a,l=new Set(r.replace(ye.Clean.WHITESPACE,"")),d=new Set(n.replace(ye.Clean.WHITESPACE,"")),f=l.size,p=d.size;if(f===0||p===0)return 0;let m=0,[h,A]=f<p?[l,d]:[d,l];for(let x of h)A.has(x)&&m++;let g=2*m/(f+p),b=0,y=Math.min(f,p);return y>2&&(b=m/y,b>.6&&y/Math.max(f,p)<.6&&(b-=.25)),Math.max(u,g,b)}function co(t,e="",r=[]){let n=new Set,s=V0(e||""),i=l=>{let d=V0(Dnt(l)),f=d.replace(ye.Season.PART_ANY,""),p=f.match(ye.Season.CN_STRUCTURE);if(p){let A={\u627F:"S2",\u8F6C:"S3",\u7ED3:"S4"};A[p[1]]&&n.add(A[p[1]])}if(D0r.forEach(A=>{let g=(A.useCleaned?f:d).match(A.regex);g&&n.add(A.prefix?`${A.prefix}${parseInt(g[1])}`:A.val)}),!r4.some(A=>{if(A.regex.test(f))return n.add(A.val),!0})){let A=f.match(ye.Season.SUFFIX_AMBIGUOUS);if(A){n.add("AMBIGUOUS");let g={II:"S2",III:"S3",IV:"S4"},b=A[1].toUpperCase();g[b]&&n.add(g[b])}}ye.Season.SUFFIX_SEQUEL.test(d)&&n.add("SEQUEL");let h={\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,final:99};for(let[A,g]of Object.entries(h))d.includes(`\u7B2C${A}\u5B63`)&&n.add(`S${g}`)};[t,...Array.isArray(r)?r:[]].filter(Boolean).forEach(i),s.includes("\u7EED\u7BC7")&&n.add("SEQUEL"),/(剧场版|movie|film|电影)/i.test(s)&&n.add("MOVIE"),/\b(ova|oad)\b/i.test(s)&&n.add("OVA"),/\b(sp|special)\b/i.test(s)&&n.add("SP");let a=Array.from(n),o=a.some(l=>l.startsWith("S")),c=a.some(l=>l.startsWith("P")),u=["MOVIE","OVA","SP","SEQUEL","AMBIGUOUS"].some(l=>n.has(l));return c&&!o&&n.add("S1"),!o&&!c&&!u&&n.add("S1"),n}function bi(t,e="",r=[]){let n=co(t,e,r),s=null;for(let i of n)if(i.startsWith("S")){let a=parseInt(i.substring(1));isNaN(a)||(s===null||a>s)&&(s=a)}return s}function vg(t,e){let r=(t+" "+(e||"")).toLowerCase(),n=r.includes("\u7535\u5F71"),s=r.includes("\u7535\u89C6\u5267");return n&&!s?"MOVIE":s&&!n?"TV":null}function rE(t,e,r){if(r&&ye.Category.ANIMEKO_SOURCE.test(r))return"ANIME";let n=(t+" "+(e||"")).toLowerCase();return ye.Category.ANIME_KW.test(n)?"ANIME":ye.Category.REAL_KW.test(n)?"REAL":"UNKNOWN"}function W0r(t,e,r=!0){if(!t||!e||Tc(t)===Tc(e))return!1;let n=d=>{if(!d)return"";let f=Gt(d);return f=f.replace(ye.Clean.META_SUFFIX,"").replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").replace(ye.Clean.WHITESPACE," "),f.trim().toLowerCase()},s=n(t),i=n(e);if(s===i)return!1;let a=d=>{let f=[":","\uFF1A"," code:"," code\uFF1A"," season"," part"];for(let m of f){let h=d.indexOf(m);if(h!==-1)return d.substring(h).trim()}let p=d.split(ye.Clean.WHITESPACE);return p.length>=2?p.slice(1).join(" "):null},o=a(s),c=a(i),[u,l]=s.length<i.length?[s,i]:[i,s];if(l.startsWith(u)){if(l.length===u.length)return!1;let d=l[u.length];if(ye.Clean.SUBTITLE_SEPARATOR.test(d)){let f=l.slice(u.length).replace(ye.Clean.SUBTITLE_SEPARATOR,"").trim();if(!r&&f.length>1||f.length>2)return!0}}return!!(o&&c&&M0r(o,c)<.2)}function knt(t,e,r,n){if(!((r||"").includes("\u5267\u573A\u7248")||(n||"").includes("\u5267\u573A\u7248")))return!1;let i=c=>c?Gt(c).replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim():"",a=i(t),o=i(e);if(ye.Clean.SPACE_STRUCTURE.test(a)&&ye.Clean.SPACE_STRUCTURE.test(o)){let c=d=>{let f=d.split(ye.Clean.SPLIT_SPACES);return f.length>1?f.slice(1).join(" "):""},u=c(a),l=c(o);return!(ye.Season.PURE_PART.test(u)||ye.Season.PURE_PART.test(l))}return!1}function $0r(t,e,r,n,s,i,a="",o=""){let c=rE(t,r,a),u=rE(e,n,o);if(c==="REAL"&&u==="ANIME"||c==="ANIME"&&u==="REAL")return!0;let l=(r||"").includes("3D"),d=(n||"").includes("3D"),f=(r||"").includes("2D"),p=(n||"").includes("2D"),m=!l&&!f,h=!d&&!p;if(!m&&h?/3[dD]/.test(e)?d=!0:/2[dD]/.test(e)&&(p=!0):!h&&m&&(/3[dD]/.test(t)?l=!0:/2[dD]/.test(t)&&(f=!0)),(l||f)&&(d||p)&&l!==d)return!0;let b=vg(t,r),y=vg(e,n);return!b||!y||b===y||knt(t,e,r,n)?!1:s>0&&i>0?Math.abs(s-i)>5:!0}function F0r(t,e,r,n,s=[],i=[]){let a=co(t,r,s),o=co(e,n,i);if(a.size===0&&o.size===0)return!1;let c=f=>Array.from(f).some(p=>p.startsWith("S")&&parseInt(p.substring(1))>=2),u=f=>f.has("SEQUEL"),l=f=>f.has("AMBIGUOUS"),d=f=>f.has("S1");if(a.size>0&&o.size>0){if(l(a)&&d(o)||l(o)&&d(a))return!0;if(l(a)&&(c(o)||u(o))||l(o)&&(c(a)||u(a))||c(a)&&u(o)||c(o)&&u(a))return!1;for(let f of a)if(f.startsWith("S")){let p=o.has(f),m=Array.from(o).some(h=>h.startsWith("S"));if(!p&&m)return!0}return!1}return a.size!==o.size?!knt(t,e,r,n):!1}function U0r(t,e,r,n,s=[],i=[]){let a=co(t,r,s),o=co(e,n,i),c=Array.from(a).filter(l=>l.startsWith("S")),u=Array.from(o).filter(l=>l.startsWith("S"));return c.length>0&&u.length>0?c.some(l=>u.includes(l)):!1}function q0r(t,e,r=!1){if(!t.year||!e.year)return .05;let n=t.year-e.year;if(n===0){if(t.month&&e.month){let i=Math.abs(t.month-e.month);return i>2?0:i===0?.2:.1}return .1}let s=Math.abs(n);return r&&s<=10?0:s>1?-1:0}function j0r(t,e,r,n,s,i=!1){if(/^(dandan|animeko)$/i.test(n)||/^(dandan|animeko)$/i.test(s))return!0;if(i){let c=Math.min(e,r);return c>0&&t/c>.5?!0:!(t<2)}let a=Math.max(e,r);if(a===0)return!1;let o=t/a;return!(a>5&&o<.18)}function e4(t){if(!t)return null;let e=t.toLowerCase();return e.includes("opening")?"opening":e.includes("ending")?"ending":e.includes("interview")?"interview":e.includes("bloopers")?"Bloopers":null}function Aa(t,e=""){let r=!1,n=e;if(t){let m=t.match(ye.Episode.DANDAN_TAG);m&&(n=m[1].toLowerCase())}if(/^(dandan|animeko)$/i.test(n)&&t){let m=t.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();(ye.Episode.SPECIAL_START.test(m)||ye.Episode.DANDAN_IGNORE.test(m))&&(r=!0)}let i=V0(t||""),a=ye.Episode.MOVIE_CHECK.test(i),o=ye.Episode.PV_CHECK.test(i),c=null,u=null,l=e4(t),d=o||r||!!l||ye.Episode.SPECIAL_CHECK.test(i),f=i.match(ye.Episode.SEASON_MATCH);f&&(u=parseInt(f[1]));let p=i.match(ye.Episode.NUM_STRATEGY_A);if(p)c=parseFloat(p[2]);else{let m=i.match(ye.Episode.NUM_STRATEGY_B);if(m)c=parseFloat(m[1]);else{let h=i.match(ye.Episode.NUM_STRATEGY_C);h&&(c=parseFloat(h[1]))}}return{isMovie:a,num:c,isSpecial:d,isPV:o,season:u,isStrictSpecial:r}}function Tie(t,e,r=""){if(!t)return[];let s=["animeko","bilibili","bilibili1","bahamut","dandan"].includes(r);if(!e||s)return t.map((o,c)=>({link:o,originalIndex:c}));let i=[],a=[];if(t.forEach((o,c)=>{let u=o.title||o.name||"";e.test(u)?a.push(u):i.push({link:o,originalIndex:c})}),a.length>0){let o=r?`[${r}] `:"";mt("info",`[Merge-Check] ${o}\u547D\u4E2DEPISODE_TITLE_FILTER\u8FC7\u6EE4\uFF0C\u5DF2\u524D\u7F6E\u5254\u9664 ${a.length} \u96C6: ${a.join(", ")}`)}return i}var Cnt=new Map;function t4(t,e,r){if(!t||t.length<2||!e)return"";let n=l=>{if(!l||!r)return l||"";try{let d=Cnt.get(r);if(!d){let f=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");d=new RegExp(`(\\[|\u3010|\\s)?${f}(\\]|\u3011|\\s)?`,"gi"),Cnt.set(r,d)}return l.replace(d,"").trim()}catch{return l}},s=n(e),i=s.match(ye.Clean.REDUNDANT_SEPARATOR);i&&(s=s.substring(0,i.index));let a=t.map(l=>{let d=l.link||l;return d?n(d.title||d.name||""):""});if(a.some(l=>!l))return"";let o=(l,d)=>{let f="";for(let p=0;p<l.length;p++)for(let m=p+1;m<=l.length;m++){let h=l.substring(p,m);d.includes(h)&&h.length>f.length&&(f=h)}return f},c=o(a[0],a[1]);if(c.length<2)return"";for(let l=2;l<a.length;l++)if(c=o(c,a[l]),c.length<2)return"";let u=o(c,s);if(!s.startsWith(u))return"";if(ye.Clean.REDUNDANT_UNSAFE_END.test(u)){let l=u.slice(0,-1).trim();return l.length>=2&&s.startsWith(l)?l:""}return u.length>=2&&(ye.Clean.REDUNDANT_VALID_CHARS.test(u)||u.length>3)?(mt("info",`[Merge-Check] \u68C0\u6D4B\u5230\u96C6\u5185\u5197\u4F59\u6807\u9898\u5B57\u6BB5: "${u}" (\u5DF2\u5FFD\u7565\u6765\u6E90: ${r}, \u951A\u5B9A\u9A8C\u8BC1\u901A\u8FC7)`),u):""}function Int(t,e){let r=new Set;if(!t)return r;let n=-1;for(let s=0;s<t.length;s++){let i=t[s].title||t[s].name||"",a=Aa(i,e);a.num!==null&&!a.isSpecial&&!a.isPV&&a.num%1===0&&(n=s)}return t.forEach((s,i)=>{let a=s.title||s.name||"",o=Aa(a,e);o.num!==null&&!o.isSpecial&&!o.isPV&&o.num%1!==0&&i<n&&r.add(o.num)}),r}function Tnt(t,e,r,n){let s=[],i=[],a=0;t.forEach(o=>{let c=o.title||o.name||"",u=Aa(c,r);u.num!==null&&e.has(u.num)?(i.push(o),a++):s.push(o)}),a>0&&(t.length=0,t.push(...s,...i),mt("info",`[Merge-Check] [${n}] \u81EA\u52A8\u6C89\u5E95: \u79FB\u52A8\u4E86 ${a} \u4E2A\u4E2D\u95F4\u63D2\u503C\u96C6\u6570 (${Array.from(e).join(",")}) \u5230\u672B\u5C3E`))}function wnt(t,e,r="Unspecified",n="Unspecified",s="",i="",a="",o=""){if(t.length===0||e.length===0)return 0;let c=t4(t,a,s),u=t4(e,o,i),l=(R,w)=>R?w&&R.includes(w)?R.replace(w,""):R:"",d=(R,w,N,P)=>{let L=R.link.title||"",M=l(L,P),k=Aa(M,w),B=oo(M),Z=B!=="Unspecified"?B:N,W=Z==="Unspecified"&&/^(dandan|animeko)$/i.test(w)?"JP":Z,F=tE(M),V=W==="CN"?M.replace(ye.Similarity.CN_STRICT_CORE_REMOVE,""):null;return{info:k,effLang:W,specialType:e4(M),cleanEpText:F,strictCnCore:V}},f=t.map(R=>d(R,s,r,c)),p=e.map(R=>d(R,i,n,u)),m=null,h=null;f.forEach(({info:R})=>{R.num!==null&&!R.isSpecial&&R.num%1===0&&(m=m===null?R.num:Math.min(m,R.num))}),p.forEach(({info:R})=>{R.num!==null&&!R.isSpecial&&R.num%1===0&&(h=h===null?R.num:Math.min(h,R.num))});let A=m!==null&&h!==null?m-h:null,g=15,b=A!==null?-A:0,y=Math.max(Math.min(-g,b-g),-Math.max(t.length,e.length)),x=Math.min(Math.max(g,b+g),Math.max(t.length,e.length)),v=0,C=-9999;for(let R=y;R<=x;R++){let w=0,N=0,P=0,L=new Map,M=!1,k=null;for(let B=0;B<e.length;B++){let Z=B+R;if(Z<0||Z>=t.length)continue;let W=f[Z],F=p[B],V=W.info,j=F.info,J=0;V.isMovie!==j.isMovie&&(J+=ai.EP_ALIGN.MOVIE_TYPE_MISMATCH),(V.isStrictSpecial&&!j.isSpecial||j.isStrictSpecial&&!V.isSpecial)&&(J+=ai.EP_ALIGN.SPECIAL_STRICT_MISMATCH);let se=W.effLang==="Unspecified"?"JP":W.effLang,oe=F.effLang==="Unspecified"?"JP":F.effLang;se===oe?J+=ai.EP_ALIGN.LANG_MATCH:J+=ai.EP_ALIGN.LANG_MISMATCH,V.season!==null&&j.season!==null&&V.season!==j.season&&(J+=ai.EP_ALIGN.SEASON_NUM_MISMATCH),(W.specialType||F.specialType)&&(W.specialType!==F.specialType?J+=ai.EP_ALIGN.SPECIAL_TYPE_MISMATCH:J+=ai.EP_ALIGN.SPECIAL_TYPE_MATCH),V.isSpecial===j.isSpecial&&(J+=ai.EP_ALIGN.IS_SPECIAL_MATCH),A!==null&&!V.isSpecial&&!j.isSpecial&&V.num-j.num===A&&(J+=ai.EP_ALIGN.SEASON_SHIFT_EXACT,M=!0);let ue=0;W.effLang==="CN"&&F.effLang==="CN"&&W.strictCnCore&&F.strictCnCore&&(W.strictCnCore.includes(F.strictCnCore)||F.strictCnCore.includes(W.strictCnCore))?ue=V.num!==null&&j.num!==null&&V.num===j.num?ai.EP_ALIGN.CN_STRICT_MATCH:ai.EP_ALIGN.CN_STRICT_MISMATCH:ue=G0(W.cleanEpText,F.cleanEpText),J+=ue,N+=ue,V.num!==null&&j.num!==null&&V.num===j.num&&(J+=ai.EP_ALIGN.NUMERIC_MATCH);let Ce=1;if(V.num!==null&&!V.isSpecial&&(k!==null&&V.num-k>1?Ce=.1:k=V.num),J*=Ce,ue*=Ce,N+=ue,w+=J,V.num!==null&&j.num!==null){let we=(j.num-V.num).toFixed(4);L.set(we,(L.get(we)||0)+Ce)}P++}if(P>0){let B=w/P,Z=0;for(let j of L.values())Z=Math.max(Z,j);let W=Z/P,F=N/P;W>.6&&(M||F>.33)&&(B+=ai.EP_ALIGN.PATTERN_CONSISTENCY_BONUS),B+=Math.min(P*.15,1.5);let V=L.get("0.0000")||0;V>3?(B+=ai.EP_ALIGN.ZERO_DIFF_BONUS_BASE,B+=V*ai.EP_ALIGN.ZERO_DIFF_BONUS_PER_HIT):V>0&&(B+=V*2),B>C&&(C=B,v=R)}}return C>.3?v:0}function H0r(t,e,r){let n=new Map,s=[];for(let o of t){if(r&&r.has(o.animeId))continue;let c=O.animes.find(f=>String(f.animeId)===String(o.animeId))||o;if(rE(c.animeTitle,c.typeDescription,c.source)==="REAL"){s.push(` [\u5254\u9664] [${c.source}] ${c.animeTitle} (\u7C7B\u578B: \u771F\u4EBA\u5267/REAL)`);continue}if(vg(c.animeTitle,c.typeDescription)==="MOVIE"){s.push(` [\u5254\u9664] [${c.source}] ${c.animeTitle} (\u7C7B\u578B: \u7535\u5F71/MOVIE)`);continue}let d=bi(c.animeTitle,c.typeDescription,c.aliases);if(d!==null&&c.links){let p=Tie(c.links,e,c.source).filter(m=>{let h=m.link.title||m.link.name||"",g=V0(h).replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();return!(/^(dandan|animeko)$/i.test(c.source)&&(ye.Episode.SPECIAL_CHECK.test(g)||ye.Episode.DANDAN_IGNORE.test(g))||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(g)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(h))}).length;if(p>0){n.has(d)||n.set(d,new Map);let m=n.get(d);m.has(p)||m.set(p,[]),m.get(p).push(c.source),s.push(` [\u91C7\u7EB3] [${c.source}] S${d} = ${p}\u96C6 ("${c.animeTitle}")`)}else s.push(` [\u5FFD\u7565] [${c.source}] S${d} (\u6709\u6548\u96C6\u6570\u4E3A 0)`)}}let i=new Map,a=[];for(let[o,c]of n.entries()){let u=0,l=0,d=[];for(let[p,m]of c.entries()){let h=m.length;h>l?(l=h,u=p,d=m):h===l&&p<u&&(u=p,d=m)}i.set(o,u);let f=Array.from(c.entries()).map(([p,m])=>`${p}\u96C6(x${m.length})[${m.join(",")}]`).join(", ");a.push(`S${o}=${u} (\u63A8\u65AD\u6765\u6E90: ${d.join(",")} | \u7EDF\u8BA1: ${f})`)}return(s.length>0||a.length>0)&&mt("info",`[Merge-Check] [Map-Build] \u5B63\u5EA6\u5730\u56FE\u6784\u5EFA\u8BE6\u60C5:
|
|
${s.join(`
|
|
`)}
|
|
=> \u6700\u7EC8\u5224\u5B9A: { ${a.join("; ")} }`),i}function Q0r(t,e,r=""){let n=`${t}_${e}_${r}`,s=0;for(let i=0;i<n.length;i++)s=(s<<5)-s+n.charCodeAt(i)|0;return Math.abs(s)%1e9+1e9}function Rnt(t,e){let r=t.link,n=r.title||r.name||`Episode ${t.originalIndex+1}`,s=r.url||"";s&&(s=Iie(s),/^https?:\/\//i.test(s)||(s=`${e}:${s}`));let i=n;return i.includes(`\u3010${e}\u3011`)||(i=`\u3010${e}\u3011 ${i}`),{title:i,url:s,name:n}}function G0r(t,e,r){if(!e||e.length===0)return;let n=[],s=[],i=[],a=t.links.length,o=-1;for(let l=a-1;l>=0;l--){let d=t.links[l],f=d.title||d.name||"",p=Aa(f,t.source);if(!p.isSpecial&&!p.isPV&&!p.isStrictSpecial&&p.num!==null){o=l;break}}for(let l of e){let d=l.relativeIndex,f=l.info&&l.info.isStrictSpecial,p=l.info&&!l.info.isSpecial&&!l.info.isPV&&!f&&l.info.num!==null;d<0&&!f?n.push(l):d>=a&&!f||p&&d>o?s.push(l):i.push(l)}let c=[],u=(l,d,f)=>{l.length>0&&(l.sort((p,m)=>p.originalIndex-m.originalIndex),d.push(...l.map(p=>Rnt(p,r))),c.push(` [\u8865\u5168-${f}] \u63D2\u5165/\u8FFD\u52A0 ${l.length} \u96C6 (${l.map(p=>p.link.title).join(", ")})`))};n.length>0&&(n.sort((l,d)=>l.originalIndex-d.originalIndex),t.links.unshift(...n.map(l=>Rnt(l,r))),c.push(` [\u8865\u5168-\u5934\u90E8] \u63D2\u5165 ${n.length} \u96C6 (${n.map(l=>l.link.title).join(", ")})`)),u(s,t.links,"\u5C3E\u90E8"),u(i,t.links,"\u7279\u6B8A"),c.length>0&&mt("info",`[Merge] [${r}] \u667A\u80FD\u8865\u5168:
|
|
${c.join(`
|
|
`)}`)}function V0r(t){let e=new Map;if(!t||t.length<2)return e;let r=t.map(s=>{let i=s.animeTitle||"",a=V0(i).replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();return{id:s.animeId,raw:i,clean:a}}),n=new Set(r.map(s=>s.clean));for(let s of r){let i=null;for(let a of r4)if(s.clean.match(a.regex)){i=s.clean.replace(a.regex,"").trim();break}if(!i){let a=s.clean.match(ye.Season.SUFFIX_AMBIGUOUS);if(a){let o=a[1];s.clean.endsWith(o)&&(i=s.clean.substring(0,s.clean.length-o.length).trim())}}i&&i.length>1&&n.has(i)&&(e.set(String(s.id),i),mt("info",`[Merge-Check] \u4E0A\u4E0B\u6587\u611F\u77E5: \u5224\u5B9A [${s.raw}] \u4E3A\u7EED\u4F5C (Base: "${i}" \u540C\u65F6\u4E5F\u5B58\u5728\u4E8E\u5217\u8868)`))}return e}function z0r(t,e){let r={isStrongMatch:!1,isStrongMismatch:!1};if(!t.links||!e.links||!t.links.length||!e.links.length)return r;let n=h=>h.filter(A=>{let g=(A.title||A.name||"").toLowerCase();return!ye.Episode.PV_CHECK.test(g)&&!ye.Episode.SPECIAL_CHECK.test(g)}).length,s=n(t.links),i=n(e.links);s>5&&i>5&&Math.min(s,i)/Math.max(s,i)<.4;let a=h=>h.map(A=>tE(A.title||A.name||"").replace(/\d+/g,"").trim()).filter(A=>A.length>1),o=a(t.links),c=a(e.links);if(o.length<3||c.length<3)return r;let u=oo(o.join(" ")),l=oo(c.join(" "));if(u!==l||u==="Unspecified")return r;let d=Math.min(o.length,c.length,5),f=0,p=0,m=[];for(let h=0;h<d;h++){let A=Math.floor(h*o.length/d),g=Math.floor(h*c.length/d),b=G0(o[A],c[g]);h<3&&m.push(`"${o[A]}" vs "${c[g]}" (${b.toFixed(2)})`),b>.6?f++:b<.3&&p++}return f>=Math.ceil(d*.6)?(r.isStrongMatch=!0,mt("info",`[Merge-Check] [Probe] \u91C7\u6837\u5BF9\u6BD4 (Match): ${m.join(", ")}`)):p>=Math.ceil(d*.8)&&(r.isStrongMismatch=!0,mt("info",`[Merge-Check] [Probe] \u91C7\u6837\u5BF9\u6BD4 (Mismatch): ${m.join(", ")}`)),r}function wie(t,e){let r=O.customMergeRules||[];if(r.length===0)return null;let n=bi(t.animeTitle,t.typeDescription,t.aliases),s=bi(e.animeTitle,e.typeDescription,e.aliases),i=(a,o)=>{let c=Gt(a||"").toLowerCase().replace(ye.Clean.FROM_SUFFIX,""),u=Gt(o||"").toLowerCase(),l=/[\((\[]?\d{4}[\))\]]?/.test(u),d=/ã€.*?】/.test(u)||/\[.*?\]/.test(u);if(l||(c=c.replace(/[\((\[]\d{4}[\))\]]/g,"")),!d){let f=c.match(/^(?:ã€|\[)(.+?)(?:】|\])/);if(f){let p=f[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|电影|电视剧|连ç»å‰§|综艺|真人秀|纪录片|日剧|韩剧|美剧|英剧|泰剧|国产剧|港剧|å°å‰§|çŸå‰§|å¾®çŸå‰§|特摄|OVA|OAD|SP|AVC|HEVC|MP4|MKV)$/i.test(p)||(c=c.replace(f[0],p+" "))}c=c.replace(ye.Clean.SOURCE_TAG,"").replace(/\[.*?\]/g,"")}return!u.includes("\u5B63")&&!u.includes("season")&&(c=c.replace(ye.Season.INFO_STRONG,"")),c=c.replace(ye.Clean.MOVIE_KEYWORDS,""),{target:Fr(c).replace(/\s+/g,""),rule:Fr(u).replace(/\s+/g,"")}};for(let a of r){let o=A=>String(A).split(Sg)[0],c=o(a.primary.source),u=o(a.secondary.source),l=String(t.source).split(Sg),d=String(e.source).split(Sg);if(!l.includes(c)||!d.includes(u))continue;let f=i(t.animeTitle,a.primary.title),p=i(e.animeTitle,a.secondary.title),m=f.target===f.rule,h=p.target===p.rule;if(!(!m||!h)&&!(a.primary.season!==null&&(n||1)!==a.primary.season)&&!(a.secondary.season!==null&&(s||1)!==a.secondary.season))return a}return null}function K0r(t,e,r=new Set,n=[]){if(!e||e.length===0)return[];let s=t.animeTitle||"",i=s.replace(ye.Clean.YEAR_TAG,"").replace(/ã€(电影|电视剧)】/g,"").trim(),a=!!i.match(ye.Lang.CN_DUB_VER)||ye.Lang.CN.test(i),o=t.source==="hanjutv",c=s.includes("N/A")||o?{year:null,month:null}:vnt(t.startDate),u=t.episodeCount||(t.links?t.links.length:0),l=oo(s),d=V0(i),f=Tc(i),p=co(s,t.typeDescription,t.aliases),m=Array.from(p).filter(w=>w.startsWith("S")),h=[{animeId:t.animeId,animeTitle:s},...e],A=V0r(h),g=A.has(String(t.animeId)),b=A.get(String(t.animeId)),y=r.has(t.animeId),x=(w,N)=>{mt("info",`[Merge-Check] \u62D2\u7EDD: [${t.source}] ${s} vs [${w}] -> ${N}`)},v=[],C=0;for(let w of e){let N=w.animeTitle||"",P=wie(t,w);if(P){if(P.action==="block"){x(N,"\u88AB\u6620\u5C04\u8868 [\xD7] \u660E\u786E\u7981\u6B62\u4E0E\u4E3B\u6E90\u5408\u5E76");continue}let X=oo(N);v.push({anime:w,score:1,lang:X,debugTitle:N,isCustomMapped:!0}),mt("info",`[Merge-Check] \u5408\u5E76\u6620\u5C04\u8868\u7279\u6743\u653E\u884C: [${t.source}] ${s} <-> [${w.source}] ${N}`);continue}if(!n.includes(w.source)){x(N,"\u8BE5\u6765\u6E90\u4E3A\u6620\u5C04\u8868\u52A8\u6001\u6CE8\u5165\uFF0C\u4E14\u672A\u547D\u4E2D\u7279\u6743\u89C4\u5219\uFF0C\u53D7\u9650\u4E8E\u6743\u9650\u6C99\u7BB1\u4E88\u4EE5\u963B\u65AD");continue}let L=r.has(w.animeId),M=y||L,k=w.source==="hanjutv",B=N.includes("N/A")||k?{year:null,month:null}:vnt(w.startDate),Z=oo(N),W=N.replace(ye.Clean.YEAR_TAG,"").replace(/ã€(电影|电视剧)】/g,"").trim(),F=!!W.match(ye.Lang.CN_DUB_VER)||ye.Lang.CN.test(W),V=a||F,j=w.episodeCount||(w.links?w.links.length:0);if(W.includes("\u4E4B")){let X=W.split("\u4E4B"),ie=V0(X[0]);if(d===ie){x(N,`\u7ED3\u6784\u51B2\u7A81: \u4E3B\u6807\u9898\u662F\u526F\u6807\u9898\u7684\u524D\u7F00\u7236\u96C6 (Prefix: "${ie}")`);continue}}if($0r(s,N,t.typeDescription,w.typeDescription,u,j,t.source,w.source)){let X=rE(s,t.typeDescription,t.source),ie=rE(N,w.typeDescription,w.source);x(N,`\u5A92\u4F53\u7C7B\u578B\u6216\u7EF4\u6570\u4E0D\u5339\u914D (P:${X}/${vg(s,t.typeDescription)} [${t.typeDescription}] vs S:${ie}/${vg(N,w.typeDescription)} [${w.typeDescription}])`);continue}let J=c.year!==null&&B.year!==null,se=W0r(s,N,J);if(A.has(String(w.animeId))){let X=A.get(String(w.animeId));if(f===Tc(X)&&!(ye.Season.SUFFIX_AMBIGUOUS.test(d)||r4.some(ce=>ce.regex.test(d)))){x(N,`\u4E0A\u4E0B\u6587\u963B\u65AD: \u4E3B\u6E90(S1) vs \u526F\u6E90(S2/S\u7EED\u4F5C) (Base: "${X}")`);continue}}if(g&&Tc(W)===Tc(b)){x(N,`\u4E0A\u4E0B\u6587\u963B\u65AD: \u4E3B\u6E90(S2/Sequel) vs \u526F\u6E90(Base/S1) (Base: "${b}")`);continue}if(!J&&se){x(N,"\u6807\u9898\u7ED3\u6784\u51B2\u7A81\u4E14\u65E5\u671F\u65E0\u6548");continue}let ue=U0r(i,W,t.typeDescription,w.typeDescription,t.aliases,w.aliases),Ce=z0r(t,w),we=s.search(ye.Clean.MOVIE_KEYWORDS)!==-1,qe=N.search(ye.Clean.MOVIE_KEYWORDS)!==-1;if(we!==qe){let X=co(N,w.typeDescription,w.aliases),ie=Ne=>Tc(Ne.replace(ye.Clean.MOVIE_KEYWORDS,"")),ce=ie(s),fe=ie(N);if(G0(ce,fe)>.9&&!p.has("SEQUEL")&&!X.has("SEQUEL")){x(N,`\u5267\u573A\u7248\u6807\u9898\u963B\u65AD: [${we?"Movie":"TV"}] vs [${qe?"Movie":"TV"}] (\u65E0\u7EED\u7BC7\u6807\u8BC6)`);continue}}let Fe=M?0:q0r(c,B,V);if(Fe===-1){let X=ue;if(Ce.isStrongMatch&&(X=!0),M&&(X=!0),se&&!M&&(X=!1),X&&c.year&&B.year&&Math.abs(c.year-B.year)>2&&!Ce.isStrongMatch&&!M&&(X=!1),!X){x(N,`\u65E5\u671F\u4E25\u91CD\u4E0D\u5339\u914D\u4E14\u65E0\u8C41\u514D (P:${c.year} vs S:${B.year}, IsDub:${V})`);continue}}if(!M&&F0r(i,W,t.typeDescription,w.typeDescription,t.aliases,w.aliases))if(Ce.isStrongMatch)mt("info",`[Merge-Check] \u5B63\u5EA6\u51B2\u7A81\u8C41\u514D: [${s}] vs [${N}] (Probe\u5F3A\u5339\u914D)`);else{x(N,"\u5B63\u5EA6\u6807\u8BB0\u51B2\u7A81");continue}let _e=X=>X?String(X).replace(ye.Clean.YEAR_TAG,"").replace(/ã€(电影|电视剧)】/g,"").trim():"",U=Array.from(new Set([i,...t.aliases||[]].map(_e).filter(Boolean))),G=Array.from(new Set([W,...w.aliases||[]].map(_e).filter(Boolean))),z=0,q=0;for(let X of U){let ie=Snt(X);for(let ce of G)z=Math.max(z,G0(X,ce)),q=Math.max(q,G0(ie,Snt(ce)))}let H=Math.max(z,q),ee=H;se&&(H+=ai.TITLE_STRUCTURE_CONFLICT),Fe!==-1&&(H+=Fe);let ne=l==="CN",re=Z==="CN";if(ne&&re?H+=ai.LANG_MATCH_CN:ne!==re&&(H+=ai.LANG_MISMATCH),Ce.isStrongMatch?(mt("info",`[Merge-Check] \u96C6\u5185\u5BB9\u63A2\u6D4B: \u5F3A\u5339\u914D! \u63D0\u5347\u5206\u6570 (\u539F\u5206: ${H.toFixed(2)}) -> ${Ql.SIMILARITY_STRONG}`),H=Math.max(H,Ql.SIMILARITY_STRONG)):Ce.isStrongMismatch&&(x(N,"\u96C6\u5185\u5BB9\u63A2\u6D4B: \u5F3A\u4E0D\u5339\u914D (\u96C6\u6807\u9898/\u5185\u5BB9\u5DEE\u5F02\u5DE8\u5927)"),H=0),H<Ql.SIMILARITY_MIN){let X=f,ie=Tc(W);x(N,`\u76F8\u4F3C\u5EA6\u4E0D\u8DB3: ${H.toFixed(2)} (Raw:${ee.toFixed(2)}, CleanA:"${X}", CleanB:"${ie}")`)}else H>C&&(C=H),v.push({anime:w,score:H,lang:Z,debugTitle:N}),mt("info",`[Merge-Check] \u5019\u9009\u9009\u4E2D: ${N} Score=${H.toFixed(2)} (BestSoFar=${C.toFixed(2)})`)}if(v.length===0||C<Ql.SIMILARITY_MIN&&!v.some(w=>w.isCustomMapped))return[];let R=v.filter(w=>{if(w.isCustomMapped||w.score>=C-Ql.TIER_DEFAULT||w.lang==="CN"&&w.score>=C-Ql.TIER_CN)return!0;let N=co(w.debugTitle,w.anime.typeDescription,w.anime.aliases);if(Array.from(N).some(L=>L.startsWith("P"))&&w.score>=C-Ql.TIER_PART){let L=Array.from(N).filter(M=>M.startsWith("S"));if(m.length>0&&L.length>0){if(m.some(k=>L.includes(k)))return!0}else return!0}return!1});return R.sort((w,N)=>w.isCustomMapped&&!N.isCustomMapped?-1:!w.isCustomMapped&&N.isCustomMapped?1:N.score-w.score),R.map(w=>w.anime)}function Y0r(t){let e=new Set;if(!t||t.length===0)return e;let r={\u4E00:"1",\u4E8C:"2",\u4E09:"3",\u56DB:"4",\u4E94:"5",\u516D:"6",\u4E03:"7",\u516B:"8",\u4E5D:"9",\u5341:"10"},n=new Map;t.forEach(s=>{let i=O.animes.find(f=>String(f.animeId)===String(s.animeId))||s,a=co(i.animeTitle,i.typeDescription,i.aliases);if(a.has("MOVIE")||a.has("OVA")||a.has("SP")||a.has("SEQUEL"))return;let o=Gt(s.animeTitle||""),c=o.match(/^(?:ã€|\[)(.+?)(?:】|\])/);if(c){let f=c[1];/^(TV|剧场版|åŠ‡å ´ç‰ˆ|movie|film|anime|动漫|动画|AVC|HEVC|MP4|MKV)$/i.test(f)||(o=o.replace(c[0],f+" "))}o=o.replace(/第([一二三四五å…七八ä¹å])å£/g,(f,p)=>`\u7B2C${r[p]}\u5B63`);let u=o.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.META_SUFFIX,"").replace(ye.Lang.KEYWORDS_STRONG,"");if(r4.forEach(f=>u=u.replace(f.regex,"")),u=u.replace(ye.Season.SUFFIX_AMBIGUOUS,"").replace(/(?:第|S)\d+(?:å£|期|部)/gi,"").replace(/(?:Part|P)\s*\d+/gi,"").replace(/\s+/g,"").toLowerCase().trim(),!u)return;let l=rE(s.animeTitle,i.typeDescription,i.source),d=`${u}|${l}`;n.has(d)||n.set(d,[]),n.get(d).push(s)});for(let[s,i]of n.entries()){if(i.length<2)continue;let[a,o]=s.split("|"),c=i.map(f=>` - [${f.source}] ${f.animeTitle}`).join(`
|
|
`);mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u6B63\u5728\u68C0\u67E5\u5206\u7EC4: "${a}" [${o}] (\u5305\u542B ${i.length} \u4E2A\u6761\u76EE):
|
|
${c}`);let u=new Map,l=0;if(i.forEach(f=>{let p=O.animes.find(b=>String(b.animeId)===String(f.animeId))||f,m=co(p.animeTitle,p.typeDescription,p.aliases),h=1;for(let b of m)if(b.startsWith("S")){let y=parseInt(b.substring(1));isNaN(y)||(h=y)}if(h===1){let b=m.has("SEQUEL")||ye.Season.SUFFIX_SEQUEL.test(p.animeTitle),y=m.has("AMBIGUOUS")||ye.Season.SUFFIX_AMBIGUOUS.test(p.animeTitle);(b||y)&&(h=2,mt("info",`[Merge-Check] [Detail] [${p.source}] "${p.animeTitle}" -> \u5224\u5B9A\u4E3A S2 (Reason: Sequel/Ambiguous Suffix)`))}h>l&&(l=h);let A=0;p.links&&(/^(dandan|animeko)$/i.test(p.source)?A=p.links.filter(b=>{let y=b.title||b.name||"",x=y.replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim();if(ye.Episode.SPECIAL_CHECK.test(x)||ye.Episode.DANDAN_IGNORE.test(x))return!1;let v=V0(y);return!(ye.Episode.SPECIAL_CHECK.test(v)||ye.Episode.DANDAN_IGNORE.test(v)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(x)||ye.Episode.MAP_EXCLUDE_KEYWORDS.test(y))}).length:A=p.links.length),u.has(p.source)||u.set(p.source,{seasonCounts:{},maxSeason:0,s1Candidates:[]});let g=u.get(p.source);g.seasonCounts[h]||(g.seasonCounts[h]=0),g.seasonCounts[h]=Math.max(g.seasonCounts[h],A),h>g.maxSeason&&(g.maxSeason=h),h===1&&g.s1Candidates.push({anime:p,originalCount:A})}),l<=1)continue;let d=Array.from(u.keys());for(let[f,p]of u.entries()){if(p.maxSeason>1)continue;let m=0,h=!1;for(let g of d){if(g===f)continue;let b=u.get(g);b.seasonCounts[1]&&(h=!0,b.seasonCounts[1]>m&&(m=b.seasonCounts[1]))}if(!h)continue;let A=m+Ql.COLLECTION_DIFF;p.s1Candidates.forEach(g=>{let b=m>0?g.originalCount/m:0;if(g.originalCount>A){if(b>Ql.COLLECTION_RATIO){mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u62D2\u7EDD: [${f}] ${g.anime.animeTitle} (Ratio too high: ${b.toFixed(2)} > ${Ql.COLLECTION_RATIO})`);return}e.add(g.anime.animeId),mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u53D1\u73B0\u7591\u4F3C\u5408\u96C6(\u5355\u4F53): [${f}] ${g.anime.animeTitle} (Count:${g.originalCount} > Thr:${A}, Ratio:${b.toFixed(2)}) -> \u6807\u8BB0\u4E3A\u5408\u96C6`)}else mt("info",`[Merge-Check] [\u5408\u96C6\u63A2\u6D4B] \u672A\u547D\u4E2D: [${f}] ${g.anime.animeTitle} (Count:${g.originalCount} <= Threshold:${A})`)})}}return e}async function Cie(t){let{pAnime:e,availableSecondaries:r,curAnimes:n,groupConsumedIds:s,globalConsumedIds:i,generatedSignatures:a,epFilter:o,groupFingerprint:c,currentPrimarySource:u,logPrefix:l,limitSecondaryLang:d,collectionAnimeIds:f,allowReuseIds:p,collectionProgress:m,baseSecondaries:h}=t;if(f.has(e.animeId)&&s.has(e.animeId))return mt("info",`${l} \u8DF3\u8FC7: [${u}] \u662F\u5408\u96C6\u4E14\u5DF2\u4F5C\u4E3A\u7EC4\u5185\u526F\u6E90\u53C2\u4E0E\u8FC7\u5408\u5E76\u3002`),null;let A=vie(e);if(!A.links){let k=O.animes.find(B=>String(B.animeId)===String(e.animeId));A.links=k?.links?vie(k.links):[]}if(!A.links||A.links.length===0)return mt("warn",`${l} \u4E3B\u6E90\u6570\u636E\u4E0D\u5B8C\u6574\uFF0C\u8DF3\u8FC7: ${e.animeTitle}`),null;let g=e.animeTitle.replace(ye.Clean.FROM_SUFFIX,""),b=[],y=[e.animeId],x=!1,v=oo(e.animeTitle),C=t4(A.links,e.animeTitle,u),R=f.has(e.animeId),w=(k,B)=>k?B&&k.includes(B)?k.replace(B,""):k:"",N=Tc(e.animeTitle),P=n.filter(k=>Tc(k.animeTitle)===N),L=H0r(P,o,f);if(L.size>0){let k=Array.from(L.entries()).map(([B,Z])=>`S${B}=${Z}`).join(", ");(R||r.some(B=>n.some(Z=>Z.source===B&&f.has(Z.animeId))))&&mt("info",`${l} [\u5408\u96C6\u5904\u7406] \u6784\u5EFA\u5B63\u5EA6\u96C6\u6570\u5730\u56FE (Mode\u7B56\u7565): { ${k} }`)}let M=[];for(let k of r){let B=n.filter(V=>{if(V.source!==k)return!1;let j=wie(e,V);if(j)return j.action==="block"?(mt("info",`${l} \u62E6\u622A: \u526F\u6E90 [${V.source}] ${V.animeTitle} \u88AB\u6620\u5C04\u8868 [\xD7] \u89C4\u5219\u660E\u786E\u963B\u65AD`),!1):!0;if(R)return!0;let J=s.has(V.animeId),se=p&&p.has(V.animeId);return!(J&&!se)}),Z=[],W=new Set;for(let V of B)W.has(V.animeId)||(W.add(V.animeId),Z.push(V));if(B=Z,d&&(B=B.filter(V=>oo(V.animeTitle)===d)),B.length>1&&B.sort((V,j)=>{let J=oo(V.animeTitle)==="CN",se=oo(j.animeTitle)==="CN";return J===se?0:J?1:-1}),B.length===0)continue;let F=K0r(e,B,f,h);M.push(...F)}if(M.length>0){if(M.length>1&&(R||M.some(k=>f.has(k.animeId)))){M.sort((B,Z)=>{let W=bi(B.animeTitle,B.typeDescription,B.aliases)||1,F=bi(Z.animeTitle,Z.typeDescription,Z.aliases)||1;if(W!==F)return W-F;let V=r.indexOf(B.source),j=r.indexOf(Z.source);return V-j});let k=M.map(B=>`[${B.source}]S${bi(B.animeTitle,B.typeDescription,B.aliases)||1}`);mt("info",`${l} [\u5408\u96C6\u65F6\u5E8F] \u5DF2\u5C06\u8DE8\u6E90\u5339\u914D\u961F\u5217\u6309\u5B63\u6570\u5347\u5E8F\u6392\u5217\uFF0C\u4FDD\u969C\u5207\u7247\u63A8\u65AD\u4E25\u683C\u81EA\u4E3E: ${k.join(" -> ")}`)}for(let k of M){let B=k.source,Z=wie(e,k);if(Z&&Z.action==="block"){mt("info",`${l} [\u5B89\u5168\u7F51\u62E6\u622A] \u5173\u8054\u53D6\u6D88: [${u}] ${e.animeTitle} <-> [${B}] ${k.animeTitle} \u88AB\u660E\u786E\u963B\u65AD`);continue}if(!R&&!(p&&p.has(k.animeId))&&!Z&&s.has(k.animeId))continue;let W=O.animes.find(Pe=>String(Pe.animeId)===String(k.animeId));if(!W?.links)continue;let F=vie(W),V=[],j=new Set,J=[],se=[],oe=F.animeTitle.replace(ye.Clean.FROM_SUFFIX,""),ue=Int(A.links,u),Ce=Int(F.links,B),we=new Set([...Ce].filter(Pe=>!ue.has(Pe))),qe=new Set([...ue].filter(Pe=>!Ce.has(Pe)));qe.size>0&&Tnt(A.links,qe,u,`\u4E3B\u6E90:${u}`),we.size>0&&Tnt(F.links,we,B,`\u526F\u6E90:${B}`);let Fe=F.links,_e=Tie(A.links,o,u),U=Tie(Fe,o,B),G=oo(F.animeTitle),z=_e,q=U,H=0,ee=0,ne=f.has(k.animeId),re=(Pe,Ue,Ke)=>{let Ye=0,Ze=Ue;if(Ke&&Ke>1){let nt=!1,ct=Pe?e.animeId:k.animeId;if(m&&m.has(ct)){let tt=m.get(ct),Dt=Ke-1;if(tt[`S${Dt}`]!==void 0){let lt=tt[`S${Dt}`]+1;lt>0&<<Ue.length&&(Ze=Ue.slice(lt),Ye=lt,mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u5386\u53F2\u63A8\u65AD\u547D\u4E2D: \u6839\u636E S${Dt} \u7ED3\u675F\u4F4D\u7F6E (Index ${tt[`S${Dt}`]}), \u8BBE\u5B9A S${Ke} \u8D77\u70B9\u4E3A Index ${lt}`),nt=!0)}}if(!nt){let tt=0;for(let lt=1;lt<Ke;lt++)tt+=L.get(lt)||0;let Dt=tt;if(Dt>=Ue.length){let lt=(Ke-1)*12;lt<Ue.length&&(mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u8D77\u70B9\u8D8A\u754C\u4FEE\u6B63: \u539F\u8BA1\u7B97 ${Dt} > Total ${Ue.length}\uFF0C\u542F\u7528\u56DE\u9000\u4F30\u7B97 (S${Ke} -> Index ${lt})`),Dt=Math.max(0,lt-2))}if(Dt>0&&Dt<Ue.length){let lt=tt+(L.get(Ke)||999),De=Math.min(lt,Ue.length);Ze=Ue.slice(Dt,De),Ye=Dt;let Je=Pe?`\u4E3B\u6E90[${u}]`:`\u526F\u6E90[${B}]`;mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u68C0\u6D4B\u5230${Je}\u4E3A\u5408\u96C6 (Target: S${Ke}): \u65E0\u5386\u53F2\u63A8\u65AD(Defensive Fallback)\uFF0C\u4FE1\u4EFB\u5730\u56FE\u5207\u81F3 ${Dt}~${De} (\u5171 ${Ze.length} \u96C6) \u53C2\u4E0E\u5BF9\u9F50`)}else mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u653E\u5F03\u5207\u7247: \u8BA1\u7B97\u8D77\u70B9 ${Dt} \u8D85\u51FA\u8303\u56F4 (Total: ${Ue.length})`)}}else if(Ke===1){let nt=L.get(1);if(nt&&nt<Ue.length){Ze=Ue.slice(0,nt);let ct=Pe?`\u4E3B\u6E90[${u}]`:`\u526F\u6E90[${B}]`;mt("info",`${l} [\u5408\u96C6\u5207\u7247] \u68C0\u6D4B\u5230${ct}\u4E3A\u5408\u96C6 (Target: S1): \u4F7F\u7528 Index 0~${nt} \u53C2\u4E0E\u5BF9\u9F50`)}}return{sliceStart:Ye,slicedList:Ze}};if(R&&!ne){let Pe=bi(F.animeTitle,F.typeDescription,F.aliases),Ue=re(!0,_e,Pe);z=Ue.slicedList,H=Ue.sliceStart}else if(!R&&ne){let Pe=bi(e.animeTitle,e.typeDescription,e.aliases),Ue=re(!1,U,Pe);q=Ue.slicedList,ee=Ue.sliceStart}A.animeId=Q0r(A.animeId,k.animeId,c),A.bangumiId=String(A.animeId);let X=0,ie=t4(F.links,F.animeTitle,B),ce=Pe=>Pe.isSpecial||Pe.isStrictSpecial||Pe.num!==null&&Pe.num%1!==0,fe=new Map,Ne=0;if(Z&&Z.hasRoutes){mt("info",`${l} \u542F\u7528\u6620\u5C04\u8868\u7CBE\u786E\u8DEF\u7531: ${e.animeTitle} <-> ${k.animeTitle}`);let Ue=wnt(z,q,v,G,u,B,e.animeTitle,F.animeTitle)+H-ee;Ne=Ue;let Ke=new Map;for(let Ye of Z.routes){let Ze=Ye.sec.end-Ye.sec.start+1,nt=Ye.prim.end-Ye.prim.start+1;if(Ze!==nt){mt("warn",`[Merge] [\u6620\u5C04\u8868] \u8DEF\u7531\u533A\u95F4\u8DE8\u5EA6\u4E0D\u5BF9\u7B49\uFF0C\u8DF3\u8FC7\u6B64\u6BB5: E${Ye.sec.start}~E${Ye.sec.end} > E${Ye.prim.start}~E${Ye.prim.end}`);continue}for(let ct=0;ct<Ze;ct++)Ke.set(Ye.sec.start+ct,Ye.prim.start+ct)}for(let Ye=0;Ye<U.length;Ye++){let Ze=U[Ye],nt=Ze.link,ct=nt.name||nt.title||`Index ${Ye}`,tt=w(nt.title||nt.name,ie),Dt=Aa(tt,B),lt={link:nt,originalIndex:Ze.originalIndex,relativeIndex:-1,info:Dt},De=Dt.num;if(De===null&&!Dt.isStrictSpecial&&(De=Ye+1),De===null||!Ke.has(De)){lt.relativeIndex=Ye+Ue,V.push({idx:lt.relativeIndex,text:` [\u672A\u8DEF\u7531\u843D\u5355] ${ct} (\u5E94\u7528\u63A8\u65AD\u504F\u79FB\u4F4D\u7F6E)`}),se.push(lt);continue}let Je=Ke.get(De),ft=_e.findIndex((rt,bt)=>{let An=Aa(w(rt.link.title||rt.link.name,C),u),Ct=An.num;return Ct===null&&!An.isStrictSpecial&&(Ct=bt+1),Ct===Je&&!An.isSpecial&&!An.isStrictSpecial});if(ft!==-1){fe.set(Ye,ft),lt.relativeIndex=ft;let rt=_e[ft].originalIndex,bt=A.links[rt],An=bt.name||bt.title||`Index ${rt}`,Ct=Iie(nt.url),Sr=bt.url,Us=`${B}:${Ct}`;Sr.includes(Iu)||Sr.startsWith(u+":")||(Sr=`${u}:${Sr}`);let Dr=`${Sr}${Iu}${Us}`,qs=bt.title;if(qs){let js=B,ys=(nt.title||"").match(/^ã€([^】\d]+)(?:\d*)】/);ys&&(js=ys[1].trim()),qs=qs.replace(/^ã€([^】]+)】/,(Hs,Lu)=>`\u3010${Lu}${Sg}${js}\u3011`)}V.push({idx:ft,text:` [\u5DF2\u8DEF\u7531\u6620\u5C04] ${An} <-> ${ct} (Rule: E${De}>E${Je})`}),j.add(ft),X++,J.push({linkIndex:rt,newUrl:Dr,newTitle:qs})}else lt.relativeIndex=Ye+Ue,V.push({idx:lt.relativeIndex,text:` [\u8DEF\u7531\u5931\u8D25] \u4E3B\u6E90\u627E\u4E0D\u5230 E${Je} <-> ${ct}`}),se.push(lt)}}else{Z&&mt("info",`${l} \u547D\u4E2D\u6620\u5C04\u8868\u5E38\u89C4\u5408\u5E76: [${B}] ${k.animeTitle} -> [${u}] ${e.animeTitle} (\u5DF2\u514D\u68C0\u653E\u884C\uFF0C\u4EA4\u7531\u7CFB\u7EDF\u81EA\u52A8\u5BF9\u9F50)`),Ne=wnt(z,q,v,G,u,B,e.animeTitle,F.animeTitle)+H-ee,Ne!==0&&mt("info",`${l} \u96C6\u6570\u81EA\u52A8\u5BF9\u9F50 (${B}): Offset=${Ne} (P:${_e.length}, S:${U.length})`);let Ue=new Map,Ke=null;U.forEach((ct,tt)=>{let Dt=_e[tt+Ne];if(!Dt)return;let lt=w(Dt.link.title||Dt.link.name,C),De=w(ct.link.title||ct.link.name,ie),Je=Aa(lt,u),ft=Aa(De,B);if(Je.num===null||ft.num===null||ce(Je)||ce(ft))return;let rt=Je.num-ft.num,An=1+(G0(tE(lt),tE(De))>.45?1:0);Ke!==null&&Je.num-Ke>1?An=.1:Ke=Je.num,Ue.set(rt,(Ue.get(rt)||0)+An)});let Ye=Ue.size>0?[...Ue.entries()].reduce((ct,tt)=>tt[1]>ct[1]?tt:ct)[0]:null,Ze=_e.reduce((ct,tt,Dt)=>{let lt=Aa(w(tt.link.title||tt.link.name,C),u);return ce(lt)&&!lt.isPV&&ct.push(Dt),ct},[]),nt=0;for(let ct=0;ct<U.length;ct++){let tt=ct+Ne,Dt=U[ct],lt=Dt.link,De=lt.name||lt.title||`Index ${ct}`,Je=w(lt.title||lt.name,ie),ft=Aa(Je,B),rt={link:lt,originalIndex:Dt.originalIndex,relativeIndex:tt,info:ft},bt=ce(ft);if(Ye!==null&&ft.num!==null&&!bt){let An=ft.num+Ye;if(tt=_e.findIndex(Ct=>{let Sr=Aa(w(Ct.link.title||Ct.link.name,C),u);return Sr.num===An&&!ce(Sr)}),tt!==-1)rt.relativeIndex=tt;else{let Ct=-.5;for(let Sr=_e.length-1;Sr>=0;Sr--){let Us=Aa(w(_e[Sr].link.title||_e[Sr].link.name,C),u);if(Us.num!==null&&!Us.isSpecial&&Us.num<An){Ct=Sr;break}}rt.relativeIndex=Ct+ct*.001+.1}}else if(bt){let An=-1,Ct=.65,Sr=tE(Je);for(let Us of Ze){let Dr=w(_e[Us].link.title||_e[Us].link.name,C),qs=Aa(Dr,u);if(ft.isPV!==qs.isPV)continue;let js=G0(Sr,tE(Dr));js>Ct&&(Ct=js,An=Us)}An===-1&&!ft.isPV&&nt<Ze.length&&(An=Ze[nt]),ft.isPV||nt++,tt=An,rt.relativeIndex=tt!==-1?tt:_e.length+ct*.001}else rt.relativeIndex=tt!==-1?tt:ct+Ne;if(tt>=0&&tt<_e.length){fe.set(ct,tt);let An=_e[tt].originalIndex,Ct=A.links[An],Sr=Ct.name||Ct.title||`Index ${An}`,Us=w(Ct.title,C),Dr=e4(Us),qs=e4(Je),js=Aa(Us,u);if(ft.isPV&&!Dr){V.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${Sr} =/= ${De} (PV\u4E0D\u5339\u914D\u6B63\u7247)`}),se.push(rt);continue}if(Dr!==qs){V.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${Sr} =/= ${De} (\u7279\u6B8A\u96C6\u7C7B\u578B\u4E0D\u5339\u914D)`}),se.push(rt);continue}let ys=js.isStrictSpecial||js.num!==null&&js.num%1!==0,Hs=ft.isStrictSpecial||ft.num!==null&&ft.num%1!==0,Lu=!js.isSpecial&&(js.num===null||js.num%1===0),go=!ft.isSpecial&&(ft.num===null||ft.num%1===0);if(ys&&go||Hs&&Lu){V.push({idx:rt.relativeIndex,text:` [\u7565\u8FC7] ${Sr} =/= ${De} (\u6B63\u7247\u4E0E\u756A\u5916\u963B\u65AD)`}),se.push(rt);continue}let Dc=Iie(lt.url),Ta=Ct.url,yn=`${B}:${Dc}`;Ta.includes(Iu)||Ta.startsWith(u+":")||(Ta=`${u}:${Ta}`);let wa=`${Ta}${Iu}${yn}`,rd=Ct.title;if(rd){let Ao=B;if(lt.title){let bA=lt.title.match(/^ã€([^】\d]+)(?:\d*)】/);bA&&(Ao=bA[1].trim())}rd=rd.replace(/^ã€([^】]+)】/,(bA,l6)=>`\u3010${l6}${Sg}${Ao}\u3011`)}V.push({idx:rt.relativeIndex,text:` [\u5339\u914D] ${Sr} <-> ${De}`}),j.add(tt),X++,J.push({linkIndex:An,newUrl:wa,newTitle:rd})}else V.push({idx:rt.relativeIndex,text:` [\u843D\u5355] (\u4E3B\u6E90\u8D8A\u754C) <-> ${De}`}),se.push(rt)}}for(let Pe=0;Pe<_e.length;Pe++)if(!j.has(Pe)){let Ue=_e[Pe].originalIndex,Ke=A.links[Ue],Ye=Ke.name||Ke.title||`Index ${Ue}`;V.push({idx:Pe,text:` [\u843D\u5355] ${Ye} <-> (\u526F\u6E90\u7F3A\u5931\u6216\u88AB\u7565\u8FC7)`})}if(X>0){let Pe=f.has(e.animeId)||f.has(k.animeId),Ue=!1;if(Z?Ue=X>0:Ue=j0r(X,_e.length,U.length,u,B,Pe),Ue){for(let De of J){let Je=A.links[De.linkIndex];Je.url=De.newUrl,Je.title=De.newTitle}let Ke=De=>De?De.replace(ye.Clean.YEAR_TAG,"").replace(ye.Clean.SOURCE_TAG,"").replace(ye.Clean.FROM_SUFFIX,"").trim():"",Ye=Ke(A.animeTitle);A.aliases=[...new Set([...A.aliases||[],...F.aliases||[],...k.aliases||[],Ke(F.animeTitle)])].filter(De=>De&&De!==Ye),mt("info",`${l} \u5173\u8054\u6210\u529F: [${u}] ${g} <-> [${B}] ${oe} (\u672C\u6B21\u5408\u5E76 ${X} \u96C6)`),V.length>0&&(V.sort((De,Je)=>De.idx-Je.idx),mt("info",`${l} [${B}] \u6620\u5C04\u8BE6\u60C5:
|
|
${V.map(De=>De.text).join(`
|
|
`)}`)),A.mergedChildren=A.mergedChildren||[],A.mergedChildren.some(De=>String(De.animeId)===String(k.animeId)&&De.source===k.source)||A.mergedChildren.push({animeId:k.animeId,animeTitle:k.animeTitle,source:k.source,episodes:F.links?F.links.length:0,imageUrl:k.imageUrl||""});let Ze=O.animes.find(De=>String(De.animeId)===String(k.animeId)&&De.source===k.source);if(Ze&&(Ze.isHiddenChild=!0),m&&(ne||R)){let De=-1;if(R&&!ne){for(let Je=0;Je<U.length;Je++){let ft=fe.has(Je)?fe.get(Je):Je+Ne;if(j.has(ft)){let rt=_e[ft].originalIndex;rt>De&&(De=rt)}}if(De!==-1){let Je=bi(F.animeTitle,F.typeDescription,F.aliases)||1;m.has(e.animeId)||m.set(e.animeId,{});let ft=m.get(e.animeId);X>=3&&(ft[`S${Je}`]=De)}}else if(!R&&ne){for(let Je=0;Je<U.length;Je++){let ft=fe.has(Je)?fe.get(Je):Je+Ne;if(j.has(ft)){let rt=U[Je];rt.originalIndex>De&&(De=rt.originalIndex)}}if(De!==-1){let Je=bi(e.animeTitle,e.typeDescription,e.aliases)||1;m.has(k.animeId)||m.set(k.animeId,{});let ft=m.get(k.animeId);X>=3&&(ft[`S${Je}`]=De,mt("info",`[Merge-Check] \u66F4\u65B0\u5408\u96C6\u8FDB\u5EA6 [${k.animeId}]: S${Je} -> MaxIndex ${De}`))}}}let nt=bi(e.animeTitle,e.typeDescription,e.aliases)||1,ct=bi(F.animeTitle,F.typeDescription,F.aliases)||1,tt=Z&&nt!==ct;f.has(k.animeId)||tt?mt("info",`${l} [\u667A\u80FD\u8865\u5168] \u8DF3\u8FC7: \u526F\u6E90 [${B}] \u4E3A\u5408\u96C6\u6216\u89E6\u53D1\u8DE8\u5B63\u5EA6\u6620\u5C04\uFF0C\u4E3A\u907F\u514D\u6DF7\u5165\u5176\u4ED6\u5B63\u5EA6\u96C6\u6570\uFF0C\u4E0D\u6267\u884C\u8865\u5168\u3002`):G0r(A,se,B);let Dt=[],lt=[];A.links.forEach(De=>{let Je=De.title.replace(ye.Clean.SOURCE_TAG,"").trim();ye.Episode.SINK_TITLE_STRICT.test(Je)?lt.push(De):Dt.push(De)}),lt.length>0&&(A.links=[...Dt,...lt],mt("info",`${l} [\u6392\u5E8F\u4F18\u5316] \u7ACB\u5373\u6267\u884C\u756A\u5916\u6C89\u5E95: \u79FB\u52A8\u4E86 ${lt.length} \u4E2A\u756A\u5916\u96C6\u5230\u672B\u5C3E`)),x=!0,b.push(B),y.push(k.animeId)}else mt("info",`${l} \u5173\u8054\u53D6\u6D88: [${u}] ${g} <-> [${B}] ${oe} (\u5339\u914D\u7387\u8FC7\u4F4E: ${X}/${Math.max(_e.length,U.length)})`)}}}if(x){let k=y.join("|");if(a.has(k))return mt("info",`${l} \u68C0\u6D4B\u5230\u91CD\u590D\u7684\u5408\u5E76\u7ED3\u679C (Signature: ${k})\uFF0C\u5DF2\u81EA\u52A8\u9690\u53BB\u5197\u4F59\u6761\u76EE\u3002`),null;a.add(k);let B=O.animes.find(W=>String(W.animeId)===String(e.animeId)&&W.source===e.source);B&&(B.isHiddenChild=!0);for(let W=1;W<y.length;W++){let F=y[W];f.has(F)?mt("info",`${l} \u5408\u96C6\u4FDD\u7559: ID [${F}] \u662F\u5408\u96C6\uFF0C\u4FDD\u7559\u4EE5\u4F9B\u540C\u7EC4\u590D\u7528\u3002`):s.add(F),i.add(F)}let Z=b.join(Sg);return A.animeTitle=A.animeTitle.replace(`from ${u}`,`from ${u}${Sg}${Z}`),A.source=u,A}return null}async function Lnt(t,e=null){if(!t||t.length<2)return;let r=O.mergeSourcePairs||[],n=O.customMergeRules||[],s=new Map;for(let p of n){if(p.action==="block")continue;let m=p.primary.source.split("&")[0],h=p.secondary.source.split("&")[0];s.has(m)||s.set(m,new Set),s.get(m).add(h)}let i=r.map(p=>({primary:p.primary,secondaries:[...p.secondaries],baseSecondaries:[...p.secondaries]}));for(let[p,m]of s.entries()){let h=i.find(A=>A.primary===p);h||(h={primary:p,secondaries:[],baseSecondaries:[]},i.push(h));for(let A of m)h.secondaries.includes(A)||h.secondaries.push(A)}if(!i||i.length===0)return;mt("info",`[Merge] \u542F\u52A8\u6E90\u5408\u5E76\u7B56\u7565\uFF0C\u7EC4\u5408\u8BA1\u7B97\u540E\u7684\u914D\u7F6E: ${JSON.stringify(i)}`);let a=O.episodeTitleFilter;if(a&&typeof a=="string")try{a=new RegExp(a,"i")}catch{a=null}let o=Y0r(t),c=new Map,u=[],l=new Set,d=new Set,f=new Set;i.forEach(p=>{p.secondaries.length===0&&f.add(p.primary)});for(let p of i){if(p.secondaries.length===0)continue;let m=new Map,h=[p.primary,...p.secondaries];h.forEach((w,N)=>m.set(w,N));let A=h.join("&"),g=new Set,b=(w,N)=>{if(!w||w.length<2)return w;mt("info",`[Merge-Check] [Sort] ${N} \u6392\u5E8F\u524D\u9996\u4E2A\u5143\u7D20: ${w[0].animeTitle}`),w.sort((L,M)=>{let k=m.get(L.source)??99,B=m.get(M.source)??99;if(k!==B)return k-B;let Z=J=>{let se=co(J.animeTitle,J.typeDescription,J.aliases);return se.has("MOVIE")||se.has("OVA")||se.has("SP")||vg(J.animeTitle,J.typeDescription)==="MOVIE"?2:1},W=Z(L),F=Z(M);if(W!==F)return W-F;let V=bi(L.animeTitle,L.typeDescription,L.aliases)||1,j=bi(M.animeTitle,M.typeDescription,M.aliases)||1;return V-j});let P=w.map(L=>{let M=bi(L.animeTitle,L.typeDescription,L.aliases)||1,k=co(L.animeTitle,L.typeDescription,L.aliases).has("MOVIE")||vg(L.animeTitle,L.typeDescription)==="MOVIE"?"Movie":`S${M}`;return`[P${m.get(L.source)??"?"}] [${k}] [${L.source}] ${L.animeTitle}`});return mt("info",`[Merge-Check] [Sort] ${N} \u6267\u884C\u987A\u5E8F:
|
|
${P.join(`
|
|
`)}`),w},y=[];h.forEach(w=>{t.filter(P=>P.source===w&&!g.has(P.animeId)&&oo(P.animeTitle)==="CN").forEach(P=>y.push(P))});let x=!1;for(let w of h)if(t.some(N=>N.source===w&&!g.has(N.animeId)&&oo(N.animeTitle)==="CN")){x=!0;break}if(y.length>0&&x){mt("info",`[Merge] [Phase 1] \u542F\u52A8 CN \u9694\u79BB\u7B56\u7565: \u5305\u542B ${y.length} \u4E2A CN \u8D44\u6E90\u3002`),b(y,"Phase 1");for(let w of y){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let L=await Cie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 1: CN-Strict]",limitSecondaryLang:"CN",collectionAnimeIds:o,collectionProgress:c,baseSecondaries:p.baseSecondaries});L&&(u.push(L),g.add(w.animeId),d.add(w.animeId))}}let v=[];for(let w=1;w<h.length;w++){let N=h[w];t.filter(L=>L.source===N&&!g.has(L.animeId)&&oo(L.animeTitle)==="CN").forEach(L=>v.push(L))}if(v.length>=2){mt("info",`[Merge] [Phase 1.5] \u542F\u52A8\u526F\u6E90 CN \u81EA\u7EC4\u7EC7: \u68C0\u6D4B\u5230 ${v.length} \u4E2A\u5269\u4F59 CN \u8D44\u6E90\u3002`),b(v,"Phase 1.5");for(let w of v){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let L=await Cie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 1.5: CN-Secondary]",limitSecondaryLang:"CN",collectionAnimeIds:o,collectionProgress:c,baseSecondaries:p.baseSecondaries});L&&(u.push(L),g.add(w.animeId),d.add(w.animeId))}}let C=[];h.forEach(w=>{t.filter(P=>P.source===w&&!g.has(P.animeId)).forEach(P=>C.push(P))});let R=new Set(C.map(w=>w.source));if(C.length>0&&R.size>=2){mt("info",`[Merge] [Phase 2] \u542F\u52A8\u6807\u51C6\u56DE\u9000\u5339\u914D: \u5269\u4F59 ${C.length} \u4E2A\u8D44\u6E90\u3002`),b(C,"Phase 2");for(let w of C){if(g.has(w.animeId))continue;let N=m.get(w.source),P=h.slice(N+1);if(P.length===0)continue;let L=co(w.animeTitle,w.typeDescription,w.aliases),M=Array.from(L).some(Z=>Z.startsWith("P")),k=null;if(M){k=new Set;let Z=bi(w.animeTitle,w.typeDescription,w.aliases)||1;for(let W of d){let F=O.animes.find(J=>String(J.animeId)===String(W));if(!F||!P.includes(F.source))continue;let V=co(F.animeTitle,F.typeDescription,F.aliases);if(Array.from(V).some(J=>J.startsWith("P")))continue;let j=bi(F.animeTitle,F.typeDescription,F.aliases)||1;Z===j&&k.add(F.animeId)}}let B=await Cie({pAnime:w,availableSecondaries:P,curAnimes:t,groupConsumedIds:g,globalConsumedIds:d,generatedSignatures:l,epFilter:a,groupFingerprint:A,currentPrimarySource:w.source,logPrefix:"[Merge][Phase 2: Standard]",collectionAnimeIds:o,allowReuseIds:k,collectionProgress:c,baseSecondaries:p.baseSecondaries});B&&(u.push(B),g.add(w.animeId),d.add(w.animeId))}}}if(u.length>0){for(let p of u)Lt(p,e);t.unshift(...u)}if(f.size>0)for(let p of t)d.has(p.animeId)&&f.has(p.source)&&d.delete(p.animeId);for(let p=t.length-1;p>=0;p--){let m=t[p];(m._isMerged||d.has(m.animeId))&&t.splice(p,1)}u.length>0?mt("info",`[Merge] \u5408\u5E76\u6267\u884C\u5B8C\u6BD5\uFF0C\u65B0\u589E\u4E86 ${u.length} \u4E2A\u5408\u5E76\u9879\uFF0C\u6700\u7EC8\u5217\u8868\u6570\u91CF: ${t.length}`):mt("info",`[Merge] \u626B\u63CF\u5B8C\u6BD5\uFF0C\u672A\u4EA7\u751F\u4EFB\u4F55\u5408\u5E76\uFF0C\u5217\u8868\u4FDD\u6301\u4E0D\u53D8 (\u6570\u91CF: ${t.length})`)}function Nnt(t){if(t.p&&typeof t.p=="string"){let e=parseFloat(t.p.split(",")[0]);if(!isNaN(e))return e}return t.t!==void 0&&t.t!==null?Number(t.t):typeof t.progress=="number"?t.progress/1e3:0}function Ont(t){if(t){if(typeof t.m=="string")return t.m;if(typeof t.text=="string")return t.text;if(typeof t.content=="string")return t.content}return""}function Pnt(t){return!t||typeof t!="string"?"":t.replace(/[\s.,!?"'(){}\[\]<>;:,。ï¼ï¼Ÿã€""''()ã€ã€‘《》;:~~]/g,"").toLowerCase()}function Bnt(t,e){let r=[...t||[],...e||[]],n=s=>{if(!s)return 0;if(s.t!==void 0&&s.t!==null)return Number(s.t);if(s.p&&typeof s.p=="string"){let i=parseFloat(s.p.split(",")[0]);return isNaN(i)?0:i}return 0};return r.sort((s,i)=>n(s)-n(i)),r}function Mnt(t,e,r,n=.8,s=1){let i=e.indexOf("dandan");if(i===-1||!t[i]?.length)return mt("info","[Merge][AlignTimeline] \u65E0 dandan \u6E90\u6216\u65E0\u6570\u636E\uFF0C\u8DF3\u8FC7\u65F6\u95F4\u8F74\u5BF9\u9F50"),t;let a=t[i],o=a.length,c=new Map;return a.forEach(u=>{let l=Pnt(Ont(u)),d=Nnt(u);l&&(!c.has(l)||d<c.get(l))&&c.set(l,d)}),t.forEach((u,l)=>{let d=e[l];if(d==="dandan"||!u?.length)return;let f=new Map,p=[],m=0;u.forEach(x=>{let v=Pnt(Ont(x)),C=Nnt(x);if(p.push({danmu:x,time:C}),v&&c.has(v)){m++;let R=Math.round(C-c.get(v));f.set(R,(f.get(R)||0)+1)}});let h=0,A=0;f.forEach((x,v)=>{x>A&&(A=x,h=v)});let g=Math.min(o,u.length),b=A/g,y=m>0?A/m:0;if(m/g<n||b<.05||y<.15){mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u5339\u914D\u7387\u6216\u96C6\u4E2D\u5EA6\u8FC7\u4F4E (\u6709\u6548:${(b*100).toFixed(1)}%, \u96C6\u4E2D\u5EA6:${(y*100).toFixed(1)}%)\uFF0C\u8DF3\u8FC7\u5BF9\u9F50`);return}if(Math.abs(h)<s){mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u6700\u4F73\u504F\u79FB ${h}s \u4F4E\u4E8E\u9608\u503C\uFF0C\u65E0\u9700\u5BF9\u9F50`);return}mt("info",`[Merge][AlignTimeline] ${d}:${r[l]} \u5E94\u7528\u504F\u79FB ${h}s (\u83B7 ${A} \u7968)`),p.forEach(({danmu:x,time:v})=>{let C=Math.max(0,v-h);typeof x.p=="string"&&(x.p=x.p.replace(/^[^,]+(?=,)/,C.toFixed(2))),x.t!=null&&(x.t=C),typeof x.progress=="number"&&(x.progress=Math.round(C*1e3))})}),t}Is();function Unt(t,e=Date.now()){let r=Number(t);return Number.isFinite(r)&&r>0?Math.trunc(r):Math.trunc(Number(e)||Date.now())}function J0r(t=""){return PL(eg(t)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function X0r(t=""){let e=String(t||"").trim();if(!e)return"";let r=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(Math.ceil(e.length/4)*4,"=");return Cc(IC(r))}var qnt="6.8.2",Z0r="a_8280",emr="xiaomi",jnt="Redmi Note 12",tmr="Xiaomi",Hnt="14",rmr=`HanjuTV/${qnt} (${jnt}; Android ${Hnt}; Scale/2.00)`,Qnt=14*24*60*60*1e3,Wnt="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Gnt="f349wghhe784tqwh",Vnt="d3w8hf94fidk38lk",nmr="34F9Q53w/HJW8E6Q",$nt="fb3597b87601d5a7";function HT(t){return typeof TextEncoder<"u"?new TextEncoder().encode(t):eg(t)}function smr(t){return typeof TextDecoder<"u"?new TextDecoder().decode(t):Cc(t)}function znt(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function imr(t,e=16){let r=t.length%e,n=r===0?e:e-r,s=new Uint8Array(t.length+n);return s.set(t,0),s.fill(n,t.length),s}function amr(t){return t.replace(/[\u0000-\u001f\u007f-\u009f]/g,"")}function nE(t,e,r){let n=new Uint8Array(16);for(let s=0;s<4;s++)for(let i=0;i<4;i++)n[i+4*s]=t[i+4*s]^e[r*4+s][i];return n}function Fnt(t){let e=new Uint8Array(16);for(let r=0;r<4;r++)for(let n=0;n<4;n++)e[r+4*n]=t[r+4*((n+r)%4)];return e}function Un(t,e){let r=0,n=t,s=e;for(let i=0;i<8;i++){s&1&&(r^=n);let a=n&128;n=n<<1&255,a&&(n^=27),s>>=1}return r}function omr(t){let e=new Uint8Array(16);for(let r=0;r<4;r++){let n=t.slice(4*r,4*r+4);e[4*r+0]=Un(n[0],2)^Un(n[1],3)^n[2]^n[3],e[4*r+1]=n[0]^Un(n[1],2)^Un(n[2],3)^n[3],e[4*r+2]=n[0]^n[1]^Un(n[2],2)^Un(n[3],3),e[4*r+3]=Un(n[0],3)^n[1]^n[2]^Un(n[3],2)}return e}function cmr(t){let e=new Uint8Array(16);for(let r=0;r<4;r++){let n=t.slice(4*r,4*r+4);e[4*r+0]=Un(n[0],14)^Un(n[1],11)^Un(n[2],13)^Un(n[3],9),e[4*r+1]=Un(n[0],9)^Un(n[1],14)^Un(n[2],11)^Un(n[3],13),e[4*r+2]=Un(n[0],13)^Un(n[1],9)^Un(n[2],14)^Un(n[3],11),e[4*r+3]=Un(n[0],11)^Un(n[1],13)^Un(n[2],9)^Un(n[3],14)}return e}function umr(t,e){let r=new Uint8Array(t);r=nE(r,e,0);for(let n=1;n<=9;n++)r=NL(r),r=Fnt(r),r=omr(r),r=nE(r,e,n);return r=NL(r),r=Fnt(r),r=nE(r,e,10),r}function lmr(t,e){let r=new Uint8Array(t);r=nE(r,e,10);for(let n=9;n>=1;n--)r=CC(r),r=vC(r),r=nE(r,e,n),r=cmr(r);return r=CC(r),r=vC(r),r=nE(r,e,0),r}function dmr(t,e,r){let n=imr(t,16),s=OL(e),i=new Uint8Array(n.length),a=new Uint8Array(r);for(let o=0;o<n.length;o+=16){let c=n.slice(o,o+16),u=znt(c,a),l=umr(u,s);i.set(l,o),a=l}return i}function fmr(t,e,r){if(t.length%16!==0)throw new Error(`\u5BC6\u6587\u957F\u5EA6\u4E0D\u662F16\u7684\u500D\u6570: ${t.length}`);let n=OL(e),s=new Uint8Array(t.length),i=new Uint8Array(r);for(let a=0;a<t.length;a+=16){let o=t.slice(a,a+16),c=znt(lmr(o,n),i);s.set(c,a),i=o}return s}async function n4(t,e,r){let n=HT(e),s=HT(r),i=HT(t),a=dmr(i,n,s);return PL(a)}async function pmr(t,e,r){let n=HT(e),s=HT(r),i=IC(t),a=fmr(i,n,s);return smr(a)}function Knt(t){if(globalThis.crypto?.getRandomValues){let e=new Uint8Array(1);return globalThis.crypto.getRandomValues(e),e[0]%t}return Math.floor(Math.random()*t)}function Ynt(t=20){let e="";for(let r=0;r<t;r++)e+=Wnt[Knt(Wnt.length)];return e}function s4(t,e){let r="";for(let n=0;n<e;n++)r+=t[Knt(t.length)];return r}function mmr(t,e=Date.now()){let r=Unt(e);return{uid:t||Ynt(),said:s4("0123456789abcdef",16),oa:s4("0123456789abcdef",16),installTs:Math.max(0,r-Qnt)}}function hmr(t,e){let r=Unt(e,t.installTs+Qnt);return JSON.stringify({emu:0,ou:0,it:t.installTs,iit:t.installTs,bs:0,uid:t.uid,pc:0,tm:81,d8m:"0,0,0,0,0,0,0,4",md:jnt,maker:tmr,osv:Hnt,br:95,rpc:0,scc:2,plc:6,toc:19,tsc:10,ts:r,pa:1,crec:0,nw:2,px:"0",isp:"",ai:t.said,oa:t.oa,dpc:0,dsc:0,qpc:0,apad:0,pk:"com.babycloud.hanju"})}async function Jnt(t=Date.now(),e=Ynt()){let r=mmr(e,t),n=Ls(r.uid),s=await n4(r.uid,Gnt,Vnt);return async function(a=Date.now()){let o=hmr(r,a),c=await n4(o,n.slice(0,16),n.slice(16,32));return{uid:r.uid,headers:{app:"hj",ch:emr,said:r.said,uk:s,vn:qnt,sign:c,"User-Agent":rmr,vc:Z0r,"Accept-Encoding":"gzip",Connection:"Keep-Alive"}}}}async function Xnt(t=Date.now()){let e=s4("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",20),r=s4("0123456789abcdef",16);return async function(s=Date.now()){let i=Ls(e),a=JSON.stringify({emu:0,ou:0,it:t,iit:t,bs:0,uid:e,isp:"",pc:0,tm:50,d8m:"0,0,0,0,0,0,14,7",md:"23127PN0CC",dn:"",osv:"16",br:50,rpc:0,scc:1,plc:1,toc:5,tsc:7,ts:s,nw:2,px:"0",ai:$nt,oa:r,dpc:0,dsc:0,qpc:0,apad:0}),o=await n4(e,Gnt,Vnt),c=await n4(a,i.slice(0,16),i.slice(16,32));return{uid:e,headers:{version:"a_22570","version-name":"1.7.2",channel:"xiaomi","app-type":"ztv","User-Agent":"ZTV/1.7.2 (23127PN0CC; Android 16; Scale/2.00)",said:$nt,di:o,token:"",uid:"",rp:c,"Accept-Encoding":"gzip",Connection:"Keep-Alive"}}}}async function Rie(t,e=""){if(!t||typeof t!="object"||Array.isArray(t)||typeof t.data!="string"||t.data.length===0)return t;let r=t.ts??"",n=typeof t.key=="string"&&t.key?t.key:"";if(!n&&e&&r!==""&&(n=Ls(`${e}${r}`)),!n)throw new Error("\u7F3A\u5C11\u89E3\u5BC6 key\uFF0C\u4E14\u65E0\u6CD5\u901A\u8FC7 uid+ts \u63A8\u5BFC");let s=Ls(`${n}${nmr}`),i=s.slice(0,16),a=s.slice(16,32),o=await pmr(t.data,i,a),c=amr(o).trim();return JSON.parse(c)}function Znt(t=""){let e=String(t||"").trim();return e.startsWith("hanjutv:")?e.slice(8):e}function jT(t="",e=!1){let r=String(t||"").trim();return r?{id:r,preferTv:e,rawId:`${e?"tv":"hxq"}:${r}`}:null}function gmr(t=""){if(!t.startsWith("merge:"))return null;try{let e=X0r(t.slice(6)),r=JSON.parse(e),n=String(r?.hxq||"").trim(),s=String(r?.tv||"").trim();return!n||!s?null:{hxqId:n,tvId:s}}catch{return null}}function est(t="",e=""){let r=String(t||"").trim(),n=String(e||"").trim();return!r||!n?"":`merge:${J0r(JSON.stringify({hxq:r,tv:n}))}`}function tst(t=""){let e=Znt(t);if(!e)return{id:"",preferTv:!1,rawId:"",refs:[]};let r=gmr(e);if(r){let s=[jT(r.hxqId,!1),jT(r.tvId,!0)].filter(Boolean);return{id:s[0]?.id||"",preferTv:!1,rawId:e,refs:s}}if(e.startsWith("tv:")){let s=jT(e.slice(3),!0);return{id:s?.id||"",preferTv:!0,rawId:s?.rawId||"",refs:s?[s]:[]}}if(e.startsWith("hxq:")){let s=jT(e.slice(4),!1);return{id:s?.id||"",preferTv:!1,rawId:s?.rawId||"",refs:s?[s]:[]}}let n=jT(e,!1);return{id:n?.id||"",preferTv:!1,rawId:n?.rawId||"",refs:n?[n]:[]}}function i4(t=""){let e=Znt(t);return e.startsWith("merge:")?"\u97E9\u5C0F\u5708\uFF06\u6781\u901F\u7248":e.startsWith("tv:")?"\u6781\u901F\u7248":"\u97E9\u5C0F\u5708"}St();hn();var wt=class{constructor(){}async search(e){throw new Error("Method 'search' must be implemented")}async getEpisodes(e){throw new Error("Method 'Episodes' must be implemented")}async handleAnimes(e,r,n,s=null,i=null){throw new Error("Method 'handleAnimes' must be implemented")}async getEpisodeDanmu(e){throw new Error("Method 'getEpisodeDanmu' must be implemented")}async getEpisodeDanmuSegments(e){throw new Error("Method 'getEpisodeDanmuSegments' must be implemented")}async getEpisodeSegmentDanmu(e){throw new Error("Method 'getEpisodeSegmentDanmu' must be implemented")}formatComments(e){throw new Error("Method 'formatComments' must be implemented")}async getComments(e,r,n=!1,s=null){if(n)return s&&await s(5,`\u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55\u5206\u7247\u5217\u8868`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55\u5206\u7247\u5217\u8868`),await this.getEpisodeDanmuSegments(e);s&&await s(5,`\u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5F39\u5E55${r}\u5F39\u5E55`);let i=await this.getEpisodeDanmu(e);s&&await s(85,`\u539F\u59CB\u5F39\u5E55 ${i.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`),_("info",`[system] [Base] \u539F\u59CB\u5F39\u5E55 ${i.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`);let a=this.formatComments(i);return s&&await s(100,`\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${a.length} \u6761`),_("info",`[system] [Base] \u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${a.length} \u6761`),MC(a,r)}async getSegmentComments(e,r=null){r&&await r(5,`\u5F00\u59CB\u83B7\u53D6\u5206\u7247\u5F39\u5E55${e.type}\u5F39\u5E55`),_("info",`[system] [Base] \u5F00\u59CB\u83B7\u53D6\u5206\u7247\u5F39\u5E55${e.type}\u5F39\u5E55`);let n=await this.getEpisodeSegmentDanmu(e);r&&await r(85,`\u539F\u59CB\u5206\u7247\u5F39\u5E55 ${n.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`),_("info",`[system] [Base] \u539F\u59CB\u5206\u7247\u5F39\u5E55 ${n.length} \u6761\uFF0C\u6B63\u5728\u89C4\u8303\u5316`);let s=this.formatComments(n);return r&&await r(100,`\u5206\u7247\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${s.length} \u6761`),_("info",`[system] [Base] \u5206\u7247\u5F39\u5E55\u5904\u7406\u5B8C\u6210\uFF0C\u5171 ${s.length} \u6761`),MC(s,e.type)}sortAndPushAnimesByYear(e,r){e.filter(n=>n!==null).sort((n,s)=>{let i=W0(n.animeTitle),a=W0(s.animeTitle);if(i!=null&&a!==null&&a!==void 0){if(a!==i)return a-i;let o=Yz(n.animeTitle),c=Yz(s.animeTitle);return o.length-c.length}return i!=null&&a==null?-1:i==null&&a!=null?1:0}).forEach(n=>{r.findIndex(i=>i.animeId===n.animeId)===-1&&r.push(n)})}};Pt();St();ar();function Pr(t){let e=parseInt(t);return isNaN(e)||e<1900||e>2100?`${new Date().getFullYear()}-01-01T00:00:00Z`:`${e}-01-01T00:00:00Z`}function Cg(t){let e=t.split(":").map(Number),r=0;return e.length===3?r=e[0]*3600+e[1]*60+e[2]:e.length===2?r=e[0]*60+e[1]:r=e[0],r}$n();hn();var QT=class extends wt{async get360Zongyi(e,r,n,s){try{let i=[];for(let a=0;a<=10;a++){let u=(await(await ge(`https://api.so.360kan.com/episodeszongyi?entid=${r}&site=${n}&y=${s}&count=20&offset=${a*20}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data).data.list;if(_("info",`[360kan] 360kan zongyi response: \u7B2C${a}\u9875\u83B7\u53D6\u5230${u?u.length:0}\u6761\u5267\u96C6`),!u)break;for(let l of u){let d=l.name.match(/第(\d+)期([上ä¸ä¸‹])?/)||l.period.match(/第(\d+)期([上ä¸ä¸‹])?/),f=d?d[1]:null;f&&d[2]&&(f=d[2]==="\u4E0A"?`${f}.1`:d[2]==="\u4E2D"?`${f}.2`:`${f}.3`),i.push({name:l.id,url:l.url,title:`\u3010${n}\u3011 ${l.name} ${l.period}`,sort:f||l.sort||null})}_("info",`[360kan] links.length: ${i.length}`)}return i.sort((a,o)=>{if(!a.sort||!o.sort)return 0;let c=parseFloat(a.sort),u=parseFloat(o.sort);return c-u}),i}catch(i){return _("error","[360kan] get360Animes error:",{message:i.message,name:i.name,stack:i.stack}),[]}}async getNumber(e,r,n){try{let s=`https://api.web.360kan.com/v1/detail?cat=${e}&id=${r}&site=${n}`,a=(await ge(s,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data;if(a&&a.data&&a.data.allupinfo)return Number(a.data.allupinfo[n])}catch(s){_("error","[360kan] getNumber error:",s&&s.message?s.message:s)}return null}async get360Detail(e,r,n,s,i){try{let a=`https://api.web.360kan.com/v1/detail?cat=${e}&id=${r}&start=${s}&end=${i}&site=${n}`;return(await ge(a,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data}catch(a){_("error","[360kan] get360Detail error:",a&&a.message?a.message:a)}return null}async getEpisodesV1(e,r,n,s){try{if(!s||Number(s)===0)return[];let i=200,a=1,o=[],c=Number(s);for(;a<=c;){let u=Math.min(a+i-1,c);try{let l=await this.get360Detail(e,r,n,a,u);if(l&&l.data&&l.data.allepidetail&&l.data.allepidetail[n])for(let d of l.data.allepidetail[n])o.push({name:d.playlink_num,url:d.url});else{if(a===1)return[];break}}catch(l){if(_("error",`[360kan] getEpisodesV1 batch ${a}-${u} failed for site ${n}: ${l&&l.message?l.message:l}`),a===1)return[];break}a=u+1}return o}catch(i){return _("error",`getEpisodesV1 error: ${i&&i.message?i.message:i}`),[]}}async getEpisodesV2(e,r,n){try{let s=JSON.stringify([{cat_id:String(e),ent_id:String(r),site:n}]),i=`https://api.so.360kan.com/episodesv2?v_ap=1&s=${encodeURIComponent(s)}`,o=(await ge(i,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data;if(typeof o=="string")try{o=JSON.parse(o)}catch(c){return _("error",`[360kan] getEpisodesV2 JSON parse error: ${c.message}`),[]}if(!o)return[];if(o.code===0&&Array.isArray(o.data)&&o.data.length>0){let c=o.data[0].seriesHTML||{},u=c.seriesPlaylinks||c.series_playlinks||[],l=[];for(let d=0;d<u.length;d++){let f=u[d];if(f){if(typeof f=="string")l.push({name:(d+1).toString(),url:f,sort:(d+1).toString()});else if(typeof f=="object"){let p=f.url,m=d+1;l.push({name:String(m),url:p||""})}}}return l.filter(d=>d.url)}return[]}catch(s){return _("error","[360kan] getEpisodesV2 error:",{message:s&&s.message?s.message:String(s),stack:s&&s.stack?s.stack:void 0}),[]}}async search(e){try{let n=(await ge(`https://api.so.360kan.com/index?force_v=1&kw=${encodeURIComponent(e)}&from=&pageno=1&v_ap=1&tab=all`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})).data,s=[];return"rows"in n.data.longData&&(s=n.data.longData.rows),_("info",`[360kan] 360kan response: ${JSON.stringify(s)}`),_("info",`[360kan] 360kan animes.length: ${s.length}`),s}catch(r){return _("error","[360kan] get360Animes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[360kan] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.titleTxt,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.titleTxt).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[360kan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=[];if(l.cat_name==="\u7535\u5F71")for(let f of Object.keys(l.playlinks))O.vodAllowedPlatforms.includes(f)&&d.push({name:f.toString(),url:l.playlinks[f],title:`\u3010${f}\u3011 ${l.titleTxt}(${l.year})`});else if(l.cat_name==="\u7535\u89C6\u5267"||l.cat_name==="\u52A8\u6F2B"){let f=0;l.cat_name==="\u7535\u89C6\u5267"?f=2:l.cat_name==="\u52A8\u6F2B"&&(f=4);let p=null;if(Array.isArray(l.seriesPlaylinks)&&l.seriesPlaylinks.length>0){if(O.vodAllowedPlatforms.includes(l.seriesSite))for(let m=0;m<l.seriesPlaylinks.length;m++){let h=l.seriesPlaylinks[m],A="";h&&typeof h=="object"?A=h.url||"":typeof h=="string"&&(A=l.playlinks&&l.playlinks[l.seriesSite]?l.playlinks[l.seriesSite]:""),A&&d.push({name:(m+1).toString(),url:A,title:`\u3010${l.seriesSite}\u3011 \u7B2C${m+1}\u96C6`})}}else if(l.playlinks&&typeof l.playlinks=="object"){for(let m of Object.keys(l.playlinks))if(O.vodAllowedPlatforms.includes(m))try{let h=l.en_id,A=await this.getEpisodesV2(f,h,m);if(A&&A.length>0)for(let g of A)d.push({name:g.name,url:g.url,title:`\u3010${m}\u3011 \u7B2C${g.name}\u96C6`,sort:g.name});else try{let g=await this.getNumber(f,h,m);if(g&&Number(g)>0){let b=await this.getEpisodesV1(f,h,m,g);if(b&&b.length>0)for(let y of b)d.push({name:y.name,url:y.url,title:`\u3010${m}\u3011 \u7B2C${y.name}\u96C6`,sort:y.name})}}catch(g){_("error",`[360kan] fallback detail fetch failed for site ${m}: ${g&&g.message?g.message:g}`)}}catch(h){_("error",`[360kan] failed to fetch episodesv2 for site ${m}: ${h&&h.message?h.message:h}`)}}}else l.cat_name==="\u7EFC\u827A"&&(d=(await Promise.all(Object.keys(l.playlinks_year).map(async p=>O.vodAllowedPlatforms.includes(p)?(await Promise.all(l.playlinks_year[p].map(async h=>await this.get360Zongyi(l.titleTxt,l.id,p,h)))).flat():[]))).flat());if(d.length>0){let f={animeId:Number(l.id),bangumiId:String(l.id),animeTitle:`${l.titleTxt}(${l.year})\u3010${l.cat_name}\u3011from 360`,type:l.cat_name,typeDescription:l.cat_name,imageUrl:l.cover,startDate:Pr(l.year),episodeCount:d.length,rating:0,isFavorited:!0,source:"360"};a.push(f),Lt({...f,links:d},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[360kan] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){}formatComments(e){}};Pt();St();ar();$n();hn();var GT=class extends wt{async getVodAnimes(e,r,n){try{let s=$8e(e),i=encodeURIComponent(s),a=await ge(`${r}/api.php/provide/vod/?ac=detail&wd=${i}&pg=1`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});if(a&&a.data&&a.data.list&&a.data.list.length>0){_("info",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u6210\u529F`);let o=a.data;return _("info",`[VOD] ${n} response: \u2193\u2193\u2193`),ts(o),{serverName:n,list:o.list}}else return _("info",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u6210\u529F\uFF0C\u4F46 response.data.list \u4E3A\u7A7A`),{serverName:n,list:[]}}catch(s){return _("error",`[VOD] \u8BF7\u6C42 ${n}(${r}) \u5931\u8D25:`,{message:s.message,name:s.name,stack:s.stack}),{serverName:n,list:[]}}}async getVodAnimesFromAllServersImpl(e,r){let n=r.map(i=>this.getVodAnimes(e,i.url,i.name));return(await Promise.allSettled(n)).filter(i=>i.status==="fulfilled").map(i=>i.value)}async getVodAnimesFromFastestServer(e,r,n=null,s=null){if(!r||r.length===0)return[];let i=r.map(l=>this.getVodAnimes(e,l.url,l.name)),a;try{a=await Promise.race(i)}catch(l){return _("error","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u76F4\u63A5\u629B\u9519",l),[]}let o=l=>!n||s!=="vod"?!0:(JSON.stringify(l)?.toLowerCase()||"").includes(String(n).toLowerCase());if(o(a)&&a&&a.list&&a.list.length>0)return _("info",`[VOD fastest mode] \u6700\u5FEB\u670D\u52A1\u5668 ${a.serverName}${s==="vod"?" \u5B57\u7B26\u4E32\u5305\u542B preferAnimeId \u2192 \u4F18\u5148\u4F7F\u7528":""}`),[a];_("info",`[VOD fastest mode] \u6700\u5FEB\u670D\u52A1\u5668 ${a.serverName} \u4E0D\u542B preferAnimeId\uFF0C\u7B49\u5F85\u5176\u4ED6\u670D\u52A1\u5668\u2026`);let c=await Promise.allSettled(i);if(n){for(let l of c)if(l.status==="fulfilled"&&o(l.value)&&l.value&&l.value.list&&l.value.list.length>0)return _("info",`[VOD fastest mode] \u627E\u5230\u5305\u542B preferAnimeId \u7684\u670D\u52A1\u5668: ${l.value.serverName}`),[l.value];_("info","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u90FD\u4E0D\u5305\u542B preferAnimeId\uFF0C\u56DE\u9000\u5230\u201C\u771F\u6B63\u6709\u6570\u636E\u201D\u7684\u6700\u5FEB\u670D\u52A1\u5668")}let u=c.filter(l=>l.status==="fulfilled").map(l=>l.value).filter(l=>l&&l.list&&l.list.length>0);if(u.length>0){let l=u[0];return _("info",`[VOD fastest mode] \u4F7F\u7528\u6700\u5FEB\u6709\u6570\u636E\u7684\u670D\u52A1\u5668: ${l.serverName}`),[l]}return _("error","[VOD fastest mode] \u6240\u6709\u670D\u52A1\u5668\u5747\u65E0\u6709\u6548\u6570\u636E"),[]}async search(e,r=null,n=null){return!O.vodServers||O.vodServers.length===0?[]:O.vodReturnMode==="fastest"?await this.getVodAnimesFromFastestServer(e,O.vodServers,r,n):await this.getVodAnimesFromAllServersImpl(e,O.vodServers)}async getEpisodes(e){}async handleAnimes(e,r,n,s,i=null,a=null){let o=[];if(!e||!Array.isArray(e))return _("error","[VOD] sourceAnimes is not a valid array"),[];let c=e.filter(d=>yt(d.vod_name,r,a)),u=a!==null?a:$t(r);if(u!==null){let d=c.filter(f=>{let p=Tt(f.vod_name).season;return p===u||u===1&&p===null});d.length>0&&(c=d,_("info",`[VOD] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${u}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l=await Promise.all(c.map(async d=>{try{let f=d.vod_play_from.split("$$$");f=f.map(g=>g==="mgtv"?"imgo":g==="bilibili"?"bilibili1":g);let p=d.vod_play_url.split("$$$"),m=f.map((g,b)=>O.vodAllowedPlatforms.includes(g)?b:-1).filter(g=>g!==-1),h=[],A=0;for(let g of m){let b=f[g],y=p[g].split("#");for(let x of y){let v=x.split("$");A++,h.push({name:A.toString(),url:v[1],title:`\u3010${b}\u3011 ${v[0]}`})}}if(h.length>0){let g={animeId:Number(d.vod_id),bangumiId:String(d.vod_id),animeTitle:`${d.vod_name}(${d.vod_year})\u3010${d.type_name}\u3011from ${s}`,type:d.type_name,typeDescription:d.type_name,imageUrl:d.vod_pic,startDate:Pr(d.vod_year),episodeCount:h.length,rating:0,isFavorited:!0,source:"vod"};o.push(g),Lt({...g,links:h},i),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(f){_("error",`[VOD] Error processing anime: ${f.message}`)}}));return this.sortAndPushAnimesByYear(o,n),l}async getEpisodeDanmu(e){}formatComments(e){}};St();St();ar();Pt();async function rst(t){let e="https://m.douban.com/rexxar/api/v2",r={Referer:"https://m.douban.com/movie/","Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"};O.doubanCookie&&(r.Cookie=O.doubanCookie);try{let n=await ge(`${e}${t}`,{method:"GET",headers:r});return n.status!=200?null:n}catch(n){return _("error","[Utils] [Douban] GET API error:",{message:n.message,name:n.name,stack:n.stack}),null}}async function nst(t,e={}){let r="https://api.douban.com/v2";try{let n=await Vr(`${r}${t}`,JSON.stringify({...e,apikey:"0ac44ae016490db2204ce0a042db2916"}),{method:"GET",headers:{Referer:"https://api.douban.com","Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return n.status!=200?null:n}catch(n){return _("error","[Utils] [Douban] POST API error:",{message:n.message,name:n.name,stack:n.stack}),null}}async function sst(t,e=20){let r=`/search?q=${t}&start=0&count=${e}&type=movie`;return await rst(r)}async function ist(t,e=20){return await nst("/movie/search",{q:t,start:0,count:e})}async function ast(t){let e=`/movie/${t}?for_mobile=1`;return await rst(e)}async function ost(t){let e=`/movie/imdb/${t}`;return await nst(e)}St();ar();async function cst(t){let e="https://api.imdbapi.dev";try{let r=await ge(`${e}${t}`,{method:"GET",headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return r.status!=200?null:r}catch(r){return _("error","[Utils] [IMDB] API error:",{message:r.message,name:r.name,stack:r.stack}),null}}async function ust(t){let e=`/titles/${t}/seasons`;return await cst(e)}async function lst(t,e){let r=`/titles/${t}/episodes?season=${e}`;return await cst(r)}var VT=class extends wt{constructor(e){super("BaseSource"),this.doubanSource=e}async _getDoubanInfo(e,r,n){if(!e)return;let s=await ost(e);if(!s||!s?.data)return;let i=s?.data?.id;if(i){let o=i.split("/").pop(),c=r==="movie"?"\u7535\u5F71":"\u7535\u89C6\u5267";o&&n.push({layout:"subject",target_id:o,type_name:c,target:{cover_url:s.data?.image,title:s.data?.alt_title}})}}async getDoubanIdByTmdbId(e,r){try{let n=[],i=(await ynt(e,r)).data?.imdb_id;if(!i)return[];if(e==="movie")await this._getDoubanInfo(i,e,n);else{let a=await ust(i);_("info","[TMDB] imdb seasons:",a.data.seasons);let o=(a?.data?.seasons??[]).map(async c=>{let u=i;_("info","[TMDB] imdb season:",c.season);try{Number(c.season)!==1&&(u=(await lst(i,c.season)).data?.episodes.find(d=>d.episodeNumber===1)?.id??""),await this._getDoubanInfo(u,e,n)}catch(l){_("error",`[TMDB] \u5904\u7406\u7B2C ${c.season} \u5B63\u5931\u8D25\uFF0C\u7EE7\u7EED\u6267\u884C\u5176\u4ED6\u5B63:`,l)}});await Promise.all(o)}return n}catch(n){return _("error","[TMDB] getTmdbIds error:",{message:n.message,name:n.name,stack:n.stack}),[]}}async search(e){try{let n=(await ZB(e)).data,s=[],i=[];n?.results?.length>0&&(i=n.results.filter(c=>(c.name||c.title)===e)),_("info",`[TMDB] tmdb items.length: ${i.length}`);let a=i.map(async c=>{try{return await this.getDoubanIdByTmdbId(c.media_type,c.id)}catch(u){return _("error",`[TMDB] \u83B7\u53D6 TMDB ID ${c.id} \u7684\u8C46\u74E3 ID \u5931\u8D25\uFF0C\u7EE7\u7EED\u5904\u7406\u5176\u4ED6\u6761\u76EE:`,u),[]}}),o=await Promise.all(a);return s=[...s,...o.flat()],s}catch(r){return _("error","[TMDB] getTmdbAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){return this.doubanSource.handleAnimes(e,r,n,s,i)}async getEpisodeDanmu(e){}formatComments(e){}};St();hn();var zT=class extends wt{constructor(e,r,n,s,i){super("BaseSource"),this.tencentSource=e,this.iqiyiSource=r,this.youkuSource=n,this.bilibiliSource=s,this.miguSource=i}async search(e){try{let n=(await sst(e))?.data;if(!n||!n?.subjects?.items?.length&&!n?.smart_box?.length){_("info","[Douban] searchDoubanTitles failed or empty, trying searchDoubanTitlesByPublic");let a=(await ist(e))?.data;a?.subjects?.length>0&&(n={subjects:{items:a.subjects.map(o=>this.convertToOriginalFormat(o))}})}let s=[];return n?.subjects?.items?.length>0&&(s=[...s,...n.subjects.items]),n?.smart_box?.length>0&&(s=[...s,...n.smart_box]),_("info",`[Douban] douban animes.length: ${s.length}`),s}catch(r){return _("error","[Douban] getDoubanAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}convertToOriginalFormat(e){let n={movie:"\u7535\u5F71",tv:"\u7535\u89C6\u5267"}[e.subtype]||e.subtype,s=e.images?.large||e.images?.medium||e.images?.small||"",i="";if(s){let u=s.match(/\/(p\d+)\.jpg/);u&&u[1]&&(i=`https://qnmob3.doubanio.com/view/photo/large/public/${u[1]}.jpg?imageView2/0/q/80/w/9999/h/120/format/jpg`)}let a=e.directors?.map(u=>u.name).join(" ")||"",o=e.casts?.slice(0,3).map(u=>u.name).join(" ")||"",c=`${e.year} / ${e.genres?.join(" / ")||""} / ${a}${o?" / "+o:""}`;return{layout:"subject",type_name:n,target_id:String(e.id),target:{rating:{count:e.collect_count||0,max:e.rating?.max||10,star_count:e.rating?.stars?parseInt(e.rating.stars)/10:0,value:e.rating?.average||0},controversy_reason:"",title:e.title,abstract:"",has_linewatch:!1,uri:`douban://douban.com/${e.subtype==="movie"?"movie":"tv"}/${e.id}`,cover_url:i,year:String(e.year||""),card_subtitle:c,id:String(e.id),null_rating_reason:""},target_type:e.subtype==="movie"?"movie":"tv"}}async getEpisodes(e){}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Douban] sourceAnimes is not a valid array"),[];let o=e.filter(l=>{let d=l?.target?.title||"";return yt(d,r,i)}),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=d?.target?.title||"",p=Tt(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Douban] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.allSettled(o.map(async l=>{try{if(l?.layout!=="subject")return;let d=l.target_id,f=l?.type_name;if(f!=="\u7535\u5F71"&&f!=="\u7535\u89C6\u5267")return;_("info","[Douban] doubanId: ",d,l?.target?.title,f);let p=await ast(d),m=[];for(let h of p.data?.vendors??[]){if(!h)continue;_("info","[Douban] vendor uri: ",h.uri),p.data?.genres.includes("\u771F\u4EBA\u79C0")?f="\u7EFC\u827A":p.data?.genres.includes("\u7EAA\u5F55\u7247")?f="\u7EAA\u5F55\u7247":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u56FD\u6F2B":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")&&p.data?.countries.includes("\u65E5\u672C")?f="\u65E5\u756A":f==="\u7535\u89C6\u5267"&&p.data?.genres.includes("\u52A8\u753B")?f="\u52A8\u6F2B":f==="\u7535\u5F71"&&p.data?.genres.includes("\u52A8\u753B")?f="\u52A8\u753B\u7535\u5F71":f==="\u7535\u5F71"&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u534E\u8BED\u7535\u5F71":f==="\u7535\u5F71"?f="\u5916\u8BED\u7535\u5F71":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>g.includes("\u4E2D\u56FD"))?f="\u56FD\u4EA7\u5267":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>["\u65E5\u672C","\u97E9\u56FD"].includes(g))?f="\u65E5\u97E9\u5267":f==="\u7535\u89C6\u5267"&&p.data?.countries.some(g=>["\u7F8E\u56FD","\u82F1\u56FD","\u52A0\u62FF\u5927","\u6CD5\u56FD","\u5FB7\u56FD","\u610F\u5927\u5229","\u897F\u73ED\u7259","\u6FB3\u5927\u5229\u4E9A"].includes(g))&&(f="\u6B27\u7F8E\u5267");let A=[{title:p.data?.title,year:p.data?.year,type:f,imageUrl:l?.target?.cover_url}];switch(h.id){case"qq":{let g=new URL(h.uri).searchParams.get("cid");g&&(A[0].provider="tencent",A[0].mediaId=g,await this.tencentSource.handleAnimes(A,p.data?.title,a,s,i));break}case"iqiyi":{let g=new URL(h.uri).searchParams.get("tvid");g&&(A[0].provider="iqiyi",A[0].mediaId=l?.type_name==="\u7535\u5F71"?`movie_${g}`:g,await this.iqiyiSource.handleAnimes(A,p.data?.title,a,s,i));break}case"youku":{let g=new URL(h.uri).searchParams.get("showid");g&&(A[0].provider="youku",A[0].mediaId=g,await this.youkuSource.handleAnimes(A,p.data?.title,a,s,i));break}case"bilibili":{let g=new URL(h.uri).pathname.split("/").pop();g&&(A[0].provider="bilibili",A[0].mediaId=`ss${g}`,await this.bilibiliSource.handleAnimes(A,p.data?.title,a,s,i));break}case"miguvideo":{let g=null,y=decodeURIComponent(h.uri).match(/"contentID":"([^"]+)"/);y&&y[1]&&(g=y[1]),g&&(A[0].provider="migu",A[0].mediaId=`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${g}/1`,await this.miguSource.handleAnimes(A,p.data?.title,a,s,i));break}}}return m}catch(d){return _("error",`[Douban] Error processing anime: ${d.message}`),[]}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){}formatComments(e){}};Pt();St();ar();Is();$n();hn();hs();var qf=null,KT=0,YT=0,zi={search:"WIN",detail:"TV",danmu:"TV"},JT=class extends wt{constructor(){super(),this.isBatchMode=!1}API_CONFIG={TV_SECRET_KEY:"cf65GPholnICgyw1xbrpA79XVkizOdMq",TV_HOST:"api.gorafie.com",TV_DANMU_HOST:"static-dm.qwdjapp.com",TV_VERSION:"1.2.2",TV_USER_AGENT:"okhttp/3.12.13",TV_CLIENT_TYPE:"android_qwtv_RRSP",TV_PKT:"rrmj",MAC_HOST:"api.cluuid.cn",MAC_DANMU_HOST:"static-dm.lequkeji.com",MAC_VERSION:"1.2.3",MAC_USER_AGENT:"%E4%BA%BA%E4%BA%BA%E8%A7%86%E9%A2%91%20for%20Mac/1.0 CFNetwork/3860.600.21 Darwin/25.5.0",MAC_CLIENT_TYPE:"mac_rrsp",WIN_HOST:"api.pleasfun.com",WIN_DANMU_HOST:"static-dm.lequkeji.com",WIN_VERSION:"1.24.2",WIN_USER_AGENT:"Boost.Beast/351",WIN_CLIENT_TYPE:"win_rrsp_gw",WEB_HOST:"api.rrmj.plus",WEB_DANMU_HOST:"static-dm.rrmj.plus"};generateRandomAliId(){let e="aY",r=24-e.length,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=e;for(let i=0;i<r;i++)s+=n.charAt(Math.floor(Math.random()*n.length));return s}generateMacAliId(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let r=Math.random()*16|0;return(e==="x"?r:r&3|8).toString(16).toUpperCase()})}generateWinAliId(){return Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("").toUpperCase()}generateDeviceId(){return Math.random().toString(36).slice(2).toUpperCase()}rotateAliId(){let e=qf;qf=this.generateRandomAliId(),KT=0,YT=Math.floor(Math.random()*31)+30,e?_("info",`[Renren] AliID \u8F6E\u6362\u5B8C\u6210: ${e} -> ${qf}`):_("info",`[Renren] AliID \u521D\u59CB\u5316\u5B8C\u6210: ${qf}`),_("info",`[Renren] AliID \u4E0B\u6B21\u8F6E\u6362\u5C06\u5728 ${YT} \u6B21\u64CD\u4F5C\u540E\u89E6\u53D1`)}checkAndIncrementUsage(){qf||this.rotateAliId(),KT>=YT&&(_("info",`[Renren] AliID \u89E6\u53D1\u9608\u503C (${KT}/${YT})\uFF0C\u6B63\u5728\u8F6E\u6362 ID...`),this.rotateAliId()),KT++,_("info",`[Renren] AliID \u8BA1\u6570\u589E\u52A0: ${KT}/${YT} (\u5F53\u524DID: ...${qf.slice(-6)})`)}getAliId(){return qf||this.rotateAliId(),this.isBatchMode||this.checkAndIncrementUsage(),qf}generateTvHeaders(e,r){let n=this.getAliId();return{clientVersion:this.API_CONFIG.TV_VERSION,p:"Android",deviceid:"tWEtIN7JG2DTDkBBigvj6A%3D%3D",token:"",aliid:n,umid:"",clienttype:this.API_CONFIG.TV_CLIENT_TYPE,pkt:this.API_CONFIG.TV_PKT,t:e.toString(),sign:r,isAgree:"1",et:"2","Accept-Encoding":"gzip","User-Agent":this.API_CONFIG.TV_USER_AGENT}}buildMacHeaders(){return{aliId:this.generateMacAliId(),ct:this.API_CONFIG.MAC_CLIENT_TYPE,cv:this.API_CONFIG.MAC_VERSION,token:"",Accept:"*/*","Accept-Language":"zh-CN,zh-Hans;q=0.9","User-Agent":this.API_CONFIG.MAC_USER_AGENT}}buildWinHeaders(){return{aliId:this.generateWinAliId(),ct:this.API_CONFIG.WIN_CLIENT_TYPE,cv:this.API_CONFIG.WIN_VERSION,token:"","Content-Type":"application/json","User-Agent":this.API_CONFIG.WIN_USER_AGENT}}generateSignature(e,r,n,s,i,a,o,c){let u=`${e.toUpperCase()}
|
|
aliId:${r}
|
|
ct:${n}
|
|
cv:${s}
|
|
t:${i}
|
|
${a}?${o}`;return D8e(c,u)}buildSignedHeaders({method:e,url:r,params:n={},deviceId:s,token:i}){let a={client_type:"web_pc",client_version:"1.0.0",user_agent:"Mozilla/5.0",origin:"https://rrsp.com.cn",referer:"https://rrsp.com.cn/"},o=T8e(r),c=SC(n),u=Date.now(),d=this.generateSignature(e,s,a.client_type,a.client_version,u,o,c,"ES513W0B1CsdUrR13Qk5EgDAKPeeKZY");return{clientVersion:a.client_version,deviceId:s,clientType:a.client_type,t:String(u),aliId:s,umid:s,token:i||"",cv:a.client_version,ct:a.client_type,uet:"9","x-ca-sign":d,Accept:"application/json","User-Agent":a.user_agent,Origin:a.origin,Referer:a.referer}}async fetchStandardDanmu(e,r,n){try{let s=await ge(e,{headers:r,timeout:5e3,validStatusCodes:[404]});if(s.status===404)return s.data&&s.data.error==="Document not found"?[]:(_("info",`[Renren] ${n} \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548`),null);if(!s.data)return null;let i=s.data;return Array.isArray(i)?i:i&&i.data&&Array.isArray(i.data)?i.data:[]}catch(s){return _("info",`[Renren] ${n} \u7AEF\u5F39\u5E55\u62C9\u53D6\u5F02\u5E38: ${s.message}`),null}}async renrenHttpGet(e,{params:r={},headers:n={},validStatusCodes:s=[]}={}){let i=db(e,r);return await ge(i,{headers:n,timeout:5e3,validStatusCodes:s})}async renrenRequest(e,r,n={}){let s=this.generateDeviceId(),i=this.buildSignedHeaders({method:e,url:r,params:n,deviceId:s});return await ge(r+"?"+SC(n),{headers:i,timeout:5e3})}async searchAppContent(e,r=30){try{let n=Date.now(),s="/qwtv/search",i={searchWord:e,num:r,searchNext:"",well:"match"},a=wC(s,n,i,this.API_CONFIG.TV_SECRET_KEY),o=Object.entries(i).map(([f,p])=>`${f}=${encodeURIComponent(p==null?"":String(p))}`).join("&"),c=this.generateTvHeaders(n,a),u=`https://${this.API_CONFIG.TV_HOST}${s}?${o}`,l=await ge(u,{headers:c,timeout:5e3});return!l.data||l.data.code!=="0000"?(_("info",`[Renren] TV\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${l?.data?.code}, msg=${l?.data?.msg}`),null):(l.data.data||[]).map(f=>{let p=[];if(f.highlights&&(f.highlights.alias&&(p=f.highlights.alias.split(",").map(m=>m.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),f.highlights.original_name)){let m=f.highlights.original_name.replace(/<[^>]+>/g,"").trim();m&&!p.includes(m)&&p.push(m)}return{provider:"renren",mediaId:String(f.id),title:String(f.title||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:p,type:f.classify||"Renren",season:null,year:f.year,imageUrl:f.cover,episodeCount:null,currentEpisodeIndex:null}})}catch(n){return _("info","[Renren] searchAppContent error:",n.message),null}}async performMacSearch(e,r=20){try{let n="/search/v5/season",s={keywords:e,order:"match",search_after:"",size:r},i=this.buildMacHeaders(),a=SC(s),o=`https://${this.API_CONFIG.MAC_HOST}${n}?${a}`,c=await ge(o,{headers:i,timeout:5e3});return!c.data||c.data.code!=="0000"?(_("info",`[Renren] Mac\u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${c?.data?.code}`),null):(c.data.data||[]).map(l=>{let d=[];if(l.highlights&&(l.highlights.alias&&(d=l.highlights.alias.split(",").map(f=>f.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),l.highlights.original_name)){let f=l.highlights.original_name.replace(/<[^>]+>/g,"").trim();f&&!d.includes(f)&&d.push(f)}return{provider:"renren",mediaId:String(l.id),title:String(l.title||l.name||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:d,type:l.classify||l.cat||"Renren",season:null,year:l.year||null,imageUrl:l.cover||l.cover3||"",episodeCount:null,currentEpisodeIndex:null}})}catch(n){return _("info","[Renren] performMacSearch error:",n.message),null}}async performWinSearch(e,r=30){try{let n=`https://${this.API_CONFIG.WIN_HOST}/search/comprehensive/precise-mixed`,i=SC({keywords:e,searchAfter:"",size:r}),a=this.buildWinHeaders(),o=await ge(`${n}?${i}`,{headers:a,timeout:5e3});if(!o.data||o.data.code!=="0000")return _("info",`[Renren] Win\u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38: code=${o?.data?.code}`),null;let c=o.data.data||{},u=[],l=c.seasonList||[],d=c.fuzzySeasonList||[],f=c.seriesList||[],p=m=>{let h=[];if(m.highlights&&(m.highlights.alias&&(h=m.highlights.alias.split(",").map(A=>A.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),m.highlights.original_name)){let A=m.highlights.original_name.replace(/<[^>]+>/g,"").trim();A&&!h.includes(A)&&h.push(A)}return{provider:"renren",mediaId:String(m.id),title:String(m.title||m.alias||m.name||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:h,type:m.classify||m.cat||"Renren",season:null,year:m.year||null,imageUrl:m.cover||m.coverUrl,episodeCount:null,currentEpisodeIndex:null}};return l.forEach(m=>u.push(p(m))),d.forEach(m=>u.push(p(m))),f.forEach(m=>{m.seasonList&&Array.isArray(m.seasonList)&&m.seasonList.forEach(h=>{u.push(p(h))})}),u}catch(n){return _("info","[Renren] performWinSearch error:",n.message),null}}async performNetworkSearch(e,{lockRef:r=null,lastRequestTimeRef:n={value:0},minInterval:s=500}={}){try{let i=`https://${this.API_CONFIG.WEB_HOST}/m-station/search/drama`,a={keywords:e,size:20,order:"match",search_after:"",isExecuteVipActivity:!0};if(r){for(;r.value;)await new Promise(f=>setTimeout(f,50));r.value=!0}let c=Date.now()-n.value;c<s&&await new Promise(f=>setTimeout(f,s-c));let u=await this.renrenRequest("GET",i,a);return n.value=Date.now(),r&&(r.value=!1),u.data?(TC(u.data)?.data?.searchDramaList||[]).map(f=>{let p=[];if(f.highlights&&(f.highlights.alias&&(p=f.highlights.alias.split(",").map(m=>m.trim().replace(/<[^>]+>/g,"")).filter(Boolean)),f.highlights.original_name)){let m=f.highlights.original_name.replace(/<[^>]+>/g,"").trim();m&&!p.includes(m)&&p.push(m)}return{provider:"renren",mediaId:String(f.id),title:String(f.title||"").replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"),aliases:p,type:f.classify||"Renren",season:null,year:f.year,imageUrl:f.cover,episodeCount:f.episodeTotal,currentEpisodeIndex:null}}):(_("info","[Renren] \u7F51\u9875\u7248\u641C\u7D22\u65E0\u54CD\u5E94\u6570\u636E"),null)}catch(i){return _("info","[Renren] performNetworkSearch error:",i.message),null}}async search(e){_("info",`[Renren] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=[],n=!1,s=["WIN","TV","MAC","WEB"],i=s.indexOf(zi.search);i===-1&&(i=0);for(let a=i;a<s.length;a++){let o=s[a];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${o} \u7AEF\u63A5\u53E3\u641C\u7D22`);try{let c=null;if(o==="TV")c=await this.searchAppContent(e);else if(o==="MAC")c=await this.performMacSearch(e);else if(o==="WIN")c=await this.performWinSearch(e);else if(o==="WEB"){let u={value:!1},l={value:0};c=await this.performNetworkSearch(e,{lockRef:u,lastRequestTimeRef:l,minInterval:400})}if(c!==null&&Array.isArray(c)){n=!0,r=c,zi.search!==o&&(_("info",`[Renren] \u641C\u7D22\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${zi.search} -> ${o}`),zi.search=o);break}else _("info",`[Renren] ${o} \u7AEF\u641C\u7D22\u63A5\u53E3\u5F02\u5E38\u6216\u8BF7\u6C42\u5931\u8D25\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(c){_("info",`[Renren] ${o} \u7AEF\u641C\u7D22\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${c.message}`)}}return n||(_("info","[Renren] \u641C\u7D22\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5F02\u5E38\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 WIN \u7AEF"),zi.search="WIN"),r}async getAppDramaDetail(e,r=""){try{let n=Date.now(),s="/qwtv/drama/details",i={isAgeLimit:"false",seriesId:String(e),episodeId:String(r),clarity:"HD",caption:"0",hevcOpen:"1"},a=wC(s,n,i,this.API_CONFIG.TV_SECRET_KEY),o=Object.entries(i).map(([f,p])=>`${f}=${encodeURIComponent(p)}`).join("&"),c=this.generateTvHeaders(n,a),u=await ge(`https://${this.API_CONFIG.TV_HOST}${s}?${o}`,{headers:c,timeout:5e3});if(!u||!u.data)return _("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u7F51\u7EDC\u65E0\u54CD\u5E94\u6216\u6570\u636E\u4E3A\u7A7A: ID=${e}`),null;let l=u.data,d=l.msg||l.message||"";return d.includes("\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD")?(_("info",`[Renren] TV\u63A5\u53E3\u63D0\u793A'\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD' (ID=${e})\uFF0C\u89C6\u4E3A\u7EF4\u62A4\u4E2D\uFF0C\u89E6\u53D1\u964D\u7EA7`),null):l.code!=="0000"?(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF\u7801: ${l.code}, msg=${d} (ID=${e})`),null):!l.data||!l.data.episodeList||l.data.episodeList.length===0?l.data?.dramaInfo?.playStatus?.includes("\u5373\u5C06\u5F00\u64AD")?(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u63D0\u793A'\u5373\u5C06\u5F00\u64AD' (ID=${e})\uFF0C\u89C6\u4E3A\u7A7A\u7ED3\u679C`),l.data.episodeList||(l.data.episodeList=[]),l.data):(_("info",`[Renren] TV\u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u7F3A\u5931\u5206\u96C6\u5217\u8868 (ID=${e})\uFF0C\u5C1D\u8BD5\u964D\u7EA7`),null):(_("info",`[Renren] TV\u7AEF\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F: ID=${e}, \u5305\u542B\u96C6\u6570=${l.data.episodeList.length}`),l.data)}catch(n){return _("info","[Renren] getAppDramaDetail error:",n.message),null}}async getGatewayDramaDetail(e,r,n=""){try{let s=Date.now(),i="/qwtv/drama/details",a={isAgeLimit:"false",seriesId:String(r),episodeId:String(n),clarity:"HD",caption:"0",hevcOpen:"1"},o=wC(i,s,a,this.API_CONFIG.TV_SECRET_KEY),c=Object.entries(a).map(([m,h])=>`${m}=${encodeURIComponent(h)}`).join("&"),u=this.generateTvHeaders(s,o),l=`https://${e}${i}?${c}`,d=await ge(l,{headers:u,timeout:5e3});if(!d||!d.data)return _("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u7F51\u7EDC\u65E0\u54CD\u5E94\u6216\u6570\u636E\u4E3A\u7A7A (${e}): ID=${r}`),null;let f=d.data,p=f.msg||f.message||"";return p.includes("\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD")?(_("info",`[Renren] \u63A5\u53E3\u63D0\u793A'\u8BE5\u5267\u6682\u4E0D\u53EF\u64AD' (${e}) (ID=${r})\uFF0C\u89C6\u4E3A\u7EF4\u62A4\u4E2D\uFF0C\u89E6\u53D1\u964D\u7EA7`),null):f.code!=="0000"?(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF\u7801: ${f.code}, msg=${p} (${e}) (ID=${r})`),null):!f.data||!f.data.episodeList||f.data.episodeList.length===0?f.data?.dramaInfo?.playStatus?.includes("\u5373\u5C06\u5F00\u64AD")?(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u63D0\u793A'\u5373\u5C06\u5F00\u64AD' (${e}) (ID=${r})\uFF0C\u89C6\u4E3A\u7A7A\u7ED3\u679C`),f.data.episodeList||(f.data.episodeList=[]),f.data):(_("info",`[Renren] \u8BE6\u60C5\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u7F3A\u5931\u5206\u96C6\u5217\u8868 (${e}) (ID=${r})\uFF0C\u5C1D\u8BD5\u964D\u7EA7`),null):(_("info",`[Renren] \u8DE8\u534F\u8BAE\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F (${e}): ID=${r}, \u5305\u542B\u96C6\u6570=${f.data.episodeList.length}`),f.data)}catch(s){return _("info",`[Renren] getGatewayDramaDetail error (${e}):`,s.message),null}}async getWebDramaDetailFallback(e){let r=`https://${this.API_CONFIG.WEB_HOST}/m-station/drama/page`,n={hsdrOpen:0,isAgeLimit:0,dramaId:String(e),hevcOpen:1};try{let s=await this.renrenRequest("GET",r,n);if(!s.data)return null;let i=TC(s.data);return i&&i.data&&i.data.episodeList&&i.data.episodeList.length>0?(_("info",`[Renren] \u7F51\u9875\u7248\u8BE6\u60C5\u83B7\u53D6\u4E0E\u5206\u96C6\u89E3\u6790\u6210\u529F: ID=${e}, \u5305\u542B\u96C6\u6570=${i.data.episodeList.length}`),i.data):null}catch(s){return _("info",`[Renren] \u7F51\u9875\u7248\u8BE6\u60C5\u8BF7\u6C42\u5931\u8D25: ${s.message}`),null}}async getDetail(e,r=""){let n=null,s=["TV","MAC","WIN","WEB"],i=s.indexOf(zi.detail);i===-1&&(i=0);for(let a=i;a<s.length;a++){let o=s[a];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${o} \u7AEF\u63A5\u53E3\u83B7\u53D6\u8BE6\u60C5\u5206\u96C6 (ID=${e})`);try{if(o==="TV"?n=await this.getAppDramaDetail(String(e),String(r)):o==="MAC"?n=await this.getGatewayDramaDetail(this.API_CONFIG.MAC_HOST,String(e),String(r)):o==="WIN"?n=await this.getGatewayDramaDetail(this.API_CONFIG.WIN_HOST,String(e),String(r)):o==="WEB"&&(n=await this.getWebDramaDetailFallback(String(e))),n)return zi.detail!==o&&(_("info",`[Renren] \u8BE6\u60C5\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${zi.detail} -> ${o}`),zi.detail=o),n;_("info",`[Renren] ${o} \u8BE6\u60C5\u63A5\u53E3\u5931\u8D25\u6216\u65E0\u6570\u636E\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(c){_("info",`[Renren] ${o} \u8BE6\u60C5\u63A5\u53E3\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${c.message}`)}}return _("info","[Renren] \u8BE6\u60C5\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 TV \u7AEF"),zi.detail="TV",null}async getEpisodes(e){let r=await this.getDetail(e);if(!r)return _("info",`[Renren] \u83B7\u53D6\u5206\u96C6\u5931\u8D25: \u8BE6\u60C5\u5BF9\u8C61\u4E3A\u7A7A ID=${e}`),[];if(!r.episodeList||!Array.isArray(r.episodeList))return _("info",`[Renren] \u83B7\u53D6\u5206\u96C6\u5931\u8D25: episodeList \u5B57\u6BB5\u7F3A\u5931\u6216\u975E\u6570\u7EC4 ID=${e}`),[];let n=[],s=String(e);r.episodeList.forEach((a,o)=>{let c=String(a.sid||"").trim();if(!c)return;let u=a.title?String(a.title):`\u7B2C${String(a.episodeNo||o+1).padStart(2,"0")}\u96C6`,l=`${s}-${c}`;n.push({sid:l,order:a.episodeNo||o+1,title:u})});let i=n.map(a=>({provider:"renren",episodeId:a.sid,title:a.title,episodeIndex:a.order,url:null}));if(r.dramaInfo&&(r.dramaInfo.enName&&(i.enName=r.dramaInfo.enName),r.dramaInfo.year&&(i.year=r.dramaInfo.year),r.dramaInfo.dramaType)){let a=r.dramaInfo.dramaType,o=r.dramaInfo.plotType||"";a==="TV"?a="\u7535\u89C6\u5267":a==="MOVIE"?o.includes("\u52A8\u753B")?a="\u5267\u573A\u7248":a="\u7535\u5F71":a==="COMIC"?a="\u52A8\u753B":a==="VARIETY"?a="\u7EFC\u827A":a==="DOCUMENTARY"&&(a="\u7EAA\u5F55\u7247"),i.type=a}return i}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("info","[Renren] sourceAnimes is not a valid array"),[];let o=e.filter(d=>yt(d.title,r,i)?!0:d.aliases&&Array.isArray(d.aliases)?d.aliases.some(f=>yt(f,r,i)):!1),c=i!==null?i:$t(r);if(c!==null){let d=o.filter(f=>{let p=Tt(f.title).season;return p===c||c===1&&p===null});d.length>0&&(o=d,_("info",`[Renren] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l={TV:"TV",MAC:"Mac",WIN:"Win",WEB:"\u7F51\u9875"}[zi.search]||"\u672A\u77E5";_("info",`[Renren] ${l}\u7AEF\u641C\u7D22\u63D0\u53D6\u7ED3\u679C\u6570\u91CF: ${e.length} \u6709\u6548\u7ED3\u679C\u6570\u91CF\uFF1A${o.length}`),this.isBatchMode=!0;try{await Promise.all(o.map(async d=>{try{let f=await this.getEpisodes(d.mediaId),p=[];for(let m of f)p.push({name:m.episodeIndex.toString(),url:m.episodeId,title:`\u3010${m.provider}\u3011 ${m.title}`});if(p.length>0){let m=d.aliases||[];f.enName&&!m.includes(f.enName)&&m.push(f.enName);let h=f.year||d.year||"",A=f.type||(d.type&&d.type!=="Renren"?d.type:"Renren"),g={animeId:Number(d.mediaId),bangumiId:String(d.mediaId),animeTitle:`${d.title}(${h})\u3010${A}\u3011from renren`,aliases:m,type:A,typeDescription:A,imageUrl:d.imageUrl,startDate:Pr(h),episodeCount:p.length,rating:0,isFavorited:!0,source:"renren"};a.push(g),Lt({...g,links:p},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(f){_("info",`[Renren] Error processing anime: ${f.message}`)}}))}finally{this.isBatchMode=!1,this.checkAndIncrementUsage()}return this.sortAndPushAnimesByYear(a,n),a}async getAppDanmu(e){try{let r=Date.now(),n=e;String(e).includes("-")&&(n=String(e).split("-")[1]);let s=`/v1/produce/danmu/EPISODE/${n}`,a=wC(s,r,{},this.API_CONFIG.TV_SECRET_KEY),o=this.generateTvHeaders(r,a),c=`https://${this.API_CONFIG.TV_DANMU_HOST}${s}`,u=await ge(c,{headers:o,timeout:5e3,validStatusCodes:[404]});if(u.status===404)return u.data&&u.data.error==="Document not found"?[]:(_("info","[Renren] TV \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548"),null);if(!u.data)return null;let l=TC(u.data);return Array.isArray(l)?l:l&&l.data&&Array.isArray(l.data)?l.data:[]}catch(r){return _("info","[Renren] getAppDanmu error:",r.message),null}}async getMacDanmu(e){let r=String(e).includes("-")?String(e).split("-")[1]:e,n=`https://${this.API_CONFIG.MAC_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,s={"User-Agent":this.API_CONFIG.MAC_USER_AGENT,Accept:"*/*"};return this.fetchStandardDanmu(n,s,"MAC")}async getWinDanmu(e){let r=String(e).includes("-")?String(e).split("-")[1]:e,n=`https://${this.API_CONFIG.WIN_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,s={"User-Agent":this.API_CONFIG.WIN_USER_AGENT};return this.fetchStandardDanmu(n,s,"WIN")}async getWebDanmuFallback(e){let r=e;String(e).includes("-")&&(r=String(e).split("-")[1]);let n={user_agent:"Mozilla/5.0",origin:"https://rrsp.com.cn",referer:"https://rrsp.com.cn/"},s=`https://${this.API_CONFIG.WEB_DANMU_HOST}/v1/produce/danmu/EPISODE/${r}`,i={Accept:"application/json","User-Agent":n.user_agent,Origin:n.origin,Referer:n.referer};try{let a=await this.renrenHttpGet(s,{headers:i,validStatusCodes:[404]});if(a.status===404)return a.data&&a.data.error==="Document not found"?[]:(_("info","[Renren] WEB \u5F39\u5E55\u63A5\u53E3\u8FD4\u56DE\u672A\u77E5 404 \u54CD\u5E94\uFF0C\u7591\u4F3C\u63A5\u53E3\u5931\u6548"),null);if(!a.data)return null;let o=TC(a.data),c=[];return Array.isArray(o)?c=o:o?.data&&Array.isArray(o.data)&&(c=o.data),c}catch(a){return _("info",`[Renren] \u7F51\u9875\u7248\u5F39\u5E55\u964D\u7EA7\u5931\u8D25: ${a.message}`),null}}async getEpisodeDanmu(e){let r=0;if(String(e).includes("-")){let[o,c]=String(e).split("-"),u=await this.getDetail(o,c);if(u&&u.watchInfo){let l=u.watchInfo.m3u8||u.watchInfo.tria4kPlayInfo||{},d=parseInt(l.startingLength)||0,f=parseInt(l.openingLength)||0;r=d>0?d:f>0?f:0}}let n=null,s=["TV","MAC","WIN","WEB"],i=s.indexOf(zi.danmu);i===-1&&(i=0);for(let o=i;o<s.length;o++){let c=s[o];_("info",`[Renren] \u5C1D\u8BD5\u4F7F\u7528 ${c} \u7AEF\u63A5\u53E3\u83B7\u53D6\u5F39\u5E55`);try{if(c==="TV"?n=await this.getAppDanmu(e):c==="MAC"?n=await this.getMacDanmu(e):c==="WIN"?n=await this.getWinDanmu(e):c==="WEB"&&(n=await this.getWebDanmuFallback(e)),n!==null&&Array.isArray(n))return zi.danmu!==c&&(_("info",`[Renren] \u5F39\u5E55\u57DF\u63A5\u53E3\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${zi.danmu} -> ${c}`),zi.danmu=c),n.length>0?_("info",`[Renren] \u6210\u529F\u83B7\u53D6 ${n.length} \u6761\u5F39\u5E55 (${c}\u7AEF)`):_("info",`[Renren] \u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55 (${c}\u7AEF)`),n.adDurationMs=r,n.episodeId=e,n;_("info",`[Renren] ${c} \u5F39\u5E55\u63A5\u53E3\u5931\u8D25\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(u){_("info",`[Renren] ${c} \u5F39\u5E55\u63A5\u53E3\u5F02\u5E38\uFF0C\u89E6\u53D1\u964D\u7EA7: ${u.message}`)}}_("info","[Renren] \u5F39\u5E55\u57DF\u6240\u6709\u964D\u7EA7\u63A5\u53E3\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3 TV \u7AEF"),zi.danmu="TV";let a=[];return a.adDurationMs=r,a.episodeId=e,a}async getEpisodeDanmuSegments(e){return new vt({type:"renren",segmentList:[{type:"renren",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}parseRRSPPFields(e){let r=String(e).split(","),n=(l,d,f)=>{if(l==null||l==="")return f;let p=d(l);return isNaN(p)?f:p},s=n(r[0],parseFloat,0),i=n(r[1],l=>parseInt(l,10),1),a=n(r[2],l=>parseInt(l,10),25),o=n(r[3],l=>parseInt(l,10),16777215),c=r[6]||"",u=r[7]||`${s}:${c}`;return{timestamp:s,mode:i,size:a,color:o,userId:c,contentId:u}}formatComments(e){let r=e.adDurationMs||0,n=e.episodeId||"\u672A\u77E5",s=r/1e3,i=0,a=e.map(o=>{let c=String(o.d||"");if(!c&&o.content&&(c=String(o.content)),!c)return null;if(o.p){let u=this.parseRRSPPFields(o.p),l=u.timestamp-s;return l<0?(i++,null):{cid:Number(u.contentId)||0,p:`${l.toFixed(2)},${u.mode},${u.color},[renren]`,m:c,t:l}}return null}).filter(Boolean);return r>0&&_("info",`[Renren] \u8BC6\u522B\u5230\u524D\u7F6E\u5E7F\u544A(${r}ms)\uFF0C\u5DF2\u81EA\u52A8\u504F\u79FB\u65F6\u95F4\u8F74\u3002\u6210\u529F\u8F6C\u6362 ${a.length} \u6761\uFF0C\u5254\u9664\u65E0\u6548\u5F39\u5E55 ${i} \u6761 (ID=${n})`),a}};Pt();St();ar();Is();$n();hn();hs();var Amr={1:"\u97E9\u5267",2:"\u7EFC\u827A",3:"\u7535\u5F71",4:"\u65E5\u5267",5:"\u7F8E\u5267",6:"\u6CF0\u5267",7:"\u56FD\u4EA7\u5267"},Ig=1e8,dst=6e4,As=Object.freeze({HXQ:"hxq",TV:"tv",MERGED:"merged"}),XT=class extends wt{constructor(){super(),this.appHost="https://hxqapi.hiyun.tv",this.tvHost="https://api.xiawen.tv",this.fallbackDanmuHost="https://hxqapi.zmdcq.com",this.danmuHosts=Array.from(new Set([this.appHost,this.fallbackDanmuHost])),this.defaultRefer="2JGztvGjRVpkxcr0T4ZWG2k+tOlnHmDGUNMwAGSeq548YV2FMbs0h0bXNi6DJ00L",this.danmuUserAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",this.appUserAgent="HanjuTV/6.8.2 (Redmi Note 12; Android 14; Scale/2.00)",this._mobileMakeHeaders=null,this._tvMakeHeaders=null,this._mobileWarmupPromise=null,this._mobileWarmupAttempted=!1}getDanmuHeaders(){return{"Content-Type":"application/json","User-Agent":this.danmuUserAgent}}getAppHeaders(){return{vc:"a_8280",vn:"6.8.2",ch:"xiaomi",app:"hj","User-Agent":this.appUserAgent,"Accept-Encoding":"gzip"}}getCategory(e){return Amr[e]||"\u5176\u4ED6"}async buildTvHeaders(){return this._tvMakeHeaders||(this._tvMakeHeaders=await Xnt(Date.now())),this._tvMakeHeaders(Date.now())}async buildMobileHeaders(){return this._mobileMakeHeaders||(this._mobileMakeHeaders=await Jnt(Date.now())),this._mobileMakeHeaders(Date.now())}async tvGet(e,r={}){let n=await this.buildTvHeaders(),s=await ge(`${this.tvHost}${e}`,{headers:n.headers,timeout:1e4,retries:1,...r});return Rie(s?.data,n.uid)}logError(e,r){_("error",`[Hanjutv] ${e}:`,{message:r.message,name:r.name,stack:r.stack})}attachDanmuSourceLabel(e=[],r=""){let n=i4(r);return Array.isArray(e)?e.map(s=>({...s,_sourceLabel:n})):[]}async tryGet(e,r,n){try{return await e()}catch(s){return n&&_("warn",`${n}: ${s.message}`),r}}normalizeSearchItems(e=[]){return Array.isArray(e)?e.map(r=>{if(!r||typeof r!="object")return null;let n=r.sid||r.seriesId||r.id||r.series_id,s=r.name||r.title||r.seriesName||r.showName;if(!n||!s)return null;let i=typeof r.image=="object"&&r.image!==null?r.image:{},a=i.thumb||i.poster||i.url||r.thumb||r.poster||"";return{...r,sid:String(n),name:String(s),image:{...i,thumb:a}}}).filter(Boolean):[]}normalizeEpisodes(e=[]){return Array.isArray(e)?e.map((r,n)=>{if(!r||typeof r!="object")return null;let s=r.pid||r.eid||r.id||r.programId||r.episodeId;if(!s)return null;let i=r.serialNo??r.serial_no??r.sort??r.sortNo??r.num??r.episodeNo??n+1,a=Number(i),o=r.pid||r.programId||r.episodeId||r.id||"",c=r.eid||r.id||r.episodeId||"";return{...r,episodeId:String(s),pid:o?String(o):"",eid:c?String(c):"",serialNo:Number.isFinite(a)&&a>0?a:n+1,title:r.title||r.name||r.programName||r.episodeTitle||""}}).filter(Boolean).sort((r,n)=>r.serialNo-n.serialNo):[]}normalizeHxqEpisodes(e=[]){return this.normalizeEpisodes(e).filter(r=>r.pid).map(r=>({...r,pid:String(r.pid)}))}normalizeTvEpisodes(e=[]){return this.normalizeEpisodes(e).filter(r=>r.eid||r.episodeId).map(r=>({...r,eid:String(r.eid||r.episodeId)}))}extractSearchItems(e){let r=e?.seriesData?.seriesList||e?.seriesList||e?.seriesData?.series||[];return this.normalizeSearchItems(r)}dedupeBySid(e=[]){let r=new Map;for(let n of e){if(!n?.sid)continue;let s=String(n.sid);r.has(s)||r.set(s,n)}return Array.from(r.values())}isMergeableSearchPair(e,r,n=""){return!e?.name||!r?.name||n&&(!yt(e.name,n)||!yt(r.name,n))?!1:yt(e.name,r.name)&&yt(r.name,e.name)}buildSearchCandidate(e,r,n=""){if(!e?.sid)return null;let s=String(e.sid),i=String(n||"").trim(),a=r===As.MERGED?Yr(`hxq:${s}|tv:${i}`):Yr(s);return{...e,animeId:a,_variant:r,...i?{tvSid:i}:{}}}mergeSearchCandidates(e,r=[],n=[]){let s=this.dedupeBySid(r),i=this.dedupeBySid(n),a=p=>{let m=[],h=[];for(let A of p)(yt(A?.name||"",e)?m:h).push(A);return{matched:m,unmatched:h}},o=a(s),c=a(i),u=o.matched.length+c.matched.length>0,l=[],d=new Set;for(let p of o.matched){let m=c.matched.find(h=>!d.has(String(h.sid))&&this.isMergeableSearchPair(p,h,e));m?(d.add(String(m.sid)),l.push(this.buildSearchCandidate(p,As.MERGED,m.sid))):l.push(this.buildSearchCandidate(p,As.HXQ))}c.matched.filter(p=>!d.has(String(p.sid))).forEach(p=>{l.push(this.buildSearchCandidate(p,As.TV))}),u?l.push(...o.unmatched.map(p=>this.buildSearchCandidate(p,As.HXQ)).filter(Boolean),...c.unmatched.map(p=>this.buildSearchCandidate(p,As.TV)).filter(Boolean)):l.push(...s.map(p=>this.buildSearchCandidate(p,As.HXQ)).filter(Boolean),...i.map(p=>this.buildSearchCandidate(p,As.TV)).filter(Boolean));let f=p=>p.map(m=>m.name);return{resultList:l,stats:{s5Total:s.length,s5Matched:o.matched.length,tvTotal:i.length,tvMatched:c.matched.length,mergedCount:u?l.filter(p=>p?._variant===As.MERGED).length:0,s5MatchedList:f(o.matched),s5UnmatchedList:f(o.unmatched),tvMatchedList:f(c.matched),tvUnmatchedList:f(c.unmatched)}}}async extractFromPayload(e,r,n){if(!e||typeof e!="object")throw new Error(`${n} \u54CD\u5E94\u4E3A\u7A7A`);if(typeof e.data=="string"&&e.data.length>0){let i;try{i=await Rie(e,r)}catch(o){throw new Error(`${n} \u54CD\u5E94\u89E3\u5BC6\u5931\u8D25: ${o.message}`)}let a=this.extractSearchItems(i);if(a.length===0)throw new Error(`${n} \u89E3\u5BC6\u540E\u65E0\u6709\u6548\u7ED3\u679C`);return a}let s=this.extractSearchItems(e);if(s.length===0)throw new Error(`${n} \u65E0\u6709\u6548\u7ED3\u679C`);return s}async warmupMobileIdentity(e){try{await ge(`${this.appHost}/api/common/configs`,{headers:e,timeout:8e3,retries:0})}catch{}}async ensureMobileIdentityWarmed(){if(this._mobileWarmupAttempted){await this._mobileWarmupPromise;return}this._mobileWarmupAttempted=!0,this._mobileWarmupPromise=(async()=>{let e=await this.buildMobileHeaders();await this.warmupMobileIdentity(e.headers)})(),await this._mobileWarmupPromise}async searchWithS5Api(e){await this.ensureMobileIdentityWarmed();let{uid:r,headers:n}=await this.buildMobileHeaders(),s=encodeURIComponent(e),i=await ge(`https://hxqapi.hiyun.tv/api/search/s5?k=${s}&srefer=search_input&type=0&page=1`,{headers:n,timeout:1e4,retries:1});return this.extractFromPayload(i?.data,r,"s5")}async searchWithTvApi(e){let r=encodeURIComponent(e),n=await this.buildTvHeaders(),s=await ge(`https://api.xiawen.tv/api/v1/aggregate/search?key=${r}&scope=101&page=1`,{headers:n.headers,timeout:1e4,retries:1});return this.extractFromPayload(s?.data,n.uid,"tv")}async search(e){try{let r=String(e||"").trim();if(!r)return[];let[n,s]=await Promise.all([this.tryGet(()=>this.searchWithS5Api(r),[],"[Hanjutv] s5 \u641C\u7D22\u5931\u8D25"),this.tryGet(()=>this.searchWithTvApi(r),[],"[Hanjutv] TV \u641C\u7D22\u5931\u8D25")]),{resultList:i,stats:a}=this.mergeSearchCandidates(r,n,s),o=a.s5Matched+a.tvMatched;return i.length>0&&o===0?(_("warn",`[Hanjutv] \u6240\u6709\u5019\u9009\u5747\u672A\u547D\u4E2D\u5173\u952E\u8BCD\uFF0C\u4E22\u5F03\u7591\u4F3C\u63A8\u8350\u6D41\u7ED3\u679C: ${r}`),[]):i.length===0?(_("info","[Hanjutv] hanjutvSearchresp: s5 \u4E0E TV \u63A5\u53E3\u5747\u65E0\u6709\u6548\u7ED3\u679C"),[]):(_("info",`[Hanjutv] \u641C\u7D22\u5019\u9009\u7EDF\u8BA1 s5MatchedList=${JSON.stringify(a.s5MatchedList)}, s5UnmatchedList=${JSON.stringify(a.s5UnmatchedList)}, tvMatchedList=${JSON.stringify(a.tvMatchedList)}, tvUnmatchedList=${JSON.stringify(a.tvUnmatchedList)}`),_("info",`[Hanjutv] \u641C\u7D22\u5019\u9009\u7EDF\u8BA1 s5=${a.s5Total}(\u547D\u4E2D${a.s5Matched}), tv=${a.tvTotal}(\u547D\u4E2D${a.tvMatched}), merged=${a.mergedCount}`),_("info",`[Hanjutv] \u641C\u7D22\u627E\u5230 ${i.length} \u4E2A\u6709\u6548\u7ED3\u679C`),i.filter(Boolean))}catch(r){return this.logError("getHanjutvAnimes error",r),[]}}async getSeriesDetail(e,r,n,s){try{let i=String(e||"").trim();if(!i)return null;let a=await this.tryGet(()=>r(i),null,s);return a||(_("info",`[Hanjutv] ${n}: series \u4E0D\u5B58\u5728`),null)}catch(i){return this.logError(s,i),null}}async getHxqDetail(e){return this.getSeriesDetail(e,async r=>(await ge(`${this.appHost}/api/series/detail?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data?.series??null,"getHanjutvHxqDetail","getHanjutvHxqDetail error")}async getTvDetail(e){return this.getSeriesDetail(e,async r=>(await this.tvGet(`/api/v1/series/detail/query?sid=${r}`))?.series??null,"getHanjutvTvDetail","getHanjutvTvDetail error")}async getHxqEpisodes(e){try{let r=String(e||"").trim();if(!r)return[];let n=[async()=>{let i=await ge(`${this.appHost}/api/series/detail?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1});return this.normalizeHxqEpisodes(Array.isArray(i?.data?.playItems)?i.data.playItems:[])},async()=>{let a=(await ge(`${this.appHost}/api/series2/episodes?sid=${r}&refer=${encodeURIComponent(this.defaultRefer)}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data;return this.normalizeHxqEpisodes(a?.programs||a?.episodes||a?.qxkPrograms||[])},async()=>{let a=(await ge(`${this.appHost}/api/series/programs_v2?sid=${r}`,{headers:this.getAppHeaders(),timeout:1e4,retries:1}))?.data;return this.normalizeHxqEpisodes([...Array.isArray(a?.programs)?a.programs:[],...Array.isArray(a?.qxkPrograms)?a.qxkPrograms:[]])}],s=[];for(let i of n){if(s.length>0)break;s=await this.tryGet(i,[])}return s.length===0?(_("info","[Hanjutv] getHanjutvHxqEpisodes: episodes \u4E0D\u5B58\u5728"),[]):s.sort((i,a)=>i.serialNo-a.serialNo)}catch(r){return this.logError("getHanjutvHxqEpisodes error",r),[]}}async getTvEpisodes(e){try{let r=String(e||"").trim();if(!r)return[];let n=await this.tryGet(async()=>{let s=await this.tvGet(`/api/v1/series/detail/query?sid=${r}`);return this.normalizeTvEpisodes(s?.episodes||[])},[],"getHanjutvTvEpisodes error");return n.length===0?(_("info","[Hanjutv] getHanjutvTvEpisodes: episodes \u4E0D\u5B58\u5728"),[]):n.sort((s,i)=>s.serialNo-i.serialNo)}catch(r){return this.logError("getHanjutvTvEpisodes error",r),[]}}resolveAnimeYear(e,...r){let n=[e?.updateTime,e?.publishTime,...r.map(s=>s?.updateTime),...r.map(s=>s?.publishTime)];for(let s of n){if(!s)continue;let a=new Date(s).getFullYear();if(Number.isFinite(a)&&a>1900)return a}return new Date().getFullYear()}buildEpisodeTitle(e,r=""){let n=String(r||"").trim();return n?`\u7B2C${e}\u96C6\uFF1A${n}`:`\u7B2C${e}\u96C6`}buildEpisodeLink(e,r){let n=e?.serialNo??r?.serialNo??1,s=this.buildEpisodeTitle(n,e?.title||r?.title||""),i="";if(e?.pid&&r?.eid){let a=est(e.pid,r.eid);i=a?`hanjutv:${a}`:""}else e?.pid?i=`hxq:${e.pid}`:r?.eid&&(i=`tv:${r.eid}`);return i?{name:s,url:i,title:`\u3010hanjutv\u3011 ${s}`}:null}mergeVariantEpisodes(e=[],r=[]){let n=new Map(e.map(a=>[Number(a.serialNo),a])),s=new Map(r.map(a=>[Number(a.serialNo),a]));return Array.from(new Set([...n.keys(),...s.keys()])).filter(Number.isFinite).sort((a,o)=>a-o).map(a=>this.buildEpisodeLink(n.get(a),s.get(a))).filter(Boolean)}buildAnimeSummary(e,r,n,s){let i=this.getCategory(r?.category??e?.category),a=this.resolveAnimeYear(e,r);return{animeId:s,bangumiId:String(s),animeTitle:`${e.name}(${a})\u3010${i}\u3011from hanjutv`,type:i,typeDescription:i,imageUrl:e?.image?.thumb||"",startDate:Pr(a),episodeCount:n.length,rating:Number(r?.rank??0),isFavorited:!0,source:"hanjutv"}}async getHxqBundle(e){if(!e)return{detail:null,episodes:[]};let[r,n]=await Promise.all([this.getHxqDetail(e),this.getHxqEpisodes(e)]);return{detail:r,episodes:n}}async getTvBundle(e){if(!e)return{detail:null,episodes:[]};let[r,n]=await Promise.all([this.getTvDetail(e),this.getTvEpisodes(e)]);return{detail:r,episodes:n}}async buildAnimePayload(e){let r=e?._variant||As.HXQ,n=String(e?.sid||"").trim(),s=String(e?.tvSid||"").trim(),i=s||(r===As.TV?n:""),a=Number(e?.animeId),o=r===As.MERGED&&n&&s?Number.isFinite(a)&&a>0?a:Yr(`hxq:${n}|tv:${s}`):null,c=(r===As.HXQ||r===As.MERGED)&&n,u=(r===As.TV||r===As.MERGED)&&i,[l,d]=await Promise.all([c?this.getHxqBundle(n):Promise.resolve({detail:null,episodes:[]}),u?this.getTvBundle(i):Promise.resolve({detail:null,episodes:[]})]);if(r===As.MERGED&&n&&s){let f=this.mergeVariantEpisodes(l.episodes,d.episodes);if(f.length>0){let p=l.detail?.category?l.detail:d.detail?.category?d.detail:l.detail||d.detail;return{summary:this.buildAnimeSummary(e,p,f,o),links:f}}}if((r===As.HXQ||r===As.MERGED)&&n){let f=l.episodes.map(p=>this.buildEpisodeLink(p,null)).filter(Boolean);if(f.length>0)return{summary:this.buildAnimeSummary(e,l.detail,f,o??Yr(n)),links:f}}if((r===As.TV||r===As.MERGED)&&i){let f=d.episodes.map(p=>this.buildEpisodeLink(null,p)).filter(Boolean);if(f.length>0)return{summary:this.buildAnimeSummary(e,d.detail,f,o??Yr(i)),links:f}}return null}async handleAnimes(e,r,n,s=null,i=null){if(!Array.isArray(e))return _("error","[Hanjutv] sourceAnimes is not a valid array"),[];let a=[],o=e.filter(u=>yt(u.name,r,i)),c=i!==null?i:$t(r);if(c!==null){let u=o.filter(l=>{let d=Tt(l.name).season;return d===c||c===1&&d===null});u.length>0&&(o=u,_("info",`[Hanjutv] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}return await Promise.all(o.map(async u=>{try{let l=await this.buildAnimePayload(u);if(!l||!l.summary||!Array.isArray(l.links)||l.links.length===0)return;a.push(l.summary),Lt({...l.summary,links:l.links},s),O.animes.length>O.MAX_ANIMES&&Ft()}catch(l){_("error",`[Hanjutv] Error processing anime: ${l.message}`)}})),this.sortAndPushAnimesByYear(a,n),a}async fetchEpisodeDanmuByRef(e){let r=String(e?.id||"").trim();if(!r)return[];let n=[];if(!e.preferTv){let s=this.getDanmuHeaders();for(let i of this.danmuHosts){let a=[];try{let o=0,c=0,u=dst,l=0,d=240;for(;c<Ig&&l<d;){let f=await ge(`${i}/api/danmu/playItem/list?pid=${r}&prevId=${o}&fromAxis=${c}&toAxis=${u}&offset=0`,{headers:s,timeout:1e4,retries:1});l++;let p=Array.isArray(f?.data?.danmus)?f.data.danmus:[];p.length>0&&a.push(...p);let m=Number(f?.data?.more??0)===1||f?.data?.more===!0||f?.data?.more==="1",h=Number(f?.data?.nextAxis??Ig),A=Number(f?.data?.lastId??o);if(!Number.isFinite(h)||h<=c||h>=Ig)break;if(Number.isFinite(A)&&A>o&&(o=A),c=h,!m){if(p.length===0)break;u=c+dst}}if(a.length>0){n=a;break}}catch(o){if(this.logError(`fetchHanjutvEpisodeDanmu(\u97E9\u5C0F\u5708\u5F39\u5E55:${i})`,o),a.length>0){n=a;break}}}}if(n.length===0){let s=0,i=0,a=0,o=120;for(;i<Ig&&a<o;)try{let c=await this.tvGet(`/api/v1/bulletchat/episode/get?eid=${r}&prevId=${s}&fromAxis=${i}&toAxis=${Ig}&offset=0`);a++;let u=Array.isArray(c?.bulletchats)?c.bulletchats:[];u.length>0&&n.push(...u);let l=Number(c.more??0)===1||c.more===!0||c.more==="1",d=Number(c.nextAxis??Ig),f=Number(c.lastId??s);if(!Number.isFinite(d)||d<=i||d>=Ig||(Number.isFinite(f)&&f>s&&(s=f),i=d,l||(s=0),u.length===0&&!l))break}catch(c){this.logError("fetchHanjutvEpisodeDanmu(TV\u7AEF)",c);break}}return n}async getEpisodeDanmu(e){let r=tst(e),n=Array.isArray(r?.refs)?r.refs.filter(i=>i?.id):[];if(n.length===0)return[];if(n.length===1){let i=await this.fetchEpisodeDanmuByRef(n[0]);return this.attachDanmuSourceLabel(i,n[0].rawId)}return(await Promise.all(n.map(async i=>{let a=await this.fetchEpisodeDanmuByRef(i);return this.attachDanmuSourceLabel(a,i.rawId)}))).flat()}async getEpisodeDanmuSegments(e){return _("info","[Hanjutv] \u83B7\u53D6\u97E9\u5267TV\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"hanjutv",duration:0,segmentList:[{type:"hanjutv",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>({cid:Number(r.did),p:`${(r.t/1e3).toFixed(2)},${r.tp===2?5:r.tp},${Number(r.sc)},[${r._sourceLabel||"hanjutv"}]`,m:r.con,t:r.t/1e3,like:r.lc,_sourceLabel:r._sourceLabel}))}};Pt();St();ar();$n();no();hn();hs();var Tg=class extends wt{async search(e){try{let r=[];O.useBangumiData&&(r=await Au(e,["gamer","gamer_hk"]),_("info",`[Bahamut] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`));let n=r.filter(p=>p.video_sn);if(r.length>0&&r.length===n.length)return _("info","[Bahamut] Bangumi-Data \u672C\u5730\u547D\u4E2D\u5747\u542B video_sn\uFF0C\u542F\u7528\u6570\u636E\u6E90\u76F4\u901A\u6A21\u5F0F\uFF08\u8DF3\u8FC7\u641C\u7D22\u63A5\u53E3\uFF09"),r.map(p=>{let h=(p.titles.find(A=>A&&A.includes(e))||p.titles[1]||p.title)+(p.titleSuffix||"");return{video_sn:parseInt(p.video_sn),title:h,_displayTitle:h,isLocalPriority:!0,aliases:[...p.titles],_typeStr:p.typeStr,_fromDataSourceDirectHit:!0,_originalQuery:e,_bangumiBegin:p.begin||null}});let s=Ro(e),i=e,a=encodeURIComponent(s);_("info",`[Bahamut] \u539F\u59CB\u641C\u7D22\u8BCD: ${e}`),_("info",`[Bahamut] \u5DF4\u54C8\u4F7F\u7528\u641C\u7D22\u8BCD: ${s}`);let o=new AbortController,c=(async()=>{try{let p=`https://api.gamer.com.tw/mobile_app/anime/v1/search.php?kw=${a}`,m=O.makeProxyUrl(p),h=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});if(h&&h.data&&h.data.anime&&h.data.anime.length>0){o.abort();let A=h.data.anime;for(let g of A)try{g._originalQuery=e,g._searchUsedTitle=s}catch{}return _("info",`[Bahamut] bahamutSearchresp (original): ${JSON.stringify(A)}`),_("info",`[Bahamut] \u8FD4\u56DE ${A.length} \u6761\u7ED3\u679C (source: original)`),{success:!0,data:A,source:"original"}}return _("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: original)"),{success:!1,source:"original"}}catch(p){return _("error","[Bahamut] \u539F\u59CB\u641C\u7D22\u5931\u8D25:",{message:p.message,name:p.name,stack:p.stack}),{success:!1,source:"original"}}})(),u=(async()=>{try{await new Promise(x=>setTimeout(x,100));let p=await Zb(i,o.signal,"Bahamut");if(!p||!p.title)return _("info","[Bahamut] TMDB\u8F6C\u6362\u672A\u8FD4\u56DE\u7ED3\u679C\uFF0C\u53D6\u6D88\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb"};let{title:m,cnAlias:h}=p;_("info",`[Bahamut] \u4F7F\u7528\u65E5\u8BED\u539F\u540D\u8FDB\u884C\u641C\u7D22: ${m}`);let g=`https://api.gamer.com.tw/mobile_app/anime/v1/search.php?kw=${encodeURIComponent(m)}`,b=O.makeProxyUrl(g),y=await ge(b,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},signal:o.signal,retries:3});if(y&&y.data&&y.data.anime&&y.data.anime.length>0){let x=y.data.anime;for(let v of x)try{v._originalQuery=e,v._searchUsedTitle=m,v._tmdbCnAlias=h}catch{}return _("info",`[Bahamut] bahamutSearchresp (TMDB): ${JSON.stringify(x)}`),_("info",`[Bahamut] \u8FD4\u56DE ${x.length} \u6761\u7ED3\u679C (source: tmdb)`),{success:!0,data:x,source:"tmdb"}}return _("info","[Bahamut] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: tmdb)"),{success:!1,source:"tmdb"}}catch(p){return p.name==="AbortError"?(_("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4E2D\u65AD\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb",aborted:!0}):(_("error","[Bahamut] TMDB\u641C\u7D22\u5931\u8D25:",{message:p.message,name:p.name,stack:p.stack}),{success:!1,source:"tmdb"})}})(),[l,d]=await Promise.all([c,u]),f=[];if(l.success?f=l.data:d.success?f=d.data:_("info","[Bahamut] \u539F\u59CB\u641C\u7D22\u548C\u57FA\u4E8ETMDB\u7684\u641C\u7D22\u5747\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C"),f.length>0&&r.length>0)for(let p of f){if(!p||!p.acg_sn)continue;let m=r.find(h=>String(p.acg_sn)===String(h.siteId))||r.find(h=>p.title&&h.title===p.title);if(m){let h=p.title,g=(m.titles.find(b=>b&&b.includes(e))||m.titles[1]||m.title)+(m.titleSuffix||"");p.title=g,p._displayTitle=g,p.isLocalPriority=!0,p.aliases=[...m.titles],h&&!p.aliases.includes(h)&&p.aliases.push(h),p._typeStr=m.typeStr,_("info",`[Bahamut] \u7F51\u7EDC\u7ED3\u679C [${p.title}] \u6210\u529F\u5BF9\u9F50\u672C\u5730 Bangumi-Data \u6570\u636E`)}}return f}catch(r){return _("error","[Bahamut] getBahamutAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){try{let r=`https://api.gamer.com.tw/anime/v1/video.php?videoSn=${e}`,n=O.makeProxyUrl(r),s=await ge(n,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});if(!s||!s.data)return _("info","[Bahamut] getBahamutEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];if(!s.data.data||!s.data.data.video||!s.data.data.anime)return _("info","[Bahamut] getBahamutEposides: video \u6216 anime \u4E0D\u5B58\u5728"),[];let{video:i,anime:a}=s.data.data;return _("info",`[Bahamut] getBahamutEposides: videoSn=${i.videoSn}, animeSn=${a.animeSn}, title=${a.title}, totalEpisode=${a.totalEpisode}, episodes=${JSON.stringify(a.episodes)}`),s.data.data}catch(r){return _("error","[Bahamut] getBahamutEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[],o=/[\u3040-\u309F\u30A0-\u30FF]/.test(r);r=Ro(r);function c(A,g,b){if(!A)return!1;let y=String(A),x=String(g||""),v=String(b||"");if(O.strictTitleMatch){if($0(y,x)||v&&$0(y,v))return!0;try{if($0(y,Ro(x))||$0(y,Gt(x))||v&&($0(y,Ro(v))||$0(y,Gt(v))))return!0}catch{}return!1}let C=Fr(y),R=Fr(x),w=v?Fr(v):"";if(C.includes(R)||w&&C.includes(w))return!0;try{if(C.includes(Fr(Ro(x)))||C.includes(Fr(Gt(x)))||w&&(C.includes(Fr(Ro(v)))||C.includes(Fr(Gt(v)))))return!0}catch{}try{if(C.toLowerCase().includes(R.toLowerCase())||w&&C.toLowerCase().includes(w.toLowerCase()))return!0}catch{}return!1}let l=(Array.isArray(e)?e:[]).filter(A=>{let g=A.title||"",b=A._searchUsedTitle||A._originalQuery||"";return o||A._searchUsedTitle&&A._searchUsedTitle!==r?(_("info",`[Bahamut] \u547D\u4E2D\u65E5\u8BED\u5173\u952E\u8BCD\u6216TMDB\u7ED3\u679C\uFF0C\u7ED5\u8FC7\u5339\u914D\u89C4\u5219\u76F4\u63A5\u4FDD\u7559: ${g}`),!0):c(g,r,b)||Array.isArray(A.aliases)&&A.aliases.some(y=>c(y,r,b))});l.forEach(A=>{A._originalTitleAlias=A.title?Gt(A.title):""});let d=l.length>0?l[0]._tmdbCnAlias:null;eE(l,d);let f=i!==null?i:$t(r),p=l;if(f!==null){let A=l.filter(g=>{let b=g._displayTitle||g.title,y=Tt(b).season;return y===f||f===1&&y===null});A.length>0&&(p=A,_("info",`[Bahamut] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${f}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let m=new Map,h=await Promise.all(p.map(async A=>{try{let g=String(A.video_sn);m.has(g)||m.set(g,this.getEpisodes(A.video_sn));let b=await m.get(g);if(!b||typeof b!="object"||Array.isArray(b))return null;let y=b.video,x=null;b.anime.episodes&&(x=b.anime.episodes[0]||Object.values(b.anime.episodes)[0]);let v=[];if(x&&Array.isArray(x))for(let C of x){let R=`\u7B2C${C.episode}\u96C6`;v.push({name:C.episode.toString(),url:C.videoSn.toString(),title:`\u3010bahamut\u3011 ${R}`})}if(v.length>0){let C=null;if(A._bangumiBegin&&(C=parseInt(A._bangumiBegin.substring(0,4))),!C&&b.anime&&b.anime.seasonStart&&(C=new Date(b.anime.seasonStart).getFullYear()),!C&&y&&y.upTime){let B=String(y.upTime).match(/(\d{4})/);B&&(C=parseInt(B[1]))}if(!C){let k=(A.info||"").match(/(\d{4})/);k&&(C=parseInt(k[1]))}let R=b.anime&&b.anime.cover||A.cover||y&&y.cover||"",w=A._displayTitle||Gt(A.title),N=Array.isArray(A.aliases)?[...A.aliases]:[];A._originalTitleAlias&&A._originalTitleAlias!==w&&!N.includes(A._originalTitleAlias)&&N.push(A._originalTitleAlias);let P=A._typeStr||"\u52A8\u6F2B",L=b.anime&&b.anime.title||y&&y.title||"";L.includes("[\u96FB\u5F71]")?P="\u5267\u573A\u7248":L.includes("[\u7279\u5225\u7BC7]")&&(P="OVA");let M={animeId:A.video_sn,bangumiId:String(A.video_sn),animeTitle:`${w}(${C||"N/A"})\u3010${P}\u3011from bahamut`,aliases:N,type:"\u52A8\u6F2B",typeDescription:"\u52A8\u6F2B",imageUrl:R,startDate:C?Pr(C):Pr(b.anime.seasonStart?new Date(b.anime.seasonStart).getFullYear():null),episodeCount:v.length,rating:y.rating,isFavorited:!0,source:"bahamut"};a.push(M),Lt({...M,links:v},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(g){_("error",`[Bahamut] Error processing anime: ${g.message}`)}}));return this.sortAndPushAnimesByYear(a,n),h}async getEpisodeDanmu(e){let r=[];try{let n=`https://api.gamer.com.tw/anime/v1/danmu.php?geo=TW%2CHK&videoSn=${e}`,s=O.makeProxyUrl(n),i=await ge(s,{headers:{"Content-Type":"application/json","User-Agent":"Anime/2.29.2 (7N5749MM3F.tw.com.gamer.anime; build:972; iOS 26.0.0) Alamofire/5.6.4"},retries:3});return i.data&&i.data.data&&i.data.data.danmu&&(r=i.data.data.danmu),r}catch(n){return _("error","[Bahamut] fetchBahamutEpisodeDanmu error:",{message:n.message,name:n.name,stack:n.stack}),r}}async getEpisodeDanmuSegments(e){return _("info","[Bahamut] \u83B7\u53D6\u5DF4\u54C8\u59C6\u7279\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"bahamut",segmentList:[{type:"bahamut",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){let r={0:1,1:5,2:4};return e.map(n=>({cid:Number(n.sn),p:`${(n.time/10).toFixed(2)},${r[n.position]||n.tp},${parseInt(n.color.slice(1),16)},[bahamut]`,m:O.danmuSimplifiedTraditional==="simplified"?Gt(n.text):n.text,t:n.time/10}))}};Pt();St();ar();$n();no();hs();Pt();St();ar();Is();$n();hn();hs();var wg=class extends wt{extractAliasesFromHintWords(e){if(!e||typeof e!="string")return[];let r=[],n=i=>{let a=String(i||"").replace(/<\/?em>/g,"").trim();a&&!r.includes(a)&&r.push(a)},s=e.match(/(?:åˆå|别å)\s*[::]\s*(.+)$/);return s&&s[1].split(/[ã€,,/|]+/).forEach(n),r}titleOrAliasMatches(e,r,n=null){return yt(e.title,r,n)?!0:Array.isArray(e.aliases)&&e.aliases.some(s=>yt(s,r,n))}filterTencentSearchItem(e,r){if(!e.videoInfo||!e.doc)return null;let n=e.videoInfo,s=e.doc.id;if(!n.year||n.year===0||n.subTitle==="\u5168\u7F51\u641C"||n.playFlag===2)return null;let i=n.title.replace(/<em>/g,"").replace(/<\/em>/g,"");if(!i||!s)return null;let a=n.typeName;if(a.includes("\u77ED\u5267")||!["\u7535\u89C6\u5267","\u52A8\u6F2B","\u7535\u5F71","\u7EAA\u5F55\u7247","\u7EFC\u827A","\u7EFC\u827A\u8282\u76EE"].includes(a))return null;let c=a,u=!1,l=!1;n.coverDoc&&(n.coverDoc.richTags&&Array.isArray(n.coverDoc.richTags)&&n.coverDoc.richTags.forEach(m=>{m.text&&m.text.includes("3D")&&(u=!0),m.text&&m.text.includes("2D")&&(l=!0)}),n.coverDoc.tags&&Array.isArray(n.coverDoc.tags)&&n.coverDoc.tags.forEach(m=>{m&&m.includes("3D")&&(u=!0),m&&m.includes("2D")&&(l=!0)})),u?c="3D"+c:l&&(c="2D"+c);let d=(n.playSites||[]).concat(n.episodeSites||[]);if(d.length>0&&!d.some(m=>m.enName==="qq")||a==="\u7535\u5F71"&&["\u82B1\u7D6E","\u5F69\u86CB","\u5E55\u540E","\u72EC\u5BB6","\u89E3\u8BF4","\u7279\u8F91","\u63A2\u73ED","\u62CD\u6444","\u5236\u4F5C","\u5BFC\u6F14","\u8BB0\u5F55","\u56DE\u987E","\u76D8\u70B9","\u6DF7\u526A","\u89E3\u6790","\u62A2\u5148"].some(h=>i.includes(h)))return null;let f=a==="\u7535\u5F71"?1:n.subjectDoc?n.subjectDoc.videoNum:0,p=this.extractAliasesFromHintWords(n.hintWords).filter(m=>m!==i);return{provider:"tencent",mediaId:s,title:i,aliases:p,type:c,year:n.year,imageUrl:n.imgUrl,episodeCount:f}}async search(e){try{_("info",`[Tencent] \u5F00\u59CB\u641C\u7D22: ${e}`);let r="https://pbaccess.video.qq.com/trpc.videosearch.mobile_search.MultiTerminalSearch/MbSearch?vplatform=2",n={version:"25071701",clientType:1,filterValue:"",uuid:"0379274D-05A0-4EB6-A89C-878C9A460426",query:e,retry:0,pagenum:0,isPrefetch:!0,pagesize:30,queryFrom:0,searchDatakey:"",transInfo:"",isneedQc:!0,preQid:"",adClientInfo:"",extraInfo:{multi_terminal_pc:"1",themeType:"1",sugRelatedIds:"{}",appVersion:""}},s={"Content-Type":"application/json",Origin:"https://v.qq.com","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:`https://v.qq.com/x/search/?q=${encodeURIComponent(e)}&stag=&smartbox_ab=`,H38:"220496a1fb1498325e9be6d938",H42:"335a00a80ab9bbbef56793d8e7a97e87b9341dee34ebd83d61afc0cdb303214caaece3",Uk:"8e91af25d3af99d0f0640327e7307666",Cookie:"tvfe_boss_uuid=ee8f05103d59226f; pgv_pvid=3155633511; video_platform=2; ptag=v_qq_com; main_login=qq"},i=await Vr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Tencent] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.ret!==0)return _("error",`[Tencent] API\u8FD4\u56DE\u9519\u8BEF: ${a.msg} (ret: ${a.ret})`),[];let o=[];if(a.data&&a.data.areaBoxList){for(let u of a.data.areaBoxList)if(u.boxId==="MainNeed"&&u.itemList){_("info",`[Tencent] \u4ECE MainNeed box \u627E\u5230 ${u.itemList.length} \u4E2A\u9879\u76EE`),o=u.itemList;break}}if(o.length===0&&a.data&&a.data.normalList&&a.data.normalList.itemList&&(_("info","[Tencent] MainNeed box \u672A\u627E\u5230\uFF0C\u4F7F\u7528 normalList"),o=a.data.normalList.itemList),a.data&&a.data.areaBoxList){for(let u of a.data.areaBoxList)if(u.itemList&&u.boxTitle&&Array.isArray(u.boxTitle.boxTitles)&&u.boxTitle.boxTitles.includes("\u76F8\u5173\u5F71\u89C6")){let l=u.itemList.filter(d=>d.videoInfo&&d.videoInfo.title&&d.videoInfo.title.includes(e));l.length>0?(_("info",`[Tencent] \u8FFD\u52A0\u300C\u76F8\u5173\u5F71\u89C6\u300Dbox \u4E2D\u5339\u914D "${e}" \u7684 ${l.length} \u4E2A\u9879\u76EE`),o=[...o,...l]):_("info",`[Tencent] \u300C\u76F8\u5173\u5F71\u89C6\u300Dbox \u4E2D\u65E0\u5339\u914D "${e}" \u7684\u9879\u76EE`);break}}if(o.length===0)return _("info","[Tencent] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let c=[];for(let u of o){let l=this.filterTencentSearchItem(u,e);l&&c.push(l)}return _("info",`[Tencent] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return _("error","[Tencent] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Tencent] \u83B7\u53D6\u5206\u96C6\u5217\u8868: cid=${e}`);let r="https://pbaccess.video.qq.com/trpc.universal_backend_service.page_server_rpc.PageServer/GetPageData?video_appid=3000010&vversion_name=8.2.96&vversion_platform=2",n={has_cache:1,page_params:{req_from:"web_vsite",page_id:"vsite_episode_list",page_type:"detail_operation",id_type:"1",page_size:"",cid:e,vid:"",lid:"",page_num:"",page_context:`cid=${e}&detail_page_type=1&req_from=web_vsite&req_from_second_type=&req_type=0`,detail_page_type:"1"}},s={"Content-Type":"application/json",Origin:"https://v.qq.com",Referer:`https://v.qq.com/x/cover/${e}.html`,"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",Accept:"application/json","Accept-Language":"zh-CN,zh;q=0.9"},i=await Vr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Tencent] \u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.ret!==0)return _("error",`[Tencent] \u5206\u96C6API\u8FD4\u56DE\u9519\u8BEF: ret=${a.ret}`),[];let o=[];if(a.data&&a.data.module_list_datas)for(let u of a.data.module_list_datas){for(let l of u.module_datas)if(l.module_params&&l.module_params.tabs)try{o=JSON.parse(l.module_params.tabs);break}catch(d){_("error","[Tencent] \u89E3\u6790tabs\u5931\u8D25:",d.message)}if(o.length>0)break}let c=[];if(o.length===0){if(_("info","[Tencent] \u672A\u627E\u5230\u5206\u9875\u4FE1\u606F,\u5C1D\u8BD5\u4ECE\u521D\u59CB\u54CD\u5E94\u4E2D\u63D0\u53D6\u5206\u96C6"),a.data&&a.data.module_list_datas){for(let u of a.data.module_list_datas)for(let l of u.module_datas)if(l.item_data_lists&&l.item_data_lists.item_datas)for(let d of l.item_data_lists.item_datas)d.item_params&&d.item_params.vid&&d.item_params.is_trailer!=="1"&&c.push({vid:d.item_params.vid,title:d.item_params.title,unionTitle:d.item_params.union_title||d.item_params.title})}if(c.length===0)return _("info","[Tencent] \u521D\u59CB\u54CD\u5E94\u4E2D\u4E5F\u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F"),[];_("info",`[Tencent] \u4ECE\u521D\u59CB\u54CD\u5E94\u4E2D\u63D0\u53D6\u5230 ${c.length} \u96C6`)}else{_("info",`[Tencent] \u627E\u5230 ${o.length} \u4E2A\u5206\u9875`);for(let u of o){if(!u.page_context)continue;let l={has_cache:1,page_params:{req_from:"web_vsite",page_id:"vsite_episode_list",page_type:"detail_operation",id_type:"1",page_size:"",cid:e,vid:"",lid:"",page_num:"",page_context:u.page_context,detail_page_type:"1"}},d=await Vr(r,JSON.stringify(l),{headers:s});if(!d||!d.data)continue;let f=typeof d.data=="string"?JSON.parse(d.data):d.data;if(!(f.ret!==0||!f.data)&&f.data.module_list_datas){for(let p of f.data.module_list_datas)for(let m of p.module_datas)if(m.item_data_lists&&m.item_data_lists.item_datas)for(let h of m.item_data_lists.item_datas)h.item_params&&h.item_params.vid&&h.item_params.is_trailer!=="1"&&c.push({vid:h.item_params.vid,title:h.item_params.title,unionTitle:h.item_params.union_title||h.item_params.title})}}}return _("info",`[Tencent] \u5171\u83B7\u53D6 ${c.length} \u96C6`),c}catch(r){return _("error","[Tencent] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Tencent] sourceAnimes is not a valid array"),[];let o=e.filter(l=>this.titleOrAliasMatches(l,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Tencent] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.unionTitle||m.title||`\u7B2C${p+1}\u96C6`,A=`https://v.qq.com/x/cover/${l.mediaId}/${m.vid}.html`;f.push({name:(p+1).toString(),url:A,title:`\u3010qq\u3011 ${h}`})}if(f.length>0){let p=d[0].unionTitle||d[0].title||"\u7B2C1\u96C6",m=l.title,h=p.match(/\[.+版\]/);h&&p.includes(l.title)&&(m=`${l.title}${h[0]}`);let g={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${m}(${l.year})\u3010${l.type}\u3011from tencent`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"tencent",aliases:l.aliases||[]};a.push(g),Lt({...g,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Tencent] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}extractVid(e){let r=e;if(typeof e=="string"&&(e.startsWith("http")||e.includes("vid="))){let n=e.match(/[?&]vid=([^&]+)/);if(n)r=n[1];else{let s=e.split("/");r=s[s.length-1].split(".")[0]}}return r}async getEpisodeDanmu(e){_("info","[Tencent] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u817E\u8BAF\u89C6\u9891\u5F39\u5E55...",e);let r=this.extractVid(e);_("info",`[Tencent] vid: ${r}`);let n;try{n=await ge(e,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(l){return _("error","[Tencent] \u8BF7\u6C42\u9875\u9762\u5931\u8D25:",l),[]}let s=n.data.match(/<title[^>]*>(.*?)<\/title>/i),i=s?s[1].split("_")[0]:"\u672A\u77E5\u6807\u9898";_("info",`[Tencent] \u6807\u9898: ${i}`);let a=await this.getEpisodeDanmuSegments(e);if(!a||!a.segmentList||a.segmentList.length===0)return[];let o=a.segmentList;_("info",`[Tencent] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${o.length}`);let c=[];for(let l of o)c.push(ge(l.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}));let u=[];try{(await Promise.allSettled(c)).filter(f=>f.status==="fulfilled").map(f=>f.value&&f.value.data?f.value.data:null).filter(f=>f!==null).forEach(f=>{f=typeof f=="string"?JSON.parse(f):f,u.push(...f.barrage_list)})}catch(l){return _("error","[Tencent] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",l),[]}return ts(u),u}async getEpisodeDanmuSegments(e){_("info","[Tencent] \u83B7\u53D6\u817E\u8BAF\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://dm.video.qq.com/barrage/base/",n="https://dm.video.qq.com/barrage/segment/",s=this.extractVid(e);_("info",`[Tencent] \u83B7\u53D6\u5F39\u5E55\u5206\u6BB5\u5217\u8868 - vid: ${s}`);let i;try{i=await ge(r+s,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(u){return u.response?.status===404?new vt({type:"qq",segmentList:[]}):(_("error","[Tencent] \u8BF7\u6C42\u5F39\u5E55\u57FA\u7840\u6570\u636E\u5931\u8D25:",u),new vt({type:"qq",segmentList:[]}))}let a=typeof i.data=="string"?JSON.parse(i.data):i.data,o=[],c=Object.values(a.segment_index);for(let u of c)o.push({type:"qq",segment_start:(Number(u.segment_start)||0)/1e3,segment_end:(Number(u.segment_name.split("/").pop())||0)/1e3,url:`${n}${s}/${u.segment_name}`});return new vt({type:"qq",segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;n.push(...s.barrage_list)}return n}catch(r){return _("error","[Tencent] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{let n={timepoint:r.time_offset/1e3,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:r.content};if(r.content_style&&r.content_style!=="")try{let s=JSON.parse(r.content_style);s.gradient_colors&&s.gradient_colors.length>0?n.color=parseInt(s.gradient_colors[0].replace("#",""),16):s.color&&s.color!=="ffffff"&&(n.color=parseInt(s.color.replace("#",""),16)),s.position===2?n.ct=5:s.position===3&&(n.ct=4)}catch{}return n.like=parseInt(r.up_count)||0,n})}};St();ar();hn();Is();$n();Pt();hs();var Rg=class t extends wt{static XOR_KEY=0x75706971676c;static SECRET_KEY="howcuteitis";static KEY_NAME="secret_key";async search(e){try{_("info",`[iQiyi] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={key:e,current_page:"1",mode:"1",source:"input",suggest:"",pcv:"13.074.22699",version:"13.074.22699",pageNum:"1",pageSize:"25",pu:"",u:"f6440fc5d919dca1aea12b6aff56e1c7",scale:"200",token:"",userVip:"0",conduit:"",vipType:"-1",os:"",osShortName:"win10",dataType:"",appMode:"",ad:JSON.stringify({lm:3,azd:0xe8d4a513b7,azt:733,position:"feed"}),adExt:JSON.stringify({r:"2.1.5-ares6-pure"})},s=`https://mesh.if.iqiyi.com/portal/lw/search/homePageV3?${Ai(r)}`,i=await ge(s,{headers:{accept:"*/*",origin:"https://www.iqiyi.com",referer:"https://www.iqiyi.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!i||!i.data)return _("info","[iQiyi] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.data||!a.data.templates)return _("info","[iQiyi] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let o=[],c=a.data.templates;for(let u of c){let l=[];u.template===112&&u.intentAlbumInfos?(_("info",`[iQiyi] \u627E\u5230\u610F\u56FE\u5361\u7247 (template 112)\uFF0C\u5904\u7406 ${u.intentAlbumInfos.length} \u4E2A\u7ED3\u679C`),l=u.intentAlbumInfos):[101,102,103].includes(u.template)&&u.albumInfo&&(_("info",`[iQiyi] \u627E\u5230\u666E\u901A\u7ED3\u679C\u5361\u7247 (template ${u.template})`),l=[u.albumInfo]);for(let d of l){let f=this._filterIqiyiSearchItem(d,e);f&&o.push(f)}}return _("info",`[iQiyi] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[iQiyi] \u641C\u7D22\u51FA\u9519:",r.message),[]}}_filterIqiyiSearchItem(e,r){if(!e.title)return null;if(e.btnText==="\u5916\u7AD9\u4ED8\u8D39\u64AD\u653E")return _("info",`[iQiyi] \u8FC7\u6EE4\u6389\u5916\u7AD9\u4ED8\u8D39\u64AD\u653E\u5185\u5BB9: ${e.title}`),null;let n=e.channel||"",s="\u7535\u89C6\u5267";if(n.includes("\u7535\u5F71"))s="\u7535\u5F71";else if(n.includes("\u52A8\u6F2B"))s="\u52A8\u6F2B";else if(n.includes("\u7EFC\u827A"))s="\u7EFC\u827A";else if(n.includes("\u7EAA\u5F55\u7247"))s="\u7EAA\u5F55\u7247";else if(n.includes("\u7535\u89C6\u5267"))s="\u7535\u89C6\u5267";else return null;let i=!1,a=!1;if(e.metaTags&&Array.isArray(e.metaTags)&&e.metaTags.forEach(p=>{p.name==="3D"&&(i=!0),p.name==="2D"&&(a=!0)}),e.baseTags&&Array.isArray(e.baseTags)&&e.baseTags.forEach(p=>{p.value==="3D"&&(i=!0),p.value==="2D"&&(a=!0)}),i?s="3D"+s:a&&(s="2D"+s),s.includes("\u7535\u5F71")){let p=e.qipuId||e.playQipuId;if(!p)return _("info",`[iQiyi] \u7535\u5F71\u7F3A\u5C11 qipuId: ${e.title}`),null;let m=null;if(e.year){let A=e.year.value||e.year.name;A&&typeof A=="string"&&A.length===4&&/^\d{4}$/.test(A)&&(m=parseInt(A))}let h=e.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A");return{provider:"iqiyi",mediaId:`movie_${p}`,title:h,type:s,year:m,imageUrl:e.img||e.imgH,episodeCount:1,_qipuId:p}}let o=e.pageUrl;if(!o)return _("info",`[iQiyi] \u975E\u7535\u5F71\u5185\u5BB9\u7F3A\u5C11 pageUrl: ${e.title}`),null;let c=o.match(/v_(\w+?)\.html/);if(!c)return _("info",`[iQiyi] \u65E0\u6CD5\u4ECE pageUrl \u63D0\u53D6 link_id: ${o}`),null;let u=c[1],l=null;if(e.year){let p=e.year.value||e.year.name;p&&typeof p=="string"&&p.length===4&&/^\d{4}$/.test(p)&&(l=parseInt(p))}let d=null;if(e.videos&&e.videos.length>0)d=e.videos.length;else if(e.subscriptContent){let p=e.subscriptContent.match(/(?:更新至|å…¨|å…±)\s*(\d+)\s*(?:集|è¯|期)/);if(p)d=parseInt(p[1]);else{let m=e.subscriptContent.trim().match(/^(\d+)$/);m&&(d=parseInt(m[1]))}}let f=e.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A");return{provider:"iqiyi",mediaId:u,title:f,type:s,year:l,imageUrl:e.img||e.imgH,episodeCount:d}}async getEpisodes(e){try{if(_("info",`[iQiyi] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`),e.startsWith("movie_")){let p=e.substring(6);_("info",`[iQiyi] \u7535\u5F71\u7C7B\u578B\uFF0C\u8C03\u7528 base_info API \u83B7\u53D6\u89C6\u9891ID: qipuId=${p}`);let m=await this._getMovieVideoId(p);return m?(_("info",`[iQiyi] \u7535\u5F71\u89C6\u9891ID: ${m}`),[{id:m,title:"\u6B63\u7247",order:1,link:`https://www.iqiyi.com/v_${m}.html`}]):(_("error",`[iQiyi] \u65E0\u6CD5\u83B7\u53D6\u7535\u5F71\u7684\u89C6\u9891ID: qipuId=${p}`),[])}let r=/^\d+$/.test(e)?e:this._videoIdToEntityId(e);if(!r)return _("error",`[iQiyi] \u65E0\u6CD5\u5C06 media_id '${e}' \u8F6C\u6362\u4E3A entity_id`),[];let n={entity_id:r,device_id:"qd5fwuaj4hunxxdgzwkcqmefeb3ww5hx",auth_cookie:"",user_id:"0",vip_type:"-1",vip_status:"0",conduit_id:"",pcv:"13.082.22866",app_version:"13.082.22866",ext:"",app_mode:"standard",scale:"100",timestamp:String(Date.now()),src:"pca_tvg",os:"",ad_ext:'{"r":"2.2.0-ares6-pure"}'};n.sign=this._createSign(n);let i=`https://www.iqiyi.com/prelw/tvg/v2/lw/base_info?${Ai(n)}`,a=await ge(i,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.iqiyi.com/"}});if(!a||!a.data)return _("error","[iQiyi] \u83B7\u53D6\u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let o=typeof a.data=="string"?JSON.parse(a.data):a.data;if(o.status_code!==0||!o.data||!o.data.template)return _("error",`[iQiyi] API \u8FD4\u56DE\u9519\u8BEF\uFF0Cstatus_code: ${o.status_code}`),[];let c=[],u=o.data.template.tabs||[];if(u.length===0)return _("info","[iQiyi] \u672A\u627E\u5230\u5206\u96C6\u6807\u7B7E\u9875"),[];let l=u[0].blocks||[],d=!1;for(let p of l)if(p.bk_type==="video_list"&&p.data?.data){if(_("info",`[iQiyi] \u627E\u5230 video_list \u7C7B\u578B\u7684\u5206\u96C6\u6570\u636E\u5757, bk_id: ${p.bk_id}`),!p.tag||!p.tag.includes("episodes")){_("info",`[iQiyi] \u8DF3\u8FC7\u975E\u5206\u96C6\u5757: ${p.bk_id}`);continue}d=!0;let m=p.data.data;if(!Array.isArray(m)){_("warn","[iQiyi] data.data \u4E0D\u662F\u6570\u7EC4\uFF0C\u8DF3\u8FC7\u6B64\u5757");continue}for(let h of m)if(!(!h.videos||!Array.isArray(h.videos))){for(let A of h.videos)if(!(!A.data||!Array.isArray(A.data)))for(let g of A.data){if(g.content_type!==1)continue;let y=(g.play_url||"").match(/tvid=(\d+)/);if(!y)continue;let x=y[1],v=g.short_display_name||g.title||"\u672A\u77E5\u5206\u96C6",C=g.subtitle;C&&!v.includes(C)&&(v=`${v} ${C}`);let R=g.album_order,w=g.page_url;x&&v&&w&&c.push({id:x,title:v,order:R!==void 0?R:c.length,link:w})}}}else if(p.bk_type==="album_episodes"&&p.data?.data){_("info","[iQiyi] \u627E\u5230 album_episodes \u7C7B\u578B\u7684\u5206\u96C6\u6570\u636E\u5757"),d=!0;let m=p.data.data;for(let h of m){let A=h.videos;if(typeof A=="string"){_("info",`[iQiyi] \u53D1\u73B0\u5206\u5B63URL\uFF0C\u6B63\u5728\u83B7\u53D6: ${A}`);try{let g=await ge(A);A=typeof g.data=="string"?JSON.parse(g.data):g.data}catch(g){_("error",`[iQiyi] \u83B7\u53D6\u5206\u5B63\u6570\u636E\u5931\u8D25: ${g.message}`);continue}}if(A&&typeof A=="object"&&A.feature_paged)for(let g in A.feature_paged){let b=A.feature_paged[g];for(let y of b){if(y.content_type!==1)continue;let v=(y.play_url||"").match(/tvid=(\d+)/);if(!v)continue;let C=v[1],R=y.short_display_name||y.title||"\u672A\u77E5\u5206\u96C6",w=y.subtitle;w&&!R.includes(w)&&(R=`${R} ${w}`);let N=y.album_order,P=y.page_url;C&&R&&N&&P&&c.push({id:C,title:R,order:N,link:P})}}}}if(!d)return _("info","[iQiyi] \u672A\u627E\u5230\u5206\u96C6\u6570\u636E\u5757"),[];let f=Array.from(new Map(c.map(p=>[p.id,p])).values());return f.sort((p,m)=>p.order-m.order),_("info",`[iQiyi] \u6210\u529F\u83B7\u53D6 ${f.length} \u4E2A\u5206\u96C6`),f}catch(r){return _("error","[iQiyi] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getMovieVideoId(e){try{let r={entity_id:e,device_id:"qd5fwuaj4hunxxdgzwkcqmefeb3ww5hx",auth_cookie:"",user_id:"0",vip_type:"-1",vip_status:"0",conduit_id:"",pcv:"13.103.23529",app_version:"13.103.23529",ext:"",app_mode:"standard",scale:"125",timestamp:String(Date.now()),src:"pca_tvg",os:"",ad_ext:'{"r":"2.5.0-ares6-pure"}'};r.sign=this._createSign(r);let s=`https://mesh.if.iqiyi.com/tvg/v2/lw/base_info?${Ai(r)}`;_("info",`[iQiyi] \u8BF7\u6C42\u7535\u5F71\u8BE6\u60C5: ${s}`);let i=await ge(s,{headers:{accept:"*/*",origin:"https://www.iqiyi.com",referer:"https://www.iqiyi.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!i||!i.data)return _("error","[iQiyi] base_info API \u54CD\u5E94\u4E3A\u7A7A"),null;let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(a.data&&a.data.base_data){let o=a.data.base_data;if(o.share_url){let c=o.share_url.match(/v_(\w+)\.html/);if(c){let u=c[1];return _("info",`[iQiyi] \u4ECE share_url \u63D0\u53D6\u89C6\u9891ID: ${u}`),u}}if(o.page_url){let c=o.page_url.match(/v_(\w+)\.html/);if(c){let u=c[1];return _("info",`[iQiyi] \u4ECE page_url \u63D0\u53D6\u89C6\u9891ID: ${u}`),u}}}return _("error","[iQiyi] base_info API \u54CD\u5E94\u4E2D\u672A\u627E\u5230\u89C6\u9891ID"),_("info",`[iQiyi] \u54CD\u5E94\u6570\u636E\u7ED3\u6784: ${JSON.stringify(a).substring(0,1e3)}...`),null}catch(r){return _("error",`[iQiyi] \u83B7\u53D6\u7535\u5F71\u89C6\u9891ID\u65F6\u51FA\u9519: ${r.message}`),null}}_videoIdToEntityId(e){try{let r=parseInt(e,36),n=this._xorOperation(r),s=n<9e5?100*(n+9e5):n;return String(s)}catch(r){return _("error",`[iQiyi] \u5C06 video_id '${e}' \u8F6C\u6362\u4E3A entity_id \u65F6\u51FA\u9519: ${r.message}`),null}}_xorOperation(e){let r=e.toString(2),n=t.XOR_KEY.toString(2),s=r.split("").reverse(),i=n.split("").reverse(),a=[],o=Math.max(s.length,i.length);for(let u=0;u<o;u++){let l=u<s.length?s[u]:"0",d=u<i.length?i[u]:"0";l==="1"&&d==="1"?a.push("0"):l==="1"||d==="1"?a.push("1"):a.push("0")}let c=a.reverse().join("");return c?parseInt(c,2):0}_createSign(e){let r={};for(let o in e)o!=="sign"&&(r[o]=e[o]);let n=Object.keys(r).sort(),s=[];for(let o of n){let c=r[o]===null||r[o]===void 0?"":r[o];s.push(`${o}=${c}`)}let a=`${s.join("&")}&${t.KEY_NAME}=${t.SECRET_KEY}`;return Ls(a).toUpperCase()}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[iQiyi] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[iQiyi] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p of d){let m=p.link||`https://www.iqiyi.com/v_${l.mediaId}.html`;f.push({name:p.order.toString(),url:m,title:`\u3010qiyi\u3011 ${p.title}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from iqiyi`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"iqiyi"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[iQiyi] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[iQiyi] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u7231\u5947\u827A\u5F39\u5E55...",e);let r;try{r=await ge(e,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(u){return _("error","[iQiyi] \u8BF7\u6C42\u9875\u9762\u5931\u8D25:",u),[]}let n=r.data.match(/<title[^>]*>(.*?)<\/title>/i),s=n?n[1].split("_")[0]:"\u672A\u77E5\u6807\u9898";_("info",`[iQiyi] \u6807\u9898: ${s}`);let i=await this.getEpisodeDanmuSegments(e);if(!i||!i.segmentList||i.segmentList.length===0)return[];let a=i.segmentList;_("info",`[iQiyi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${a.length}`);let o=[];for(let u of a)o.push(this.getEpisodeSegmentDanmu(u));let c=[];try{(await Promise.allSettled(o)).filter(d=>d.status==="fulfilled").map(d=>d.value).filter(d=>d!==null).forEach(d=>{c.push(...d)})}catch(u){return _("error","[iQiyi] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",u),[]}return ts(c),c}async getEpisodeDanmuSegments(e){_("info","[iQiyi] \u83B7\u53D6\u7231\u5947\u827A\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://pcw-api.iq.com/api/decode/",n="https://pcw-api.iqiyi.com/video/video/baseinfo/",s;try{let d=e.match(/v_(\w+)/);if(!d)return _("error","[iQiyi] \u65E0\u6CD5\u4ECE URL \u4E2D\u63D0\u53D6 tvid"),new vt({type:"qiyi",segmentList:[]});s=d[1],_("info",`[iQiyi] tvid: ${s}`);let f=`${r}${s}?platformId=3&modeCode=intl&langCode=sg`,p=await ge(f,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});s=(typeof p.data=="string"?JSON.parse(p.data):p.data).data.toString(),_("info",`[iQiyi] \u89E3\u7801\u540E tvid: ${s}`)}catch(d){return _("error","[iQiyi] \u8BF7\u6C42\u89E3\u7801\u4FE1\u606F\u5931\u8D25:",d),new vt({type:"qiyi",segmentList:[]})}let i;try{let d=`${n}${s}`,f=await ge(d,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),m=(typeof f.data=="string"?JSON.parse(f.data):f.data).data;if(i=Number(m.durationSec)||0,m.displayBarrage===!1)return _("info","[iQiyi] \u7231\u5947\u827A\u89C6\u9891\u672A\u5F00\u542F\u5F39\u5E55"),new vt({type:"qiyi",duration:i,segmentList:[]});_("info",`[iQiyi] \u65F6\u957F: ${i}`)}catch(d){return _("error","[iQiyi] \u8BF7\u6C42\u89C6\u9891\u57FA\u7840\u4FE1\u606F\u5931\u8D25:",d),new vt({type:"qiyi",segmentList:[]})}let a=60,o=Math.ceil(i/a);_("info",`[iQiyi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${o}`);let c=[],u=`0000${s}`,l=`${u.slice(-4,-2)}/${u.slice(-2)}`;for(let d=0;d<o;d++){let f=d+1,p=Ls(`${s}_${a}_${f}cbzuw1259a`).slice(-8),m=`https://cmts.iqiyi.com/bullet/${l}/${s}_${a}_${f}_${p}.br`;c.push({type:"qiyi",segment_start:d*a,segment_end:Math.min((d+1)*a,i),url:m})}return new vt({type:"qiyi",duration:i,segmentList:c})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Accept-Encoding":"br","Content-Type":"application/octet-stream","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},base64Data:!0,validStatusCodes:[404],retries:1});if(!r||r.status===404||!r.data)return[];let n=this._base64ToUint8Array(r.data),s=await this._decompressBrotli(n);return s[0]===60?this._parseIqiyiXmlDanmu(new TextDecoder("utf-8").decode(s)):this._parseIqiyiProtoDanmu(s)}catch(r){return _("error","[iQiyi] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}_base64ToUint8Array(e){if(typeof atob=="function"){let r=atob(e),n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);return n}if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));throw new Error("\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301 base64 \u89E3\u7801")}async _decompressBrotli(e){if(typeof DecompressionStream<"u")try{let n=new Blob([e]).stream().pipeThrough(new DecompressionStream("brotli"));return new Uint8Array(await new Response(n).arrayBuffer())}catch{_("info","[iQiyi] DecompressionStream Brotli \u89E3\u538B\u5931\u8D25\uFF0C\u5C1D\u8BD5 Node zlib")}let{brotliDecompressSync:r}=await import("node:zlib");return new Uint8Array(r(e))}_parseIqiyiXmlDanmu(e){function r(o){let c=new RegExp(`<${o}>(.*?)</${o}>`,"g");return e.match(c)?.map(u=>u.substring(o.length+2,u.length-o.length-3))||[]}let n=r("content"),s=r("showTime"),i=r("color"),a=r("likeCount");return n.map((o,c)=>({content:o,showTime:s[c],color:i[c],like:parseInt(a[c],10)||0}))}_parseIqiyiProtoDanmu(e){let r=[],n=this._parseIqiyiProtoFields(e);for(let s of n){if(s.number!==6||!s.bytes)continue;let i=this._parseIqiyiProtoFields(s.bytes),a=this._getIqiyiProtoString(i,1);for(let o of i){if(o.number!==2||!o.bytes)continue;let c=this._parseIqiyiProtoFields(o.bytes),u=this._getIqiyiProtoString(c,2);u&&r.push({content:u,showTime:this._getIqiyiProtoString(c,6)||a||"0",color:this._getIqiyiProtoString(c,8)||"ffffff",like:parseInt(this._getIqiyiProtoString(c,14),10)||0})}}return r}_parseIqiyiProtoFields(e){let r=[],n=0,s=new TextDecoder("utf-8");for(;n<e.length;){let i=this._readIqiyiVarint(e,n),a=i.value;n=i.offset;let o=Number(a>>3n),c=Number(a&7n);if(o===0)break;if(c===0){let u=this._readIqiyiVarint(e,n);r.push({number:o,wireType:c,value:u.value.toString()}),n=u.offset}else if(c===1)r.push({number:o,wireType:c}),n+=8;else if(c===2){let u=this._readIqiyiVarint(e,n),l=Number(u.value);n=u.offset;let d=n+l;if(d>e.length)break;let f=e.subarray(n,d);r.push({number:o,wireType:c,bytes:f,value:s.decode(f)}),n=d}else if(c===5)r.push({number:o,wireType:c}),n+=4;else break}return r}_readIqiyiVarint(e,r){let n=0n,s=0n,i=r;for(;i<e.length;){let a=e[i++];if(n|=BigInt(a&127)<<s,!(a&128))return{value:n,offset:i};s+=7n}throw new Error("\u7231\u5947\u827A\u5F39\u5E55 protobuf varint \u4E0D\u5B8C\u6574")}_getIqiyiProtoString(e,r){return e.find(n=>n.number===r)?.value||""}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};return n.timepoint=parseFloat(r.showTime),n.color=parseInt(r.color,16),n.content=cf(r.content),n.size=25,n.like=r.like,n})}};Pt();St();ar();hn();Is();$n();hs();var Ng=class extends wt{transformV2Color(e){if(!e)return-1;let n=uK(e.color_left),s=uK(e.color_right);return n===-1&&s===-1?-1:n===-1?s:s===-1?n:Math.floor((n+s)/2)}_extractMediaType(e){let r=(e||"").toLowerCase();return r.includes("\u7535\u5F71")||r.includes("movie")?"\u7535\u5F71":r.includes("\u52A8\u6F2B")||r.includes("\u52A8\u753B")||r.includes("anime")?"\u52A8\u6F2B":r.includes("\u7EFC\u827A")||r.includes("\u771F\u4EBA\u79C0")||r.includes("variety")?"\u7EFC\u827A":r.includes("\u7EAA\u5F55\u7247")||r.includes("documentary")?"\u7EAA\u5F55\u7247":(r.includes("\u7535\u89C6\u5267")||r.includes("\u5267\u96C6")||r.includes("drama")||r.includes("tv"),"\u7535\u89C6\u5267")}async search(e){try{_("info",`[Mango] \u5F00\u59CB\u641C\u7D22: ${e}`);let n=`https://mobileso.bz.mgtv.com/msite/search/v2?q=${encodeURIComponent(e)}&pc=30&pn=1&sort=-99&ty=0&du=0&pt=0&corr=1&abroad=0&_support=10000000000000000`,s=await ge(n,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Accept:"application/json",Referer:"https://www.mgtv.com/"}});if(!s||!s.data)return _("info","[Mango] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let i=typeof s.data=="string"?JSON.parse(s.data):s.data;if(!i.data||!i.data.contents)return _("info","[Mango] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let a=[];for(let o of i.data.contents)if(o.type==="media")for(let c of o.data){if(c.source!=="imgo")continue;let u=c.url?c.url.match(/\/b\/(\d+)/):null;if(!u)continue;let l=u[1],d=c.title?c.title.replace(/<[^>]+>/g,"").replace(/:/g,"\uFF1A"):"",f=c.desc&&c.desc[0]?c.desc[0].match(/[12][890][0-9][0-9]/):null,p=f?parseInt(f[0]):null,m=c.desc&&c.desc[0]?c.desc[0].split("/")[0].replace("\u7C7B\u578B:","").trim():"",h=this._extractMediaType(m);a.push({provider:"imgo",mediaId:l,title:d,type:h,year:p,imageUrl:c.img||null,episodeCount:c.videoCount||null})}return _("info",`[Mango] \u641C\u7D22\u627E\u5230 ${a.length} \u4E2A\u6709\u6548\u7ED3\u679C`),a}catch(r){return _("error","[Mango] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Mango] \u83B7\u53D6\u5206\u96C6\u5217\u8868: collection_id=${e}`);let r=[],n="",s=0,i=1;for(;s<i;){let u=`https://pcweb.api.mgtv.com/variety/showlist?allowedRC=1&collection_id=${e}&month=${n}&page=1&_support=10000000`,l=await ge(u,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.mgtv.com/"}});if(!l||!l.data){_("info","[Mango] \u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F");break}let d=typeof l.data=="string"?JSON.parse(l.data):l.data;if(!d.data||!d.data.list){_("info","[Mango] \u5206\u96C6\u5217\u8868\u4E3A\u7A7A");break}d.data.list&&d.data.list.length>0&&r.push(...d.data.list.filter(f=>f.src_clip_id===e)),s===0&&(i=d.data.tab_m&&d.data.tab_m.length>0?d.data.tab_m.length:1,_("info",`[Mango] \u68C0\u6D4B\u5230 ${i} \u4E2A\u6708\u4EFD\u5206\u9875`)),s++,s<i&&d.data.tab_m&&d.data.tab_m[s]&&(n=d.data.tab_m[s].m)}let a=/^(.*?)(抢先(看|版)|åŠ æ›´(版)?|花絮|预告|特辑|(特别|惊喜|纳凉)?ä¼åˆ’|彩蛋|专访|幕åŽ(花絮)?|ç›´æ’|纯享|未æ’|è¡ç”Ÿ|番外|åˆä¼™äººæ‰‹è®°|会员(专享|åŠ é•¿)|片花|ç²¾åŽ|看点|速看|解读|reaction|è¶…å‰è¥ä¸š|è¶…å‰(vlog)?|陪看(è®°)?|.{3,}篇|影评)(.*?)$/i,o=r.filter(u=>{let l=`${u.t2||""} ${u.t1||""}`.trim();return u.isnew==="2"?(_("info",`[Mango] \u8FC7\u6EE4\u9884\u544A\u7247: ${l}`),!1):a.test(l)?(_("info",`[Mango] \u9ED1\u540D\u5355\u8FC7\u6EE4: ${l}`),!1):!0}),c=this._processVarietyEpisodes(o);return _("info",`[Mango] \u5171\u83B7\u53D6 ${c.length} \u96C6`),c}catch(r){return _("error","[Mango] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getMovieEpisode(e){try{_("info",`[Mango] \u83B7\u53D6\u7535\u5F71\u6B63\u7247: collection_id=${e}`);let r=`https://pcweb.api.mgtv.com/variety/showlist?allowedRC=1&collection_id=${e}&month=&page=1&_support=10000000`,n=await ge(r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.mgtv.com/"}});if(!n||!n.data)return _("info","[Mango] \u672A\u627E\u5230\u7535\u5F71\u4FE1\u606F"),null;let s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(!s.data||!s.data.list||s.data.list.length===0)return _("info","[Mango] \u7535\u5F71\u5217\u8868\u4E3A\u7A7A"),null;let i=s.data.list.find(a=>a.isIntact==="1");return i||(i=s.data.list.find(a=>a.isnew!=="2")),i||(i=s.data.list[0]),_("info",`[Mango] \u627E\u5230\u7535\u5F71\u6B63\u7247: ${i.t3||i.t1||"\u6B63\u7247"}`),i}catch(r){return _("error","[Mango] \u83B7\u53D6\u7535\u5F71\u6B63\u7247\u51FA\u9519:",r.message),null}}_processVarietyEpisodes(e){if(!e||e.length===0)return[];_("info",`[Mango] \u7EFC\u827A\u5904\u7406\u5F00\u59CB\uFF0C\u539F\u59CB\u5206\u96C6\u6570: ${e.length}`);let r=e.some(i=>{let a=`${i.t2||""} ${i.t1||""}`.trim();return/第\d+期/.test(a)});_("info",`[Mango] \u7EFC\u827A\u683C\u5F0F\u5206\u6790: \u6709\u671F\u6570\u683C\u5F0F=${r}`);let n=[],s=new Map;for(let i of e){let a=`${i.t2||""} ${i.t1||""}`.trim();if(r){let o=a.match(/第(\d+)期([上ä¸ä¸‹])/),c=a.match(/第(\d+)期/),u=/第\d+期[上ä¸ä¸‹]/.test(a);if(o){let l=o[1],d=o[2],f=`\u7B2C${l}\u671F${d}`,p=a.substring(a.indexOf(f)+f.length);/^(åŠ æ›´|会员版|纯享版|特别版|独家版|Plus|\+|花絮|预告|彩蛋|抢先|精选|未æ’|回顾|特辑|幕åŽ)/.test(p)?_("info",`[Mango] \u7EFC\u827A\u8FC7\u6EE4\u4E0A\u4E2D\u4E0B\u683C\u5F0F+\u540E\u7F00: ${a}`):(s.set(i,[parseInt(l),d]),n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u4E0A\u4E2D\u4E0B\u683C\u5F0F: ${a}`))}else if(c&&!u&&!/会员版|纯享版|特别版|独家版|åŠ æ›´|Plus|\+|花絮|预告|彩蛋|抢先|精选|未æ’|回顾|特辑|幕åŽ|访谈|采访|混剪|åˆé›†|盘点|总结|åˆ å‡|æœªæ’æ”¾|NG|番外|片段|看点|精彩|制作|导演|演员|æ‹æ‘„|片尾曲|æ’æ›²|主题曲|背景音ä¹|OST|音ä¹|æŒæ›²/.test(a)){let l=c[1];s.set(i,[parseInt(l),""]),n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u6807\u51C6\u671F\u6570: ${a}`)}else _("info",`[Mango] \u7EFC\u827A\u8FC7\u6EE4\u975E\u6807\u51C6\u671F\u6570\u683C\u5F0F: ${a}`)}else{if(a.includes("\u5E7F\u544A")||a.includes("\u63A8\u5E7F")){_("info",`[Mango] \u8DF3\u8FC7\u5E7F\u544A\u5185\u5BB9: ${a}`);continue}n.push(i),_("info",`[Mango] \u7EFC\u827A\u4FDD\u7559\u539F\u59CB\u6807\u9898: ${a}`)}}return r?n.sort((i,a)=>{let o=s.get(i)||[0,""],c=s.get(a)||[0,""];if(o[0]!==c[0])return o[0]-c[0];let u={"":0,\u4E0A:1,\u4E2D:2,\u4E0B:3};return(u[o[1]]||0)-(u[c[1]]||0)}):n.sort((i,a)=>{let o=l=>{let f=`${l.t2||""} ${l.t1||""}`.trim().match(/第(\d+)集/);return f?parseInt(f[1]):999999},c=o(i),u=o(a);if(c===999999&&u===999999){let l=i.ts||"0",d=a.ts||"0";return l.localeCompare(d)}return c-u}),_("info",`[Mango] \u7EFC\u827A\u5904\u7406\u5B8C\u6210\uFF0C\u8FC7\u6EE4\u540E\u5206\u96C6\u6570: ${n.length}`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Mango] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Mango] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{if(l.type==="\u7535\u5F71"){let p=await this._getMovieEpisode(l.mediaId);if(!p)return;let m=`https://www.mgtv.com/b/${l.mediaId}/${p.video_id}.html`,h=p.t3||p.t1||"\u6B63\u7247",A=[{name:"1",url:m,title:`\u3010imgo\u3011 ${h}`}],b={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from imgo`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:1,rating:0,isFavorited:!0,source:"imgo"};a.push(b),Lt({...b,links:A},s),O.animes.length>O.MAX_ANIMES&&Ft();return}let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=`https://www.mgtv.com/b/${l.mediaId}/${m.video_id}.html`,A=`${m.t2||""} ${m.t1||""}`.trim();f.push({name:String(p+1),url:h,title:`\u3010imgo\u3011 ${A}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from imgo`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"imgo"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Mango] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Mango] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u8292\u679CTV\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Mango] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=[];for(let a of n)s.push(ge(a.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}));let i=[];try{(await Promise.allSettled(s)).filter(c=>c.status==="fulfilled").map(c=>c.value&&c.value.data?c.value.data:null).filter(c=>c!==null).forEach(c=>{c=typeof c=="string"?JSON.parse(c):c,c.data?.items&&i.push(...c.data.items)})}catch(a){return _("error","[Mango] \u89E3\u6790\u5F39\u5E55\u6570\u636E\u5931\u8D25:",a),[]}return ts(i),i}async getEpisodeDanmuSegments(e){_("info","[Mango] \u83B7\u53D6\u8292\u679CTV\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r="https://pcweb.api.mgtv.com/video/info",n="https://galaxy.bz.mgtv.com/getctlbarrage",s="https://galaxy.bz.mgtv.com/rdbarrage",i=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,a=e.match(i),o;if(a)o=a[2].split("/").filter(Boolean);else return _("error","[Mango] Invalid URL"),new vt({type:"imgo",segmentList:[]});let c=o[o.length-2],u=o[o.length-1].split(".")[0];_("info",`[Mango] \u83B7\u53D6\u5F39\u5E55\u5206\u6BB5\u5217\u8868 - cid: ${c}, vid: ${u}`);let l;try{let m=`${r}?cid=${c}&vid=${u}`;l=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}})}catch(m){return m.response?.status===404?new vt({type:"imgo",segmentList:[]}):(_("error","[Mango] \u8BF7\u6C42\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",m),new vt({type:"imgo",segmentList:[]}))}let f=(typeof l.data=="string"?JSON.parse(l.data):l.data).data.info.time,p=!0;try{let m=`${n}?version=8.1.39&abroad=0&uuid=&os=10.15.7&platform=0&mac=&vid=${u}&pid=&cid=${c}&ticket=`,h=await ge(m,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),A=typeof h.data=="string"?JSON.parse(h.data):h.data;(!A.data||!A.data.cdn_list||!A.data.cdn_version)&&(_("warn","[Mango] \u65B0API\u7F3A\u5C11\u5FC5\u8981\u5B57\u6BB5\uFF0C\u8FD4\u56DE\u7A7A\u5206\u6BB5\u5217\u8868"),p=!1);let g=[];if(p){let b=Math.ceil(Cg(f)/60),y=A.data.cdn_list.split(",")[0],x=A.data.cdn_version;for(let v=0;v<b;v++)g.push({type:"imgo",segment_start:v*60,segment_end:Math.min((v+1)*60,Cg(f)),url:`https://${y}/${x}/${v}.json`})}else{let y=Cg(f);for(let x=0;x<y;x+=60)g.push({type:"imgo",segment_start:x,segment_end:Math.min(x+60,Cg(f)),url:`${s}?vid=${u}&cid=${c}&time=${x*1e3}`})}return new vt({type:"imgo",segmentList:g})}catch(m){return _("error","[Mango] \u8BF7\u6C42\u5F39\u5E55\u5206\u6BB5\u6570\u636E\u5931\u8D25:",m),new vt({type:"imgo",segmentList:[]})}}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;s.data?.items&&n.push(...s.data.items)}return n}catch(r){return _("error","[Mango] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};return r?.v2_color&&(n.color=this.transformV2Color(r?.v2_color)),r?.v2_position&&(r?.v2_position===1?n.ct=5:r?.v2_position===2&&(n.ct=4)),n.timepoint=r.time/1e3,n.content=r.content,n.uid=r.uid,n.like=r.v2_up_count,n})}};Pt();St();ar();Is();$n();hn();hs();no();var Og=class t extends wt{static WBI_MIXIN_KEY_CACHE={key:null,timestamp:0};static WBI_MIXIN_KEY_CACHE_TTL=3600;static WBI_MIXIN_KEY_TABLE=[46,47,18,2,53,8,23,32,15,50,10,31,58,3,45,35,27,43,5,49,33,9,42,19,29,28,14,39,12,38,41,13,37,48,7,16,24,55,40,61,26,17,0,1,60,51,30,4,22,25,54,21,56,59,6,63,57,62,11,36,20,34,44,52];static APP_KEY="1d8b6e7d45233436";static APP_SEC="560c52ccd288fed045859ed18bffd973";async resolveB23Link(e){let r;try{_("info",`[Bilibili] \u6B63\u5728\u89E3\u6790 b23.tv \u77ED\u94FE\u63A5: ${e}`);let n=parseInt(O.vodRequestTimeout||"5000",10)||5e3,s=new AbortController;r=setTimeout(()=>s.abort(),n);let a=await(typeof fetch=="function"?fetch:(await Promise.resolve().then(()=>(_C(),wL))).default)(e,{method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},signal:s.signal,redirect:"manual"}),o=a.headers?.get?.("location")||a.headers?.get?.("Location"),c=o?new URL(o,e).toString():a.url;return c&&c!==e?(_("info",`[Bilibili] b23.tv \u77ED\u94FE\u63A5\u5DF2\u89E3\u6790\u4E3A: ${c}`),c):(_("error","[Bilibili] \u65E0\u6CD5\u89E3\u6790 b23.tv \u77ED\u94FE\u63A5"),e)}catch(n){return _("error","[Bilibili] \u89E3\u6790 b23.tv \u77ED\u94FE\u63A5\u5931\u8D25:",n),e}finally{r&&clearTimeout(r)}}async _getWbiMixinKey(){let e=Math.floor(Date.now()/1e3),r=t.WBI_MIXIN_KEY_CACHE;if(r.key&&e-r.timestamp<t.WBI_MIXIN_KEY_CACHE_TTL)return r.key;_("info","[Bilibili] WBI mixin key \u5DF2\u8FC7\u671F\u6216\u4E0D\u5B58\u5728\uFF0C\u6B63\u5728\u83B7\u53D6\u65B0\u7684...");try{let n=await ge("https://api.bilibili.com/x/web-interface/nav",{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(s.code!==0)return _("error","[Bilibili] \u83B7\u53D6 WBI \u5BC6\u94A5\u5931\u8D25:",s.message),"dba4a5925b345b4598b7452c75070bca";let i=s.data?.wbi_img||{},a=i.img_url||"",o=i.sub_url||"",c=a.split("/").pop()?.split(".")[0]||"",u=o.split("/").pop()?.split(".")[0]||"",l=t.WBI_MIXIN_KEY_TABLE.map(d=>(c+u)[d]).join("").substring(0,32);return r.key=l,r.timestamp=e,_("info","[Bilibili] \u6210\u529F\u83B7\u53D6\u65B0\u7684 WBI mixin key"),l}catch(n){return _("error","[Bilibili] \u83B7\u53D6 WBI \u5BC6\u94A5\u5931\u8D25:",n.message),"dba4a5925b345b4598b7452c75070bca"}}_getWbiSignedParams(e,r){let n={...e};n.wts=Math.floor(Date.now()/1e3);let o=Object.keys(n).sort().map(u=>{let l=n[u]??"";return`${encodeURIComponent(u)}=${encodeURIComponent(l)}`}).join("&")+r,c=Ls(o);return n.w_rid=c,n}async _searchByType(e,r,n){try{_("info",`[Bilibili] \u641C\u7D22\u7C7B\u578B '${r}'\uFF0C\u5173\u952E\u8BCD '${e}'`);let s={keyword:e,search_type:r},i=this._getWbiSignedParams(s,n),o=`https://api.bilibili.com/x/web-interface/wbi/search/type?${Object.keys(i).map(d=>`${encodeURIComponent(d)}=${encodeURIComponent(i[d])}`).join("&")}`,c=await ge(o,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),u=typeof c.data=="string"?JSON.parse(c.data):c.data;if(u.code!==0||!u.data?.result)return _("info",`[Bilibili] \u7C7B\u578B '${r}' \u65E0\u7ED3\u679C (Code: ${u.code})`),[];let l=[];for(let d of u.data.result){let f=d.season_id?`ss${d.season_id}`:d.bvid?`bv${d.bvid}`:"";if(!f)continue;let p=this._extractMediaType(d.season_type_name),m=p==="\u7535\u5F71"?1:d.ep_size||0,h=null;try{d.pubdate?typeof d.pubdate=="number"?h=new Date(d.pubdate*1e3).getFullYear():typeof d.pubdate=="string"&&d.pubdate.length>=4&&(h=parseInt(d.pubdate.substring(0,4))):d.pubtime&&(h=new Date(d.pubtime*1e3).getFullYear())}catch{}let A=cf((d.title||"").replace(/<[^>]+>/g,"")).replace(/:/g,"\uFF1A").trim(),g=cf((d.org_title||"").replace(/<[^>]+>/g,"")).trim(),b={provider:"bilibili",mediaId:f,mdId:d.media_id?`md${d.media_id}`:null,title:A,org_title:g,type:p,year:h,imageUrl:d.cover||null,episodeCount:m};d.eps&&d.eps.length>0&&(b._eps=d.eps),l.push(b)}return _("info",`[Bilibili] \u7C7B\u578B '${r}' \u627E\u5230 ${l.length} \u4E2A\u7ED3\u679C`),l}catch(s){return _("error",`[Bilibili] \u641C\u7D22\u7C7B\u578B '${r}' \u5931\u8D25:`,s.message),[]}}_extractMediaType(e){let r=(e||"").toLowerCase();return r.includes("\u7535\u5F71")||r.includes("movie")?"\u7535\u5F71":r.includes("\u756A\u5267")||r.includes("\u56FD\u521B")||r.includes("\u52A8\u6F2B")||r.includes("anime")?"\u52A8\u6F2B":r.includes("\u7EAA\u5F55\u7247")||r.includes("documentary")?"\u7EAA\u5F55\u7247":r.includes("\u7EFC\u827A")||r.includes("variety")?"\u7EFC\u827A":(r.includes("\u7535\u89C6\u5267")||r.includes("\u5267\u96C6")||r.includes("drama")||r.includes("tv"),"\u7535\u89C6\u5267")}async search(e){let r=[];O.useBangumiData&&(r=await Au(e,["bilibili","bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"]),_("info",`[Bilibili] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`));let n=r.filter(s=>["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(s.matchedSiteKey));try{_("info",`[Bilibili] \u5F00\u59CB\u641C\u7D22: ${e}`);let s=await this._getWbiMixinKey(),i=this._searchByType(e,"media_bangumi",s),a=this._searchByType(e,"media_ft",s),o=Promise.resolve([]);this._hasBilibiliProxy()&&(_("info","[Bilibili] \u68C0\u6D4B\u5230\u4EE3\u7406\u914D\u7F6E\uFF0C\u542F\u7528\u6E2F\u6FB3\u53F0\u5E76\u884C\u641C\u7D22"),o=this._searchOversea(e,n.length>0));let c=(await Promise.all([i,a,o])).flat(),u=[],l=new Set,d=new Set;for(let p of c){if(!p||!p.mediaId&&!p.season_id)continue;let m=r.find(A=>p.mdId&&p.mdId===`md${A.siteId}`)||r.find(A=>p.org_title&&A.title===p.org_title);if(m){let g=(m.titles.find(b=>b&&b.includes(e))||m.titles[1]||m.title)+(m.titleSuffix||"");p.title=g,p._displayTitle=g,p.aliases=[...m.titles],p.type=m.typeStr||p.type,p.isLocalPriority=!0,d.add(`md${m.siteId}`),_("info",`[Bilibili] \u7F51\u7EDC\u7ED3\u679C [${p.title}] \u6210\u529F\u5BF9\u9F50\u672C\u5730 Bangumi-Data \u6570\u636E`)}let h=p.mediaId||(p.season_id?`ss${p.season_id}`:null);h&&l.has(h)||(h&&l.add(h),u.push(p))}let f=r.filter(p=>!d.has(`md${p.siteId}`));if(f.length>0){let p=f.filter(h=>h.season_id),m=f.filter(h=>!h.season_id);if(p.length>0){_("info",`[Bilibili] \u4ECE\u672C\u5730 Bangumi-Data \u8865\u5145 ${p.length} \u6761\u7F3A\u6F0F\u8BB0\u5F55\u5E76\u8BF7\u6C42\u8BE6\u60C5....\uFF08\u5305\u542B season_id \uFF09`);for(let h of p){let g=(h.titles.find(x=>x&&x.includes(e))||h.titles[1]||h.title)+(h.titleSuffix||""),b={provider:"bilibili",mediaId:`ss${h.season_id}`,mdId:`md${h.siteId}`,title:g,org_title:h.title,aliases:[...h.titles],_displayTitle:g,type:h.typeStr,year:h.begin?parseInt(h.begin.substring(0,4)):null,imageUrl:"",episodeCount:0,isOversea:["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(h.matchedSiteKey),isLocalPriority:!0},y=b.mediaId;y&&!l.has(y)&&(l.add(y),u.unshift(b))}}if(m.length>0){_("info",`[Bilibili] \u4ECE\u672C\u5730 Bangumi-Data \u8865\u5145 ${m.length} \u6761\u7F3A\u6F0F\u8BB0\u5F55\u5E76\u8BF7\u6C42\u8BE6\u60C5...`);let h=m.map(async g=>{let b=await this._resolveMediaInfo(g.siteId),x=(g.titles.find(v=>v&&v.includes(e))||g.titles[1]||g.title)+(g.titleSuffix||"");return{provider:"bilibili",mediaId:b.seasonId||`md${g.siteId}`,mdId:`md${g.siteId}`,title:x,org_title:g.title,aliases:[...g.titles],_displayTitle:x,type:g.typeStr,year:g.begin?parseInt(g.begin.substring(0,4)):null,imageUrl:b.cover,episodeCount:0,isOversea:["bilibili_hk_mo_tw","bilibili_hk_mo","bilibili_tw"].includes(g.matchedSiteKey),isLocalPriority:!0}}),A=await Promise.all(h);for(let g of A){let b=g.mediaId;b&&l.has(b)||b&&(l.add(b),u.unshift(g))}}}return _("info",`[Bilibili] \u641C\u7D22\u5B8C\u6210\uFF0C\u627E\u5230 ${u.length} \u4E2A\u6709\u6548\u7ED3\u679C`),u}catch(s){return _("error","[Bilibili] \u641C\u7D22\u51FA\u9519:",s.message),[]}}async _resolveMediaInfo(e){try{let r=await ge(`https://api.bilibili.com/pgc/review/user?media_id=${e}`),n=typeof r.data=="string"?JSON.parse(r.data):r.data;if(n.code===0&&n.result&&n.result.media){let s=n.result.media;return{seasonId:`ss${s.season_id}`,cover:s.cover||s.horizontal_picture||""}}}catch(r){_("error",`[Bilibili] \u83B7\u53D6\u5A92\u4F53\u4FE1\u606F\u5931\u8D25 (md${e}):`,r.message)}return{seasonId:null,cover:""}}async _getPgcEpisodes(e){let r=[],n=[`https://api.bilibili.com/pgc/view/web/season?season_id=${e}`,`https://api.bilibili.com/pgc/web/season/section?season_id=${e}`];for(let i of n)try{let a=await ge(i,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),o=typeof a.data=="string"?JSON.parse(a.data):a.data;if(o.code===0&&o.result&&(r=o.result.main_section?.episodes||o.result.episodes||[],o.result.cover&&(r._cover=o.result.cover),r.length>0))break}catch{}if(r.length===0)return _("error",`[Bilibili] \u83B7\u53D6\u756A\u5267\u5206\u96C6\u5931\u8D25 (season_id=${e}): \u6240\u6709\u63A5\u53E3\u5747\u65E0\u6570\u636E`),[];let s=r.map((i,a)=>{let o="";if(i.show_title)o=i.show_title;else{let c=i.title||String(a+1),u=i.long_title||"";o=/^\d+(\.\d+)?$/.test(c)?`\u7B2C${c}\u8BDD`:c,u&&u!==c&&(o+=` ${u}`)}return{vid:`${i.aid},${i.cid}`,id:i.id,title:o.trim(),link:`https://www.bilibili.com/bangumi/play/ep${i.id}`}});return r._cover&&(s._cover=r._cover),_("info",`[Bilibili] \u83B7\u53D6\u5230 ${s.length} \u4E2A\u756A\u5267\u5206\u96C6`),s}async _getUgcEpisodes(e){try{let r=`https://api.bilibili.com/x/web-interface/view?bvid=${e}`,n=await ge(r,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Cookie:O.bilibliCookie||""}}),s=typeof n.data=="string"?JSON.parse(n.data):n.data;if(s.code!==0||!s.data)return _("error",`[Bilibili] \u83B7\u53D6\u89C6\u9891\u5206\u96C6\u5931\u8D25 (bvid=${e}):`,s.message),[];let i=s.data.pages||[];if(i.length===0)return _("info",`[Bilibili] \u89C6\u9891 bvid=${e} \u65E0\u5206\u96C6\u6570\u636E`),[];let a=i.map((o,c)=>({vid:`${s.data.aid},${o.cid}`,id:o.cid,title:(o.part||`P${o.page}`).trim(),link:`https://www.bilibili.com/video/${e}?p=${o.page}`}));return _("info",`[Bilibili] \u83B7\u53D6\u5230 ${a.length} \u4E2A\u89C6\u9891\u5206\u96C6`),a}catch(r){return _("error",`[Bilibili] \u83B7\u53D6\u89C6\u9891\u5206\u96C6\u51FA\u9519 (bvid=${e}):`,r.message),[]}}async getEpisodes(e){if(e.startsWith("md")){let r=e.substring(2),n=await this._resolveMediaInfo(r);if(n.seasonId){let s=await this._getPgcEpisodes(n.seasonId.substring(2));return s._cover=n.cover,s}return[]}if(e.startsWith("ss")){let r=e.substring(2);return await this._getPgcEpisodes(r)}else if(e.startsWith("bv")){let r=e.substring(2);return await this._getUgcEpisodes(r)}return _("error",`[Bilibili] \u4E0D\u652F\u6301\u7684 ID \u683C\u5F0F: ${e}`),[]}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Bilibili] sourceAnimes is not a valid array"),[];e.forEach(d=>{d.aliases=d.aliases||[],d.title&&!d.aliases.includes(d.title)&&d.aliases.push(d.title),d.org_title&&!d.aliases.includes(d.org_title)&&d.aliases.push(d.org_title)});let o=e.length>0?e[0]._tmdbCnAlias:null;eE(e,o);let c=e.filter(d=>d.isOversea||yt(d.title,r,i)||d.aliases&&d.aliases.some(f=>yt(f,r,i))),u=i!==null?i:$t(r);if(u!==null){let d=c.filter(f=>{let p=f._displayTitle||f.title,m=Tt(p).season;return m===u||u===1&&m===null});d.length>0&&(c=d,_("info",`[Bilibili] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${u}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let l=c.map(async d=>{try{let f=[],p=d.checkMore?.content?.includes("\u67E5\u770B\u5168\u90E8");if(d._eps&&d._eps.length>0&&!p){f=d._eps.map((b,y)=>{let x;d.isOversea&&b.position?x=b.position.toString():x=b.index_title||b.index||(y+1).toString();let v=b.title||b.index_title||x,C=b.long_title||"",R=/^\d+(\.\d+)?$/.test(v)?`\u7B2C${v}\u8BDD`:v;C&&C!==v&&(R+=` ${C}`);let w=b.id||b.param,N=`https://www.bilibili.com/bangumi/play/ep${w}?season_id=${d.mediaId.substring(2)}`;return d.isOversea&&(N+="&area=hkmt"),{name:x,url:N,title:`\u3010bilibili1\u3011 ${R.trim()}`,_id:parseInt(w,10)||0}});let g=f.map(b=>lf(b.name));g.every(b=>b!==null)?(f.forEach((b,y)=>b._sortKey=g[y]),f.sort((b,y)=>b._sortKey-y._sortKey)):f.sort((b,y)=>b._id-y._id),_("info",`[Bilibili] \u76F4\u63A5\u4F7F\u7528\u641C\u7D22\u7ED3\u679C\u4E2D\u7684 ${f.length} \u96C6\u5206\u96C6`)}else{let g=await this.getEpisodes(d.mediaId);if(g.length===0){_("info",`[Bilibili] ${d.title} \u65E0\u5206\u96C6\uFF0C\u8DF3\u8FC7`);return}g._cover&&(d.imageUrl=g._cover),f=g.map((b,y)=>{let x=b.link+`?season_id=${d.mediaId.substring(2)}`;return d.isOversea&&(x+="&area=hkmt"),{name:`${y+1}`,url:x,title:`\u3010bilibili1\u3011 ${b.title}`,_id:parseInt(b.id,10)||0}}),f.sort((b,y)=>b._id-y._id)}if(f.length===0)return;let m=Yr(d.mediaId),h=d._displayTitle||Gt(d.title),A={animeId:m,bangumiId:d.mediaId,animeTitle:`${h}(${d.year||"N/A"})\u3010${d.type}\u3011from bilibili`,type:d.type,typeDescription:d.type,imageUrl:d.imageUrl,startDate:Pr(d.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"bilibili",aliases:d.aliases};a.push(A),Lt({...A,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}catch(f){_("error",`[Bilibili] \u5904\u7406 ${d.title} \u5931\u8D25:`,f.message)}});return await Promise.all(l),this.sortAndPushAnimesByYear(a,n),a}async _extractVideoInfo(e){_("info","[Bilibili] \u63D0\u53D6B\u7AD9\u89C6\u9891\u4FE1\u606F...",e);let r="https://api.bilibili.com/x/web-interface/view",n="https://api.bilibili.com/pgc/view/web/season",s=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,i=e.match(s),a;if(i)a=i[2].split("/").filter(Boolean),a.unshift(""),_("info","[Bilibili] ",a);else return _("error","[Bilibili] Invalid URL"),null;let o,c,u,l;if(e.includes("video/"))try{let d=e.split("?")[1],f=1;if(d){let A=d.split("&");for(let g of A){let[b,y]=g.split("=");b==="p"&&(f=y||1)}}_("info",`[Bilibili] p: ${f}`);let p;e.includes("BV")?p=`${r}?bvid=${a[2]}`:(c=a[2].substring(2),p=`${r}?aid=${a[2].substring(2)}`);let m=await ge(p,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),h=typeof m.data=="string"?JSON.parse(m.data):m.data;if(h.code!==0)return _("error","[Bilibili] \u83B7\u53D6\u666E\u901A\u6295\u7A3F\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",h.message),null;u=h.data.duration,o=h.data.pages[f-1].cid}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u666E\u901A\u6295\u7A3F\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else if(e.includes("bangumi/")&&e.includes("ep"))try{let d=a.slice(-1)[0].slice(2),f=e.split("?")[1]||"",p=null,m=!1;f.split("&").forEach(A=>{let[g,b]=A.split("=");g==="season_id"&&(p=b),g==="area"&&b==="hkmt"&&(m=!0)});let h=!1;if(!m){let A=await ge(`${n}?ep_id=${d}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0"}}),g=typeof A.data=="string"?JSON.parse(A.data):A.data;if(g.code===0&&g.result){let b=g.result.episodes.find(y=>y.id==d);b&&(o=b.cid,u=b.duration/1e3,l=b.share_copy,h=!0)}}if((!h||m)&&p&&this._hasBilibiliProxy()){try{let A=this._makeProxyUrl(`https://api.bilibili.com/pgc/view/web/season?season_id=${p}`),g=await ge(A,{headers:{Cookie:O.bilibliCookie||"","User-Agent":"Mozilla/5.0"}}),b=typeof g.data=="string"?JSON.parse(g.data):g.data;if(b.code===0&&b.result){let y=(b.result.episodes||b.result.main_section?.episodes||[]).find(x=>x.id==d);y&&(o=y.cid,c=y.aid,u=y.duration/1e3,l=y.long_title,h=!0)}}catch{}if(!h)try{let A=await ge(`https://api.bilibili.com/pgc/web/season/section?season_id=${p}`,{headers:{"User-Agent":"Mozilla/5.0",Cookie:O.bilibliCookie||""}}),g=typeof A.data=="string"?JSON.parse(A.data):A.data;if(g.code===0&&g.result?.main_section?.episodes){let b=g.result.main_section.episodes.find(y=>y.id==d);b&&(o=b.cid,c=b.aid,u=b.duration?b.duration/1e3:0,l=b.long_title,h=!0)}}catch{}}if(!o)return _("error","[Bilibili] \u672A\u627E\u5230\u5339\u914D\u7684\u756A\u5267\u96C6\u4FE1\u606F"),null;!u&&u!==0&&(u=0)}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else if(e.includes("bangumi/")&&e.includes("ss"))try{let d=a.slice(-1)[0].slice(2).split("?")[0],f=`${n}?season_id=${d}`;_("info",`[Bilibili] \u83B7\u53D6\u756A\u5267\u4FE1\u606F: season_id=${d}`);let p=await ge(f,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),m=typeof p.data=="string"?JSON.parse(p.data):p.data;if(m.code!==0)return _("error","[Bilibili] \u83B7\u53D6\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",m.message),null;if(!m.result.episodes||m.result.episodes.length===0)return _("error","[Bilibili] \u756A\u5267\u6CA1\u6709\u53EF\u7528\u7684\u96C6\u6570"),null;let h=m.result.episodes[0];o=h.cid,u=h.duration/1e3,l=h.share_copy,_("info",`[Bilibili] \u4F7F\u7528\u7B2C\u4E00\u96C6: ${l}, cid=${o}`)}catch(d){return _("error","[Bilibili] \u8BF7\u6C42\u756A\u5267\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",d),null}else return _("error","[Bilibili] \u4E0D\u652F\u6301\u7684B\u7AD9\u89C6\u9891\u7F51\u5740\uFF0C\u4EC5\u652F\u6301\u666E\u901A\u89C6\u9891(av,bv)\u3001\u5267\u96C6\u89C6\u9891(ep,ss)"),null;return _("info",`[Bilibili] \u63D0\u53D6\u89C6\u9891\u4FE1\u606F\u5B8C\u6210: cid=${o}, aid=${c}, duration=${u}`),{cid:o,aid:c,duration:u,title:l}}async getEpisodeDanmu(e){_("info","[Bilibili] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42B\u7AD9\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Bilibili] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=6,i=[];for(let a=0;a<n.length;a+=s){let c=n.slice(a,a+s).map(d=>this.getEpisodeSegmentDanmu(d).then(f=>({status:"ok",value:f})).catch(f=>({status:"err",error:f}))),u=await Promise.all(c),l=!1;for(let d of u)d.status==="ok"&&d.value?i.push(...d.value):(_("info","[Bilibili] \u6355\u83B7\u5230\u5206\u6BB5\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF4\u660E\u8BF7\u6C42\u5B8C\u6BD5\uFF0C\u505C\u6B62\u540E\u7EED\u8BF7\u6C42"),l=!0);if(l)break}return i}async getEpisodeDanmuSegments(e){if(_("info","[Bilibili] \u83B7\u53D6B\u7AD9\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),typeof e=="string"&&e.includes("/combine?")){let c=[],u=0,l=0,d=e.startsWith("http")?e:`https://www.bilibili.com${e}`,f=new URL(d);for(let[p,m]of f.searchParams.entries()){if(!p.startsWith("cid"))continue;let h=p.substring(3),[A,g]=m.split("-"),b=parseFloat(A)||0,y=parseFloat(g)||0,x=y-b;if(x<=0)continue;l+=x;let v=Math.ceil(y/360);for(let C=0;C<v;C++){let R=`#combine_start=${b}&combine_end=${y}&combine_offset=${u}`;c.push({type:"bilibili1",segment_start:C*360,segment_end:Math.min((C+1)*360,y),url:`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${h}&segment_index=${C+1}${R}`})}u+=x}return new vt({type:"bilibili1",duration:l,segmentList:c})}let r=await this._extractVideoInfo(e);if(!r)return new vt({type:"bilibili1",segmentList:[]});let{cid:n,aid:s,duration:i}=r;_("info",`[Bilibili] \u89C6\u9891\u4FE1\u606F: cid=${n}, aid=${s}, duration=${i}`),i<=0&&_("info","[Bilibili] \u672A\u83B7\u53D6\u5230\u7CBE\u51C6\u65F6\u957F\uFF0C\u4F7F\u7528\u9884\u8BBE 36 \u5206\u6BB5");let a=i>0?Math.ceil(i/360):36;_("info",`[Bilibili] maxLen: ${a}`);let o=[];for(let c=0;c<a;c+=1){let u;s?u=`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${n}&pid=${s}&segment_index=${c+1}`:u=`https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=${n}&segment_index=${c+1}`,o.push({type:"bilibili1",segment_start:c*360,segment_end:i>0?Math.min((c+1)*360,i):(c+1)*360,url:u})}return new vt({type:"bilibili1",duration:i>0?i:0,segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=new URL(e.url),n=e.url.split("#")[0],s=await ge(n,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Cookie:O.bilibliCookie},base64Data:!0,retries:1}),i=[];if(s&&s.data&&(i=O8e(s.data)),r.hash&&r.hash.includes("combine_offset")){let a=new URLSearchParams(r.hash.substring(1)),o=parseFloat(a.get("combine_start"))||0,c=parseFloat(a.get("combine_end"))||0,u=parseFloat(a.get("combine_offset"))||0,l=[];for(let d of i){let f=0;if(d.p&&typeof d.p=="string"?f=parseFloat(d.p.split(",")[0]):d.t!==void 0?f=Number(d.t):d.progress!==void 0&&(f=d.progress/1e3),!isNaN(f)&&f>=o&&f<=c){let p=f-o+u;if(d.p&&typeof d.p=="string"){let m=d.p.split(",");m[0]=p.toFixed(5),d.p=m.join(",")}d.t!==void 0&&(d.t=p),d.progress!==void 0&&(d.progress=Math.round(p*1e3)),l.push(d)}}return l}return i}catch(r){throw r}}formatComments(e){return e.map(r=>(O.danmuSimplifiedTraditional==="simplified"&&r.m&&(r.m=Gt(r.m)),r.like=r.like_num,r))}_makeProxyUrl(e){return O.makeProxyUrl(e)}_hasBilibiliProxy(){return(O.proxyUrl||"").split(",").some(e=>{let r=e.trim();return r.startsWith("bilibili@")||r.startsWith("@")})}_javaUrlEncode(e){return encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")}async _searchOverseaRequest(e,r,n,s="Original",i=null){let o=(O.bilibliCookie||"").match(/([0-9a-fA-F]{32})/);if(!((O.proxyUrl||"").includes("bilibili@")||(O.proxyUrl||"").includes("@")))return[];if(o){_("info",`[Bilibili-Proxy][${s}] \u68C0\u6D4B\u5230 Access Key\uFF0C\u542F\u7528 APP \u7AEF\u63A5\u53E3\u6A21\u5F0F (Type: ${r})...`);try{let u={keyword:e,type:r,area:"tw",mobi_app:"android",platform:"android",build:"8140200",ts:Math.floor(Date.now()/1e3),appkey:t.APP_KEY,access_key:o[1],disable_rcmd:1},l=Object.keys(u).sort().map(h=>`${h}=${this._javaUrlEncode(String(u[h]))}`).join("&"),d=Ls(l+t.APP_SEC),f=`https://app.bilibili.com/x/v2/search/type?${l}&sign=${d}`,p=O.makeProxyUrl(f),m=await this._fetchAppSearchWithStream(p,{"User-Agent":"Mozilla/5.0 Android","X-From-Biliroaming":"1.0.0"},s,i);if(m&&m.code===0)return(m.data?.items||m.data?.result||m.data||[]).filter(h=>h.goto!=="recommend_tips"&&h.area!=="\u6F2B\u6E38"&&h.badge!=="\u516C\u544A").map(h=>({provider:"bilibili",mediaId:h.season_id?`ss${h.season_id}`:h.uri.match(/season\/(\d+)/)?.[1]?`ss${h.uri.match(/season\/(\d+)/)[1]}`:"",title:cf((h.title||"").replace(/<[^>]+>/g,"")).trim(),org_title:cf((h.org_title||"").replace(/<[^>]+>/g,"")).trim(),type:this._extractMediaType(h.season_type_name),year:h.ptime?new Date(h.ptime*1e3).getFullYear():null,imageUrl:h.cover||h.pic||"",episodeCount:0,_eps:h.episodes||h.episodes_new,checkMore:h.check_more,isOversea:!0})).filter(h=>h.mediaId);m&&m.code!==0&&_("warn",`[Bilibili-Proxy] App \u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF Code ${m.code}: ${m.message}`)}catch(u){if(u.name==="AbortError")throw u;_("error",`[Bilibili-Proxy] App \u63A5\u53E3\u8BF7\u6C42\u5F02\u5E38: ${u.message}`)}_("info","[Bilibili-Proxy] App \u63A5\u53E3\u8BF7\u6C42\u5931\u8D25\uFF0C\u81EA\u52A8\u964D\u7EA7\u81F3 Web \u63A5\u53E3...")}else _("info",`[Bilibili-Proxy][${s}] \u672A\u68C0\u6D4B\u5230 Access Key\uFF0C\u542F\u7528 Web \u7AEF\u63A5\u53E3\u6A21\u5F0F (Type: ${n})...`);try{let u={keyword:e,search_type:n,area:"tw",page:1,order:"totalrank",__refresh__:!0,_timestamp:Date.now()},d=`https://api.bilibili.com/x/web-interface/search/type?${Object.keys(u).map(h=>`${encodeURIComponent(h)}=${encodeURIComponent(u[h])}`).join("&")}`,f=O.makeProxyUrl(d),p=await ge(f,{headers:{"User-Agent":"Mozilla/5.0",Cookie:O.bilibliCookie||"","X-From-Biliroaming":"1.0.0"},signal:i}),m=typeof p.data=="string"?JSON.parse(p.data):p.data;if(m.code!==0)return _("warn",`[Bilibili-Proxy] Web \u63A5\u53E3\u8FD4\u56DE\u9519\u8BEF Code ${m.code}: ${m.message}`),[];if(m.data?.result)return m.data.result.filter(h=>h.url?.includes("bilibili.com")&&!h.areas?.includes("\u6F2B\u6E38")).map(h=>({provider:"bilibili",mediaId:h.season_id?`ss${h.season_id}`:"",mdId:h.media_id?`md${h.media_id}`:null,title:cf((h.title||"").replace(/<[^>]+>/g,"")).trim(),org_title:cf((h.org_title||"").replace(/<[^>]+>/g,"")).trim(),type:this._extractMediaType(h.season_type_name),year:h.pubtime?new Date(h.pubtime*1e3).getFullYear():null,imageUrl:h.cover||null,episodeCount:h.ep_size||0,_eps:h.eps,isOversea:!0})).filter(h=>h.mediaId)}catch(u){if(u.name==="AbortError")throw u;_("error",`[Bilibili-Proxy] Web \u63A5\u53E3\u8BF7\u6C42\u5F02\u5E38: ${u.message}\uFF08\u5982\u679C\u662F-500/-502\u8BF4\u660E\u53EA\u662F\u98CE\u63A7\uFF09`)}return[]}async _searchOversea(e,r=!1){let n=new AbortController,s=r?[{appType:8,webType:"media_ft"}]:[{appType:7,webType:"media_bangumi"},{appType:8,webType:"media_ft"}],i=Promise.all(s.map(async(o,c)=>(c>0&&await new Promise(u=>setTimeout(u,c*300)),this._searchOverseaRequest(e,o.appType,o.webType,"Original")))).then(o=>{let c=o.flat();return c.length&&n.abort(),c.forEach(u=>u._originalQuery=e),c}).catch(()=>[]),a=O.tmdbApiKey?new Promise(o=>setTimeout(o,100)).then(async()=>{let o=await Zb(e,n.signal,"Bilibili");if(o&&o.title&&o.title!==e){let{title:c,cnAlias:u}=o,l=s.map(async(f,p)=>(p>0&&await new Promise(m=>setTimeout(m,p*300)),this._searchOverseaRequest(c,f.appType,f.webType,"TMDB",n.signal))),d=(await Promise.all(l)).flat();return d.forEach(f=>{f._originalQuery=e,f._searchUsedTitle=c,f._tmdbCnAlias=u}),d}return[]}).catch(()=>[]):Promise.resolve([]);return(await Promise.all([i,a])).flat()}async _fetchAppSearchWithStream(e,r,n,s){if(typeof Fz!="function")return null;let i=!1,a=!1,o=await Fz(e,{headers:r,sniffLimit:8192,signal:s},c=>i?!0:c.includes('"goto":"recommend_tips"')||c.includes("\u6682\u65E0\u641C\u7D22\u7ED3\u679C")?(_("info",`[Bilibili-Proxy][${n}] \u55C5\u63A2\u5230\u65E0\u6548\u6570\u636E\uFF0C\u4E2D\u65AD`),a=!0,!1):((c.includes('"season_id"')||c.includes('"episodes"'))&&(i=!0),!0));return a?{code:0,data:{items:[]}}:o}};Pt();St();ar();hn();Is();$n();hs();var Pg=class extends wt{convertYoukuUrl(e){let r=e.match(/vid=([^&]+)/);return!r||!r[1]?null:`https://v.youku.com/v_show/id_${r[1]}.html`}filterYoukuSearchItem(e,r){let n=e.commonData;if(!n||!n.titleDTO||n.isYouku!==1&&n.hasYouku!==1)return null;let s=n.titleDTO.displayName;if(["\u4E2D\u914D\u7248","\u62A2\u5148\u770B","\u975E\u6B63\u7247","\u89E3\u8BFB","\u63ED\u79D8","\u8D4F\u6790","\u300A"].some(f=>s.includes(f)))return null;let a=n.feature.match(/[12][890][0-9][0-9]/),o=a?parseInt(a[0]):null,c=s.replace(/<[^>]+>/g,"").replace(/ã€.+?】/g,"").trim().replace(/:/g,"\uFF1A"),u="\u7535\u89C6\u5267",l=(n.cats||"").toLowerCase(),d=(n.feature||"").toLowerCase();return l.includes("\u52A8\u6F2B")||l.includes("anime")?u="\u52A8\u6F2B":l.includes("\u7535\u5F71")||l.includes("movie")?u="\u7535\u5F71":l.includes("\u7535\u89C6\u5267")||l.includes("drama")?u="\u7535\u89C6\u5267":l.includes("\u7EFC\u827A")||l.includes("variety")?u="\u7EFC\u827A":d.includes("\u52A8\u6F2B")?u="\u52A8\u6F2B":d.includes("\u7535\u5F71")?u="\u7535\u5F71":d.includes("\u7535\u89C6\u5267")?u="\u7535\u89C6\u5267":d.includes("\u7EFC\u827A")&&(u="\u7EFC\u827A"),{provider:"youku",mediaId:n.showId,title:c,type:u,year:o,imageUrl:n.posterDTO?n.posterDTO.vThumbUrl:null,episodeCount:n.episodeTotal,cats:n.cats}}async search(e){try{_("info",`[Youku] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=encodeURIComponent(e),n=encodeURIComponent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"),s=`https://search.youku.com/api/search?keyword=${r}&userAgent=${n}&site=1&categories=0&ftype=0&ob=0&pg=1`,i=await ge(s,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",Accept:"application/json",Referer:"https://www.youku.com/"}});if(!i||!i.data)return _("info","[Youku] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.pageComponentList)return _("info","[Youku] \u641C\u7D22\u65E0\u7ED3\u679C"),[];let o=[];for(let c of a.pageComponentList){let u=this.filterYoukuSearchItem(c,e);u&&o.push(u)}return _("info",`[Youku] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Youku] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Youku] \u83B7\u53D6\u5206\u96C6\u5217\u8868: show_id=${e}`);let r=100,n=await this._getEpisodesPage(e,1,r);if(!n||!n.videos||n.videos.length===0)return _("info","[Youku] \u672A\u627E\u5230\u5206\u96C6\u4FE1\u606F"),[];let s=[...n.videos],i=n.total;if(i>r){let a=Math.ceil(i/r);_("info",`[Youku] \u68C0\u6D4B\u5230 ${i} \u4E2A\u5206\u96C6\uFF0C\u5C06\u5E76\u53D1\u8BF7\u6C42 ${a} \u9875`);let o=[];for(let u=2;u<=a;u++)o.push(this._getEpisodesPage(e,u,r));let c=await Promise.allSettled(o);for(let u=0;u<c.length;u++){let l=c[u];l.status==="fulfilled"&&l.value&&l.value.videos?s.push(...l.value.videos):l.status==="rejected"&&_("error",`[Youku] \u83B7\u53D6\u5206\u96C6\u9875\u9762 ${u+2} \u5931\u8D25:`,l.reason)}_("info",`[Youku] \u5E76\u53D1\u83B7\u53D6\u5B8C\u6210\uFF0C\u5171\u83B7\u53D6 ${s.length} \u4E2A\u5206\u96C6`)}return _("info",`[Youku] \u5171\u83B7\u53D6 ${s.length} \u96C6`),s}catch(r){return _("error","[Youku] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async _getEpisodesPage(e,r,n){let s=`https://openapi.youku.com/v2/shows/videos.json?client_id=53e6cc67237fc59a&package=com.huawei.hwvplayer.youku&ext=show&show_id=${e}&page=${r}&count=${n}`,i=await ge(s,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!i||!i.data?null:typeof i.data=="string"?JSON.parse(i.data):i.data}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Youku] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Youku] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=this._extractMediaType(l.cats,l.type),p=this._processAndFormatEpisodes(d,f),m=[];for(let h of p){let A=h.link||`https://v.youku.com/v_show/id_${h.vid}.html`;m.push({name:h.episodeIndex.toString(),url:A,title:`\u3010youku\u3011 ${h.title}`})}if(m.length>0){let A={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from youku`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:m.length,rating:0,isFavorited:!0,source:"youku"};a.push(A),Lt({...A,links:m},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Youku] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}_processAndFormatEpisodes(e,r="variety"){return[...e].map((i,a)=>{let o=a+1,c=this._formatEpisodeTitle(i,o,r);return{vid:i.id,title:c,episodeIndex:o,link:i.link}})}_formatEpisodeTitle(e,r,n){let s=e.displayName||e.title,i=/^(?:\d{2,4}-\d{2}-\d{2}|\d{2}-\d{2})\s*(?=(?:第\d+期))|^(?:\d{2,4}-\d{2}-\d{2}|\d{2}-\d{2})\s*:\s*/;if(s=s.replace(i,"").trim(),n==="movie")return s;if(n==="variety"){let a=s.match(/第(\d+)期/);return a?`\u7B2C${a[1]}\u671F ${e.published?.split(" ")[0]??""} ${s}`:`\u7B2C${r}\u671F ${e.published?.split(" ")[0]??""} ${s}`}return/^第\d+集/.test(s)?s:`\u7B2C${r}\u96C6 ${s}`}_extractMediaType(e,r){let n=(e||"").toLowerCase(),s=(r||"").toLowerCase();return n.includes("\u7EFC\u827A")||n.includes("variety")?"variety":n.includes("\u7535\u5F71")||n.includes("movie")?"movie":n.includes("\u52A8\u6F2B")||n.includes("anime")?"anime":n.includes("\u7535\u89C6\u5267")||n.includes("drama")?"drama":s.includes("\u7EFC\u827A")?"variety":s.includes("\u7535\u5F71")?"movie":s.includes("\u52A8\u6F2B")?"anime":(s.includes("\u7535\u89C6\u5267"),"drama")}async getEpisodeDanmu(e){if(_("info","[Youku] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4F18\u9177\u5F39\u5E55...",e),!e)return[];let n=(await this.getEpisodeDanmuSegments(e)).segmentList,s=[],i=O.youkuConcurrency,a=[...n];for(let o=0;o<a.length;o+=i){let c=a.slice(o,o+i).map(async u=>{let l=await Vr(u.url,Ai({data:u.data}),{headers:{Cookie:`_m_h5_tk=${u._m_h5_tk};_m_h5_tk_enc=${u._m_h5_tk_enc};`,Referer:"https://v.youku.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1,retries:1}),d=[];if(l.data?.data&&l.data.data.result){let f=JSON.parse(l.data.data.result);f.code!=="-1"&&d.push(...f.data.result)}return d});try{let u=await Promise.allSettled(c);for(let l of u)l.status==="fulfilled"&&Array.isArray(l.value)&&(s=s.concat(l.value))}catch(u){_("error","[Youku] \u4F18\u9177\u5206\u6BB5\u6279\u91CF\u8BF7\u6C42\u5931\u8D25:",u.message)}}return ts(s),s}async getEpisodeDanmuSegments(e){if(_("info","[Youku] \u83B7\u53D6\u4F18\u9177\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),!e)return new vt({type:"youku",segmentList:[]});e.includes("youku.com/video?vid")&&(e=this.convertYoukuUrl(e));let r="https://openapi.youku.com/v2/videos/show.json",n="https://acs.youku.com/h5/mopen.youku.danmu.list/1.0/",s=/^(https?:\/\/[^\/]+)(\/[^?#]*)/,i=e.match(s),a;if(i)a=i[2].split("/").filter(Boolean),a.unshift(""),_("info","[Youku]",a);else return _("error","[Youku] Invalid URL"),[];let o=a[a.length-1].split(".")[0].slice(3);_("info",`[Youku] video_id: ${o}`);let c;try{let x=`${r}?client_id=53e6cc67237fc59a&video_id=${o}&package=com.huawei.hwvplayer.youku&ext=show`;c=await ge(x,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1})}catch(x){return _("error","[Youku] \u8BF7\u6C42\u89C6\u9891\u4FE1\u606F\u5931\u8D25:",x),[]}let u=typeof c.data=="string"?JSON.parse(c.data):c.data,l=u.title,d=u.duration;_("info",`[Youku] \u6807\u9898: ${l}, \u65F6\u957F: ${d}`);let f,p,m;try{let x="https://log.mmstat.com/eg.js",v="https://acs.youku.com/h5/mtop.com.youku.aplatform.weakget/1.0/?jsv=2.5.1&appKey=24679788",C=await ge(x,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1});_("info",`[Youku] cnaRes: ${JSON.stringify(C)}`),_("info",`[Youku] cnaRes.headers: ${JSON.stringify(C.headers)}`);let R=C.headers.etag||C.headers.Etag;_("info",`[Youku] etag: ${R}`),f=R.replace(/^"|"$/g,""),_("info",`[Youku] cna: ${f}`);let w;for(;!w;)w=await ge(v,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1});_("info",`[Youku] tkEncRes: ${JSON.stringify(w)}`),_("info",`[Youku] tkEncRes.headers: ${JSON.stringify(w.headers)}`);let N=w.headers["set-cookie"]||w.headers["Set-Cookie"];_("info",`[Youku] tkEncSetCookie: ${N}`);let P=N.match(/_m_h5_tk_enc=([^;]+)/);p=P?P[1]:null;let L=N.match(/_m_h5_tk=([^;]+)/);m=L?L[1]:null,_("info",`[Youku] _m_h5_tk_enc: ${p}`),_("info",`[Youku] _m_h5_tk: ${m}`)}catch(x){return _("error","[Youku] \u83B7\u53D6 cna \u6216 tk_enc \u5931\u8D25:",x),[]}let h=60,A=Math.floor(d/h)+1,g=[],b=async x=>{let v={ctime:Date.now(),ctype:10004,cver:"v1.0",guid:f,mat:x,mcount:1,pid:0,sver:"3.1.0",type:1,vid:o},C=JSON.stringify(v);function R(Z){let W="";for(let F=0;F<Z.length;F++)Z.charCodeAt(F)>255?W+=encodeURIComponent(Z[F]):W+=Z[F];return W}function w(Z){let W="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",F="",V=0,j=0;for(let J=0;J<Z.length;J++)for(V=V<<8|Z.charCodeAt(J),j+=8;j>=6;)F+=W[V>>j-6&63],j-=6;for(j>0&&(F+=W[V<<6-j&63]);F.length%4!==0;)F+="=";return F}let N=w(R(C));v.msg=N,v.sign=Ls(`${N}MkmC9SoIw6xCkSKHhJ7b5D2r51kBiREr`).toString().toLowerCase();let P=JSON.stringify(v),L=Date.now(),M={jsv:"2.5.6",appKey:"24679788",t:L,sign:Ls([m.slice(0,32),L,"24679788",P].join("&")).toString().toLowerCase(),api:"mopen.youku.danmu.list",v:"1.0",type:"originaljson",dataType:"jsonp",timeout:"20000",jsonpIncPrefix:"utility"},k=Ai(M),B=`${n}?${k}`;return _("info",`[Youku] piece_url: ${B}`),{type:"youku",segment_start:x*h,segment_end:Math.min((x+1)*h,d),url:B,data:P,_m_h5_tk:m,_m_h5_tk_enc:p}},y=Array.from({length:A},(x,v)=>v);for(let x=0;x<y.length;x++){let v=await b(y[x]);g.push(v)}return new vt({type:"youku",segmentList:g})}async getEpisodeSegmentDanmu(e){_("info","[Youku] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4F18\u9177\u5206\u6BB5\u5F39\u5E55...",e.url);let r=await Vr(e.url,Ai({data:e.data}),{headers:{Cookie:`_m_h5_tk=${e._m_h5_tk};_m_h5_tk_enc=${e._m_h5_tk_enc};`,Referer:"https://v.youku.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"},allow_redirects:!1,retries:1}),n=[];if(r.data?.data&&r.data.data.result){let s=JSON.parse(r.data.data.result);s.code!=="-1"&&n.push(...s.data.result)}return n}formatComments(e){return e.map(r=>{let n={timepoint:0,ct:1,size:25,color:16777215,unixtime:Math.floor(Date.now()/1e3),uid:0,content:""};n.timepoint=r.playat/1e3;let s=JSON.parse(r.propertis);if(s?.color&&(n.color=typeof s.color=="string"?parseInt(s.color,10):s.color),s?.pos){let i=s.pos;i===1?n.ct=5:i===2&&(n.ct=4)}return n.content=r.content,n.like=r.extFields.voteUp,n})}};hn();var vsn=new wg,Csn=new Rg,Isn=new Ng,Tsn=new Og,wsn=new Pg,Rsn=new Tg,a4=`LogVar Danmu API/${O.version}`,ZT=class extends wt{async search(e,r=!1){if(O.useBangumiData&&!r){let n=await Au(e,["anidb"]);if(n.length>0)return _("info",`[Dandan] Bangumi-Data \u672C\u5730\u547D\u4E2D ${n.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`),n.map(s=>{let a=(s.titles.find(o=>o&&o.includes(e))||s.titles[1]||s.title)+(s.titleSuffix||"");return{animeId:parseInt(s.siteId),animeTitle:a,type:s.typeId,typeDescription:s.typeStr,imageUrl:"",startDate:s.begin,rating:0,aliases:[...s.titles]}})}try{_("info",`[Dandan] \u539F\u59CB\u641C\u7D22\u8BCD: ${e}`);let n=new AbortController,s=(async()=>{try{let c=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/search/anime?keyword=${e}`,{headers:{"Content-Type":"application/json","User-Agent":a4},retries:1});if(!c||!c.data)return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (source: original)"),{success:!1,source:"original"};if(!c.data.animes||c.data.animes.length===0)return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: original)"),{success:!1,source:"original"};n.abort();let u=c.data.animes;return _("info",`[Dandan] dandanSearchresp (original): ${JSON.stringify(u)}`),_("info",`[Dandan] \u8FD4\u56DE ${u.length} \u6761\u7ED3\u679C (source: original)`),{success:!0,data:u,source:"original"}}catch(c){return _("error","[Dandan] getDandanAnimes error:",{message:c.message,name:c.name,stack:c.stack}),{success:!1,source:"original"}}})(),i=(async()=>{try{await new Promise(p=>setTimeout(p,100));let c=await Zb(e,n.signal,"Dandan");if(!c||!c.title)return _("info","[Dandan] TMDB\u8F6C\u6362\u672A\u8FD4\u56DE\u7ED3\u679C\uFF0C\u53D6\u6D88\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb"};let{title:u,cnAlias:l}=c;_("info",`[Dandan] \u4F7F\u7528\u65E5\u8BED\u539F\u540D\u901A\u8FC7 episodes \u63A5\u53E3\u8FDB\u884C\u641C\u7D22: ${u}`);let d=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/search/episodes?anime=${encodeURIComponent(u)}`,{headers:{"Content-Type":"application/json","User-Agent":a4},signal:n.signal,retries:1});if(!d||!d.data)return _("info","[Dandan] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (source: tmdb)"),{success:!1,source:"tmdb"};if(!d.data.animes||d.data.animes.length===0)return _("info","[Dandan] \u65E5\u8BED\u539F\u540D\u641C\u7D22\u6210\u529F\uFF0C\u4F46\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (source: tmdb)"),{success:!1,source:"tmdb"};let f=d.data.animes;for(let p of f)p.isTmdbSource=!0,p._tmdbCnAlias=l;return _("info",`[Dandan] dandanSearchresp (tmdb): ${JSON.stringify(f)}`),_("info",`[Dandan] \u8FD4\u56DE ${f.length} \u6761\u7ED3\u679C (source: tmdb)`),{success:!0,data:f,source:"tmdb"}}catch(c){if(c.name==="AbortError")return _("info","[Dandan] \u539F\u59CB\u641C\u7D22\u6210\u529F\uFF0C\u4E2D\u65AD\u65E5\u8BED\u539F\u540D\u641C\u7D22"),{success:!1,source:"tmdb",aborted:!0};throw c}})(),[a,o]=await Promise.all([s,i]);if(a.success)return a.data;if(o.success)return o.data;if(_("info",`[Dandan] \u539F\u59CB\u641C\u7D22\u548C\u57FA\u4E8ETMDB\u7684\u641C\u7D22\u5747\u672A\u8FD4\u56DE\u4EFB\u4F55\u7ED3\u679C (\u5F53\u524D\u641C\u7D22\u8BCD: ${e})`),!r){let c=e.replace(/(?:第\s*[0-9一二三四五å…七八ä¹å百åƒä¸‡]+\s*[壿œŸéƒ¨])|(?:S(?:eason)?\s*\d+)|(?:Part\s*\d+)/gi,"").trim();if(c&&c!==e)return _("info",`[Dandan] \u5C1D\u8BD5\u53BB\u9664\u5B63\u5EA6\u4FE1\u606F\u8FDB\u884C\u964D\u7EA7\u641C\u7D22: ${c}`),await this.search(c,!0)}return[]}catch(n){return _("error","[Dandan] getDandanAnimes error:",{message:n.message,name:n.name,stack:n.stack}),[]}}async getEpisodes(e){try{let r=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=/v2/bangumi/${e}`,{headers:{"Content-Type":"application/json","User-Agent":a4},retries:1});if(!r||!r.data)return _("info","[Dandan] getDandanEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null};if(!r.data.bangumi)return _("info","[Dandan] getDandanEposides: bangumi \u6570\u636E\u4E0D\u5B58\u5728"),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null};let n=r.data.bangumi,s=Array.isArray(n.episodes)?n.episodes:[],i=Array.isArray(n.titles)?n.titles.map(f=>f.title):[],a=Array.isArray(n.relateds)?n.relateds:[],o=n.type||null,c=n.typeDescription||null,u=!1,l=!1;n.tags&&Array.isArray(n.tags)&&n.tags.forEach(f=>{f.name&&f.name.toUpperCase().includes("3D")&&(u=!0),f.name&&f.name.toUpperCase().includes("2D")&&(l=!0)}),u?c="3D"+(c||""):l&&(c="2D"+(c||""));let d=n.imageUrl||null;return _("info",`[Dandan] getDandanEposides: ${JSON.stringify(r.data.bangumi.episodes)}`),{episodes:s,titles:i,relateds:a,type:o,typeDescription:c,imageUrl:d}}catch(r){return _("error","[Dandan] getDandanEposides error:",{message:r.message,name:r.name,stack:r.stack}),{episodes:[],titles:[],relateds:[],type:null,typeDescription:null,imageUrl:null}}}calculateSimilarity(e,r){if(!e||!r)return 0;let n=new Set(e.toLowerCase()),s=new Set(r.toLowerCase()),i=[...n].filter(o=>s.has(o)).length,a=new Set([...n,...s]).size;return i/a}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Dandan] sourceAnimes is not a valid array"),[];e.forEach(m=>{m.title=m.animeTitle});let o=e.length>0?e[0]._tmdbCnAlias:null;eE(e,o);let c=e.length,u=new Set,l=[],d=i!==null?i:$t(r),f=e,p=!1;if(d!==null){let m=e.filter(h=>{let A=h._displayTitle||h.animeTitle,g=Tt(A).season;return g===d||d===1&&g===null});m.length>0&&(f=m,p=!0,_("info",`[Dandan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${d}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}for(let m of f)u.add(m.animeId),l.push({...m,isRelated:!1});for(;l.length>0;){let m=l.splice(0,l.length);await Promise.all(m.map(async h=>{try{let A=await this.getEpisodes(h.animeId),g=A.episodes,b=A.titles||[],y=this.calculateSimilarity(r,h.animeTitle),x=!p;if(y>=.1&&A.relateds&&Array.isArray(A.relateds)&&x)for(let w of A.relateds){let N=Tt(w.animeTitle).season!==null;!u.has(w.animeId)&&(N||c>=25)&&(u.add(w.animeId),l.push({animeId:w.animeId,animeTitle:w.animeTitle,imageUrl:w.imageUrl,rating:w.rating||0,isRelated:!0}))}let v=[h.animeTitle,...b,...h.aliases||[]],C=!1;if(h.isRelated||h.isTmdbSource)if(d!==null){let w=null;for(let N of v){if(!N)continue;let P=$t(N);if(P!==null){w=P;break}}d>1?C=(w||1)===d:d===1&&(C=w===null||w===1)}else C=!0;else C=v.some(w=>w&&yt(w,r,d));if(!C)return;let R=[];for(let w of g){let N=w.episodeTitle&&w.episodeTitle.trim()!==""?`${w.episodeTitle}`:`\u7B2C${w.episodeNumber}\u96C6`;R.push({name:N,url:w.episodeId.toString(),title:`\u3010dandan\u3011 ${N}`})}if(R.length>0){let w=h._displayTitle||h.animeTitle,N=[...new Set([...b,...h.aliases||[]])];h.animeTitle&&h.animeTitle!==w&&!N.includes(h.animeTitle)&&N.push(h.animeTitle);let P=A.type||h.type||"tvseries",L=A.typeDescription||h.typeDescription||"TV\u52A8\u753B",M=h.startDate||(g.length>0?g[0].airDate:null),k=M?new Date(M).getFullYear():"\u672A\u77E5",B={animeId:h.animeId,bangumiId:String(h.animeId),animeTitle:`${w}(${k})\u3010${L}\u3011from dandan`,aliases:N,type:P,typeDescription:L,imageUrl:A.imageUrl||h.imageUrl,startDate:M,episodeCount:R.length,rating:h.rating||0,isFavorited:!0,source:"dandan"};a.push(B),Lt({...B,links:R},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(A){_("error",`[Dandan] Error processing anime: ${A.message}`)}}))}return this.sortAndPushAnimesByYear(a,n),a}async getEpisodeDanmu(e,r=[]){let n=[],s={};try{let a=await ge(`https://api.danmaku.weeblify.app/ddp/v1?path=%2Fv2%2Fcomment%2F${e}%3Ffrom%3D0%26withRelated%3Dtrue%26chConvert%3D0`,{headers:{"Content-Type":"application/json","User-Agent":a4},retries:1}).catch(o=>(_("error",`[Dandan] dandan base comments error: ${o.message}`),null));a&&a.data&&a.data.comments?(n=a.data.comments,s.dandan=n.length):s.dandan=0}catch(i){_("error","[Dandan] getEpisodeDanmu error:",{message:i.message,name:i.name,stack:i.stack})}return n}async getEpisodeDanmuSegments(e){return _("info","[Dandan] \u83B7\u53D6\u5F39\u5F39play\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"dandan",segmentList:[{type:"dandan",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>r.isRealTimePulled?O.danmuSimplifiedTraditional==="simplified"&&r.m?{...r,m:Gt(r.m)}:r:{cid:r.cid,p:`${r.p.replace(/([A-Za-z]+)([0-9a-fA-F]{6})/,(n,s,i)=>{let a=parseInt(i.substring(0,2),16),o=parseInt(i.substring(2,4),16),c=parseInt(i.substring(4,6),16),u=a*256*256+o*256+c;return`${s}${u}`})}`,m:O.danmuSimplifiedTraditional==="simplified"?Gt(r.m):r.m})}};Pt();St();ar();$n();no();hs();var ew=class extends wt{async search(e){try{let r=await ge(`${O.customSourceApiUrl}/api/v2/search/anime?keyword=${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!r||!r.data?(_("info","[Custom] customSourceSearchresp: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[]):r.data.animes?(_("info",`[Custom] \u641C\u7D22\u627E\u5230 ${r.data.animes.length} \u4E2A\u6709\u6548\u7ED3\u679C`),r.data.animes):(_("info","[Custom] customSourceSearchresp: seriesData \u6216 seriesList \u4E0D\u5B58\u5728"),[])}catch(r){return _("error","[Custom] getCustomSourceAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getEpisodes(e){try{let r=await ge(`${O.customSourceApiUrl}/api/v2/bangumi/${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return!r||!r.data?(_("info","[Custom] getCustomSourceEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[]):!r.data.bangumi||!r.data.bangumi.episodes?(_("info",`[Custom] getCustomSourceEposides: episodes \u4E0D\u5B58\u5728. Response: ${JSON.stringify(r.data)}`),[]):(_("info",`[Custom] getCustomSourceEposides: ${JSON.stringify(r.data.bangumi.episodes)}`),r.data.bangumi.episodes)}catch(r){return _("error","[Custom] getCustomSourceEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null){let i=[];if(!e||!Array.isArray(e))return _("error","[Custom] sourceAnimes is not a valid array"),[];let a=await Promise.all(e.map(async o=>{try{let c=await this.getEpisodes(o.bangumiId),u=[];for(let l of c){let d=l.episodeTitle&&l.episodeTitle.trim()!==""?`${l.episodeTitle}`:`\u7B2C${l.episodeNumber}\u96C6`;u.push({name:d,url:l.episodeId.toString(),title:`\u3010custom\u3011 ${d}`})}if(u.length>0){let l={animeId:o.animeId,bangumiId:String(o.bangumiId),animeTitle:`${o.animeTitle}(${new Date(o.startDate).getFullYear()})\u3010${o.typeDescription}\u3011from custom`,type:o.type,typeDescription:o.typeDescription,imageUrl:o.imageUrl,startDate:o.startDate,episodeCount:u.length,rating:o.rating,isFavorited:!0,source:"custom"};i.push(l),Lt({...l,links:u},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(c){_("error",`[Custom] Error processing anime: ${c.message}`)}}));return this.sortAndPushAnimesByYear(i,n),a}async getEpisodeDanmu(e){let r=[];try{let n=await ge(`${O.customSourceApiUrl}/api/v2/comment/${e}`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1});return n.data&&n.data.comments&&(r=n.data.comments),r}catch(n){return _("error","[Custom] fetchCustomSourceEpisodeDanmu error:",{message:n.message,name:n.name,stack:n.stack}),r}}async getEpisodeDanmuSegments(e){return _("info","[Custom] \u83B7\u53D6Custom Source\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"custom",segmentList:[{type:"custom",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e.map(r=>({cid:r.cid,p:`${r.p.replace(/([A-Za-z]+)([0-9a-fA-F]{6})/,(n,s,i)=>{let a=parseInt(i.substring(0,2),16),o=parseInt(i.substring(2,4),16),c=parseInt(i.substring(4,6),16),u=a*256*256+o*256+c;return`${s}${u}`})}`,m:O.danmuSimplifiedTraditional==="simplified"?Gt(r.m):r.m}))}};Pt();St();ar();Is();$n();Is();var ymr=`
|
|
AGFzbQEAAAABWA5gAn9/AX9gA39/fwF/YAJ/fwBgA39/fwBgAX8Bf2ABfwBgBX9/f39/AX9gBX9/f39/AGAAAX9gBH9/f38AYAR/
|
|
f39/AX9gAn5/AX9gBn9/f39/fwBgAAACXAMDd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAUDd2JnFV9fd2JpbmRnZW5f
|
|
c3RyaW5nX25ldwAAA3diZxdfX3diaW5kZ2VuX2RlYnVnX3N0cmluZwACA4gBhgEEAgUBAAIGBQMFAQMBAgMCAwMCAgAGAAsABQIB
|
|
CAcHAAIHBgMJAwwDAAMDCQAAAAACBwIDAwMDAAIDAwUAAQIBAwAABg0CCgAAAgUFAwIFBAQCAQAFAAoDBAAAAAAAAgICAgQABAQE
|
|
BAIEAAAEBQAAAAQEBAQAAAIAAAECAgABAQgAAAQEBQQFAXABOTkFAwEAEQYJAX8BQYCAwAALB58BCQZtZW1vcnkCAAZlbnNpZ24A
|
|
JA9nYXRld2F5X2VuY3J5cHQAIA9nYXRld2F5X2RlY3J5cHQAIQdnZXRfa2V5AIMBEV9fd2JpbmRnZW5fbWFsbG9jAEUSX193Ymlu
|
|
ZGdlbl9yZWFsbG9jAEkfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgBvD19fd2JpbmRnZW5fZnJlZQBaCUgBAEEBCzhw
|
|
RF5fL4gBKzJXMYgBcnFfiAFKS247UUAZc2OIAWJBZE4jM4gBYYgBSlFCe3mIAVZ4UTptXWaIAWGIAQ8/fIABGyIKv+YChgG+IQIP
|
|
fwF+IwBBEGsiCyQAAkACQAJ/AkAgAEH1AU8EQEEIQQgQWCEGQRRBCBBYIQVBEEEIEFghAUEAQRBBCBBYQQJ0ayICQYCAfCABIAUg
|
|
Bmpqa0F3cUEDayIBIAEgAksbIABNDQQgAEEEakEIEFghBEG0psAAKAIARQ0DQQAgBGshAwJ/QQAgBEGAAkkNABpBHyAEQf///wdL
|
|
DQAaIARBBiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBmKPAAGooAgAiAUUEQEEAIQBBACEFDAILIAQgBhBTdCEHQQAhAEEA
|
|
IQUDQAJAIAEQdCICIARJDQAgAiAEayICIANPDQAgASEFIAIiAw0AQQAhAyABIQBBAAwECyABQRRqKAIAIgIgACACIAEgB0EddkEE
|
|
cWpBEGooAgAiAUcbIAAgAhshACAHQQF0IQcgAQ0ACwwBC0EQIABBBGpBEEEIEFhBBWsgAEsbQQgQWCEEQbCmwAAoAgAiASAEQQN2
|
|
IgB2IgJBA3EEQAJAIAJBf3NBAXEgAGoiA0EDdCIAQbCkwABqKAIAIgVBCGooAgAiAiAAQaikwABqIgBHBEAgAiAANgIMIAAgAjYC
|
|
CAwBC0GwpsAAIAFBfiADd3E2AgALIAUgA0EDdBBQIAUQhgEhAwwECyAEQbimwAAoAgBNDQICQAJAAkACQAJAAkAgAkUEQEG0psAA
|
|
KAIAIgBFDQkgABBpaEECdEGYo8AAaigCACIBEHQgBGshAyABEFIiAARAA0AgABB0IARrIgIgAyACIANJIgIbIQMgACABIAIbIQEg
|
|
ABBSIgANAAsLIAEgBBCEASEFIAEQHEEQQQgQWCADSw0CIAEgBBBrIAUgAxBUQbimwAAoAgAiAA0BDAULAkBBASAAQR9xIgB0EFsg
|
|
AiAAdHEQaWgiAkEDdCIAQbCkwABqKAIAIgNBCGooAgAiASAAQaikwABqIgBHBEAgASAANgIMIAAgATYCCAwBC0GwpsAAQbCmwAAo
|
|
AgBBfiACd3E2AgALIAMgBBBrIAMgBBCEASIFIAJBA3QgBGsiAhBUQbimwAAoAgAiAA0CDAMLIABBeHFBqKTAAGohB0HApsAAKAIA
|
|
IQYCf0GwpsAAKAIAIgJBASAAQQN2dCIAcUUEQEGwpsAAIAAgAnI2AgAgBwwBCyAHKAIICyEAIAcgBjYCCCAAIAY2AgwgBiAHNgIM
|
|
IAYgADYCCAwDCyABIAMgBGoQUAwDCyAAQXhxQaikwABqIQdBwKbAACgCACEGAn9BsKbAACgCACIBQQEgAEEDdnQiAHFFBEBBsKbA
|
|
ACAAIAFyNgIAIAcMAQsgBygCCAshACAHIAY2AgggACAGNgIMIAYgBzYCDCAGIAA2AggLQcCmwAAgBTYCAEG4psAAIAI2AgAgAxCG
|
|
ASEDDAULQcCmwAAgBTYCAEG4psAAIAM2AgALIAEQhgEiA0UNAgwDCyAAIAVyRQRAQQAhBUEBIAZ0EFtBtKbAACgCAHEiAEUNAiAA
|
|
EGloQQJ0QZijwABqKAIAIQALQQELIQEDQCABRQRAIAUgACAFIAAQdCIBIARrIgYgA0kiAhsgASAESSIBGyEFIAMgBiADIAIbIAEb
|
|
IQMgABBSIQBBASEBDAELIAAEQEEAIQEMAQUgBUUNAiAEQbimwAAoAgAiAE0gAyAAIARrT3ENAiAFIAQQhAEhBiAFEBwCQEEQQQgQ
|
|
WCADTQRAIAUgBBBrIAYgAxBUIANBgAJPBEAgBiADEB0MAgsgA0F4cUGopMAAaiECAn9BsKbAACgCACIBQQEgA0EDdnQiAHFFBEBB
|
|
sKbAACAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAQsgBSADIARqEFALIAUQhgEiAw0D
|
|
CwsLAkACQCAEQbimwAAoAgAiAEsEQCAEQbymwAAoAgAiAE8EQEEIQQgQWCAEakEUQQgQWGpBEEEIEFhqQYCABBBYIgBBEHZAACEC
|
|
IAtBBGoiAUEANgIIIAFBACAAQYCAfHEgAkF/RiIAGzYCBCABQQAgAkEQdCAAGzYCACALKAIEIghFBEBBACEDDAULIAsoAgwhDEHI
|
|
psAAIAsoAggiCkHIpsAAKAIAaiIBNgIAQcymwABBzKbAACgCACIAIAEgACABSxs2AgACQEHEpsAAKAIABEBBmKTAACEAA0AgABBs
|
|
IAhGDQIgACgCCCIADQALDAQLQdSmwAAoAgAiAEEAIAAgCE0bRQRAQdSmwAAgCDYCAAtB2KbAAEH/HzYCAEGkpMAAIAw2AgBBnKTA
|
|
ACAKNgIAQZikwAAgCDYCAEG0pMAAQaikwAA2AgBBvKTAAEGwpMAANgIAQbCkwABBqKTAADYCAEHEpMAAQbikwAA2AgBBuKTAAEGw
|
|
pMAANgIAQcykwABBwKTAADYCAEHApMAAQbikwAA2AgBB1KTAAEHIpMAANgIAQcikwABBwKTAADYCAEHcpMAAQdCkwAA2AgBB0KTA
|
|
AEHIpMAANgIAQeSkwABB2KTAADYCAEHYpMAAQdCkwAA2AgBB7KTAAEHgpMAANgIAQeCkwABB2KTAADYCAEH0pMAAQeikwAA2AgBB
|
|
6KTAAEHgpMAANgIAQfCkwABB6KTAADYCAEH8pMAAQfCkwAA2AgBB+KTAAEHwpMAANgIAQYSlwABB+KTAADYCAEGApcAAQfikwAA2
|
|
AgBBjKXAAEGApcAANgIAQYilwABBgKXAADYCAEGUpcAAQYilwAA2AgBBkKXAAEGIpcAANgIAQZylwABBkKXAADYCAEGYpcAAQZCl
|
|
wAA2AgBBpKXAAEGYpcAANgIAQaClwABBmKXAADYCAEGspcAAQaClwAA2AgBBqKXAAEGgpcAANgIAQbSlwABBqKXAADYCAEG8pcAA
|
|
QbClwAA2AgBBsKXAAEGopcAANgIAQcSlwABBuKXAADYCAEG4pcAAQbClwAA2AgBBzKXAAEHApcAANgIAQcClwABBuKXAADYCAEHU
|
|
pcAAQcilwAA2AgBByKXAAEHApcAANgIAQdylwABB0KXAADYCAEHQpcAAQcilwAA2AgBB5KXAAEHYpcAANgIAQdilwABB0KXAADYC
|
|
AEHspcAAQeClwAA2AgBB4KXAAEHYpcAANgIAQfSlwABB6KXAADYCAEHopcAAQeClwAA2AgBB/KXAAEHwpcAANgIAQfClwABB6KXA
|
|
ADYCAEGEpsAAQfilwAA2AgBB+KXAAEHwpcAANgIAQYymwABBgKbAADYCAEGApsAAQfilwAA2AgBBlKbAAEGIpsAANgIAQYimwABB
|
|
gKbAADYCAEGcpsAAQZCmwAA2AgBBkKbAAEGIpsAANgIAQaSmwABBmKbAADYCAEGYpsAAQZCmwAA2AgBBrKbAAEGgpsAANgIAQaCm
|
|
wABBmKbAADYCAEGopsAAQaCmwAA2AgBBCEEIEFghBUEUQQgQWCECQRBBCBBYIQFBxKbAACAIIAgQhgEiAEEIEFggAGsiABCEASID
|
|
NgIAQbymwAAgCkEIaiABIAIgBWpqIABqayIFNgIAIAMgBUEBcjYCBEEIQQgQWCECQRRBCBBYIQFBEEEIEFghACADIAUQhAEgACAB
|
|
IAJBCGtqajYCBEHQpsAAQYCAgAE2AgAMBAsgABB2DQIgABB3IAxHDQIgACgCACICQcSmwAAoAgAiAU0EfyACIAAoAgRqIAFLBUEA
|
|
C0UNAiAAIAAoAgQgCmo2AgRBvKbAACgCACAKaiEBQcSmwAAoAgAiACAAEIYBIgBBCBBYIABrIgAQhAEhA0G8psAAIAEgAGsiBTYC
|
|
AEHEpsAAIAM2AgAgAyAFQQFyNgIEQQhBCBBYIQJBFEEIEFghAUEQQQgQWCEAIAMgBRCEASAAIAEgAkEIa2pqNgIEQdCmwABBgICA
|
|
ATYCAAwDC0G8psAAIAAgBGsiATYCAEHEpsAAQcSmwAAoAgAiAiAEEIQBIgA2AgAgACABQQFyNgIEIAIgBBBrIAIQhgEhAwwDC0HA
|
|
psAAKAIAIQJBEEEIEFggACAEayIBTQRAIAIgBBCEASEAQbimwAAgATYCAEHApsAAIAA2AgAgACABEFQgAiAEEGsgAhCGASEDDAML
|
|
QcCmwABBADYCAEG4psAAKAIAIQBBuKbAAEEANgIAIAIgABBQIAIQhgEhAwwCC0HUpsAAQdSmwAAoAgAiACAIIAAgCEkbNgIAIAgg
|
|
CmohAUGYpMAAIQACQANAIAEgACgCAEcEQCAAKAIIIgANAQwCCwsgABB2DQAgABB3IAxHDQAgACgCACEDIAAgCDYCACAAIAAoAgQg
|
|
Cmo2AgQgCBCGASIFQQgQWCECIAMQhgEiAUEIEFghACAIIAIgBWtqIgYgBBCEASEHIAYgBBBrIAMgACABa2oiACAEIAZqayEEAkBB
|
|
xKbAACgCACAARwRAIABBwKbAACgCAEYNASAAKAIEQQNxQQFGBEACQCAAEHQiBUGAAk8EQCAAEBwMAQsgAEEMaigCACICIABBCGoo
|
|
AgAiAUcEQCABIAI2AgwgAiABNgIIDAELQbCmwABBsKbAACgCAEF+IAVBA3Z3cTYCAAsgBCAFaiEEIAAgBRCEASEACyAHIAQgABBP
|
|
IARBgAJPBEAgByAEEB0gBhCGASEDDAULIARBeHFBqKTAAGohAgJ/QbCmwAAoAgAiAUEBIARBA3Z0IgBxRQRAQbCmwAAgACABcjYC
|
|
ACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIIAYQhgEhAwwEC0HEpsAAIAc2AgBBvKbAAEG8psAAKAIA
|
|
IARqIgA2AgAgByAAQQFyNgIEIAYQhgEhAwwDC0HApsAAIAc2AgBBuKbAAEG4psAAKAIAIARqIgA2AgAgByAAEFQgBhCGASEDDAIL
|
|
QcSmwAAoAgAhCUGYpMAAIQACQANAIAkgACgCAE8EQCAAEGwgCUsNAgsgACgCCCIADQALQQAhAAsgCSAAEGwiBkEUQQgQWCIPa0EX
|
|
ayIBEIYBIgBBCBBYIABrIAFqIgAgAEEQQQgQWCAJakkbIg0QhgEhDiANIA8QhAEhAEEIQQgQWCEDQRRBCBBYIQVBEEEIEFghAkHE
|
|
psAAIAggCBCGASIBQQgQWCABayIBEIQBIgc2AgBBvKbAACAKQQhqIAIgAyAFamogAWprIgM2AgAgByADQQFyNgIEQQhBCBBYIQVB
|
|
FEEIEFghAkEQQQgQWCEBIAcgAxCEASABIAIgBUEIa2pqNgIEQdCmwABBgICAATYCACANIA8Qa0GYpMAAKQIAIRAgDkEIakGgpMAA
|
|
KQIANwIAIA4gEDcCAEGkpMAAIAw2AgBBnKTAACAKNgIAQZikwAAgCDYCAEGgpMAAIA42AgADQCAAQQQQhAEgAEEHNgIEIgBBBGog
|
|
BkkNAAsgCSANRg0AIAkgDSAJayIAIAkgABCEARBPIABBgAJPBEAgCSAAEB0MAQsgAEF4cUGopMAAaiECAn9BsKbAACgCACIBQQEg
|
|
AEEDdnQiAHFFBEBBsKbAACAAIAFyNgIAIAIMAQsgAigCCAshACACIAk2AgggACAJNgIMIAkgAjYCDCAJIAA2AggLQQAhA0G8psAA
|
|
KAIAIgAgBE0NAEG8psAAIAAgBGsiATYCAEHEpsAAQcSmwAAoAgAiAiAEEIQBIgA2AgAgACABQQFyNgIEIAIgBBBrIAIQhgEhAwsg
|
|
C0EQaiQAIAMLrRABGH8gACABKAIQIgkgASgCICIHIAEoAjAiCiABKAIAIgsgASgCJCIMIAEoAjQiDSABKAIEIg4gASgCFCIPIA0g
|
|
DCAPIA4gCiAHIAkgCyAAKAIAIhkgACgCCCIQIAAoAgQiCHFqIAAoAgwiGCAIQX9zcWpqQYi31cQCa0EHdyAIaiICaiAOIBhqIBAg
|
|
AkF/c3FqIAIgCHFqQaqR4bkBa0EMdyACaiIDIAggASgCDCIRaiACIAMgECABKAIIIhJqIAggA0F/c3FqIAIgA3FqQdvhgaECakER
|
|
d2oiBUF/c3FqIAMgBXFqQZLiiPIDa0EWdyAFaiIEQX9zcWogBCAFcWpB0eCP1ABrQQd3IARqIgJqIAMgD2ogBSACQX9zcWogAiAE
|
|
cWpBqoyfvARqQQx3IAJqIgMgASgCHCITIARqIAIgAyABKAIYIhQgBWogBCADQX9zcWogAiADcWpB7fO+vgVrQRF3aiIFQX9zcWog
|
|
AyAFcWpB/9XlFWtBFncgBWoiAkF/c3FqIAIgBXFqQdixgswGakEHdyACaiIEaiADIAxqIAUgBEF/c3FqIAIgBHFqQdGQ7KUHa0EM
|
|
dyAEaiIDIAEoAiwiFSACaiAEIAMgASgCKCIWIAVqIAIgA0F/c3FqIAMgBHFqQc/IAmtBEXdqIgJBf3NxaiACIANxakHC0Iy1B2tB
|
|
FncgAmoiBUF/c3FqIAIgBXFqQaKiwNwGakEHdyAFaiIGaiABKAI4IhcgAmogBSADIA1qIAIgBkF/c3FqIAUgBnFqQe2cnhNrQQx3
|
|
IAZqIgRBf3MiAnFqIAQgBnFqQfL4mswFa0ERdyAEaiIDIAJxaiAFIAEoAjwiBWogBiADQX9zIgFxaiADIARxakGhkNDNBGpBFncg
|
|
A2oiBiAEcWpBnrWHzwBrQQV3IAZqIgJqIAMgFWogAiAGQX9zcWogBCAUaiABIAZxaiACIANxakHAmf39A2tBCXcgAmoiBCAGcWpB
|
|
0bT5sgJqQQ53IARqIgMgBEF/c3FqIAYgC2ogBCACQX9zcWogAiADcWpB1vCksgFrQRR3IANqIgIgBHFqQaPfw84Ca0EFdyACaiIB
|
|
aiADIAVqIAEgAkF/c3FqIAQgFmogAiADQX9zcWogASADcWpB06iQEmpBCXcgAWoiBCACcWpB/7L4ugJrQQ53IARqIgMgBEF/c3Fq
|
|
IAIgCWogBCABQX9zcWogASADcWpBuIiwwQFrQRR3IANqIgIgBHFqQeabh48CakEFdyACaiIBaiADIBFqIAEgAkF/c3FqIAQgF2og
|
|
AiADQX9zcWogASADcWpBqvCj5gNrQQl3IAFqIgQgAnFqQfnkq9kAa0EOdyAEaiIDIARBf3NxaiACIAdqIAQgAUF/c3FqIAEgA3Fq
|
|
Qe2p6KoEakEUdyADaiICIARxakH7rfCwBWtBBXcgAmoiAWogAiAKaiAEIBJqIAIgA0F/c3FqIAEgA3FqQYi4wRhrQQl3IAFqIgYg
|
|
AUF/c3FqIAMgE2ogASACQX9zcWogAiAGcWpB2YW8uwZqQQ53IAZqIgQgAXFqQfbm1pYHa0EUdyAEaiIDIARzIgEgBnNqQb6NF2tB
|
|
BHcgA2oiAmogBCAVaiACIAYgB2ogASACc2pB/5K4xAdrQQt3IAJqIgJzIgEgA3NqQaLC9ewGakEQdyACaiIEIAJzIAMgF2ogASAE
|
|
c2pB9I/rEGtBF3cgBGoiB3NqQbyrhNoFa0EEdyAHaiIBaiAEIBNqIAIgCWogBCAHcyABc2pBqZ/73gRqQQt3IAFqIgQgASAHc3Nq
|
|
QaDpksoAa0EQdyAEaiIDIARzIAcgFmogASAEcyADc2pBkIeBigRrQRd3IANqIgJzakHG/e3EAmpBBHcgAmoiAWogAyARaiAEIAtq
|
|
IAIgA3MgAXNqQYaw+6oBa0ELdyABaiIEIAEgAnNzakH7nsPYAmtBEHcgBGoiAyAEcyACIBRqIAEgBHMgA3NqQYW6oCRqQRd3IANq
|
|
IgJzakHH36yxAmtBBHcgAmoiAWogAiASaiAEIApqIAIgA3MgAXNqQZvMkckBa0ELdyABaiIEIAFzIAMgBWogASACcyAEc2pB+PmJ
|
|
/QFqQRB3IARqIgNzakGb087aA2tBF3cgA2oiAiAEQX9zciADc2pBvLvb3gBrQQZ3IAJqIgFqIAIgD2ogAyAXaiAEIBNqIAEgA0F/
|
|
c3IgAnNqQZf/q5kEakEKdyABaiIEIAJBf3NyIAFzakHZuK+jBWtBD3cgBGoiAyABQX9zciAEc2pBx7+xG2tBFXcgA2oiAiAEQX9z
|
|
ciADc2pBw7PtqgZqQQZ3IAJqIgFqIAIgDmogAyAWaiAEIBFqIAEgA0F/c3IgAnNqQe7mzIcHa0EKdyABaiIEIAJBf3NyIAFzakGD
|
|
l8AAa0EPdyAEaiICIAFBf3NyIARzakGvxO7TB2tBFXcgAmoiASAEQX9zciACc2pBz/yh/QZqQQZ3IAFqIgNqIAEgDWogAiAUaiAE
|
|
IAVqIAMgAkF/c3IgAXNqQaCyzA5rQQp3IANqIgIgAUF/c3IgA3NqQez5+ucFa0EPdyACaiIBIANBf3NyIAJzakGho6DwBGpBFXcg
|
|
AWoiBCACQX9zciABc2pB/oKyxQBrQQZ3IARqIgMgGWo2AgAgACAYIAIgFWogAyABQX9zciAEc2pBy5uUlgRrQQp3IANqIgJqNgIM
|
|
IAAgECABIBJqIAIgBEF/c3IgA3NqQbul39YCakEPdyACaiIBajYCCCAAIAEgCGogBCAMaiABIANBf3NyIAJzakHv2OSjAWtBFXdq
|
|
NgIEC5IHAQV/IAAQhwEiACAAEHQiARCEASECAkACQAJAAkACQAJAAkACQAJAIAAQdQ0AIAAoAgAhAyAAEGoNASABIANqIQEgACAD
|
|
EIUBIgBBwKbAACgCAEYEQCACKAIEQQNxQQNHDQFBuKbAACABNgIAIAAgASACEE8MCQsgA0GAAk8EQCAAEBwMAQsgAEEMaigCACIE
|
|
IABBCGooAgAiBUcEQCAFIAQ2AgwgBCAFNgIIDAELQbCmwABBsKbAACgCAEF+IANBA3Z3cTYCAAsgAhBlDQIgAkHEpsAAKAIARg0E
|
|
IAJBwKbAACgCAEcNAUHApsAAIAA2AgBBuKbAAEG4psAAKAIAIAFqIgI2AgAgACACEFQPCyABIANqQRBqIQAMBgsgAhB0IgMgAWoh
|
|
AQJAIANBgAJPBEAgAhAcDAELIAJBDGooAgAiBCACQQhqKAIAIgJHBEAgAiAENgIMIAQgAjYCCAwBC0GwpsAAQbCmwAAoAgBBfiAD
|
|
QQN2d3E2AgALIAAgARBUIABBwKbAACgCAEcNAUG4psAAIAE2AgAPCyAAIAEgAhBPCyABQYACSQ0BIAAgARAdQdimwABB2KbAACgC
|
|
AEEBayIANgIAIAANAxAfGg8LQcSmwAAgADYCAEG8psAAQbymwAAoAgAgAWoiAjYCACAAIAJBAXI2AgRBwKbAACgCACAARgRAQbim
|
|
wABBADYCAEHApsAAQQA2AgALIAJB0KbAACgCAE0NAkEIQQgQWCEAQRRBCBBYIQJBEEEIEFghA0EAQRBBCBBYQQJ0ayIBQYCAfCAD
|
|
IAAgAmpqa0F3cUEDayIAIAAgAUsbRQ0CQcSmwAAoAgBFDQJBCEEIEFghAEEUQQgQWCECQRBBCBBYIQFBACEDQbymwAAoAgAiBCAB
|
|
IAIgAEEIa2pqIgBNDQEgBCAAa0H//wNqQYCAfHEiBEGAgARrIQJBxKbAACgCACEBQZikwAAhAAJAA0AgASAAKAIATwRAIAAQbCAB
|
|
Sw0CCyAAKAIIIgANAAtBACEACyAAEHYNASAAKAIMGgwBCyABQXhxQaikwABqIQICf0GwpsAAKAIAIgNBASABQQN2dCIBcUUEQEGw
|
|
psAAIAEgA3I2AgAgAgwBCyACKAIICyEDIAIgADYCCCADIAA2AgwgACACNgIMIAAgAzYCCA8LEB9BACADa0cNAEG8psAAKAIAQdCm
|
|
wAAoAgBNDQBB0KbAAEF/NgIACwv0BgEIfwJAIAAoAgAiCiAAKAIIIgNyBEACQCADRQ0AIAEgAmohCCAAQQxqKAIAQQFqIQcgASEF
|
|
A0ACQCAFIQMgB0EBayIHRQ0AIAMgCEYNAgJ/IAMsAAAiBkEATgRAIAZB/wFxIQYgA0EBagwBCyADLQABQT9xIQkgBkEfcSEFIAZB
|
|
X00EQCAFQQZ0IAlyIQYgA0ECagwBCyADLQACQT9xIAlBBnRyIQkgBkFwSQRAIAkgBUEMdHIhBiADQQNqDAELIAVBEnRBgIDwAHEg
|
|
Ay0AA0E/cSAJQQZ0cnIiBkGAgMQARg0DIANBBGoLIgUgBCADa2ohBCAGQYCAxABHDQEMAgsLIAMgCEYNACADLAAAIgVBAE4gBUFg
|
|
SXIgBUFwSXJFBEAgBUH/AXFBEnRBgIDwAHEgAy0AA0E/cSADLQACQT9xQQZ0IAMtAAFBP3FBDHRycnJBgIDEAEYNAQsCQAJAIARF
|
|
DQAgAiAETQRAQQAhAyACIARGDQEMAgtBACEDIAEgBGosAABBQEgNAQsgASEDCyAEIAIgAxshAiADIAEgAxshAQsgCkUNASAAKAIE
|
|
IQgCQCACQRBPBEAgASACEAchAwwBCyACRQRAQQAhAwwBCyACQQNxIQcCQCACQQRJBEBBACEDQQAhBgwBCyACQXxxIQVBACEDQQAh
|
|
BgNAIAMgASAGaiIELAAAQb9/SmogBEEBaiwAAEG/f0pqIARBAmosAABBv39KaiAEQQNqLAAAQb9/SmohAyAFIAZBBGoiBkcNAAsL
|
|
IAdFDQAgASAGaiEFA0AgAyAFLAAAQb9/SmohAyAFQQFqIQUgB0EBayIHDQALCwJAIAMgCEkEQCAIIANrIQRBACEDAkACQAJAIAAt
|
|
ACBBAWsOAgABAgsgBCEDQQAhBAwBCyAEQQF2IQMgBEEBakEBdiEECyADQQFqIQMgAEEYaigCACEFIAAoAhAhBiAAKAIUIQADQCAD
|
|
QQFrIgNFDQIgACAGIAUoAhARAABFDQALQQEPCwwCC0EBIQMgACABIAIgBSgCDBEBAAR/IAMFQQAhAwJ/A0AgBCADIARGDQEaIANB
|
|
AWohAyAAIAYgBSgCEBEAAEUNAAsgA0EBawsgBEkLDwsgACgCFCABIAIgAEEYaigCACgCDBEBAA8LIAAoAhQgASACIABBGGooAgAo
|
|
AgwRAQAL1wYBCH8CQAJAIAEgAEEDakF8cSICIABrIghJDQAgASAIayIGQQRJDQAgBkEDcSEHQQAhAQJAIAAgAkYiCQ0AAkAgAiAA
|
|
QX9zakEDSQRADAELA0AgASAAIARqIgMsAABBv39KaiADQQFqLAAAQb9/SmogA0ECaiwAAEG/f0pqIANBA2osAABBv39KaiEBIARB
|
|
BGoiBA0ACwsgCQ0AIAAgAmshAyAAIARqIQIDQCABIAIsAABBv39KaiEBIAJBAWohAiADQQFqIgMNAAsLIAAgCGohBAJAIAdFDQAg
|
|
BCAGQXxxaiIALAAAQb9/SiEFIAdBAUYNACAFIAAsAAFBv39KaiEFIAdBAkYNACAFIAAsAAJBv39KaiEFCyAGQQJ2IQYgASAFaiED
|
|
A0AgBCEAIAZFDQJBwAEgBiAGQcABTxsiBUEDcSEHIAVBAnQhBEEAIQIgBUEETwRAIAAgBEHwB3FqIQggACEBA0AgAiABKAIAIgJB
|
|
f3NBB3YgAkEGdnJBgYKECHFqIAFBBGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAUEIaigCACICQX9zQQd2IAJBBnZyQYGChAhx
|
|
aiABQQxqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIQIgAUEQaiIBIAhHDQALCyAGIAVrIQYgACAEaiEEIAJBCHZB/4H8B3EgAkH/
|
|
gfwHcWpBgYAEbEEQdiADaiEDIAdFDQALAn8gACAFQfwBcUECdGoiACgCACIBQX9zQQd2IAFBBnZyQYGChAhxIgEgB0EBRg0AGiAB
|
|
IAAoAgQiAUF/c0EHdiABQQZ2ckGBgoQIcWoiASAHQQJGDQAaIAAoAggiAEF/c0EHdiAAQQZ2ckGBgoQIcSABagsiAUEIdkH/gRxx
|
|
IAFB/4H8B3FqQYGABGxBEHYgA2oPCyABRQRAQQAPCyABQQNxIQQCQCABQQRJBEBBACECDAELIAFBfHEhBUEAIQIDQCADIAAgAmoi
|
|
ASwAAEG/f0pqIAFBAWosAABBv39KaiABQQJqLAAAQb9/SmogAUEDaiwAAEG/f0pqIQMgBSACQQRqIgJHDQALCyAERQ0AIAAgAmoh
|
|
AQNAIAMgASwAAEG/f0pqIQMgAUEBaiEBIARBAWsiBA0ACwsgAwunBgEGfyMAQeADayIFJAAgBUEAQeADEIEBIgUgASABEBQgBUEg
|
|
aiABQRBqIgEgARAUQcAAIQZBCCEHA0AgBSAHEDUgAyAFaiIBQUBrIgQQDCAEIAQoAgBBf3M2AgAgAUHEAGoiBCAEKAIAQX9zNgIA
|
|
IAFB1ABqIgQgBCgCAEF/czYCACABQdgAaiIEIAQoAgBBf3M2AgAgBSAGaiIEIAQoAgBBgIADczYCACAFIAdBCGoiB0EOECogA0GA
|
|
A0YEQCAFQeAAaiEHIAVBQGshAyAFQSBqIQZBAyEEA0AgBEEBayEEQQAhAQNAIAEgBmoiAiACKAIAIgIgAiACQQR2c0GAmLwYcSIC
|
|
QQR0cyACcyICIAIgAkECdnNBgOaAmANxIgJBAnRzIAJzNgIAIAFBBGoiAUEgRw0AC0EAIQEDQCABIANqIgIgAigCACICIAIgAkEE
|
|
dnNBgJ6A+ABxIgJBBHRzIAJzNgIAIAFBBGoiAUEgRw0AC0EAIQEDQCABIAdqIgIgAigCACICIAIgAkEEdnNBgIa84ABxIgJBBHRz
|
|
IAJzIgIgAiACQQJ2c0GA5oCYA3EiAkECdHMgAnM2AgAgAUEEaiIBQSBHDQALIAdBgAFqIQcgA0GAAWohAyAGQYABaiEGIAQNAAtB
|
|
oAMhAQNAIAEgBWoiAyADKAIAIgMgAyADQQR2c0GAmLwYcSIDQQR0cyADcyIDIAMgA0ECdnNBgOaAmANxIgNBAnRzIANzNgIAIAFB
|
|
BGoiAUHAA0cNAAtBACEDA0AgAyAFaiIBQSBqIgYgBigCAEF/czYCACABQSRqIgYgBigCAEF/czYCACABQTRqIgYgBigCAEF/czYC
|
|
ACABQThqIgEgASgCAEF/czYCACADQSBqIgNBwANHDQALIAAgBUHgAxCCARogBUHgA2okAAUgBSAHEDUgAUHgAGoiBBAMIAQgBCgC
|
|
AEF/czYCACABQeQAaiIEIAQoAgBBf3M2AgAgAUH0AGoiBCAEKAIAQX9zNgIAIAFB+ABqIgEgASgCAEF/czYCACAFIAdBCGoiB0EG
|
|
ECogBkHEAGohBiADQUBrIQMMAQsLC7QFAQh/QStBgIDEACAAKAIcIghBAXEiBhshDCAEIAZqIQYCQCAIQQRxRQRAQQAhAQwBCwJA
|
|
IAJBEE8EQCABIAIQByEFDAELIAJFBEAMAQsgAkEDcSEJAkAgAkEESQRADAELIAJBfHEhCgNAIAUgASAHaiILLAAAQb9/SmogC0EB
|
|
aiwAAEG/f0pqIAtBAmosAABBv39KaiALQQNqLAAAQb9/SmohBSAKIAdBBGoiB0cNAAsLIAlFDQAgASAHaiEHA0AgBSAHLAAAQb9/
|
|
SmohBSAHQQFqIQcgCUEBayIJDQALCyAFIAZqIQYLAkACQCAAKAIARQRAQQEhBSAAKAIUIgYgACgCGCIAIAwgASACEEYNAQwCCyAG
|
|
IAAoAgQiB08EQEEBIQUgACgCFCIGIAAoAhgiACAMIAEgAhBGDQEMAgsgCEEIcQRAIAAoAhAhCCAAQTA2AhAgAC0AICEKQQEhBSAA
|
|
QQE6ACAgACgCFCIJIAAoAhgiCyAMIAEgAhBGDQEgByAGa0EBaiEFAkADQCAFQQFrIgVFDQEgCUEwIAsoAhARAABFDQALQQEPC0EB
|
|
IQUgCSADIAQgCygCDBEBAA0BIAAgCjoAICAAIAg2AhBBACEFDAELIAcgBmshBgJAAkACQCAALQAgIgVBAWsOAwABAAILIAYhBUEA
|
|
IQYMAQsgBkEBdiEFIAZBAWpBAXYhBgsgBUEBaiEFIABBGGooAgAhCCAAKAIQIQogACgCFCEAAkADQCAFQQFrIgVFDQEgACAKIAgo
|
|
AhARAABFDQALQQEPC0EBIQUgACAIIAwgASACEEYNACAAIAMgBCAIKAIMEQEADQBBACEFA0AgBSAGRgRAQQAPCyAFQQFqIQUgACAK
|
|
IAgoAhARAABFDQALIAVBAWsgBkkPCyAFDwsgBiADIAQgACgCDBEBAAvYBAEcfyAAIAAoAggiBCAAKAIEIgVzIgwgACgCHCINIAAo
|
|
AhAiAXMiFiAAKAIYIgJzIhcgFnFzIAIgDXMiAyAAKAIMIgYgACgCACIHcyIIcyIJcyADIAUgB3MiCnMiEyABIAJzIg8gBCAAKAIU
|
|
IgRzIhBzIhlxIhRzIAYgF3MiFSABIAZzIgEgDHMiGHEgCSAYcyABcSILcyIOcyIRIA4gDyABIAdzIhpxIAIgBXMiBSAEIAZzcyIH
|
|
IAEgCnMiDnJzcyIScSICIAsgAyAJcXMiCyAHIA5xIAogD3MiCiAEcyIbIAUgCHMiHHFzIAFzIARzcyIGcyARIBQgCiANIBBzIhRx
|
|
IAhzcyALcyIEcyIIcSAEcyIFIAYgEnMiCyACIARzcSAGcyINcyIQIAFxIAogDXEiCnMgDSALIAQgEnFBf3NxIAJzIgFzIgQgE3Eg
|
|
AyACIAYgEXEgCHFzIAhzIgIgAXMiA3EiCHMiEXM2AgAgACAHIAIgBXMiB3EiBiAFIBtxIhJzIAMgEHMiEyAVcSIVIAMgCXEiA3Mi
|
|
CyAQIAkgDHNxIgwgByAOcSIHIAIgD3EiD3NzIg5zIglzNgIcIAAgDCACIBpxIgIgASAXcXMiDCAGIAUgHHFzc3MiBSADIA0gFHEi
|
|
AyABIBZxcyIBIA9zcyARc3M2AhggACABIApzIgEgB3MgC3MgBXM2AhQgACADIAQgGXEiA3MgCXM2AhAgACATIBhxIAJzIA5zIgIg
|
|
ASADIBJzIgEgCHNzczYCDCAAIAEgDHMgCXM2AgggACAGIBVzIAJzNgIEC9QFAgZ/An4CQCACRQ0AIAJBB2siA0EAIAIgA08bIQcg
|
|
AUEDakF8cSABayEIQQAhAwNAAkACQAJAIAEgA2otAAAiBcAiBkEATgRAIAggA2tBA3ENASADIAdPDQIDQCABIANqIgRBBGooAgAg
|
|
BCgCAHJBgIGChHhxDQMgA0EIaiIDIAdJDQALDAILQoCAgICAICEKQoCAgIAQIQkCQAJAAn4CQAJAAkACQAJAAkACQAJAAkAgBUGM
|
|
oMAAai0AAEECaw4DAAECCgsgA0EBaiIEIAJJDQJCACEKQgAhCQwJC0IAIQogA0EBaiIEIAJJDQJCACEJDAgLQgAhCiADQQFqIgQg
|
|
AkkNAkIAIQkMBwsgASAEaiwAAEG/f0oNBgwHCyABIARqLAAAIQQCQAJAIAVB4AFrIgUEQCAFQQ1GBEAMAgUMAwsACyAEQWBxQaB/
|
|
Rg0EDAMLIARBn39KDQIMAwsgBkEfakH/AXFBDE8EQCAGQX5xQW5HDQIgBEFASA0DDAILIARBQEgNAgwBCyABIARqLAAAIQQCQAJA
|
|
AkACQCAFQfABaw4FAQAAAAIACyAGQQ9qQf8BcUECSyAEQUBOcg0DDAILIARB8ABqQf8BcUEwTw0CDAELIARBj39KDQELIAIgA0EC
|
|
aiIETQRAQgAhCQwFCyABIARqLAAAQb9/Sg0CQgAhCSADQQNqIgQgAk8NBCABIARqLAAAQb9/TA0FQoCAgICA4AAMAwtCgICAgIAg
|
|
DAILQgAhCSADQQJqIgQgAk8NAiABIARqLAAAQb9/TA0DC0KAgICAgMAACyEKQoCAgIAQIQkLIAAgCiADrYQgCYQ3AgQgAEEBNgIA
|
|
DwsgBEEBaiEDDAILIANBAWohAwwBCyACIANNDQADQCABIANqLAAAQQBIDQEgAiADQQFqIgNHDQALDAILIAIgA0sNAAsLIAAgATYC
|
|
BCAAQQhqIAI2AgAgAEEANgIAC6YEARt/IAAgACgCHCIBIAAoAgQiBHMiByAAKAIQIgUgACgCCCIKcyIMcyIRIAAoAgxzIgggACgC
|
|
GCIGcyILIAEgBXMiEnMiCSAGIAAoAhRzIgJzIgMgBCACIAAoAgAiBHMiBnMiEyAGcXMgAyAHcSINcyAHcyAJIBJxIg4gAiAIIApz
|
|
IgJzIgggCXMiFyAMcXMiD3MiECAPIAIgEXEiDyALIAIgBHMiGCATIAEgCnMiCnMiGXFzc3MiFHEiCyAIIApxIA5zIg4gDyAFIAZz
|
|
Ig8gBHEgCnMgCHNzcyIFcyAOIA0gAyAEIAlzIg0gASAGcyIOcXNzIAFzcyIBIBBzcSIVIAtzIAFxIhYgEHMiECACcSIaIAQgASAV
|
|
cyIEcXMiFSAFIAEgC3MiAiAFIBRzIgVxcyIBIA1xcyADIAIgFnMgAXEgBXMiAyABcyILcSINcyIUIAMgE3FzIAwgAyAEIBBzIgJz
|
|
IgUgASAEcyIMcyITcSAMIBJxIhJzIhZzIhsgDSADIAZxcyIGIBMgF3FzIgMgByALcSIHIAUgCHEgFXNzcyIIczYCBCAAIAcgG3M2
|
|
AgAgACAWIAIgGXFzIgcgECARcXMiESADIAkgDHFzIglzNgIcIAAgCCABIA5xcyIDIAUgCnEgEnMgCXNzNgIUIAAgAiAYcSAacyAG
|
|
cyARcyIBNgIQIAAgByAEIA9xcyADczYCCCAAIAEgCXM2AhggACABIBRzNgIMC4YFAQp/IwBBMGsiAyQAIANBJGogATYCACADQQM6
|
|
ACwgA0EgNgIcIANBADYCKCADIAA2AiAgA0EANgIUIANBADYCDAJ/AkACQAJAIAIoAhAiCkUEQCACQQxqKAIAIgBFDQEgAigCCCEB
|
|
IABBA3QhBSAAQQFrQf////8BcUEBaiEHIAIoAgAhAANAIABBBGooAgAiBARAIAMoAiAgACgCACAEIAMoAiQoAgwRAQANBAsgASgC
|
|
ACADQQxqIAFBBGooAgARAAANAyABQQhqIQEgAEEIaiEAIAVBCGsiBQ0ACwwBCyACQRRqKAIAIgBFDQAgAEEFdCELIABBAWtB////
|
|
P3FBAWohByACKAIIIQggAigCACEAA0AgAEEEaigCACIBBEAgAygCICAAKAIAIAEgAygCJCgCDBEBAA0DCyADIAUgCmoiAUEQaigC
|
|
ADYCHCADIAFBHGotAAA6ACwgAyABQRhqKAIANgIoIAFBDGooAgAhBkEAIQlBACEEAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBkED
|
|
dCAIaiIMKAIEQS1HDQEgDCgCACgCACEGC0EBIQQLIAMgBjYCECADIAQ2AgwgAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsg
|
|
BEEDdCAIaiIGKAIEQS1HDQEgBigCACgCACEEC0EBIQkLIAMgBDYCGCADIAk2AhQgCCABQRRqKAIAQQN0aiIBKAIAIANBDGogASgC
|
|
BBEAAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAcgAigCBE8NASADKAIgIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiQoAgwRAQBF
|
|
DQELQQEMAQtBAAsgA0EwaiQAC4cVARV/IwBBIGsiAyQAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANCADcDACADIAIg
|
|
AkEQahAUIAFBwANqIQpBACECA0AgAiADaiITIBMoAgAgAiAKaigCAHM2AgAgAkEEaiICQSBHDQALIAMQCkEAIQIDQCACIANqIgog
|
|
CigCACIKIAogCkEEdnNBgJ6A+ABxIgpBBHRzIApzNgIAIAJBBGoiAkEgRw0ACyABQcACaiETIAFB4AJqIRQgAUGAA2ohFSABQaAD
|
|
aiEWQegAIQoCQANAQQAhAgNAIAIgA2oiBiAGKAIAIAIgFmooAgBzNgIAIAJBBGoiAkEgRw0ACyADIAMoAhgiBkEWd0G//vz5A3Eg
|
|
BkEed0HAgYOGfHFyIAZzIgkgAygCHCICcyIHIAJBFndBv/78+QNxIAJBHndBwIGDhnxxciACcyICIAMoAhAiBUEWd0G//vz5A3Eg
|
|
BUEed0HAgYOGfHFyIAVzIgwgAygCFCIEcyINcyILQQx3QY+evPgAcSALQRR3QfDhw4d/cXJzIAtzNgIcIAMgBiAEIARBFndBv/78
|
|
+QNxIARBHndBwIGDhnxxcnMiCHMiBiADKAIAIgRBFndBv/78+QNxIARBHndBwIGDhnxxciAEcyIPcyILIAtBDHdBj568+ABxIAtB
|
|
FHdB8OHDh39xcnMgAiAEcyILczYCACADIAYgCSAFIAMoAgwiBEEWd0G//vz5A3EgBEEed0HAgYOGfHFyIARzIg5zIAJzIhBzIgVB
|
|
DHdBj568+ABxIAVBFHdB8OHDh39xcnMgBXM2AhggAyANIAQgAygCCCIFQRZ3Qb/+/PkDcSAFQR53QcCBg4Z8cXIgBXMiCXMgAnMi
|
|
ESAHIAhzcyIEQQx3QY+evPgAcSAEQRR3QfDhw4d/cXJzIARzNgIUIAMgECAGIAdzIg0gDCAFIAMoAgQiBEEWd0G//vz5A3EgBEEe
|
|
d0HAgYOGfHFyIARzIghzIhJzcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIQIAMgESAEIA9zIAJzIgUgBiAOc3MiAkEM
|
|
d0GPnrz4AHEgAkEUd0Hw4cOHf3FycyACczYCDCADIBIgByAJcyALcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAJzNgIIIAMg
|
|
BSAIIA1zIgJBDHdBj568+ABxIAJBFHdB8OHDh39xcnMgAnM2AgQgAxAKIApBCEYEQEEAIQIDQCACIANqIgogCigCACABIAJqKAIA
|
|
czYCACACQQRqIgJBIEcNAAsgACADEBUgA0EgaiQADwtBACECA0AgAiADaiIGIAYoAgAgAiAVaigCAHM2AgAgAkEEaiICQSBHDQAL
|
|
IApBEGshCyADIAMoAhgiB0EYdyAHcyIJIAMoAhwiAnMiBiACQRh3IAJzIgIgAygCECIFQRh3IAVzIgwgAygCFCIEcyINcyIIQRB3
|
|
cyAIczYCHCADIAcgBCAEQRh3cyIIcyIHIAMoAgAiBEEYdyAEcyIPcyIOQRB3IA5zIAIgBHMiDnM2AgAgAyAHIAkgBSADKAIMIgRB
|
|
GHcgBHMiEHMgAnMiEXMiBUEQd3MgBXM2AhggAyANIAQgAygCCCIFQRh3IAVzIglzIAJzIhIgBiAIc3MiBEEQd3MgBHM2AhQgAyAR
|
|
IAYgB3MiDSAMIAUgAygCBCIEQRh3IARzIghzIgVzcyIMQRB3cyAMczYCECADIBIgBCAPcyACcyICIAcgEHNzIgdBEHdzIAdzNgIM
|
|
IAMgBSAGIAlzIA5zIgZBEHdzIAZzNgIIIAMgAiAIIA1zIgZBEHdzIAZzNgIEIAMQCkEAIQIDQCACIANqIgYgBigCACACIBRqKAIA
|
|
czYCACACQQRqIgJBIEcNAAsgAyADKAIYIgZBEndBg4aMGHEgBkEad0H8+fNncXIgBnMiDCADKAIcIgJzIgcgAkESd0GDhowYcSAC
|
|
QRp3Qfz582dxciACcyICIAMoAhAiBUESd0GDhowYcSAFQRp3Qfz582dxciAFcyINIAMoAhQiBHMiCHMiCUEMd0GPnrz4AHEgCUEU
|
|
d0Hw4cOHf3FycyAJczYCHCADIAYgBCAEQRJ3QYOGjBhxIARBGndB/PnzZ3FycyIPcyIGIAMoAgAiBEESd0GDhowYcSAEQRp3Qfz5
|
|
82dxciAEcyIOcyIJIAlBDHdBj568+ABxIAlBFHdB8OHDh39xcnMgAiAEcyIJczYCACADIAYgDCAFIAMoAgwiBEESd0GDhowYcSAE
|
|
QRp3Qfz582dxciAEcyIQcyACcyIRcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIYIAMgCCAEIAMoAggiBUESd0GDhowY
|
|
cSAFQRp3Qfz582dxciAFcyIMcyACcyISIAcgD3NzIgRBDHdBj568+ABxIARBFHdB8OHDh39xcnMgBHM2AhQgAyARIAYgB3MiCCAN
|
|
IAUgAygCBCIEQRJ3QYOGjBhxIARBGndB/PnzZ3FyIARzIg9zIhdzcyIFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAVzNgIQIAMg
|
|
EiAEIA5zIAJzIgUgBiAQc3MiAkEMd0GPnrz4AHEgAkEUd0Hw4cOHf3FycyACczYCDCADIBcgByAMcyAJcyICQQx3QY+evPgAcSAC
|
|
QRR3QfDhw4d/cXJzIAJzNgIIIAMgBSAIIA9zIgJBDHdBj568+ABxIAJBFHdB8OHDh39xcnMgAnM2AgQgAxAKIApBGGsiCSALSw0B
|
|
QQAhAgNAIAIgA2oiBiAGKAIAIAIgE2ooAgBzNgIAIAJBBGoiAkEgRw0ACyATQYABayETIBRBgAFrIRQgFUGAAWshFSAWQYABayEW
|
|
IAMgAygCGCIGQRR3QY+evPgAcSAGQRx3QfDhw4d/cXIgBnMiCyADKAIcIgJzIgcgAkEUd0GPnrz4AHEgAkEcd0Hw4cOHf3FyIAJz
|
|
IgIgAygCECIFQRR3QY+evPgAcSAFQRx3QfDhw4d/cXIgBXMiDCADKAIUIgRzIg1zIghBEHdzIAhzNgIcIAMgBiAEIARBFHdBj568
|
|
+ABxIARBHHdB8OHDh39xcnMiCHMiBiADKAIAIgRBFHdBj568+ABxIARBHHdB8OHDh39xciAEcyIPcyIOQRB3IA5zIAIgBHMiDnM2
|
|
AgAgAyAGIAsgBSADKAIMIgRBFHdBj568+ABxIARBHHdB8OHDh39xciAEcyIQcyACcyIRcyIFQRB3cyAFczYCGCADIA0gBCADKAII
|
|
IgVBFHdBj568+ABxIAVBHHdB8OHDh39xciAFcyILcyACcyISIAcgCHNzIgRBEHdzIARzNgIUIAMgESAGIAdzIg0gDCAFIAMoAgQi
|
|
BEEUd0GPnrz4AHEgBEEcd0Hw4cOHf3FyIARzIghzIgVzcyIMQRB3cyAMczYCECADIBIgBCAPcyACcyICIAYgEHNzIgZBEHdzIAZz
|
|
NgIMIAMgBSAHIAtzIA5zIgZBEHdzIAZzNgIIIAMgAiAIIA1zIgZBEHdzIAZzNgIEIAMQCiAKQSBrIgpBeEcNAAtBeCAJQYyWwAAQ
|
|
OQALIAkgC0GclsAAEDkAC5UEAQt/IAAoAgQhCiAAKAIAIQsgACgCCCEMAkADQCAFDQECQAJAIAIgBEkNAANAIAEgBGohBQJAAkAC
|
|
QAJAIAIgBGsiBkEITwRAIAVBA2pBfHEiACAFRg0BIAAgBWsiAEUNAUEAIQMDQCADIAVqLQAAQQpGDQUgACADQQFqIgNHDQALIAAg
|
|
BkEIayIDSw0DDAILIAIgBEYEQCACIQQMBgtBACEDA0AgAyAFai0AAEEKRg0EIAYgA0EBaiIDRw0ACyACIQQMBQsgBkEIayEDQQAh
|
|
AAsDQCAAIAVqIgdBBGooAgAiCUGKlKjQAHNBgYKECGsgCUF/c3EgBygCACIHQYqUqNAAc0GBgoQIayAHQX9zcXJBgIGChHhxDQEg
|
|
AEEIaiIAIANNDQALCyAAIAZGBEAgAiEEDAMLA0AgACAFai0AAEEKRgRAIAAhAwwCCyAGIABBAWoiAEcNAAsgAiEEDAILIAMgBGoi
|
|
AEEBaiEEAkAgACACTw0AIAAgAWotAABBCkcNAEEAIQUgBCEDIAQhAAwDCyACIARPDQALC0EBIQUgAiIAIAgiA0YNAgsCQCAMLQAA
|
|
BEAgC0HUnMAAQQQgCigCDBEBAA0BCyABIAhqIQYgACAIayEHQQAhCSAMIAAgCEcEfyAGIAdqQQFrLQAAQQpGBSAJCzoAACADIQgg
|
|
CyAGIAcgCigCDBEBAEUNAQsLQQEhDQsgDQvPBAEEfyAAIAEQhAEhAgJAAkACQAJAAkACQAJAIAAQdQ0AIAAoAgAhAyAAEGoNASAB
|
|
IANqIQEgACADEIUBIgBBwKbAACgCAEYEQCACKAIEQQNxQQNHDQFBuKbAACABNgIAIAAgASACEE8PCyADQYACTwRAIAAQHAwBCyAA
|
|
QQxqKAIAIgQgAEEIaigCACIFRwRAIAUgBDYCDCAEIAU2AggMAQtBsKbAAEGwpsAAKAIAQX4gA0EDdndxNgIACyACEGUNAiACQcSm
|
|
wAAoAgBGDQQgAkHApsAAKAIARw0BQcCmwAAgADYCAEG4psAAQbimwAAoAgAgAWoiATYCACAAIAEQVA8LIAEgA2pBEGohAAwECyAC
|
|
EHQiAyABaiEBAkAgA0GAAk8EQCACEBwMAQsgAkEMaigCACIEIAJBCGooAgAiAkcEQCACIAQ2AgwgBCACNgIIDAELQbCmwABBsKbA
|
|
ACgCAEF+IANBA3Z3cTYCAAsgACABEFQgAEHApsAAKAIARw0BQbimwAAgATYCAA8LIAAgASACEE8LIAFBgAJPBEAgACABEB0PCyAB
|
|
QXhxQaikwABqIQICf0GwpsAAKAIAIgNBASABQQN2dCIBcUUEQEGwpsAAIAEgA3I2AgAgAgwBCyACKAIICyEBIAIgADYCCCABIAA2
|
|
AgwgACACNgIMIAAgATYCCA8LQcSmwAAgADYCAEG8psAAQbymwAAoAgAgAWoiATYCACAAIAFBAXI2AgQgAEHApsAAKAIARw0AQbim
|
|
wABBADYCAEHApsAAQQA2AgALC5ASAQ5/IwBBIGsiAyQAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIANCADcDACADIAIg
|
|
AkEQahAUQQAhAgNAIAIgA2oiCiAKKAIAIAEgAmooAgBzNgIAIAJBBGoiAkEgRw0ACyABQYABaiEKIAFB4ABqIQ0gAUFAayEOIAFB
|
|
IGohD0EIIRADQCADEAwgAyADKAIYIgJBFndBv/78+QNxIAJBHndBwIGDhnxxciIGIAJzIgQgAygCHCICQRZ3Qb/+/PkDcSACQR53
|
|
QcCBg4Z8cXIiBSACcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAVzNgIcIAMgBiADKAIUIgVBFndBv/78+QNxIAVBHndBwIGD
|
|
hnxxciIHIAVzIgUgBEEMd0GPnrz4AHEgBEEUd0Hw4cOHf3Fyc3M2AhggAyADKAIQIgRBFndBv/78+QNxIARBHndBwIGDhnxxciIJ
|
|
IARzIgQgBUEMd0GPnrz4AHEgBUEUd0Hw4cOHf3FycyAHczYCFCADIAMoAgQiBUEWd0G//vz5A3EgBUEed0HAgYOGfHFyIgsgBXMi
|
|
BSADKAIIIgZBFndBv/78+QNxIAZBHndBwIGDhnxxciIHIAZzIgZBDHdBj568+ABxIAZBFHdB8OHDh39xcnMgB3M2AgggAyADKAIA
|
|
IgdBFndBv/78+QNxIAdBHndBwIGDhnxxciIIIAdzIgdBDHdBj568+ABxIAdBFHdB8OHDh39xciAIcyACczYCACADIAkgAygCDCII
|
|
QRZ3Qb/+/PkDcSAIQR53QcCBg4Z8cXIiDCAIcyIIIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzIAJzNgIQIAMgBiAIQQx3QY+e
|
|
vPgAcSAIQRR3QfDhw4d/cXJzIAxzIAJzNgIMIAMgByAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAtzIAJzNgIEQQAhAgNAIAIg
|
|
A2oiBCAEKAIAIAIgD2ooAgBzNgIAIAJBBGoiAkEgRw0ACyAQQegARgRAQQAhAgNAIAIgA2oiCiAKKAIAIgogCiAKQQR2c0GAnoD4
|
|
AHEiCkEEdHMgCnM2AgAgAkEEaiICQSBHDQALIAFBwANqIQEgAxAMQQAhAgNAIAIgA2oiCiAKKAIAIAEgAmooAgBzNgIAIAJBBGoi
|
|
AkEgRw0ACyAAIAMQFSADQSBqJAAFIAMQDCADIAMoAhgiAkEUd0GPnrz4AHEgAkEcd0Hw4cOHf3FyIgUgAnMiBiADKAIcIgJBFHdB
|
|
j568+ABxIAJBHHdB8OHDh39xciIEIAJzIgJBEHdzIARzNgIcIAMgBSADKAIUIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIHIARz
|
|
IgggBkEQd3NzNgIYIAMgByADKAIQIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIFIARzIgYgCEEQd3NzNgIUIAMgAygCBCIEQRR3
|
|
QY+evPgAcSAEQRx3QfDhw4d/cXIiByAEcyIIIAMoAggiBEEUd0GPnrz4AHEgBEEcd0Hw4cOHf3FyIgkgBHMiC0EQd3MgCXM2Aggg
|
|
AyADKAIAIgRBFHdBj568+ABxIARBHHdB8OHDh39xciIJIARzIgxBEHcgCXMgAnM2AgAgAyAFIAMoAgwiBEEUd0GPnrz4AHEgBEEc
|
|
d0Hw4cOHf3FyIgkgBHMiBCAGQRB3c3MgAnM2AhAgAyALIARBEHdzIAlzIAJzNgIMIAMgDCAIQRB3cyAHcyACczYCBEEAIQIDQCAC
|
|
IANqIgQgBCgCACACIA5qKAIAczYCACACQQRqIgJBIEcNAAsgAxAMIAMgAygCGCICQRJ3QYOGjBhxIAJBGndB/PnzZ3FyIgYgAnMi
|
|
BCADKAIcIgJBEndBg4aMGHEgAkEad0H8+fNncXIiBSACcyICQQx3QY+evPgAcSACQRR3QfDhw4d/cXJzIAVzNgIcIAMgBiADKAIU
|
|
IgVBEndBg4aMGHEgBUEad0H8+fNncXIiByAFcyIFIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzNgIYIAMgAygCECIEQRJ3QYOG
|
|
jBhxIARBGndB/PnzZ3FyIgkgBHMiBCAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAdzNgIUIAMgAygCBCIFQRJ3QYOGjBhxIAVB
|
|
GndB/PnzZ3FyIgsgBXMiBSADKAIIIgZBEndBg4aMGHEgBkEad0H8+fNncXIiByAGcyIGQQx3QY+evPgAcSAGQRR3QfDhw4d/cXJz
|
|
IAdzNgIIIAMgAygCACIHQRJ3QYOGjBhxIAdBGndB/PnzZ3FyIgggB3MiB0EMd0GPnrz4AHEgB0EUd0Hw4cOHf3FyIAhzIAJzNgIA
|
|
IAMgCSADKAIMIghBEndBg4aMGHEgCEEad0H8+fNncXIiDCAIcyIIIARBDHdBj568+ABxIARBFHdB8OHDh39xcnNzIAJzNgIQIAMg
|
|
BiAIQQx3QY+evPgAcSAIQRR3QfDhw4d/cXJzIAxzIAJzNgIMIAMgByAFQQx3QY+evPgAcSAFQRR3QfDhw4d/cXJzIAtzIAJzNgIE
|
|
QQAhAgNAIAIgA2oiBCAEKAIAIAIgDWooAgBzNgIAIAJBBGoiAkEgRw0ACyADEAwgAyADKAIYIgJBGHciBCACcyIFIAMoAhwiAkEY
|
|
dyIGIAJzIgJBEHdzIAZzNgIcIAMgBCADKAIUIgZBGHciByAGcyIGIAVBEHdzczYCGCADIAcgAygCECIEQRh3IgUgBHMiBCAGQRB3
|
|
c3M2AhQgAyADKAIEIgZBGHciByAGcyIGIAMoAggiCEEYdyIJIAhzIghBEHdzIAlzNgIIIAMgAygCACIJQRh3IgsgCXMiCUEQdyAL
|
|
cyACczYCACADIAUgAygCDCILQRh3IgwgC3MiCyAEQRB3c3MgAnM2AhAgAyAIIAtBEHdzIAxzIAJzNgIMIAMgCSAGQRB3cyAHcyAC
|
|
czYCBEEAIQIDQCACIANqIgQgBCgCACACIApqKAIAczYCACACQQRqIgJBIEcNAAsgCkGAAWohCiANQYABaiENIA5BgAFqIQ4gD0GA
|
|
AWohDyAQQSBqIRAMAQsLC4gEAQh/IAEoAgQiBQRAIAEoAgAhBANAAkAgA0EBaiECAn8gAiADIARqLQAAIgjAIglBAE4NABoCQAJA
|
|
AkACQAJAAkACQAJAAkACQAJAIAhBjKDAAGotAABBAmsOAwABAgwLQYyiwAAgAiAEaiACIAVPGy0AAEHAAXFBgAFHDQsgA0ECagwK
|
|
C0GMosAAIAIgBGogAiAFTxssAAAhByAIQeABayIGRQ0BIAZBDUYNAgwDC0GMosAAIAIgBGogAiAFTxssAAAhBiAIQfABaw4FBAMD
|
|
AwUDCyAHQWBxQaB/Rw0IDAYLIAdBn39KDQcMBQsgCUEfakH/AXFBDE8EQCAJQX5xQW5HIAdBQE5yDQcMBQsgB0FATg0GDAQLIAlB
|
|
D2pB/wFxQQJLIAZBQE5yDQUMAgsgBkHwAGpB/wFxQTBPDQQMAQsgBkGPf0oNAwtBjKLAACAEIANBAmoiAmogAiAFTxstAABBwAFx
|
|
QYABRw0CQYyiwAAgBCADQQNqIgJqIAIgBU8bLQAAQcABcUGAAUcNAiADQQRqDAELQYyiwAAgBCADQQJqIgJqIAIgBU8bLQAAQcAB
|
|
cUGAAUcNASADQQNqCyIDIgIgBUkNAQsLIAAgAzYCBCAAIAQ2AgAgASAFIAJrNgIEIAEgAiAEajYCACAAIAIgA2s2AgwgACADIARq
|
|
NgIIDwsgAEEANgIAC/QGAgx/AX4jAEHQAGsiAyQAIANBPGogASACECYCQCADKAI8BEAgA0EoaiADQcQAaiILKAIAIgE2AgAgAyAD
|
|
KQI8Ig83AyBBACECIANBGGogAUEAEDwgA0EANgJEIAMgAykDGDcCPCADQRBqIgQgASAPpyIFajYCBCAEIAU2AgAgAygCECIBIAMo
|
|
AhQiDEcEQANAIAEtAAAiBEEEdkHkiMAAai0AAEEEdCAEQQ9xQeSIwABqLQAAciENIAMoAkAgAkYEfyMAQRBrIggkACAIQQhqIQog
|
|
A0E8aiEJQQAhBiMAQSBrIgUkAAJAIAIgAkEBaiIESw0AQQggCSgCBCICQQF0IgYgBCAEIAZJGyIEIARBCE0bIgRBf3NBH3YhBgJA
|
|
IAJFBEAgBUEANgIYDAELIAUgAjYCHCAFQQE2AhggBSAJKAIANgIUCyAFQRRqIQcgBUEIaiICAn8CQAJ/AkACQCAGBEAgBEEASA0B
|
|
IAcoAgQEQCAHQQhqKAIAIg4EQCAHKAIAIA4gBiAEEFkMBQsLIARFDQJB3aLAAC0AABogBCAGEGAMAwsgAkEANgIEIAJBCGogBDYC
|
|
AAwDCyACQQA2AgQMAgsgBgsiBwRAIAIgBzYCBCACQQhqIAQ2AgBBAAwCCyACIAY2AgQgAkEIaiAENgIAC0EBCzYCACAFKAIMIQYg
|
|
BSgCCARAIAVBEGooAgAhBAwBCyAJIAQ2AgQgCSAGNgIAQYGAgIB4IQYLIAogBDYCBCAKIAY2AgAgBUEgaiQAAkACQCAIKAIIIgJB
|
|
gYCAgHhHBEAgAkUNASACIAgoAgwQegALIAhBEGokAAwBCxBHAAsgAygCRAUgAgsgAygCPGogDToAACADIAMoAkRBAWoiAjYCRCAB
|
|
QQFqIgEgDEcNAAsLIANBOGogCygCACIBNgIAIAMgAykCPCIPNwMwIANBPGogD6cgARALIAMoAjwNASADKAJAIQIgA0EIaiADQcQA
|
|
aigCACIBQQAQPCADKAIMIQQgAygCCCACIAEQggEhAiAAIAE2AgggACAENgIEIAAgAjYCACADQTBqEFEgA0EgahBRIANB0ABqJAAP
|
|
CyADIAMpAkA3AzBB3IfAAEErIANBMGpBmIjAAEHUiMAAEDQACyADIAMpAkA3A0hB3IfAAEErIANByABqQYiIwABB9IjAABA0AAuk
|
|
AwENfyAAIAIoAAwiAyABKAAMIgRBAXZzQdWq1aoFcSIIIANzIgMgAigACCIFIAEoAAgiBkEBdnNB1arVqgVxIgkgBXMiBUECdnNB
|
|
s+bMmQNxIgsgA3MiAyACKAAEIgcgASgABCIKQQF2c0HVqtWqBXEiDCAHcyIHIAIoAAAiAiABKAAAIgFBAXZzQdWq1aoFcSINIAJz
|
|
IgJBAnZzQbPmzJkDcSIOIAdzIgdBBHZzQY+evPgAcSIPIANzNgIcIAAgBCAIQQF0cyIDIAYgCUEBdHMiBEECdnNBs+bMmQNxIggg
|
|
A3MiAyAKIAxBAXRzIgYgASANQQF0cyIBQQJ2c0Gz5syZA3EiCSAGcyIGQQR2c0GPnrz4AHEiCiADczYCGCAAIAtBAnQgBXMiAyAO
|
|
QQJ0IAJzIgJBBHZzQY+evPgAcSIFIANzNgIUIAAgD0EEdCAHczYCDCAAIAhBAnQgBHMiAyAJQQJ0IAFzIgFBBHZzQY+evPgAcSIE
|
|
IANzNgIQIAAgCkEEdCAGczYCCCAAIAVBBHQgAnM2AgQgACAEQQR0IAFzNgIAC6QDAQ5/IAAgASgCHCICIAEoAhgiBEEBdnNB1arV
|
|
qgVxIgcgAnMiAiABKAIUIgUgASgCECIGQQF2c0HVqtWqBXEiCCAFcyIFQQJ2c0Gz5syZA3EiCSACcyICIAEoAgwiAyABKAIIIgtB
|
|
AXZzQdWq1aoFcSIMIANzIgMgASgCBCIKIAEoAgAiAUEBdnNB1arVqgVxIg0gCnMiCkECdnNBs+bMmQNxIg4gA3MiA0EEdnNBj568
|
|
+ABxIg8gAnM2ABwgACAJQQJ0IAVzIgIgDkECdCAKcyIFQQR2c0GPnrz4AHEiCSACczYAGCAAIA9BBHQgA3M2ABQgACAEIAdBAXRz
|
|
IgIgBiAIQQF0cyIEQQJ2c0Gz5syZA3EiByACcyICIAsgDEEBdHMiBiABIA1BAXRzIgFBAnZzQbPmzJkDcSIIIAZzIgZBBHZzQY+e
|
|
vPgAcSIDIAJzNgAMIAAgCUEEdCAFczYAECAAIAdBAnQgBHMiAiAIQQJ0IAFzIgFBBHZzQY+evPgAcSIEIAJzNgAIIAAgA0EEdCAG
|
|
czYABCAAIARBBHQgAXM2AAAL+wIBB38jAEEQayIEJAACQAJAAkACQAJAAkAgASgCBCICRQ0AIAEoAgAhBiACQQNxIQcCQCACQQRJ
|
|
BEBBACECDAELIAZBHGohAyACQXxxIQhBACECA0AgAygCACADQQhrKAIAIANBEGsoAgAgA0EYaygCACACampqaiECIANBIGohAyAI
|
|
IAVBBGoiBUcNAAsLIAcEQCAFQQN0IAZqQQRqIQMDQCADKAIAIAJqIQIgA0EIaiEDIAdBAWsiBw0ACwsgAUEMaigCAARAIAJBAEgN
|
|
ASAGKAIERSACQRBJcQ0BIAJBAXQhAgsgAg0BC0EBIQNBACECDAELIAJBAEgNAUHdosAALQAAGiACQQEQYCIDRQ0CCyAEQQA2Aggg
|
|
BCACNgIEIAQgAzYCACAEQbiZwAAgARANRQ0CQZiawABBMyAEQQ9qQcyawABB9JrAABA0AAsQRwALQQEgAhB6AAsgACAEKQIANwIA
|
|
IABBCGogBEEIaigCADYCACAEQRBqJAAL4wIBBX9BEEEIEFggAEsEQEEQQQgQWCEAC0EIQQgQWCEDQRRBCBBYIQJBEEEIEFghBAJA
|
|
QQBBEEEIEFhBAnRrIgVBgIB8IAQgAiADamprQXdxQQNrIgMgAyAFSxsgAGsgAU0NACAAQRAgAUEEakEQQQgQWEEFayABSxtBCBBY
|
|
IgNqQRBBCBBYakEEaxADIgJFDQAgAhCHASEBAkAgAEEBayIEIAJxRQRAIAEhAAwBCyACIARqQQAgAGtxEIcBIQJBEEEIEFghBCAB
|
|
EHQgAiAAQQAgAiABayAETRtqIgAgAWsiAmshBCABEGpFBEAgACAEEEwgASACEEwgASACEBAMAQsgASgCACEBIAAgBDYCBCAAIAEg
|
|
Amo2AgALAkAgABBqDQAgABB0IgJBEEEIEFggA2pNDQAgACADEIQBIQEgACADEEwgASACIANrIgMQTCABIAMQEAsgABCGASEGIAAQ
|
|
ahoLIAYLigMCBX8BfiMAQUBqIgUkAEEBIQcCQCAALQAEDQAgAC0ABSEJIAAoAgAiBigCHCIIQQRxRQRAIAYoAhRB25zAAEHYnMAA
|
|
IAkbQQJBAyAJGyAGQRhqKAIAKAIMEQEADQEgBigCFCABIAIgBigCGCgCDBEBAA0BIAYoAhRBqJzAAEECIAYoAhgoAgwRAQANASAD
|
|
IAYgBCgCDBEAACEHDAELIAlFBEAgBigCFEHdnMAAQQMgBkEYaigCACgCDBEBAA0BIAYoAhwhCAsgBUEBOgAbIAVBNGpBvJzAADYC
|
|
ACAFIAYpAhQ3AgwgBSAFQRtqNgIUIAUgBikCCDcCJCAGKQIAIQogBSAINgI4IAUgBigCEDYCLCAFIAYtACA6ADwgBSAKNwIcIAUg
|
|
BUEMaiIINgIwIAggASACEA8NACAFQQxqQaicwABBAhAPDQAgAyAFQRxqIAQoAgwRAAANACAFKAIwQeCcwABBAiAFKAI0KAIMEQEA
|
|
IQcLIABBAToABSAAIAc6AAQgBUFAayQAIAALiAQBBX8jAEEQayIDJAACQAJ/AkAgAUGAAU8EQCADQQA2AgwgAUGAEEkNASABQYCA
|
|
BEkEQCADIAFBP3FBgAFyOgAOIAMgAUEMdkHgAXI6AAwgAyABQQZ2QT9xQYABcjoADUEDDAMLIAMgAUE/cUGAAXI6AA8gAyABQQZ2
|
|
QT9xQYABcjoADiADIAFBDHZBP3FBgAFyOgANIAMgAUESdkEHcUHwAXI6AAxBBAwCCyAAKAIIIgIgACgCBEYEQCMAQSBrIgQkAAJA
|
|
AkAgAkEBaiICRQ0AQQggACgCBCIGQQF0IgUgAiACIAVJGyICIAJBCE0bIgVBf3NBH3YhAgJAIAZFBEAgBEEANgIYDAELIAQgBjYC
|
|
HCAEQQE2AhggBCAAKAIANgIUCyAEQQhqIAIgBSAEQRRqEC4gBCgCDCECIAQoAghFBEAgACAFNgIEIAAgAjYCAAwCCyACQYGAgIB4
|
|
Rg0BIAJFDQAgAiAEQRBqKAIAEHoACxBHAAsgBEEgaiQAIAAoAgghAgsgACACQQFqNgIIIAAoAgAgAmogAToAAAwCCyADIAFBP3FB
|
|
gAFyOgANIAMgAUEGdkHAAXI6AAxBAgshASABIAAoAgQgACgCCCICa0sEQCAAIAIgARAsIAAoAgghAgsgACgCACACaiADQQxqIAEQ
|
|
ggEaIAAgASACajYCCAsgA0EQaiQAQQALvgICBX8BfiMAQTBrIgQkAEEnIQICQCAAQpDOAFQEQCAAIQcMAQsDQCAEQQlqIAJqIgNB
|
|
BGsgACAAQpDOAIAiB0KQzgB+faciBUH//wNxQeQAbiIGQQF0QaqdwABqLwAAOwAAIANBAmsgBSAGQeQAbGtB//8DcUEBdEGqncAA
|
|
ai8AADsAACACQQRrIQIgAEL/wdcvViAHIQANAAsLIAenIgNB4wBLBEAgAkECayICIARBCWpqIAenIgMgA0H//wNxQeQAbiIDQeQA
|
|
bGtB//8DcUEBdEGqncAAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBqp3AAGovAAA7AAAMAQsgAkEBayICIARB
|
|
CWpqIANBMGo6AAALIAFBxJvAAEEAIARBCWogAmpBJyACaxAJIARBMGokAAuyAgEDfyMAQYABayIEJAACQAJAAn8CQCABKAIcIgJB
|
|
EHFFBEAgAkEgcQ0BIAA1AgAgARAaDAILIAAoAgAhAEEAIQIDQCACIARqQf8AakEwQdcAIABBD3EiA0EKSRsgA2o6AAAgAkEBayEC
|
|
IABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQCQwBCyAAKAIAIQBBACECA0AgAiAE
|
|
akH/AGpBMEE3IABBD3EiA0EKSRsgA2o6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIg
|
|
BGpBgAFqQQAgAmsQCQsgBEGAAWokAA8LIABBgAFBmJ3AABA2AAsgAEGAAUGYncAAEDYAC7sCAQV/IAAoAhghAwJAAkAgACAAKAIM
|
|
RgRAIABBFEEQIABBFGoiASgCACIEG2ooAgAiAg0BQQAhAQwCCyAAKAIIIgIgACgCDCIBNgIMIAEgAjYCCAwBCyABIABBEGogBBsh
|
|
BANAIAQhBSACIgFBFGoiAiABQRBqIAIoAgAiAhshBCABQRRBECACG2ooAgAiAg0ACyAFQQA2AgALAkAgA0UNAAJAIAAgACgCHEEC
|
|
dEGYo8AAaiICKAIARwRAIANBEEEUIAMoAhAgAEYbaiABNgIAIAENAQwCCyACIAE2AgAgAQ0AQbSmwABBtKbAACgCAEF+IAAoAhx3
|
|
cTYCAA8LIAEgAzYCGCAAKAIQIgIEQCABIAI2AhAgAiABNgIYCyAAQRRqKAIAIgBFDQAgAUEUaiAANgIAIAAgATYCGAsLnwIBBH8g
|
|
AEIANwIQIAACf0EAIAFBgAJJDQAaQR8gAUH///8HSw0AGiABQQYgAUEIdmciAmt2QQFxIAJBAXRrQT5qCyIDNgIcIANBAnRBmKPA
|
|
AGohAgJAQbSmwAAoAgAiBEEBIAN0IgVxRQRAQbSmwAAgBCAFcjYCACACIAA2AgAMAQsgAigCACECIAMQUyEDAkACQCACEHQgAUYE
|
|
QCACIQMMAQsgASADdCEEA0AgAiAEQR12QQRxakEQaiIFKAIAIgNFDQIgBEEBdCEEIAMiAhB0IAFHDQALCyADKAIIIgEgADYCDCAD
|
|
IAA2AgggACADNgIMIAAgATYCCCAAQQA2AhgPCyAFIAA2AgALIAAgAjYCGCAAIAA2AgggACAANgIMC8QCAgR/AX4jAEFAaiIDJAAg
|
|
ACgCACEFIAACf0EBIAAtAAgNABogACgCBCIEKAIcIgZBBHFFBEBBASAEKAIUQducwABB5ZzAACAFG0ECQQEgBRsgBEEYaigCACgC
|
|
DBEBAA0BGiABIAQgAigCDBEAAAwBCyAFRQRAQQEgBCgCFEHmnMAAQQIgBEEYaigCACgCDBEBAA0BGiAEKAIcIQYLIANBAToAGyAD
|
|
QTRqQbycwAA2AgAgAyAEKQIUNwIMIAMgA0EbajYCFCADIAQpAgg3AiQgBCkCACEHIAMgBjYCOCADIAQoAhA2AiwgAyAELQAgOgA8
|
|
IAMgBzcCHCADIANBDGo2AjBBASABIANBHGogAigCDBEAAA0AGiADKAIwQeCcwABBAiADKAI0KAIMEQEACzoACCAAIAVBAWo2AgAg
|
|
A0FAayQAIAALXQEMf0GgpMAAKAIAIgIEQEGYpMAAIQYDQCACIgEoAgghAiABKAIEIQMgASgCACEEIAEoAgwaIAEhBiAFQQFqIQUg
|
|
Ag0ACwtB2KbAAEH/HyAFIAVB/x9NGzYCACAIC8YeAhB/A34jAEEgayIIJAAgCCACNgIYIAggAjYCFCAIIAE2AhAgCEEQahA+IAgo
|
|
AhghEyAIKAIQIQEgCCADBH8gCCAENgIYIAggBDYCFCAIIAM2AhAgCEEQahA+IAggCCgCGCICNgIMIAggAjYCCCAIKAIQBUEACzYC
|
|
BCAIQRBqIREjAEGgCWsiBSQAAkACQAJAAkACQCAIQQRqIgMoAgBFBEAgBUHwBGpB4InAAEEsEBMgBSgC8AQiAkUNASAFIAUoAvgE
|
|
Igc2AiwgBSAFKAL0BDYCKCAFIAI2AiQMAgsgBUGYAWogA0EIaigCACICNgIAIAUgAykCACIWNwOQASAFQfAEaiAWpyACEBMgBSgC
|
|
8AQiAgRAIAUgBSgC+AQiBzYCLCAFIAUoAvQENgIoIAUgAjYCJCAFQZABahBRDAILIAUoAvQEIQIgEUEANgIAIBEgAjYCBCAFQZAB
|
|
ahBRDAILIAUoAvQEIQIgEUEANgIAIBEgAjYCBAwBCyAHQSBHBEBBnIrAAEEJEAEhAiARQQA2AgAgESACNgIEIAVBJGoQUQwBCyAF
|
|
QcgAaiIHIAJBGGopAAA3AwAgBUFAayIEIAJBEGopAAA3AwAgBUE4aiIDIAJBCGopAAA3AwAgBSACKQAANwMwIAVBGGogE0EAEDwg
|
|
BSgCHCECIAUoAhggASATEIIBIQogBSATNgJcIAUgAjYCWCAFIAo2AlQgBUH4AGogBykDADcDACAFQfAAaiAEKQMANwMAIAVB6ABq
|
|
IAMpAwA3AwAgBSAFKQMwNwNgIAVBkAFqIAVB4ABqEAggBUEQaiATQXBxIg1BEGoiDkEBEDwgBSAONgKMASAFIAUoAhQ2AogBIAUg
|
|
BSgCECISNgKEASAOIBNJDQEgBUHwBGoiECAFQZABakHgAxCCARogBUGACWoiA0IANwAAIANBCGpCADcAACADIAogDWogE0EPcSIC
|
|
EIIBGiACIANqQRAgAmsiAiACEIEBGiAFQdgIaiAFQYgJaikAADcDACAFIAUpAIAJNwPQCCAFIBNBBHY2AogJIAUgEjYChAkgBSAK
|
|
NgKACSMAQUBqIgkkACADKAIIIhRBAXEgAygCBCEHIAMoAgAhBCAUQQJPBEAgFEEBdiEGIAQhAyAHIQIDQCAJQSBqIBAgAxARIAJB
|
|
GGogCUE4aikDADcAACACQRBqIAlBMGopAwA3AAAgAkEIaiAJQShqKQMANwAAIAIgCSkDIDcAACADQSBqIQMgAkEgaiECIAZBAWsi
|
|
Bg0ACwsEQCAJEE0gCUEIaiAEIBRB/v///wBxQQR0IgNqIgJBCGopAAA3AwAgCSACKQAANwMAIAlBIGogECAJEBEgAyAHaiICQQhq
|
|
IAlBKGopAAA3AAAgAiAJKQAgNwAACyAJQUBrJAAgEkUNASAFQeAIaiICEE0gBUHoCGogBUHYCGopAwA3AwAgBSAFKQPQCDcD4Agg
|
|
BUGACWogBUHwBGoiFCACEBEgDSASaiICQQhqIAVBiAlqKQAANwAAIAIgBSkAgAk3AAAgBUEIaiAOQQAQPCAFKAIMIQMgBSgCCCAS
|
|
IA4QggEhAiAFIA42AvgEIAUgAzYC9AQgBSACNgLwBCMAQTBrIgwkACAMQRBqIQYgFCgCCCIPIRBBqILAAC0AACEKIwBBIGsiDSQA
|
|
IBBBgICAgHxJIQQgEEEDbiICQQJ0IQMCQCAQIAJBA2xrIgdFBEAgAyECDAELAkACQAJAIApFBEBBAiECIAdBAWsOAgMCAQsgEEGA
|
|
gICAfEkgA0EEaiICIANPcSEEDAMLIA1BEGpCADcCACANQQE2AgggDUHgjsAANgIEIA0gDUEcajYCDCANQQRqQcyPwAAQSAALQQMh
|
|
AgsgAiADciECCyAGIAI2AgQgBiAENgIAIA1BIGokAAJAAkAgDCgCEARAIAxBCGogDCgCFCILQQEQPCAMKAIMIRAgDCgCCCEJQQAh
|
|
B0EAIQQCQAJAAkACfyAUKAIAIQ5BACECAkAgD0EbSQ0AIA9BGmsiAkEAIAIgD00bIQoCQANAIA8gB0Eaak8EQCAEQWBGDQIgCyAE
|
|
QSBqIgJJBEAgAiALQZSVwAAQOAALIAQgCWoiBiAHIA5qIgQpAAAiFUI4hiIWQjqIp0GrgsAAai0AADoAACAGQQRqIBVCgICA+A+D
|
|
QgiGIhdCIoinQauCwABqLQAAOgAAIAZBAWogFiAVQoD+A4NCKIaEIhZCNIinQT9xQauCwABqLQAAOgAAIAZBAmogFiAVQoCA/AeD
|
|
QhiGIBeEhCIXQi6Ip0E/cUGrgsAAai0AADoAACAGQQNqIBdCKIinQT9xQauCwABqLQAAOgAAIAZBBmogFUIIiEKAgID4D4MgFUIY
|
|
iEKAgPwHg4QgFUIoiEKA/gODIBVCOIiEhCIWpyIDQRZ2QT9xQauCwABqLQAAOgAAIAZBB2ogA0EQdkE/cUGrgsAAai0AADoAACAG
|
|
QQVqIBYgF4RCHIinQT9xQauCwABqLQAAOgAAIAZBCGogBEEGaikAACIVQjiGIhZCOoinQauCwABqLQAAOgAAIAZBCWogFiAVQoD+
|
|
A4NCKIaEIhdCNIinQT9xQauCwABqLQAAOgAAIAZBCmogFyAVQoCAgPgPg0IIhiIWIBVCgID8B4NCGIaEhCIXQi6Ip0E/cUGrgsAA
|
|
ai0AADoAACAGQQtqIBdCKIinQT9xQauCwABqLQAAOgAAIAZBDGogFkIiiKdBq4LAAGotAAA6AAAgBkENaiAXIBVCCIhCgICA+A+D
|
|
IBVCGIhCgID8B4OEIBVCKIhCgP4DgyAVQjiIhIQiFoRCHIinQT9xQauCwABqLQAAOgAAIAZBDmogFqciA0EWdkE/cUGrgsAAai0A
|
|
ADoAACAGQQ9qIANBEHZBP3FBq4LAAGotAAA6AAAgBkEQaiAEQQxqKQAAIhVCOIYiFkI6iKdBq4LAAGotAAA6AAAgBkERaiAWIBVC
|
|
gP4Dg0IohoQiF0I0iKdBP3FBq4LAAGotAAA6AAAgBkESaiAXIBVCgICA+A+DQgiGIhYgFUKAgPwHg0IYhoSEIhdCLoinQT9xQauC
|
|
wABqLQAAOgAAIAZBE2ogF0IoiKdBP3FBq4LAAGotAAA6AAAgBkEUaiAWQiKIp0GrgsAAai0AADoAACAGQRZqIBVCCIhCgICA+A+D
|
|
IBVCGIhCgID8B4OEIBVCKIhCgP4DgyAVQjiIhIQiFqciA0EWdkE/cUGrgsAAai0AADoAACAGQRdqIANBEHZBP3FBq4LAAGotAAA6
|
|
AAAgBkEVaiAWIBeEQhyIp0E/cUGrgsAAai0AADoAACAGQRhqIARBEmopAAAiFUI4hiIWQjqIp0GrgsAAai0AADoAACAGQRlqIBYg
|
|
FUKA/gODQiiGhCIXQjSIp0E/cUGrgsAAai0AADoAACAGQRpqIBcgFUKAgID4D4NCCIYiFiAVQoCA/AeDQhiGhIQiF0IuiKdBP3FB
|
|
q4LAAGotAAA6AAAgBkEbaiAXQiiIp0E/cUGrgsAAai0AADoAACAGQRxqIBZCIoinQauCwABqLQAAOgAAIAZBHWogFyAVQgiIQoCA
|
|
gPgPgyAVQhiIQoCA/AeDhCAVQiiIQoD+A4MgFUI4iISEIhaEQhyIp0E/cUGrgsAAai0AADoAACAGQR5qIBanIgNBFnZBP3FBq4LA
|
|
AGotAAA6AAAgBkEfaiADQRB2QT9xQauCwABqLQAAOgAAIAIhBCAKIAdBGGoiB08NAQwDCwsgB0EaaiAPQYSVwAAQOAALQWBBAEGU
|
|
lcAAEDkACwJAAkACQAJAAkACfwJAAkACQAJAAkACQCAPIA9BA3AiBmsiEiAHTQRAIAIhAwwBCwNAIAdBfEsNAiAHQQNqIgQgD0sN
|
|
AyACQQRqIQMgAkF7Sw0EIAMgC0sEQCADIAtB9JTAABA4AAsgAiAJaiINIAcgDmoiAi0AACIKQQJ2QauCwABqLQAAOgAAIA1BA2og
|
|
AkECai0AACIHQT9xQauCwABqLQAAOgAAIA1BAmogAkEBai0AACICQQJ0IAdBBnZyQT9xQauCwABqLQAAOgAAIA1BAWogCkEEdCAC
|
|
QQR2ckE/cUGrgsAAai0AADoAACADIQIgBCIHIBJJDQALCyAGQQFrDgIDBAYLIAcgB0EDakHklMAAEDkACyAHQQNqIA9B5JTAABA4
|
|
AAsgAiADQfSUwAAQOQALIAMgC0kEQEECIQcgAyAJaiAOIBJqLQAAIgJBAnZBq4LAAGotAAA6AAAgAkEEdEEwcSALIANBAWoiBEsN
|
|
AhogBCALQdSUwAAQNwALIAMgC0HElMAAEDcACyADIAtPDQIgAyAJaiAOIBJqLQAAIgJBAnZBq4LAAGotAAA6AAAgEkEBaiIKIA9P
|
|
DQMgA0EBaiIEIAtPDQRBAyEHIAQgCWogAkEEdCAKIA5qLQAAIgJBBHZyQT9xQauCwABqLQAAOgAAIANBAmoiBCALTw0FIAJBAnRB
|
|
PHELIQIgBCAJaiACQauCwABqLQAAOgAAIAMgB2ohAwsgAwwECyADIAtBhJTAABA3AAsgCiAPQZSUwAAQNwALIAQgC0GklMAAEDcA
|
|
CyAEIAtBtJTAABA3AAsiCkGogsAALQAABH8gCiALSw0BAn8gCSAKaiECIAsgCmshB0EAIQMCQEEAIAprQQNxIgQEQANAIAMgB0YN
|
|
AiACIANqQT06AAAgBCADQQFqIgNHDQALCyAEDAELIAcgB0Hcj8AAEDcACwVBAAsgCmpLDQEMAgsgCiALQdCFwAAQNgALQeCFwABB
|
|
KkGMhsAAED0ACyAMQRxqIAkgCxALIAwoAhwEQCAMKQIgIhZCgICAgPAfg0KAgICAIFINAgsgESALNgIIIBEgEDYCBCARIAk2AgAg
|
|
FBBRIAxBMGokAAwCC0GCh8AAQS1BsIfAABA9AAsgDCAWNwIoIAwgCzYCJCAMIBA2AiAgDCAJNgIcQcCHwABBDCAMQRxqQZCBwABB
|
|
zIfAABA0AAsgBUGEAWoQUSAFQdQAahBRIAVBJGoQUQsgBUGgCWokAAwBC0Hch8AAQSsgBUHwBGpBuIjAAEGMisAAEDQACyAIKAIY
|
|
IQIgCCgCFCEDIAgoAhAhBCATBEAgARAFCyAAIAQEfyAIIAI2AhggCCADNgIUIAggBDYCECAIQRBqED4gCCgCGCEBIAgoAhAhBEEA
|
|
IQNBAAVBAQs2AgwgACADNgIIIAAgATYCBCAAIAQ2AgAgCEEgaiQAC9wRAg1/AX4jAEEgayIHJAAgByACNgIYIAcgAjYCFCAHIAE2
|
|
AhAgB0EQahA+IAcoAhghDyAHKAIQIQEgByADBH8gByAENgIYIAcgBDYCFCAHIAM2AhAgB0EQahA+IAcgBygCGCICNgIMIAcgAjYC
|
|
CCAHKAIQBUEACzYCBCAHQRBqIQsjAEHgCGsiBSQAAkACQAJAIAdBBGoiAigCAEUEQCAFQfQEakHgicAAQSwQEyAFKAL0BCIDRQ0B
|
|
IAUgBSgC/AQiBDYCLCAFIAUoAvgENgIoIAUgAzYCJAwCCyAFQZgBaiACQQhqKAIAIgM2AgAgBSACKQIAIhI3A5ABIAVB9ARqIBKn
|
|
IAMQEyAFKAL0BCIDBEAgBSAFKAL8BCIENgIsIAUgBSgC+AQ2AiggBSADNgIkIAVBkAFqEFEMAgsgBSgC+AQhAiALQQA2AgAgCyAC
|
|
NgIEIAVBkAFqEFEMAgsgBSgC+AQhAiALQQA2AgAgCyACNgIEDAELAkACQAJAIARBIEYEQCAFQcgAaiIEIANBGGopAAA3AwAgBUFA
|
|
ayIJIANBEGopAAA3AwAgBUE4aiIGIANBCGopAAA3AwAgBSADKQAANwMwIAVB9ARqIAEgDxAmIAUoAvQEIgINAUG4isAAQRwQASEC
|
|
IAtBADYCACALIAI2AgQMAgtBnIrAAEEJEAEhAiALQQA2AgAgCyACNgIEDAELIAUgBSgC/AQiCjYCXCAFIAUoAvgENgJYIAUgAjYC
|
|
VCAFQfgAaiAEKQMANwMAIAVB8ABqIAkpAwA3AwAgBUHoAGogBikDADcDACAFIAUpAzA3A2AgBUGQAWoiAyAFQeAAahAIIAVBGGog
|
|
CkEBEDwgBSAKNgKMASAFIAUoAhw2AogBIAUgBSgCGCIJNgKEASAFQfQEaiADQeADEIIBGgJAIApBD3ENACAFIAk2AtgIIAUgAjYC
|
|
1AggBSAKQQR2Igw2AtwIIAVB9ARqIQ4jAEFAaiIIJAAgBUHUCGoiAigCCCINQQFxIAIoAgQhAyACKAIAIQYgDUECTwRAIA1BAXYh
|
|
ECAGIQQgAyECA0AgCEEgaiAOIAQQDiACQRhqIAhBOGopAwA3AAAgAkEQaiAIQTBqKQMANwAAIAJBCGogCEEoaikDADcAACACIAgp
|
|
AyA3AAAgBEEgaiEEIAJBIGohAiAQQQFrIhANAAsLBEAgCBBNIAhBCGogBiANQf7///8AcUEEdCICaiIEQQhqKQAANwMAIAggBCkA
|
|
ADcDACAIQSBqIA4gCBAOIAIgA2oiAkEIaiAIQShqKQAANwAAIAIgCCkAIDcAAAsgCEFAayQAIAVBEGohCCAJIQJBACEDQQAhBgJA
|
|
AkACQCAMRQ0AIAxBBHQgAmpBEGstAA8iBEERa0H/AXFB8AFJDQBBACAEayEDQRAgBGsgAiAMQQR0aiEOAkADQCADQX9GDQEgAyAO
|
|
aiEGIANBAWohAyAGLQAAIARGDQALQQAhAwwBC0ERTw0BIAxBBHQgBGshBiACIQMLIAggBjYCBCAIIAM2AgAMAQtB5YDAAEEZQYCB
|
|
wAAQQwALIAUoAhBFDQACQCAKRQRAQQAhBgwBCyAKIAkgCmpBAWstAAAiAmshBiACIApLDQMLIAVB9ARqIQhBACEEIwBB8ABrIgMk
|
|
ACADQShqIgIgBjYCBCACIAk2AgAgAyADKQMoNwI0IANB0ABqIANBNGoQEgJAAkACQAJAIAMoAlAEQCADQegAaiADQdgAaikCADcD
|
|
ACADIAMpAlA3A2AgA0EgaiADQeAAaiICEH4gAygCJCEJIAMoAiAhCiADQRhqIAIQfyADKAIcRQRAIAggCjYCBCAIQQA2AgAgCEEI
|
|
aiAJNgIADAILAkAgBkUEQEEBIQIMAQsgBkEASA0DQd2iwAAtAAAaIAZBARBgIgJFDQQLIANBADYCRCADIAI2AjwgAyAGNgJAIAYg
|
|
CUkEfyADQTxqQQAgCRAtIAMoAkQhBCADKAI8BSACCyAEaiAKIAkQggEaIAMgBCAJaiIGNgJEIAMoAkAgBmtBAk0EQCADQTxqIAZB
|
|
AxAtIAMoAkQhBgsgAygCPCICIAZqIgRBhJvAAC8AACIJOwAAIARBAmpBhpvAAC0AACIKOgAAIAMgBkEDaiIGNgJEIAMgAykCNDcC
|
|
SCADQdAAaiADQcgAahASIAMoAlAEQANAIANB6ABqIANB2ABqKQIANwMAIAMgAykCUDcDYCADQRBqIANB4ABqEH4gAygCECEMIAMo
|
|
AhQiBCADKAJAIAZrSwRAIANBPGogBiAEEC0gAygCRCEGIAMoAjwhAgsgAiAGaiAMIAQQggEaIAMgBCAGaiIGNgJEIANBCGogA0Hg
|
|
AGoQfyADKAIMBEAgAygCQCAGa0ECTQRAIANBPGogBkEDEC0gAygCRCEGCyADKAI8IgIgBmoiBCAJOwAAIARBAmogCjoAACADIAZB
|
|
A2oiBjYCRAsgA0HQAGogA0HIAGoQEiADKAJQDQALCyAIIAMpAjw3AgAgCEEIaiADQcQAaigCADYCAAwBCyAIQbiZwAA2AgQgCEEA
|
|
NgIAIAhBCGpBADYCAAsgA0HwAGokAAwCCxBHAAtBASAGEHoACwJAIAUoAvQEIgNFBEAgBSgC+AQhBCAFQQhqIAVB/ARqKAIAIgZB
|
|
ABA8IAUoAgwhAiAFKAIIIgMgBCAGEIIBGgwBCyAFKAL8BCEGIAUoAvgEIQILIAsgBjYCCCALIAI2AgQgCyADNgIAIAVBhAFqEFEg
|
|
BUHUAGoQUSAFQSRqEFEMAwtB1IrAAEEeEAEhAiALQQA2AgAgCyACNgIEIAVBhAFqEFEgBUHUAGoQUQsgBUEkahBRDAELIAYgCkGo
|
|
isAAEDgACyAFQeAIaiQAIAcoAhghAiAHKAIUIQMgBygCECEEIA8EQCABEAULIAAgBAR/IAcgAjYCGCAHIAM2AhQgByAENgIQIAdB
|
|
EGoQPiAHKAIYIQEgBygCECEEQQAhA0EABUEBCzYCDCAAIAM2AgggACABNgIEIAAgBDYCACAHQSBqJAALjQIBAn8jAEEQayICJAAC
|
|
QCAAKAIAIgMtAABFBEAgASgCFEGNosAAQQQgAUEYaigCACgCDBEBACEADAELQQEhACACIANBAWo2AgAgAiABKAIUQZGiwABBBCAB
|
|
QRhqKAIAKAIMEQEAOgAMIAIgATYCCCACQQA6AA0gAkEANgIEIAJBBGogAkHsnMAAEB4gAi0ADCEBKAIAIgNFBEAgAUEARyEADAEL
|
|
IAENACACKAIIIQECQCADQQFHDQAgAi0ADUUNACABLQAcQQRxDQAgASgCFEHonMAAQQEgAUEYaigCACgCDBEBAA0BCyABKAIUQcSb
|
|
wABBASABQRhqKAIAKAIMEQEAIQALIAJBEGokACAAC/ABAgR/AX4jAEEwayICJAAgAUEEaiEEIAEoAgRFBEAgASgCACEDIAJBLGoi
|
|
BUEANgIAIAJCATcCJCACQSRqQaCXwAAgAxANGiACQSBqIAUoAgAiAzYCACACIAIpAiQiBjcDGCAEQQhqIAM2AgAgBCAGNwIACyAC
|
|
QRBqIgMgBEEIaigCADYCACABQQxqQQA2AgAgBCkCACEGIAFCATcCBEHdosAALQAAGiACIAY3AwhBDEEEEGAiAUUEQEEEQQwQegAL
|
|
IAEgAikDCDcCACABQQhqIAMoAgA2AgAgAEHQmMAANgIEIAAgATYCACACQTBqJAAL1wYBCn8jAEEQayIFJAAgBSACNgIIIAUgAjYC
|
|
BCAFIAE2AgAgBRA+IAUoAgghCyAFKAIAIQEgBSAENgIIIAUgBDYCBCAFIAM2AgAgBRA+IAUoAgAiDCEEIAUoAgghAyMAQfABayIC
|
|
JAAgAiALNgIEIAIgATYCACACIAM2AgwgAiAENgIIIAJBmAFqQYSJwABBLBATIAIoApgBRQRAIAIgAigCnAE2AkBB3IfAAEErIAJB
|
|
QGtBqIjAAEGwicAAEDQACyACQRhqIAJBoAFqKAIANgIAIAIgAikCmAE3AxAgAkHMAGpCAzcCACACQawBakEDNgIAIAJBpAFqIg1B
|
|
BDYCACACQQM2AkQgAkHAicAANgJAIAJBAzYCnAEgAiACQZgBaiIHNgJIIAIgAkEIajYCqAEgAiACQRBqIg42AqABIAIgAjYCmAEg
|
|
AkEcaiIEIAJBQGsiCRAWIAlBAEHAABCBARogAkGIAWpC/rnrxemOlZkQNwIAIAJCgcaUupbx6uZvNwKAASACQgA3ApABIAkgAigC
|
|
HCACKAIkECggBBBRIAcgCUHYABCCARogAkEoaiEKQQAhBCMAQdAAayIGJAAgBkEAQTgQgQEiBiAHKAJQIgg2AjggBiAHQdQAaigC
|
|
ADYCPCAHQfKKwABBOEH4ACAIQQN2QT9xIghBOEkbIAhrECgDQCAEIAZqIAQgB2ooAgA2AgAgBEEEaiIEQThHDQALIAdBQGsiCCAG
|
|
EAQgBkIANwNIIAZCADcDQEFwIQQDQCAEIAZqQdAAaiAEIAhqQRBqKAIANgIAIARBBGoiBA0ACyAKIAYpA0g3AAggCiAGKQNANwAA
|
|
IAZB0ABqJAAgDUIBNwIAIAJBATYCnAEgAkHYicAANgKYASACQQU2AjwgAiACQThqNgKgASACIAo2AjggCSAHEBYgBUEIaiACQcgA
|
|
aigCADYCACAFIAIpA0A3AgAgDhBRIAJB8AFqJAAgBSgCCCEGIAUoAgQhBCAFKAIAIQIgAwRAIAwQBQsgCwRAIAEQBQsgACACBH8g
|
|
BSAGNgIIIAUgBDYCBCAFIAI2AgAgBRA+IAUoAgghASAFKAIAIQNBACEEQQAFQQELNgIMIAAgBDYCCCAAIAE2AgQgACADNgIAIAVB
|
|
EGokAAvaAQEBfyMAQRBrIgUkACAFIAAoAhQgASACIABBGGooAgAoAgwRAQA6AAwgBSAANgIIIAUgAkU6AA0gBUEANgIEIAVBBGog
|
|
A0Hsj8AAEB4gBEHYi8AAEB4hAAJ/IAUtAAwiAUEARyAAKAIAIgJFDQAaQQEgAQ0AGiAFKAIIIQACQCACQQFHDQAgBS0ADUUNACAA
|
|
LQAcQQRxDQBBASAAKAIUQeicwABBASAAQRhqKAIAKAIMEQEADQEaCyAAKAIUQcSbwABBASAAQRhqKAIAKAIMEQEACyAFQRBqJAAL
|
|
jSICEX8IfiMAQTBrIgkkACAJQQhqIhEgAkEDdiACQQdxIgNBAEdqNgIAIBEgAkECdiACQQNxQQBHakEDbDYCBCAJIAkpAwg3AhAg
|
|
CSAJQRBqKAIEIg5BARA8IAkgDjYCICAJIAkoAgQ2AhwgCSAJKAIAIhE2AhggCUEkaiEGIAEhDCAJKAIQIQogCSgCFBpBqoLAAC0A
|
|
ACETQamCwAAtAAAhEgJAAkACQAJAAkACQAJAAkACQAJAAkAgAw4GAAUBAgMFBAtBCCEDDAMLQQohAwwCC0ELIQMMAQtBDCEDC0EA
|
|
IQEgAiADayIEQQAgAiAETxsiD0EgTw0BDAMLIAJFDQEgDCACQQFrIgFqLQAAIgJBPUYNASACQeuCwABqLQAAQf8BRw0BIAZBADoA
|
|
BCAGQQI2AgAgBkEIaiABNgIAIAZBBWogAjoAAAwECyAPQSBrIQsCQAJAAkACQANAIAVBYEYNASAFQSBqIgEgAksNAiAIQRpqIA5L
|
|
DQMCQAJAIAUgDGoiBy0AACIDQeuCwABqMQAAIhlC/wFRDQAgB0EBai0AACIDQeuCwABqMQAAIhdC/wFRBEAgBUEBaiEFDAELIAdB
|
|
AmotAAAiA0HrgsAAajEAACIYQv8BUQRAIAVBAmohBQwBCyAHQQNqLQAAIgNB64LAAGoxAAAiGkL/AVEEQCAFQQNqIQUMAQsgB0EE
|
|
ai0AACIDQeuCwABqMQAAIhRC/wFRBEAgBUEEaiEFDAELIAdBBWotAAAiA0HrgsAAajEAACIVQv8BUQRAIAVBBWohBQwBCyAHQQZq
|
|
LQAAIgNB64LAAGoxAAAiG0L/AVEEQCAFQQZqIQUMAQsgB0EHai0AACIDQeuCwABqMQAAIhZC/wFSDQEgBUEHaiEFCyAGQQI2AgAg
|
|
BiADrUIIhiAFrUIghoQ3AgQMCQsgCCARaiINIBdCNIYgGUI6hoQiFyAYQi6GhCIYIBpCKIaEIBRCIoaEIhQgFUIchoQiFSAbQhaG
|
|
hCAWQhCGhCIWQoD+A4NCKIYgFkKAgPwHg0IYhiAWQoCAgPgPg0IIhoSEIBVCCIhCgICA+A+DIBRCGIhCgID8B4OEIBhCKIhCgP4D
|
|
gyAXQjiIhISENwAAQQghAyAHQQhqLQAAIgRB64LAAGoxAAAiGUL/AVENBEEJIQMgB0EJai0AACIEQeuCwABqMQAAIhdC/wFRDQRB
|
|
CiEDIAdBCmotAAAiBEHrgsAAajEAACIYQv8BUQ0EQQshAyAHQQtqLQAAIgRB64LAAGoxAAAiGkL/AVENBEEMIQMgB0EMai0AACIE
|
|
QeuCwABqMQAAIhRC/wFRDQRBDSEDIAdBDWotAAAiBEHrgsAAajEAACIVQv8BUQ0EQQ4hAyAHQQ5qLQAAIgRB64LAAGoxAAAiG0L/
|
|
AVENBEEPIQMgB0EPai0AACIEQeuCwABqMQAAIhZC/wFRDQQgDUEGaiAXQjSGIBlCOoaEIhcgGEIuhoQiGCAaQiiGhCAUQiKGhCIU
|
|
IBVCHIaEIhUgG0IWhoQgFkIQhoQiFkKA/gODQiiGIBZCgID8B4NCGIYgFkKAgID4D4NCCIaEhCAVQgiIQoCAgPgPgyAUQhiIQoCA
|
|
/AeDhCAYQiiIQoD+A4MgF0I4iISEhDcAAEEQIQMCQCAHQRBqLQAAIgRB64LAAGoxAAAiGUL/AVENAEERIQMgB0ERai0AACIEQeuC
|
|
wABqMQAAIhdC/wFRDQBBEiEDIAdBEmotAAAiBEHrgsAAajEAACIYQv8BUQ0AQRMhAyAHQRNqLQAAIgRB64LAAGoxAAAiGkL/AVEN
|
|
AEEUIQMgB0EUai0AACIEQeuCwABqMQAAIhRC/wFRDQBBFSEDIAdBFWotAAAiBEHrgsAAajEAACIVQv8BUQ0AQRYhAyAHQRZqLQAA
|
|
IgRB64LAAGoxAAAiG0L/AVENAEEXIQMgB0EXai0AACIEQeuCwABqMQAAIhZC/wFRDQAgDUEMaiAXQjSGIBlCOoaEIhcgGEIuhoQi
|
|
GCAaQiiGhCAUQiKGhCIUIBVCHIaEIhUgG0IWhoQgFkIQhoQiFkKA/gODQiiGIBZCgID8B4NCGIYgFkKAgID4D4NCCIaEhCAVQgiI
|
|
QoCAgPgPgyAUQhiIQoCA/AeDhCAYQiiIQoD+A4MgF0I4iISEhDcAAEEYIQMgB0EYai0AACIEQeuCwABqMQAAIhlC/wFRDQhBGSED
|
|
IAdBGWotAAAiBEHrgsAAajEAACIXQv8BUQ0IQRohAyAHQRpqLQAAIgRB64LAAGoxAAAiGEL/AVENCEEbIQMgB0Ebai0AACIEQeuC
|
|
wABqMQAAIhpC/wFRDQhBHCEDIAdBHGotAAAiBEHrgsAAajEAACIUQv8BUQ0IQR0hAyAHQR1qLQAAIgRB64LAAGoxAAAiFUL/AVEN
|
|
CEEeIQMgB0Eeai0AACIEQeuCwABqMQAAIhtC/wFRDQhBHyEDIAdBH2otAAAiBEHrgsAAajEAACIWQv8BUQ0IIA1BEmogF0I0hiAZ
|
|
QjqGhCIXIBhCLoaEIhggGkIohoQgFEIihoQiFCAVQhyGhCIVIBtCFoaEIBZCEIaEIhZCgP4Dg0IohiAWQoCA/AeDQhiGIBZCgICA
|
|
+A+DQgiGhIQgFUIIiEKAgID4D4MgFEIYiEKAgPwHg4QgGEIoiEKA/gODIBdCOIiEhIQ3AAAgCkEEayEKIAhBGGohCCALIAEiBUkN
|
|
BwwBCwsMBgtBYEEAQayRwAAQOQALIAEgAkGskcAAEDgACyAIQRpqIA5BvJHAABA4AAsMAgsgBkECNgIAIAZBAToABAwCCwJAAkAg
|
|
D0EISQ0AIAEgD0EIayIFTw0AAkACQAJAAkACQANAIAFBCGohBCABQXhGDQIgAiAESQ0DIAhBd0sNBCAIQQhqIA5LDQUgASAMaiIL
|
|
LQAAIgNB64LAAGoxAAAiGUL/AVENASALQQFqLQAAIgNB64LAAGoxAAAiF0L/AVEEQCABQQFyIQEMAgsgC0ECai0AACIDQeuCwABq
|
|
MQAAIhhC/wFRBEAgAUECciEBDAILIAtBA2otAAAiA0HrgsAAajEAACIaQv8BUQRAIAFBA3IhAQwCCyALQQRqLQAAIgNB64LAAGox
|
|
AAAiFEL/AVEEQCABQQRyIQEMAgsgC0EFai0AACIDQeuCwABqMQAAIhVC/wFRBEAgAUEFciEBDAILIAtBBmotAAAiA0HrgsAAajEA
|
|
ACIbQv8BUQRAIAFBBnIhAQwCCyALQQdqLQAAIgNB64LAAGoxAAAiFkL/AVIEQCAIIBFqIBdCNIYgGUI6hoQiFyAYQi6GhCIYIBpC
|
|
KIaEIBRCIoaEIhQgFUIchoQiFSAbQhaGhCAWQhCGhCIWQoD+A4NCKIYgFkKAgPwHg0IYhiAWQoCAgPgPg0IIhoSEIBVCCIhCgICA
|
|
+A+DIBRCGIhCgID8B4OEIBhCKIhCgP4DgyAXQjiIhISENwAAIApBAWshCiAIQQZqIQggBSAEIgFNDQgMAQsLIAFBB3IhAQsgBkEC
|
|
NgIAIAYgAa1CIIYgA61CCIaENwIEDAcLQXggBEHMkcAAEDkACyAEIAJBzJHAABA4AAsgCCAIQQhqQdyRwAAQOQALIAhBCGogDkHc
|
|
kcAAEDgACyABIQQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCkECSQRAIAghCgwBCyAKQQFrIQUgAiAE
|
|
ayEDA0AgAiAESQ0DIAhBBmohCiAIQXlLDQQgCiAOSw0FIAIgBEYNBiAEIAxqIgstAAAiAUHrgsAAajEAACIZQv8BUQ0TIANBAkkN
|
|
ByALQQFqLQAAIgFB64LAAGoxAAAiGkL/AVENAiADQQJNDQggC0ECai0AACIBQeuCwABqMQAAIhtC/wFRDQkgA0EDTQ0KIAtBA2ot
|
|
AAAiAUHrgsAAajEAACIWQv8BUQ0LIANBBE0NDCALQQRqLQAAIgFB64LAAGoxAAAiF0L/AVENDSADQQVNDQ4gC0EFai0AACIBQeuC
|
|
wABqMQAAIhhC/wFRDQ8gA0EGTQ0QIAtBBmotAAAiAUHrgsAAajEAACIUQv8BUQ0RIANBB00NEiALQQdqLQAAIgFB64LAAGoxAAAi
|
|
FUL/AVEEQCAEQQdqIQQMFAsgCCARaiIBIBpCNIYgGUI6hoQgG0IuhoQgFkIohoQgF0IihoQgGEIchoQgFEIWhoQiFEIIiEKAgID4
|
|
D4MgFEIYiEKAgPwHg4QgFEIoiEKA/gODIBRCOIiEhD4AACABQQRqIBQgFUIQhoQiFUKAgPwHg0IYhiAVQoCAgPgPg0IIhoRCIIg9
|
|
AAAgA0EIayEDIARBCGohBCAKIQggBUEBayIFDQALCyASQQBHIRJBACENQQAhCEEAIQNCACEUQQAhB0EAIQEjAEEgayIQJAACQAJA
|
|
AkACQAJAIAIgBE8EQCACIARGBEBBACECDAMLIAIgDGohDyAEIAxqIQwDQEEAIQUDQCAFIAdqIQ0gBSAMaiILLQAAIgJBPUcEQAJA
|
|
IAVFBEAgAkHrgsAAajEAACIVQv8BUQ0BIA1BAWohByAVIAhBAWoiCEE6bEE+ca2GIBSEIRRBACENIAIhASALQQFqIgwgD0cNBAwH
|
|
CyAGQYD6ADsBBCAGQQI2AgAgBkEIaiADIARqNgIADAcLIAZBADoABCAGQQI2AgAgBkEFaiACOgAAIAZBCGogBCAHaiAFajYCAAwG
|
|
CyADIA0gBRshAyANQQJxBEAgDCAFQQFqIgVqIA9GDQQMAQsLCyAGQYD6ADsBBCAGQQI2AgAgBkEIaiADIARqNgIADAMLIAQgAkHo
|
|
jMAAEDYACyAPIAxrIQ0gASECCwJAAkACQAJAIBNBAWsOAgEAAwsgDQ0BDAILIAggDWpBA3FFDQEgBkECNgIAIAZBAzoABAwCCyAG
|
|
QQI2AgAgBkEDOgAEDAELQQAhBQJAAn8CQAJAAkACQAJAAkACQCAIIgwOCQgAAQIDAAQFBgALIBBBEGpCADcCACAQQQE2AgggEEGI
|
|
jsAANgIEIBAgEEEcajYCDCAQQQRqQZCOwAAQSAALQQgMBQtBEAwEC0EYDAMLQSAMAgtBKAwBC0EwCyEMQQEhBQsgEkUgFCAMrYZC
|
|
AFJxRQRAIAUEQCAKIA4gCiAOSxshAUEAIQJBOCEFA0AgASAKRg0EIAogEWogFCAFQThxrYg8AAAgBUEIayEFIApBAWohCiACQQhq
|
|
IgIgDEkNAAsLIAYgCjYCCCAGIAMgBGo2AgQgBiANQQBHNgIADAELIAZBAjoABCAGQQI2AgAgBkEFaiACOgAAIAZBCGogBCAIakEB
|
|
azYCAAsgEEEgaiQADAELIAEgDkH4jMAAEDcACwwTCyAEQQFqIQQMEAsgBCACQeyRwAAQNgALIAggCkH8kcAAEDkACyAKIA5B/JHA
|
|
ABA4AAtBAEEAQYySwAAQNwALQQFBAUGcksAAEDcAC0ECQQJBrJLAABA3AAsgBEECaiEEDAkLQQNBA0G8ksAAEDcACyAEQQNqIQQM
|
|
BwtBBEEEQcySwAAQNwALIARBBGohBAwFC0EFQQVB3JLAABA3AAsgBEEFaiEEDAMLQQZBBkHsksAAEDcACyAEQQZqIQQMAQtBB0EH
|
|
QfySwAAQNwALIAZBAjYCACAGIAGtQgiGIAStQiCGhDcCBAwBCyAGQQI2AgAgBiAErUIIhiADIAVqrUIghoQ3AgQLAkAgCSgCJEEC
|
|
RwRAIAlBLGooAgAiASAOTQRAIAkgATYCIAsgACAJKQIYNwIAIABBCGogCUEgaigCADYCAAwBCyAJKQIoIRUgAEEANgIAIAAgFTcC
|
|
BCAJQRhqEFELIAlBMGokAAvKAQACQAJAIAEEQCACQQBIDQECQAJAAn8gAygCBARAIANBCGooAgAiAUUEQCACRQRAQQEhAQwEC0Hd
|
|
osAALQAAGiACQQEQYAwCCyADKAIAIAFBASACEFkMAQsgAkUEQEEBIQEMAgtB3aLAAC0AABogAkEBEGALIgFFDQELIAAgATYCBCAA
|
|
QQhqIAI2AgAgAEEANgIADwsgAEEBNgIEDAILIABBADYCBAwBCyAAQQA2AgQgAEEBNgIADwsgAEEIaiACNgIAIABBATYCAAvFAQEE
|
|
fyMAQUBqIgMkACADQQBBwAAQgQEhAyAAIAAoAlAiBiACQQN0aiIENgJQIABB1ABqIgUgBSgCACACQR12aiAEIAZJajYCACACBEAg
|
|
ASACaiEEIABBQGshBSAGQQN2QT9xIQIDQCAAIAJqIAEtAAA6AAAgAkEBaiICQcAARgRAQQAhAgNAIAIgA2ogACACaigCADYCACAC
|
|
QQRqIgJBwABHDQALIAUgAxAEQQAhAgsgAUEBaiIBIARHDQALCyADQUBrJAALhAIBAn8jAEEgayIGJABBlKPAAEGUo8AAKAIAIgdB
|
|
AWo2AgACQAJAIAdBAEgNAEHgpsAALQAADQBB4KbAAEEBOgAAQdymwABB3KbAACgCAEEBajYCACAGIAU6AB0gBiAEOgAcIAYgAzYC
|
|
GCAGIAI2AhQgBkGYmcAANgIQIAZB9JbAADYCDEGEo8AAKAIAIgJBAEgNAEGEo8AAIAJBAWo2AgBBhKPAAEGMo8AAKAIABH8gBiAA
|
|
IAEoAhARAgAgBiAGKQMANwIMQYyjwAAoAgAgBkEMakGQo8AAKAIAKAIUEQIAQYSjwAAoAgBBAWsFIAILNgIAQeCmwABBADoAACAE
|
|
DQELAAsAC70BAQR/QXAhBCAAIAFBAnRqIQBB+AAgASABQfgATxtB+ABrIQYCQAJAA0AgASAEaiIDQfgATw0CIAUgBkYNASAAIABB
|
|
QGooAgAgACgCACACeEGDhowYcXMiA0ECdEH8+fNncSADQQR0QfDhw4d/cXMgA0EGdEHAgYOGfHFzIANzNgIAIARBAWohBCAAQQRq
|
|
IQAgBUEBayIFQXhHDQALDwsgASAFa0H4AEG8lsAAEDcACyADQfgAQayWwAAQNwAL2QEBAn8jAEEQayICJAAgAiAAQQRqNgIEIAEo
|
|
AhRBraLAAEEJIAFBGGooAgAoAgwRAQAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQbaiwABBCyAAQZiiwAAQGEHBosAAQQkg
|
|
AkEEakHMosAAEBghAyACLQAMIQACfyAAQQBHIAItAA1FDQAaQQEgAA0AGiADKAIAIgAtABxBBHFFBEAgACgCFEHjnMAAQQIgACgC
|
|
GCgCDBEBAAwBCyAAKAIUQeKcwABBASAAKAIYKAIMEQEACyACQRBqJAALyAEBAn8jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQgg
|
|
ACgCBCICQQF0IgQgASABIARJGyIBIAFBCE0bIgRBf3NBH3YhAQJAIAJFBEAgA0EANgIYDAELIAMgAjYCHCADQQE2AhggAyAAKAIA
|
|
NgIUCyADQQhqIAEgBCADQRRqEC4gAygCDCEBIAMoAghFBEAgACAENgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASADQRBq
|
|
KAIAEHoACxBHAAsgA0EgaiQAC8gBAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEIIAAoAgQiAkEBdCIEIAEgASAESRsiASAB
|
|
QQhNGyIEQX9zQR92IQECQCACRQRAIANBADYCGAwBCyADIAI2AhwgA0EBNgIYIAMgACgCADYCFAsgA0EIaiABIAQgA0EUahAnIAMo
|
|
AgwhASADKAIIRQRAIAAgBDYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgA0EQaigCABB6AAsQRwALIANBIGokAAusAQEB
|
|
fwJAAkAgAQRAIAJBAEgNAQJ/IAMoAgQEQAJAIANBCGooAgAiBEUEQAwBCyADKAIAIAQgASACEFkMAgsLIAEgAkUNABpB3aLAAC0A
|
|
ABogAiABEGALIgMEQCAAIAM2AgQgAEEIaiACNgIAIABBADYCAA8LIAAgATYCBCAAQQhqIAI2AgAMAgsgAEEANgIEIABBCGogAjYC
|
|
AAwBCyAAQQA2AgQLIABBATYCAAusAQEDfyMAQdAAayICJAADQAJAIAIgACADajYCDCACQQ02AiwgAkEBNgIkIAJBATYCFCACQbSL
|
|
wAA2AhAgAkEBNgIcIAIgAkEMajYCKCACQQM6AEwgAkEINgJIIAJCIDcCQCACQoCAgIAgNwI4IAJBAjYCMCACIAJBMGo2AiAgAiAC
|
|
QShqNgIYIAEgAkEQahBcIgQNACADQQFqIgNBEEcNAQsLIAJB0ABqJAAgBAuPAQEDfyMAQYABayIDJAAgAC0AACECQQAhAANAIAAg
|
|
A2pB/wBqQTBB1wAgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAiIEQQR2IQIgBEEQTw0ACyAAQYABaiICQYABSwRAIAJBgAFBmJ3A
|
|
ABA2AAsgAUGoncAAQQIgACADakGAAWpBACAAaxAJIANBgAFqJAALkgEBAX8jAEFAaiICJAAgAkIANwM4IAJBOGogACgCABACIAJB
|
|
GGpCATcCACACIAIoAjwiADYCNCACIAA2AjAgAiACKAI4NgIsIAJBDjYCKCACQQI2AhAgAkHIi8AANgIMIAIgAkEsajYCJCACIAJB
|
|
JGo2AhQgASACQQxqEFwgAigCMARAIAIoAiwQBQsgAkFAayQAC4sBAQF/IwBBEGsiAiQAAn8CQAJAAkACQCAALQAAQQFrDgMBAgMA
|
|
CyACIABBAWo2AgggAUGJkMAAQQsgAEEEaiACQQhqECUMAwsgAUH8j8AAQQ0QVQwCCyACIABBAWo2AgwgAUGUkMAAQREgAEEEaiAC
|
|
QQxqECUMAQsgAUGlkMAAQQ4QVQsgAkEQaiQAC4wBAgN/AX4jAEEgayICJAAgAUEEaiEDIAEoAgRFBEAgASgCACEBIAJBHGoiBEEA
|
|
NgIAIAJCATcCFCACQRRqQaCXwAAgARANGiACQRBqIAQoAgAiATYCACACIAIpAhQiBTcDCCADQQhqIAE2AgAgAyAFNwIACyAAQdCY
|
|
wAA2AgQgACADNgIAIAJBIGokAAt9AQF/IwBBQGoiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQSRqQgI3AgAgBUE8
|
|
akEuNgIAIAVBAjYCHCAFQaycwAA2AhggBUEvNgI0IAUgBUEwajYCICAFIAVBEGo2AjggBSAFQQhqNgIwIAVBGGogBBBIAAt4AQJ/
|
|
IAFBD2ohAiAAIAFBAnRqIQBBICEBAkACQANAIAJBCGtB+ABPDQIgAkH4AE8NASAAIAFqIgNBHGogA0EEaygCADYCACACQQFrIQIg
|
|
AUEEayIBDQALDwsgAkH4AEHclsAAEDcACyACQQhrQfgAQcyWwAAQNwALbAEBfyMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpC
|
|
AjcCACADQSxqQRI2AgAgA0ECNgIMIANBqJ/AADYCCCADQRI2AiQgAyADQSBqNgIQIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEgA
|
|
C2wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRRqQgI3AgAgA0EsakESNgIAIANBAjYCDCADQZicwAA2AgggA0ESNgIkIAMg
|
|
A0EgajYCECADIAM2AiggAyADQQRqNgIgIANBCGogAhBIAAtsAQF/IwBBMGsiAyQAIAMgADYCACADIAE2AgQgA0EUakICNwIAIANB
|
|
LGpBEjYCACADQQI2AgwgA0HIn8AANgIIIANBEjYCJCADIANBIGo2AhAgAyADQQRqNgIoIAMgAzYCICADQQhqIAIQSAALbAEBfyMA
|
|
QTBrIgMkACADIAA2AgAgAyABNgIEIANBFGpCAjcCACADQSxqQRI2AgAgA0ECNgIMIANB/J/AADYCCCADQRI2AiQgAyADQSBqNgIQ
|
|
IAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEgAC/sDAgd/AX4jAEEQayIEJAAgACgCCCEGIAAoAgAhACABKAIUQdCbwABBASABQRhq
|
|
KAIAKAIMEQEAIQMgBEEEaiICQQA6AAUgAiADOgAEIAIgATYCACAGBEADQCAEIAA2AgwgBEEMaiEIIwBBQGoiASQAQQEhAwJAIARB
|
|
BGoiBS0ABA0AIAUtAAUhAwJAIAUoAgAiAigCHCIHQQRxRQRAIANFDQFBASEDIAIoAhRB25zAAEECIAJBGGooAgAoAgwRAQBFDQEM
|
|
AgsgA0UEQEEBIQMgAigCFEHpnMAAQQEgAkEYaigCACgCDBEBAA0CIAIoAhwhBwtBASEDIAFBAToAGyABQTRqQbycwAA2AgAgASAC
|
|
KQIUNwIMIAEgAUEbajYCFCABIAIpAgg3AiQgAikCACEJIAEgBzYCOCABIAIoAhA2AiwgASACLQAgOgA8IAEgCTcCHCABIAFBDGo2
|
|
AjAgCCABQRxqQbSZwAAoAgARAAANASABKAIwQeCcwABBAiABKAI0KAIMEQEAIQMMAQsgCCACQbSZwAAoAgARAAAhAwsgBUEBOgAF
|
|
IAUgAzoABCABQUBrJAAgAEEBaiEAIAZBAWsiBg0ACwsgBEEEaiIALQAEBH9BAQUgACgCACIAKAIUQfycwABBASAAQRhqKAIAKAIM
|
|
EQEACyAEQRBqJAALZwAjAEEwayIAJABB3KLAAC0AAARAIABBGGpCATcCACAAQQI2AhAgAEHcl8AANgIMIABBEjYCKCAAIAE2Aiwg
|
|
ACAAQSRqNgIUIAAgAEEsajYCJCAAQQxqQYSYwAAQSAALIABBMGokAAt3AAJAAkACQCABRQRAQQEhAgwBCyABQQBIDQECfyACRQRA
|
|
Qd2iwAAtAAAaIAFBARBgDAELAkAgARADIgJFDQAgAhCHARBqDQAgAkEAIAEQgQEaCyACCyICRQ0CCyAAIAE2AgQgACACNgIADwsQ
|
|
RwALQQEgARB6AAtbAQF/IwBBMGsiAyQAIAMgATYCDCADIAA2AgggA0EcakIBNwIAIANBATYCFCADQcibwAA2AhAgA0EvNgIsIAMg
|
|
A0EoajYCGCADIANBCGo2AiggA0EQaiACEEgAC7sCAQd/IwBBEGsiBSQAAkAgACgCCCIEIAAoAgRPDQAgBUEIaiEGIwBBIGsiASQA
|
|
AkAgBCAAKAIETQRAIAFBCGohAgJAIAAoAgQiA0UEQCACQQA2AgQMAQsgAiADNgIIIAJBATYCBCACIAAoAgA2AgALAkACQCABKAIM
|
|
IgJFDQAgAUEQaigCACEDIAEoAgghByAERQRAIAMEQCAHEAULIABCATcCAAwBCyAHIAMgAiAEEFkiA0UNASAAIAQ2AgQgACADNgIA
|
|
C0GBgICAeCECCyAGIAQ2AgQgBiACNgIAIAFBIGokAAwBCyABQRRqQgA3AgAgAUEBNgIMIAFBxIHAADYCCCABQZCBwAA2AhAgAUEI
|
|
akGYgsAAEEgACyAFKAIIIgBBgYCAgHhGDQAgACAFKAIMEHoACyAFQRBqJAALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAA
|
|
RQ0AIANB1JzAAEEEIAIoAgwRAQBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEAAAtCAQF/IAIgACgCBCAAKAIIIgNrSwRAIAAg
|
|
AyACECwgACgCCCEDCyAAKAIAIANqIAEgAhCCARogACACIANqNgIIQQALTQECf0HdosAALQAAGiABKAIEIQIgASgCACEDQQhBBBBg
|
|
IgFFBEBBBEEIEHoACyABIAI2AgQgASADNgIAIABB4JjAADYCBCAAIAE2AgALQgEBfyACIAAoAgQgACgCCCIDa0sEQCAAIAMgAhAt
|
|
IAAoAgghAwsgACgCACADaiABIAIQggEaIAAgAiADajYCCEEAC0cBAX8jAEEgayIDJAAgA0EMakIANwIAIANBATYCBCADQcSbwAA2
|
|
AgggAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACEEgAC+cBAQN/IwBBEGsiAyQAIAMgAEEMajYCDCMAQRBrIgIkACABKAIUQaSb
|
|
wABBDSABQRhqKAIAKAIMEQEAIQQgAkEAOgANIAIgBDoADCACIAE2AgggAkEIakGHm8AAQQUgAEG0m8AAEBhBjJvAAEEFIANBDGpB
|
|
lJvAABAYIQACfyACLQAMIgFBAEcgAi0ADUUNABpBASABDQAaIAAoAgAiAC0AHEEEcUUEQCAAKAIUQeOcwABBAiAAKAIYKAIMEQEA
|
|
DAELIAAoAhRB4pzAAEEBIAAoAhgoAgwRAQALIAJBEGokACADQRBqJAALNwACQCABaUEBR0GAgICAeCABayAASXINACAABEBB3aLA
|
|
AC0AABogACABEGAiAUUNAQsgAQ8LAAs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAAANARoLIAMNAUEACw8LIAAgAyAEIAEo
|
|
AgwRAQALPwEBfyMAQSBrIgAkACAAQRRqQgA3AgAgAEEBNgIMIABBgJrAADYCCCAAQbiZwAA2AhAgAEEIakGImsAAEEgAC8kCAQJ/
|
|
IwBBIGsiAiQAIAJBATsBHCACIAE2AhggAiAANgIUIAJB1JvAADYCECACQcSbwAA2AgwjAEEQayIBJAACQCACQQxqIgAoAgwiAgRA
|
|
IAAoAggiA0UNASABIAI2AgwgASAANgIIIAEgAzYCBCMAQRBrIgAkACABQQRqIgEoAgAiAkEMaigCACEDAkACfwJAAkAgAigCBA4C
|
|
AAEDCyADDQJBACECQfSWwAAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgACACNgIEIAAgAzYCACAAQfCYwAAgASgCBCIAKAII
|
|
IAEoAgggAC0AECAALQARECkACyAAQQA2AgQgACACNgIAIABBhJnAACABKAIEIgAoAgggASgCCCAALQAQIAAtABEQKQALQfSWwABB
|
|
K0GwmMAAEEMAC0H0lsAAQStBwJjAABBDAAstAAJAIANpQQFHQYCAgIB4IANrIAFJckUEQCAAIAEgAyACEFkiAA0BCwALIAALsgEB
|
|
A38gACgCACEAIAEQZ0UEQCABEGhFBEAgADEAACABEBoPCyMAQYABayIDJAAgAC0AACEAA0AgAiADakH/AGpBMEE3IABBD3EiBEEK
|
|
SRsgBGo6AAAgAkEBayECIAAiBEEEdiEAIARBEE8NAAsgAkGAAWoiAEGAAUsEQCAAQYABQZidwAAQNgALIAFBqJ3AAEECIAIgA2pB
|
|
gAFqQQAgAmsQCSADQYABaiQADwsgACABEDALpwIBA38gARBnRQRAIAEQaEUEQCAAIAEQbg8LIwBBgAFrIgMkACAAKAIAIQADQCAC
|
|
IANqQf8AakEwQTcgAEEPcSIEQQpJGyAEajoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgAFLBEAgAEGAAUGYncAA
|
|
EDYACyABQaidwABBAiACIANqQYABakEAIAJrEAkgA0GAAWokAA8LIwBBgAFrIgMkACAAKAIAIQADQCACIANqQf8AakEwQdcAIABB
|
|
D3EiBEEKSRsgBGo6AAAgAkEBayECIABBEEkgAEEEdiEARQ0ACyACQYABaiIAQYABSwRAIABBgAFBmJ3AABA2AAsgAUGoncAAQQIg
|
|
AiADakGAAWpBACACaxAJIANBgAFqJAALJwAgACAAKAIEQQFxIAFyQQJyNgIEIAAgAWoiACAAKAIEQQFyNgIECycAIABCADcAACAA
|
|
QRhqQgA3AAAgAEEQakIANwAAIABBCGpCADcAAAsgAQF/AkAgACgCBCIBRQ0AIABBCGooAgBFDQAgARAFCwsjACACIAIoAgRBfnE2
|
|
AgQgACABQQFyNgIEIAAgAWogATYCAAseACAAIAFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLEQAgACgCBARAIAAoAgAQBQsLGQEB
|
|
fyAAKAIQIgEEfyABBSAAQRRqKAIACwsSAEEZIABBAXZrQQAgAEEfRxsLFgAgACABQQFyNgIEIAAgAWogATYCAAsZACAAKAIUIAEg
|
|
AiAAQRhqKAIAKAIMEQEACxwAIAEoAhRBqKLAAEEFIAFBGGooAgAoAgwRAQALFAAgACgCACIAQYQBTwRAIAAQAAsLEAAgACABakEB
|
|
a0EAIAFrcQuLBgEGfwJ/IAAhBQJAAkACQAJAAkAgAkEJTwRAIAIgAxAXIgcNAUEADAYLQQhBCBBYIQBBFEEIEFghAUEQQQgQWCEC
|
|
QQBBEEEIEFhBAnRrIgRBgIB8IAIgACABamprQXdxQQNrIgAgACAESxsgA00NA0EQIANBBGpBEEEIEFhBBWsgA0sbQQgQWCECIAUQ
|
|
hwEiACAAEHQiBBCEASEBAkACQAJAAkACQAJAIAAQakUEQCACIARNDQQgAUHEpsAAKAIARg0GIAFBwKbAACgCAEYNAyABEGUNCSAB
|
|
EHQiBiAEaiIIIAJJDQkgCCACayEEIAZBgAJJDQEgARAcDAILIAAQdCEBIAJBgAJJDQggASACa0GBgAhJIAJBBGogAU1xDQQgASAA
|
|
KAIAIgFqQRBqIQQgAkEfakGAgAQQWCECDAgLIAFBDGooAgAiCSABQQhqKAIAIgFHBEAgASAJNgIMIAkgATYCCAwBC0GwpsAAQbCm
|
|
wAAoAgBBfiAGQQN2d3E2AgALQRBBCBBYIARNBEAgACACEIQBIQEgACACEEwgASAEEEwgASAEEBAgAA0JDAcLIAAgCBBMIAANCAwG
|
|
C0G4psAAKAIAIARqIgQgAkkNBQJAQRBBCBBYIAQgAmsiAUsEQCAAIAQQTEEAIQFBACEEDAELIAAgAhCEASIEIAEQhAEhBiAAIAIQ
|
|
TCAEIAEQVCAGIAYoAgRBfnE2AgQLQcCmwAAgBDYCAEG4psAAIAE2AgAgAA0HDAULQRBBCBBYIAQgAmsiAUsNACAAIAIQhAEhBCAA
|
|
IAIQTCAEIAEQTCAEIAEQEAsgAA0FDAMLQbymwAAoAgAgBGoiBCACSw0BDAILIAcgBSABIAMgASADSRsQggEaIAUQBQwCCyAAIAIQ
|
|
hAEhASAAIAIQTCABIAQgAmsiAkEBcjYCBEG8psAAIAI2AgBBxKbAACABNgIAIAANAgsgAxADIgFFDQAgASAFIAAQdEF4QXwgABBq
|
|
G2oiACADIAAgA0kbEIIBIAUQBQwCCyAHDAELIAAQahogABCGAQsLCwAgAQRAIAAQBQsLDwAgAEEBdCIAQQAgAGtyCxMAIAAoAhQg
|
|
AEEYaigCACABEA0LFAAgACgCACABIAAoAgQoAgwRAAALEAAgACgCACAAKAIEIAEQfQsQACAAKAIAIAAoAgggARB9CxkAAn8gAUEJ
|
|
TwRAIAEgABAXDAELIAAQAwsLIQAgAEKYo6rL4I761NYANwMIIABCq6qJm/b22twaNwMACyAAIABC5N7HhZDQhd59NwMIIABCwff5
|
|
6MyTstFBNwMACyIAIABCqrDurabN4qqqfzcDCCAAQrusqeeAuviazQA3AwALEwAgAEHgmMAANgIEIAAgATYCAAsNACAALQAEQQJx
|
|
QQF2CxAAIAEgACgCACAAKAIEEAYLDQAgAC0AHEEQcUEEdgsNACAALQAcQSBxQQV2CwoAQQAgAGsgAHELCwAgAC0ABEEDcUULDAAg
|
|
ACABQQNyNgIECw0AIAAoAgAgACgCBGoLDgAgACgCABoDQAwACwALCwAgADUCACABEBoLCwAgACMAaiQAIwALBgAgABBRCwsAIAAo
|
|
AgAgARAwCw0AIAFB7JbAAEEIEFULDQAgAEGgl8AAIAEQDQsKACAAKAIEQXhxCwoAIAAoAgRBAXELCgAgACgCDEEBcQsKACAAKAIM
|
|
QQF2CwsAIAAoAgAgARArCw0AIABBuJnAACABEA0LGQAgACABQYCjwAAoAgAiAEETIAAbEQIAAAuIBAEFfyMAQRBrIgMkAAJAAn8C
|
|
QCABQYABTwRAIANBADYCDCABQYAQSQ0BIAFBgIAESQRAIAMgAUE/cUGAAXI6AA4gAyABQQx2QeABcjoADCADIAFBBnZBP3FBgAFy
|
|
OgANQQMMAwsgAyABQT9xQYABcjoADyADIAFBBnZBP3FBgAFyOgAOIAMgAUEMdkE/cUGAAXI6AA0gAyABQRJ2QQdxQfABcjoADEEE
|
|
DAILIAAoAggiAiAAKAIERgRAIwBBIGsiBCQAAkACQCACQQFqIgJFDQBBCCAAKAIEIgZBAXQiBSACIAIgBUkbIgIgAkEITRsiBUF/
|
|
c0EfdiECAkAgBkUEQCAEQQA2AhgMAQsgBCAGNgIcIARBATYCGCAEIAAoAgA2AhQLIARBCGogAiAFIARBFGoQJyAEKAIMIQIgBCgC
|
|
CEUEQCAAIAU2AgQgACACNgIADAILIAJBgYCAgHhGDQEgAkUNACACIARBEGooAgAQegALEEcACyAEQSBqJAAgACgCCCECCyAAIAJB
|
|
AWo2AgggACgCACACaiABOgAADAILIAMgAUE/cUGAAXI6AA0gAyABQQZ2QcABcjoADEECCyEBIAEgACgCBCAAKAIIIgJrSwRAIAAg
|
|
AiABEC0gACgCCCECCyAAKAIAIAJqIANBDGogARCCARogACABIAJqNgIICyADQRBqJABBAAsNACAAQbycwAAgARANCwoAIAIgACAB
|
|
EAYLDAAgACABKQIANwMACwwAIAAgASkCCDcDAAu3AgEDfwJ/IAAoAgAhACMAQYABayIEJAACQAJAAn8CQCABKAIcIgNBEHFFBEAg
|
|
A0EgcQ0BIAAxAAAgARAaDAILIAAtAAAhAANAIAIgBGpB/wBqQTBB1wAgAEEPcSIDQQpJGyADajoAACACQQFrIQIgACIDQQR2IQAg
|
|
A0EQTw0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQCQwBCyAALQAAIQADQCACIARqQf8AakEwQTcgAEEP
|
|
cSIDQQpJGyADajoAACACQQFrIQIgACIDQQR2IQAgA0EQTw0ACyACQYABaiIAQYABSw0CIAFBqJ3AAEECIAIgBGpBgAFqQQAgAmsQ
|
|
CQsgBEGAAWokAAwCCyAAQYABQZidwAAQNgALIABBgAFBmJ3AABA2AAsLrwEBA38gASEFAkAgAkEQSQRAIAAhAQwBCyAAQQAgAGtB
|
|
A3EiA2ohBCADBEAgACEBA0AgASAFOgAAIAFBAWoiASAESQ0ACwsgBCACIANrIgJBfHEiA2ohASADQQBKBEAgBUH/AXFBgYKECGwh
|
|
AwNAIAQgAzYCACAEQQRqIgQgAUkNAAsLIAJBA3EhAgsgAgRAIAEgAmohAgNAIAEgBToAACABQQFqIgEgAkkNAAsLIAALuAIBB38C
|
|
QCACIgRBEEkEQCAAIQIMAQsgAEEAIABrQQNxIgNqIQUgAwRAIAAhAiABIQYDQCACIAYtAAA6AAAgBkEBaiEGIAJBAWoiAiAFSQ0A
|
|
CwsgBSAEIANrIghBfHEiB2ohAgJAIAEgA2oiA0EDcQRAIAdBAEwNASADQQN0IgRBGHEhCSADQXxxIgZBBGohAUEAIARrQRhxIQQg
|
|
BigCACEGA0AgBSAGIAl2IAEoAgAiBiAEdHI2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwwBCyAHQQBMDQAgAyEBA0AgBSABKAIANgIA
|
|
IAFBBGohASAFQQRqIgUgAkkNAAsLIAhBA3EhBCADIAdqIQELIAQEQCACIARqIQMDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiAD
|
|
SQ0ACwsgAAsLAEGEicAAQSwQAQsHACAAIAFqCwcAIAAgAWsLBwAgAEEIagsHACAAQQhrCwMAAQsL7SEEAEGAgMAAC/MKL1VzZXJz
|
|
L21hZ3Vhbmd6aGkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9ibG9jay1wYWRk
|
|
aW5nLTAuMy4zL3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBuIDw9IGJzAAAAABAAZQAAAFEAAAARAAAAAQAAABQAAAAEAAAA
|
|
AgAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eaAAEAAkAAAAL3J1c3RjLzc5ZTk3MTZjOTgwNTcwYmZkMWY2
|
|
NjZlM2IxNmFjNTgzZjAxNjg5NjIvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc8wAEABMAAAArgEAAAkAAAABAAFBQkNERUZH
|
|
SElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv////////////////////////
|
|
/////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf//
|
|
/////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/////////////////y9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJi
|
|
YmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5jb2RlLnJzAAAAawIQAGIAAABQAAAAMwAAAHVzaXplIG92ZXJmbG93IHdoZW4g
|
|
Y2FsY3VsYXRpbmcgYjY0IGxlbmd0aAAAawIQAGIAAABXAAAACgAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9z
|
|
cmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5naW5lL21vZC5yc2ludGVnZXIg
|
|
b3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyBidWZmZXIgc2l6ZQAcAxAAZgAAAHcAAAAOAAAASW52YWxpZCBVVEY4HAMQAGYAAAB8
|
|
AAAAIAAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUABgAAAAgAAAAEAAAABwAAAAYAAAAIAAAA
|
|
BAAAAAgAAAAJAAAABAAAAAQAAAAKAAAACwAAAAAAAAABAAAADAAAAHNyYy9saWIucnMAAEgEEAAKAAAAeQAAACUAAAADBQcADwoN
|
|
AQsOBAYJDAgCSAQQAAoAAAB7AAAAJwAAAEFMc1BEcnNPQjdDN0RBZTN1cjhNQ3dzQnNBRUh1Z0M2QXdBQUI3OEtBQTg9SAQQAAoA
|
|
AAAVAAAALwAAANwDEAAAAAAA3AMQAAAAAADcAxAAAAAAANwDEAAAAAAAdnd3THU3ZTZ1ZzRIQVFNQXVnOENzQThIRDdvSER3dXhB
|
|
ZzRIQVFHNkRMQT1IBBAACgAAADcAAAAKAAAARXJyb3IgS2V5AAAASAQQAAoAAABaAAAANgAAAEVycm9yIGRlY29kaW5nIGNpcGhl
|
|
ciB0ZXh0IDFFcnJvciBkZWNyeXB0aW5nIGNpcGhlciB0ZXh0IDKAAEG0i8AAC9gVsgUQAAAAAABKc1ZhbHVlKCkAAAC8BRAACAAA
|
|
AMQFEAABAAAADwAAAAQAAAAEAAAAEAAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVz
|
|
LmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9kZWNvZGVfc3VmZml4
|
|
LnJz6AUQAIAAAAAdAAAAGQAAAOgFEACAAAAAmgAAAAkAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2Rl
|
|
OiBJbXBvc3NpYmxlOiBtdXN0IG9ubHkgaGF2ZSAwIHRvIDggaW5wdXQgYnl0ZXMgaW4gbGFzdCBjaHVuaywgd2l0aCBubyBpbnZh
|
|
bGlkIGxlbmd0aHMAAIgGEAB+AAAA6AUQAIAAAACFAAAADgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNv
|
|
ZGU6IEltcG9zc2libGUgcmVtYWluZGVyAAAgBxAAPgAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5k
|
|
ZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYmFzZTY0LTAuMjEuMi9zcmMvZW5jb2RlLnJzAABoBxAAYgAAAG4AAAAWAAAA
|
|
aAcQAGIAAACCAAAACQAAAA8AAAAEAAAABAAAABEAAABJbnZhbGlkTGVuZ3RoSW52YWxpZEJ5dGVJbnZhbGlkTGFzdFN5bWJvbElu
|
|
dmFsaWRQYWRkaW5nL1VzZXJzL21hZ3Vhbmd6aGkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJi
|
|
YTE1MDAxZi9iYXNlNjQtMC4yMS4yL3NyYy9lbmdpbmUvZ2VuZXJhbF9wdXJwb3NlL2RlY29kZS5yczMIEAB5AAAAcgAAACkAAAAz
|
|
CBAAeQAAAHMAAAAvAAAAMwgQAHkAAACZAAAAGwAAADMIEAB5AAAAnQAAABkAAAAzCBAAeQAAALAAAAATAAAAMwgQAHkAAACzAAAA
|
|
GAAAADMIEAB5AAAA2gAAAB8AAAAzCBAAeQAAAOAAAAAfAAAAMwgQAHkAAADpAAAAHwAAADMIEAB5AAAA8gAAAB8AAAAzCBAAeQAA
|
|
APsAAAAfAAAAMwgQAHkAAAAEAQAAHwAAADMIEAB5AAAADQEAAB8AAAAzCBAAeQAAABYBAAAfAAAAL1VzZXJzL21hZ3Vhbmd6aGkv
|
|
LmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9iYXNlNjQtMC4yMS4yL3NyYy9lbmdp
|
|
bmUvZ2VuZXJhbF9wdXJwb3NlL21vZC5ycwAAjAkQAHYAAACUAAAADQAAAIwJEAB2AAAAlgAAAEAAAACMCRAAdgAAAJUAAAANAAAA
|
|
jAkQAHYAAACYAAAADQAAAIwJEAB2AAAAnAAAAA0AAACMCRAAdgAAAJ0AAAANAAAAjAkQAHYAAACFAAAAJQAAAIwJEAB2AAAAhgAA
|
|
ACsAAACMCRAAdgAAAD4AAAAbAAAAjAkQAHYAAABAAAAAIAAAAC9Vc2Vycy9tYWd1YW5nemhpLy5jYXJnby9yZWdpc3RyeS9zcmMv
|
|
aW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWVzLTAuOC4zL3NyYy9zb2Z0L2ZpeHNsaWNlMzIucnMApAoQAGcAAADd
|
|
AQAAKQAAAKQKEABnAAAA8gEAAC0AAACkChAAZwAAAIkEAAASAAAApAoQAGcAAACJBAAAPQAAAKQKEABnAAAAFAUAACIAAACkChAA
|
|
ZwAAABQFAAAJAAAAUGFkRXJyb3JjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlABQAAAAMAAAABAAA
|
|
ABUAAAAWAAAAFwAAAG1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAALgLEAAVAAAAzQsQAA0AAABsaWJyYXJ5L3N0
|
|
ZC9zcmMvYWxsb2MucnPsCxAAGAAAAGIBAAAJAAAAbGlicmFyeS9zdGQvc3JjL3Bhbmlja2luZy5ycxQMEAAcAAAAUwIAAB8AAAAU
|
|
DBAAHAAAAFQCAAAeAAAAFAAAAAwAAAAEAAAAGAAAABkAAAAIAAAABAAAABoAAAAZAAAACAAAAAQAAAAbAAAAHAAAAB0AAAAQAAAA
|
|
BAAAAB4AAAAfAAAAIAAAAAAAAAABAAAAIQAAACIAAAAEAAAABAAAACMAAAAkAAAADAAAAAQAAAAlAAAAJgAAACcAAABsaWJyYXJ5
|
|
L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAADsDBAAEQAAANAMEAAcAAAAFgIAAAUAAABhIGZvcm1hdHRp
|
|
bmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IAKAAAAAAAAAABAAAAKQAAAGxpYnJhcnkvYWxsb2Mvc3Jj
|
|
L2ZtdC5yc1wNEAAYAAAAYgIAACAAAADvv71ieXRlc2Vycm9yAAAAIgAAAAQAAAAEAAAAKgAAAEZyb21VdGY4RXJyb3IAAAArAAAA
|
|
DAAAAAQAAAAsAAAAKQAAAMQNEAAAAAAAWwAAADAAAAAAAAAAAQAAADEAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlz
|
|
ICBidXQgdGhlIGluZGV4IGlzIAAA5A0QACAAAAAEDhAAEgAAADogAADEDRAAAAAAACgOEAACAAAAMgAAAAwAAAAEAAAAMwAAADQA
|
|
AAA1AAAAICAgICB7ICwgIHsKLAp9IH0oKAosCgAAMgAAAAQAAAAEAAAANgAAAF1saWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnN9
|
|
DhAAGwAAAGkAAAAXAAAAMHgwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4
|
|
MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2
|
|
NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OXJhbmdlIHN0
|
|
YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCAAAHIPEAASAAAAhA8QACIAAAByYW5nZSBlbmQgaW5k
|
|
ZXgguA8QABAAAACEDxAAIgAAAHNsaWNlIGluZGV4IHN0YXJ0cyBhdCAgYnV0IGVuZHMgYXQgANgPEAAWAAAA7g8QAA0AAAABAQEB
|
|
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
|
|
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBzqHAAAszAgICAgICAgICAgICAgICAgIC
|
|
AgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwQEBAQEAEGNosAAC0xOb25lU29tZQAAADIAAAAEAAAABAAAADcAAABFcnJvclV0
|
|
ZjhFcnJvcnZhbGlkX3VwX3RvZXJyb3JfbGVuAAAyAAAABAAAAAQAAAA4AHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJv
|
|
Y2Vzc2VkLWJ5AwVydXN0Yx0xLjc0LjAgKDc5ZTk3MTZjOSAyMDIzLTExLTEzKQZ3YWxydXMGMC4xOS4wDHdhc20tYmluZGdlbhIw
|
|
LjIuODcgKGYwYThhZTNiOSkALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0
|
|
`,ko=null,tw=null,rw=null,Oie=null,c4=0,jf=new Array(132).fill(void 0);jf.push(void 0,null,!0,!1);var nw=jf.length;function pst(t){let e=jf[t];return t>=132&&(jf[t]=nw,nw=t),e}function Nie(){return(rw===null||rw.byteLength===0)&&(rw=new Uint8Array(Oie.buffer)),rw}function o4(){return(tw===null||tw.byteLength===0)&&(tw=new Int32Array(Oie.buffer)),tw}function mst(t,e){return t=t>>>0,Cc(Nie().subarray(t,t+e))}function fst(t,e,r){if(r===void 0){let i=eg(t),a=e(i.length,1)>>>0;return Nie().subarray(a,a+i.length).set(i),c4=i.length,a}let n=eg(t),s=e(n.length,1)>>>0;return Nie().subarray(s,s+n.length).set(n),c4=n.length,s}function xmr(t){return t==null}function bmr(t){let e=atob(t.replace(/\s+/g,"")),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}async function Emr(){if(ko!==null)return ko;let t=bmr(ymr),e={wbg:{__wbindgen_object_drop_ref:n=>pst(n),__wbindgen_string_new:(n,s)=>{let i=mst(n,s);nw===jf.length&&jf.push(jf.length+1);let a=nw;return nw=jf[a],jf[a]=i,a},__wbindgen_debug_string:()=>{}}};return ko=(await WebAssembly.instantiate(t,e)).instance.exports,Oie=ko.memory,tw=null,rw=null,ko}function _mr(t,e){let r,n;try{let s=ko.__wbindgen_add_to_stack_pointer(-16),i=fst(t,ko.__wbindgen_malloc,ko.__wbindgen_realloc),a=c4,o=xmr(e)?0:fst(e,ko.__wbindgen_malloc,ko.__wbindgen_realloc),c=c4;ko.gateway_decrypt(s,i,a,o,c);let u=o4()[s/4+0],l=o4()[s/4+1],d=o4()[s/4+2],f=o4()[s/4+3],p=u,m=l;if(f)throw p=0,m=0,pst(d);return r=p,n=m,mst(p,m)}finally{ko.__wbindgen_add_to_stack_pointer(16),r!==void 0&&n!==void 0&&ko.__wbindgen_free(r,n,1)}}async function hst(t,e){return t=t.replace(/\s+/g,""),await Emr(),_mr(t,e)}hn();hs();var Pie=class extends wt{async search(e){try{let r="https://jadeite.migu.cn/search/v3/open-search",n={appVersion:"6.1.1.00",ct:101,isCorrectWord:1,k:e,mediaSource:9e6,packId:"1002581,1002601,1003861,1003862,1003863,1003864,1003865,1003866,1004041,1004121,1004261,1004262,1004281,1004321,1004262,1004281,1004322,1004261,1004421,1004422,1002781,1004301,1004641,1004761,1005061,1005261,1005301,1005321,1005361,1005362,1005341,1005342,1005521,1005722,1005721,1015749,1015761,1015760,1015762,1015763,1015768,1015786,1015790,1015812,1015813,1015814,1015815,1015816,1015817,1015820,1015819,1015821",pageIdx:1,pageSize:20,sid:"1X4A395AL3XS3UV5MT8PQ1L5JUYK6KFM8VKDSDD48S5Y7YX5WY1MOUHRT6512988",copyrightTerminal:3,searchScene:2,uiVersion:"A3.26.0"},s={Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9",Connection:"keep-alive","Content-Type":"application/json",Origin:"https://www.miguvideo.com",Referer:"https://www.miguvideo.com/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",appId:"miguvideo","sec-ch-ua":'Not(A:Brand";v="8", "Chromium";v="144", "Google Chrome";v="144"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"Windows",terminalId:"www"},i=await Vr(r,JSON.stringify(n),{headers:s});if(!i||!i.data)return _("info","[Migu] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let o=(typeof i.data=="string"?JSON.parse(i.data):i.data)?.body?.contentInfoList,c=[];return o.forEach(u=>{let l=u?.shortMediaAsset;if(l&&l.isLong){let d;l?.extraData?d=l?.extraData?.episodes?.[0]:d=l?.pID,c.push({name:l.name,type:l.contDisplayName,year:l.year.trim(),img:l.h5pics?.highResolutionV,url:`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${d}/1`,epsId:d})}}),_("info",`[Migu] \u641C\u7D22\u627E\u5230 ${c.length} \u4E2A\u6709\u6548\u7ED3\u679C`),c}catch(r){return _("error","[Migu] getMiguAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}extractEpId(e){let n=e.split("?")[0].split("/").filter(s=>s!=="");return n[n.length-1]||""}async getDetail(e){try{let r=await ge(`https://v3-sc.miguvideo.com/program/v4/cont/content-info/${e}/1`,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}});if(!r||!r.data)return _("info","[Migu] getMiguDetail: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),{duration:0,epsID:null};let n=r.data?.body?.data?.playing?.duration||0,s=r.data?.body?.data?.epsID||null;return{duration:n,epsID:s}}catch(r){return _("error","[Migu] getMiguDetail error:",{message:r.message,name:r.name,stack:r.stack}),{duration:0,epsID:null}}}async getEpisodes(e){try{let r=await ge(e,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}});if(!r||!r.data)return _("info","[Migu] getMiguEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];let n=r.data?.body?.data?.datas;if(n)return n;{let s=r.data?.body?.data?.name,i=r.data?.body?.data?.playing?.pID;return i?[{name:s,pID:i}]:(_("info","[Migu] getMiguEposides: eps \u4E0D\u5B58\u5728"),[])}}catch(r){return _("error","[Migu] getMiguEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Migu] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name||l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=d.name||d.title,p=Tt(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Migu] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.url||l.mediaId),f=[];for(let p of d)f.push({name:p.name,url:`https://webapi.miguvideo.com/gateway/live_barrage/videox/barrage/v2/list/${l.epsId??p.pID}/${p.pID}`,title:`\u3010migu\u3011 ${p.name}`});if(f.length>0){let p={animeId:Yr(l.epsId??d[0]?.pID),bangumiId:String(l.epsId??d[0]?.pID),animeTitle:`${l.name||l.title}(${l.year})\u3010${l.type}\u3011from migu`,type:l.type,typeDescription:l.type,imageUrl:l.img??l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"migu"};a.push(p),Lt({...p,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Migu] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Migu] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u54AA\u5495\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Migu] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=100,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Migu] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Migu] \u54AA\u5495\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Migu] \u83B7\u53D6\u54AA\u5495\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=this.extractEpId(e),n=await this.getDetail(r),s=Cg(n.duration);_("info","[Migu] itemId:",r),_("info","[Migu] durationSec:",s),_("info","[Migu] epsID:",n.epsID);let i=30,a=[];for(let o=0;o<s;o+=i){let c=o,u=Math.min(o+i,s),l=`https://webapi.miguvideo.com/gateway/live_barrage/videox/barrage/v2/list/${n.epsID??r}/${r}/${c}/${u}/020`;a.push({type:"migu",segment_start:c,segment_end:u,url:l})}return new vt({type:"migu",segmentList:a})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",appCode:"miguvideo_default_h5"},retries:1}),n=[];if(r&&r.data){let s=await hst(r.data),a=(typeof r.data=="string"?JSON.parse(s):s)?.body?.result??[];n.push(...a)}return n}catch(r){return _("error","[Migu] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.cid),p:`${r.playtime},1,${gb(r.textcolor)},[migu]`,m:r.msg,t:r.playtime,like:r.praiseCount}))}},gst=Pie;Pt();St();ar();Is();$n();hn();hs();var sw=class extends wt{constructor(){super(),this.positionMap={1:1,4:5,5:4}}filterSohuSearchItem(e,r){if(!e.aid||!e.album_name||e.is_trailer===1||e.corner_mark&&e.corner_mark.text==="\u9884\u544A")return null;let n=e.album_name.replace("<<<","").replace(">>>",""),s=null;if(e.meta&&Array.isArray(e.meta)){for(let i of e.meta)if(i.txt&&i.txt.includes("|")){let a=i.txt.split("|");if(a.length>0){let o=a[0].trim();o.includes("\u522B\u540D")&&a.length>1?s=a[1].trim():s=o;break}}}return{mediaId:String(e.aid),title:n,type:s,year:e.year||null,imageUrl:e.ver_big_pic||null,episodeCount:e.total_video_count||0}}async search(e){try{_("info",`[Sohu] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={key:e,type:"1",page:"1",page_size:"20",user_id:"",tabsChosen:"0",poster:"4",tuple:"6",extSource:"1",show_star_detail:"3",pay:"1",hl:"3",uid:String(Math.floor(Date.now()*1e3)),passport:"",plat:"-1",ssl:"0"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:"https://so.tv.sohu.com/",Origin:"https://so.tv.sohu.com"},s=`https://m.so.tv.sohu.com/search/pc/keyword?${Ai(r)}`,i=await ge(s,{headers:n});if(!i||!i.data)return _("info","[Sohu] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data;if(!a.data||!a.data.items)return _("info","[Sohu] \u641C\u7D22\u54CD\u5E94\u4E2D\u65E0\u6570\u636E"),[];let o=[];for(let c of a.data.items){let u=this.filterSohuSearchItem(c,e);u&&o.push(u)}return _("info",`[Sohu] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Sohu] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getPlaylistData(e){let r={playlistid:e,api_key:"f351515304020cad28c92f70f002261c"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Referer:"https://tv.sohu.com/"},s=`https://pl.hd.sohu.com/videolist?${Ai(r)}`,i=await ge(s,{headers:n,timeout:15e3});if(!i||!i.data)return null;let a=i.data;if(typeof a=="string"&&a.startsWith("jsonp")){let o=a.indexOf("(")+1,c=a.lastIndexOf(")");if(o>0&&c>o)a=JSON.parse(a.substring(o,c));else return _("error","[Sohu] \u641C\u72D0\u89C6\u9891: \u65E0\u6CD5\u89E3\u6790JSONP\u54CD\u5E94"),null}else typeof a=="string"&&(a=JSON.parse(a));return a}async getEpisodes(e){try{_("info",`[Sohu] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`);let r=await this.getPlaylistData(e);if(!r)return _("info","[Sohu] \u5206\u96C6\u54CD\u5E94\u4E3A\u7A7A"),[];let n=r.videos||[];if(!n||n.length===0)return _("warn",`[Sohu] \u641C\u72D0\u89C6\u9891: \u672A\u627E\u5230\u5206\u96C6\u5217\u8868 (media_id=${e})`),[];let s=[];for(let i=0;i<n.length;i++){let a=n[i],o,c,u;typeof a=="object"?(o=String(a.vid||""),c=a.video_name||`\u7B2C${i+1}\u96C6`,u=a.url_html5||""):(o=String(a.vid||a.vid||""),c=a.name||a.video_name||`\u7B2C${i+1}\u96C6`,u=a.pageUrl||a.url_html5||""),u&&u.startsWith("http://")&&(u=u.replace("http://","https://"));let l={vid:o,title:c,url:u,episodeId:`${o}:${e}`};s.push(l)}return _("info",`[Sohu] \u6210\u529F\u83B7\u53D6 ${s.length} \u4E2A\u5206\u96C6 (media_id=${e})`),s}catch(r){return _("error","[Sohu] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Sohu] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Sohu] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.title||`\u7B2C${p+1}\u96C6`,A=`https://tv.sohu.com/item/${l.mediaId}.html`;f.push({name:(p+1).toString(),url:`${m.url}`,title:`\u3010sohu\u3011 ${h}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||new Date().getFullYear()})\u3010${l.type}\u3011from sohu`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year||new Date().getFullYear()),episodeCount:f.length,rating:0,isFavorited:!0,source:"sohu"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Sohu] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDuration(e,r){if(!e)return 0;try{let n=await this.getPlaylistData(e),s=Array.isArray(n?.videos)?n.videos:[];if(!s.length)return 0;let i=s.find(o=>String(o?.vid||"")===String(r||""))||(s.length===1?s[0]:null),a=Number(i?.playLength||0);return Number.isFinite(a)&&a>0?a:0}catch(n){return _("warn",`[Sohu] \u83B7\u53D6\u771F\u5B9E\u65F6\u957F\u5931\u8D25: ${n.message}`),0}}async extractVidAndAid(e){let r,n="0",s=await ge(e,{headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}}),i=s.data.match(/vid="(\d+)"/);return i&&(r=i[1]),n=s.data.match(/id="aid"[^>]*value=['"](\d+)['"]/)?.[1],n||(n=s.data.match(/playlistId="(\d+)"/)?.[1]),{vid:r,aid:n}}async getEpisodeDanmu(e){_("info","[Sohu] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u641C\u72D0\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Sohu] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=10,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getDanmuSegment(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;if(h&&h.length>0)i.push(...h);else if(p>600)break}else _("error",`[Sohu] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Sohu] \u641C\u72D0\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getDanmuSegment(e){try{let r={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Referer:"https://tv.sohu.com/"},n=await ge(e.url,{headers:r,timeout:1e4});if(!n||!n.data)return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u5F39\u5E55\u6BB5\u54CD\u5E94\u4E3A\u7A7A (${e.segment_start}-${e.segment_end}s)`),[];try{let i=(typeof n.data=="string"?JSON.parse(n.data):n.data).info?.comments||[];return i&&i.length>0&&_("info",`[Sohu] \u641C\u72D0\u89C6\u9891: \u83B7\u53D6\u5230 ${i.length} \u6761\u5F39\u5E55 (${e.segment_start}-${e.segment_end}s)`),i||[]}catch(s){return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u89E3\u6790\u5F39\u5E55\u54CD\u5E94\u5931\u8D25: ${s.message}`),[]}}catch(r){return _("error",`[Sohu] \u641C\u72D0\u89C6\u9891: \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (vid=${vid}, ${start}-${end}s): ${r.message}`),[]}}async getEpisodeDanmuSegments(e){_("info","[Sohu] \u83B7\u53D6\u641C\u72D0\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let{vid:r,aid:n}=await this.extractVidAndAid(e),s=await this.getEpisodeDuration(n,r),i=s>0?Math.ceil(s):10800,a=300,o=[];for(let c=0;c<i;c+=a){let u=Math.min(c+a,i);o.push({type:"sohu",segment_start:c,segment_end:u,url:`https://api.danmu.tv.sohu.com/dmh5/dmListAll?act=dmlist_v2&vid=${r}&aid=${n}&pct=2&time_begin=${c}&time_end=${u}&dct=1&request_from=h5_js`})}return new vt({type:"sohu",duration:s>0?s:0,segmentList:o})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?JSON.parse(r.data):r.data;n.push(...s.info?.comments||[])}return n}catch(r){return _("error","[Sohu] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>{try{let n=16777215;if(r.t&&r.t.c){let l=r.t.c;typeof l=="string"&&l.startsWith("#")?n=parseInt(l.substring(1),16):n=parseInt(String(l),16)}let s=r.v||0,i=Math.floor(parseFloat(r.created||Date.now()/1e3)),a=r.uid||"",o=r.i||"",c=1;r.t&&r.t.p&&(c=this.positionMap[r.t.p]||1);let u=`${s},1,25,${n},${i},0,${a},${o}`;return{cid:String(o),p:u,m:r.c||"",t:parseFloat(s),like:r.fcount}}catch(n){return _("error",`[Sohu] \u683C\u5F0F\u5316\u5F39\u5E55\u5931\u8D25: ${n.message}, \u5F39\u5E55\u6570\u636E:`,r),null}}).filter(r=>r!==null)}};Pt();St();ar();Is();$n();hn();hs();var Ast={tv:"\u7535\u89C6\u5267",movie:"\u7535\u5F71",cartoon:"\u52A8\u6F2B",comic:"\u52A8\u6F2B"},iw=class extends wt{constructor(){super(),this.positionMap={4:1,3:4,1:5,2:1}}filterLeshiSearchItem(e,r){if(!e.pid||!e.title)return null;let n=e.title,s=Ast[e.type]||"\u7535\u89C6\u5267";return{mediaId:String(e.pid),title:n,type:s,year:e.year||null,imageUrl:e.imageUrl||null,episodeCount:e.episodeCount||0}}async search(e){try{_("info",`[Leshi] \u5F00\u59CB\u641C\u7D22: ${e}`);let r={wd:e,from:"pc",ref:"click",click_area:"search_button",query:e,is_default_query:"0",module:"search_rst_page"},n={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8","Accept-Encoding":"gzip, deflate, br",Referer:"https://so.le.com/",Connection:"keep-alive","Upgrade-Insecure-Requests":"1","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin"},s=`https://so.le.com/s?${Ai(r)}`,i=await ge(s,{headers:n,timeout:15e3});if(!i||!i.data)return _("info","[Leshi] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=i.data;_("info",`[Leshi] \u641C\u7D22\u8BF7\u6C42\u6210\u529F\uFF0C\u54CD\u5E94\u957F\u5EA6: ${a.length} \u5B57\u7B26`);let o=[],c=/<div class="So-detail[^"]*"[^>]*data-info="({.*?})"[^>]*>/g,u,l=[];for(;(u=c.exec(a))!==null;)l.push(u);_("info",`[Leshi] \u4ECEHTML\u4E2D\u627E\u5230 ${l.length} \u4E2A data-info \u5757`);for(let d of l)try{let f=d[1];_("info",`[Leshi] \u63D0\u53D6\u5230 data-info \u539F\u59CB\u5B57\u7B26\u4E32: ${f.substring(0,200)}...`),f=f.replace(/'/g,'"'),f=f.replace(/([{,])(\w+):/g,'$1"$2":');let p=JSON.parse(f);_("info",`[Leshi] \u6210\u529F\u89E3\u6790 data-info\uFF0Cpid=${p.pid}, type=${p.type}`);let m=p.pid||"",h=p.type||"",A=p.total||"0";if(!m)continue;let g=d.index,b=[`</div>
|
|
</div>`,`</div>
|
|
</div>`,"</div></div>"],y=-1;for(let B of b){let Z=a.indexOf(B,g);if(Z!==-1){y=Z;break}}if(y===-1){let B=a.indexOf('<div class="So-detail',g+100);if(B!==-1)y=B;else continue}let x=a.substring(g,y),v="",C=/<h1>[\s\S]*?<a[^>]*title="([^"]*)"[^>]*>/.exec(x);if(C&&C[1]&&(v=C[1].trim()),!v&&p.keyWord){let B=/(.*?)(?:\d{4})?(?:电影|电视剧|综艺)?$/.exec(p.keyWord);B&&B[1]&&(v=B[1].replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g,"").trim())}if(!v){let B=/<a[^>]*title="([^"]*?)[^0-9\u4e00-\u9fa5][^"]*"/.exec(x);B&&B[1]&&(v=B[1].trim())}v||_("info","[Leshi] \u672A\u627E\u5230\u6807\u9898\uFF0C\u5C1D\u8BD5\u4ECE\u5176\u4ED6\u6765\u6E90\u83B7\u53D6");let R=/<img[^>]*(?:src|data-src|alt)="([^"]+)"/.exec(x),w=R?R[1]:"",N=null,P=/<b>年份:<\/b>.*?>(\d{4})<\/a>/.exec(x);P||(P=/<b>ä¸Šæ˜ æ—¶é—´ï¼š<\/b>.*?>(\d{4})<\/a>/.exec(x)),P||(P=/_y(\d{4})_/.exec(x)),P||(P=/(\d{4})/.exec(p.keyWord||"")),P&&(N=parseInt(P[1]));let L=Ast[h]||"\u7535\u89C6\u5267",M=A&&/^\d+$/.test(A)?parseInt(A):0,k={mediaId:m,title:v,type:L,year:N,imageUrl:w&&w.startsWith("http")?w:w?`https:${w}`:null,episodeCount:M};o.push(k),_("info",`[Leshi] \u89E3\u6790\u6210\u529F - ${v} (pid=${m}, type=${L}, episodes=${M})`)}catch(f){_("warn",`[Leshi] \u89E3\u6790\u641C\u7D22\u7ED3\u679C\u9879\u5931\u8D25: ${f}`);continue}if(o.length>0){_("info",`[Leshi] \u7F51\u7EDC\u641C\u7D22 '${e}' \u5B8C\u6210\uFF0C\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C\u3002`),_("info","[Leshi] \u641C\u7D22\u7ED3\u679C\u5217\u8868:");for(let d of o)_("info",`[Leshi] - ${d.title} (ID: ${d.mediaId}, \u7C7B\u578B: ${d.type}, \u5E74\u4EFD: ${d.year})`)}else _("info",`[Leshi] \u7F51\u7EDC\u641C\u7D22 '${e}' \u5B8C\u6210\uFF0C\u627E\u5230 0 \u4E2A\u7ED3\u679C\u3002`);return o}catch(r){return _("error","[Leshi] \u641C\u7D22\u51FA\u9519:",r.message),[]}}async getEpisodes(e){try{_("info",`[Leshi] \u83B7\u53D6\u5206\u96C6\u5217\u8868: media_id=${e}`);let r=[`https://www.le.com/tv/${e}.html`,`https://www.le.com/comic/${e}.html`,`https://www.le.com/playlet/${e}.html`,`https://www.le.com/movie/${e}.html`],n=null;for(let l of r)try{let d=await ge(l,{timeout:1e4});if(d&&d.data&&d.status===200){n=d.data,_("info",`[Leshi] \u6210\u529F\u83B7\u53D6\u9875\u9762: ${l}`);break}}catch(d){_("info",`[Leshi] \u5C1D\u8BD5URL\u5931\u8D25 ${l}: ${d}`);continue}if(!n)return _("error",`[Leshi] \u65E0\u6CD5\u83B7\u53D6\u4F5C\u54C1\u9875\u9762: media_id=${e}`),[];let s=/<div class="show_cnt twxj-[^"]*">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(s)return _("info","[Leshi] \u627E\u5230\u56FE\u6587\u9009\u96C6\u5BB9\u5668"),this.parseEpisodesFromHtml(s[0],e);let i=/<div class="show_cnt sjxj-[^"]*">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(i)return _("info","[Leshi] \u627E\u5230\u6570\u5B57\u9009\u96C6\u5BB9\u5668"),this.parseEpisodesFromHtml(i[0],e);_("info","[Leshi] \u672A\u627E\u5230\u7279\u5B9A\u9009\u96C6\u5BB9\u5668\uFF0C\u5C1D\u8BD5\u67E5\u627E\u7B2C\u4E00\u96C6\u89C6\u9891\u5217\u8868...");let a=/<div class="show_play first_videolist[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/.exec(n);if(a){let l=a[0];return this.parseEpisodesFromHtml(l,e)}_("error",`[Leshi] \u65E0\u6CD5\u627E\u5230\u5267\u96C6\u5217\u8868\u5BB9\u5668: media_id=${e}`);let o=/https:\/\/www\.le\.com\/ptv\/vplay\/(\d+)\.html/g,c=n.matchAll(o),u=[];for(let l of c){let d=l[1],f=l[0],p={vid:d,title:`\u7B2C${u.length+1}\u96C6`,url:f,episodeId:`${d}:${e}`};u.push(p)}return u.length>0?(_("info",`[Leshi] \u4ECEHTML\u5185\u5BB9\u4E2D\u5339\u914D\u5230 ${u.length} \u4E2A\u5267\u96C6\u94FE\u63A5`),u):[]}catch(r){return _("error","[Leshi] \u83B7\u53D6\u5206\u96C6\u51FA\u9519:",r.message),[]}}parseEpisodesFromHtml(e,r){try{let n=/<div class="col_4"[^>]*>[\s\S]*?<\/div>/g,s=e.match(n);if(!s||s.length===0){_("info","[Leshi] \u5728HTML\u4E2D\u672A\u627E\u5230\u5267\u96C6\u5BB9\u5668div.col_4\uFF0C\u5C1D\u8BD5\u67E5\u627Edl.dl_temp\u5143\u7D20");let a=/<dl class="dl_temp">[\s\S]*?<\/dl>/g,o=e.match(a);if(!o||o.length===0){_("info","[Leshi] \u5728HTML\u4E2D\u672A\u627E\u5230\u5267\u96C6\u5143\u7D20\uFF0C\u5C1D\u8BD5\u66F4\u5E7F\u6CDB\u7684\u9009\u62E9\u5668");let c=/<dl[^>]*class="[^"]*dl_temp[^"]*"[^>]*>[\s\S]*?<\/dl>/g,u=e.match(c);return!u||u.length===0?(_("error",`[Leshi] \u65E0\u6CD5\u4ECEHTML\u4E2D\u89E3\u6790\u5230\u4EFB\u4F55\u5267\u96C6: media_id=${r}`),[]):this.extractEpisodes(u,r)}return this.extractEpisodes(o,r)}let i=[];for(let a of s){let o=/<dl class="dl_temp">[\s\S]*?<\/dl>/.exec(a);o&&i.push(o[0])}return i.length===0?(_("error",`[Leshi] \u4ECE\u5BB9\u5668\u4E2D\u672A\u80FD\u63D0\u53D6\u5230\u4EFB\u4F55dl.dl_temp\u5143\u7D20: media_id=${r}`),[]):this.extractEpisodes(i,r)}catch(n){return _("error",`[Leshi] \u89E3\u6790\u5267\u96C6HTML\u5931\u8D25: ${n.message}`),[]}}extractEpisodes(e,r){let n=[];for(let s of e)try{let i=/<a[^>]+href="(\/\/www\.le\.com\/ptv\/vplay\/(\d+)\.html)"[^>]*>/.exec(s);if(!i){_("info","[Leshi] \u8DF3\u8FC7\u65E0\u6CD5\u89E3\u6790\u94FE\u63A5\u7684\u5267\u96C6\u5143\u7D20");continue}let a=i[1],o=i[2],c=`https:${a}`,u="",l=/<dt class="d_tit">[\s\n\r]*<a[^>]*title="([^"]*)"[^>]*>([^<]*)<\/a>/.exec(s);if(l&&l[1])u=l[1].trim();else if(l&&l[2])u=l[2].trim();else{let p=/<a[^>]*title="([^"]*)"[^>]*>[\s\S]*?<dt class="d_tit">/.exec(s)||/<dt class="d_tit">[\s\S]*?<a[^>]*title="([^"]*)"/.exec(s);if(p&&p[1])u=p[1].trim();else{let m=/<dd class="d_cnt"[^>]*>([^<]*)/.exec(s);if(m&&m[1])u=m[1].trim();else{let h=/<a[^>]*title="[^"]*"[^>]*>([^<]*)/.exec(s);h&&h[1]&&(u=h[1].trim())}}}if(!u){let p=/第(\d+)集|(\d+)(?:\s*预告)?/.exec(s);p?u=`\u7B2C${p[1]||p[2]}\u96C6`:u=`\u7B2C${n.length+1}\u96C6`}if(/预告|Preview|preview/.test(u)){_("info",`[Leshi] \u8DF3\u8FC7\u9884\u544A\u7247: ${u}`);continue}let f={vid:o,title:u,url:c,episodeId:`${o}:${r}`};n.push(f)}catch(i){_("warn",`[Leshi] \u89E3\u6790\u5355\u4E2A\u5267\u96C6\u5931\u8D25: ${i.message}`);continue}return _("info",`[Leshi] \u6210\u529F\u89E3\u6790\u5267\u96C6\u5217\u8868: media_id=${r}, \u5171 ${n.length} \u96C6`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Leshi] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Leshi] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId),f=[];for(let p=0;p<d.length;p++){let m=d[p],h=m.title||`\u7B2C${p+1}\u96C6`;f.push({name:(p+1).toString(),url:`${m.url}`,title:`\u3010leshi\u3011 ${h}`})}if(f.length>0){let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||new Date().getFullYear()})\u3010${l.type}\u3011from leshi`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year||new Date().getFullYear()),episodeCount:f.length,rating:0,isFavorited:!0,source:"leshi"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Leshi] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Leshi] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u4E50\u89C6\u7F51\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Leshi] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=10,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getDanmuSegment(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;if(h&&h.length>0)i.push(...h);else if(p>600)break}else _("error",`[Leshi] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Leshi] \u4E50\u89C6\u7F51: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getDanmuSegment(e){try{let r=await ge(e.url,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"},retries:1}),n=[];if(r&&r.data){let s=typeof r.data=="string"?r.data:JSON.stringify(r.data),i=/vjs_\d+\((.*)\)/.exec(s);if(i){let a=JSON.parse(i[1]);a.code===200&&a.data&&n.push(...a.data.list||[])}}return n}catch(r){return _("error","[Leshi] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}async getEpisodeDanmuSegments(e){_("info","[Leshi] \u83B7\u53D6\u4E50\u89C6\u7F51\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=e,n=e.match(/\/vplay\/(\d+)\.html/);n&&(r=n[1]);let s=await this.getVideoDuration(r),i=[];for(let a=0;a<Math.ceil(s/300);a++){let o=a*300,c=Math.min((a+1)*300,s);i.push({type:"leshi",segment_start:o,segment_end:c,url:`https://hd-my.le.com/danmu/list?vid=${r}&start=${o}&end=${c}&callback=vjs_${Date.now()}`})}return _("info",`[Leshi] \u4E50\u89C6\u7F51: \u89C6\u9891\u65F6\u957F ${s}\u79D2\uFF0C\u5206\u4E3A ${i.length} \u4E2A\u65F6\u95F4\u6BB5`),new vt({type:"leshi",segmentList:i})}async getEpisodeSegmentDanmu(e){return this.getDanmuSegment(e)}async getVideoDuration(e){try{let r=await ge(`https://www.le.com/ptv/vplay/${e}.html`,{timeout:1e4});if(!r||!r.data)return _("warn","[Leshi] \u4E50\u89C6\u7F51: \u83B7\u53D6\u89C6\u9891\u65F6\u957F\u5931\u8D25\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u503C2400\u79D2"),2400;let n=/duration['"]?\s*:\s*['"]?(\d{2}):(\d{2}):(\d{2})['"]?|duration['"]?\s*:\s*['"]?(\d{2}):(\d{2})['"]?|duration['"]?\s*:\s*(\d+)['"]?/.exec(r.data);if(n){if(n[1]&&n[2]&&n[3]){let s=parseInt(n[1]),i=parseInt(n[2]),a=parseInt(n[3]);return s*3600+i*60+a}else if(n[4]&&n[5]){let s=parseInt(n[4]),i=parseInt(n[5]);return s*60+i}else if(n[6])return parseInt(n[6])}return 2400}catch(r){return _("warn",`[Leshi] \u83B7\u53D6\u89C6\u9891\u65F6\u957F\u5931\u8D25: ${r}\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u503C2400\u79D2`),2400}}formatComments(e){return e.map(r=>{try{let n=this.positionMap[parseInt(r.position)]||1,s=parseFloat(r.start||0),i=r.color||"FFFFFF",a=parseInt(i,16),o=r.id||r._id||"",c=r.txt||"",u=`${s.toFixed(2)},${n},25,${a},[${this.constructor.name.toLowerCase()}]`;return{cid:String(o),p:u,m:c,t:Math.round(s*100)/100}}catch(n){return _("error",`[Leshi] \u683C\u5F0F\u5316\u5F39\u5E55\u5931\u8D25: ${n.message}, \u5F39\u5E55\u6570\u636E:`,r),null}}).filter(r=>r!==null)}};Pt();St();ar();Is();$n();hn();hs();var Die=class extends wt{async search(e){try{let r=`https://m.ixigua.com/s/${e}`,s=(await ge(r,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}})).data,i=[],a=/<section class="search-section">[\s\S]*?<h2 class="search-section-title">[\s\S]*?相关视频[\s\S]*?<\/h2>[\s\S]*?<div class="s-long-video-card">([\s\S]*?)<\/div><\/div><\/div>/,o=s.match(a);if(o){let c=o[1],u=/<div class="s-long-video">[\s\S]*?(?=<div class="s-long-video">|$)/g;(c.match(u)||[]).forEach(d=>{let f=d.match(/href="(\/video\/\d+)"/),p=f?`https://m.ixigua.com${f[1]}`:"",m=d.match(/<h3 class="s-long-video-info-title">[\s\S]*?title="([^"]+)"/),h=m?m[1]:"",A=d.match(/<img src="([^"]+)"/),g=A?A[1]:"";g&&g.startsWith("//")&&(g="https:"+g),g=g.replace(/&/g,"&");let b=d.match(/<p>([^<]+\/[^<]+\/\d{4})<\/p>/),y="",x="";if(b){let v=b[1].split("/");y=v[0]||"",x=v[2]||""}p&&h&&i.push({name:h,type:y,year:x,img:g,url:p})})}else return _("info","[Xigua] xiguaSearchresp: \u76F8\u5173\u89C6\u9891\u7684section \u4E0D\u5B58\u5728"),[];return _("info",`[Xigua] \u641C\u7D22\u627E\u5230 ${i.length} \u4E2A\u6709\u6548\u7ED3\u679C`),i}catch(r){return _("error","[Xigua] getXiguaAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getDetail(e){try{let n=`https://m.ixigua.com/video/${e.split("/").pop()}`,s=await ge(n,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}});if(!s||!s.data)return _("info","[Xigua] getXiguaDetail: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),0;let i=s.data.match(/"duration"\s*:\s*([\d.]+)/);return i?parseFloat(i[1]):0}catch(r){return _("error","[Xigua] getXiguaDetail error:",{message:r.message,name:r.name,stack:r.stack}),0}}async getEpisodes(e){try{let r=`https://m.ixigua.com/video/${e}`,n=await ge(r,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"}});if(!n||!n.data)return _("info","[Xigua] getXiguaEposides: \u8BF7\u6C42\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE"),[];let s=n.data.match(/"episodes_list"\s*:\s*(\[[\s\S]*?\})\s*\]/);if(s)try{let i=s[0].replace(/"episodes_list"\s*:\s*/,"");return JSON.parse(i).map(c=>({seq_num:c.seq_num,title:c.title||`\u7B2C${c.seq_num}\u96C6`,url:`https://m.ixigua.com/video/${c.gid}`,gid:c.gid,cover_image_url:c.cover_image_url}))}catch(i){_("error","[Xigua] \u89E3\u6790episodes_list\u5931\u8D25:",i)}else return _("info","[Xigua] getXiguaEposides: episodes_list \u4E0D\u5B58\u5728"),[]}catch(r){return _("error","[Xigua] getXiguaEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Xigua] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.name).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Xigua] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=l.url.split("/").pop(),f=await this.getEpisodes(d),p=[];for(let m of f){let h=m.title;p.push({name:h,url:m.url,title:`\u3010xigua\u3011 ${h}`})}if(p.length>0){let m={animeId:Yr(d),bangumiId:String(d),animeTitle:`${l.name}(${l.year})\u3010${l.type}\u3011from xigua`,type:l.type,typeDescription:l.type,imageUrl:l.img,startDate:Pr(l.year),episodeCount:p.length,rating:0,isFavorited:!0,source:"xigua"};a.push(m),Lt({...m,links:p},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Xigua] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Xigua] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u897F\u74DC\u89C6\u9891\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Xigua] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=100,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Xigua] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Xigua] \u897F\u74DC\u89C6\u9891: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Xigua] \u83B7\u53D6\u897F\u74DC\u89C6\u9891\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let r=e.split("/").pop(),n=await this.getDetail(e)*1e3;_("info","[Xigua] itemId:",r),_("info","[Xigua] duration:",n);let s=3e5,i=[];for(let a=0;a<n;a+=s){let o=a,c=Math.min(a+s,n),l=`https://ib.snssdk.com/vapp/danmaku/list/v1/?${Ai({item_id:r,start_time:o,end_time:c,format:"json"})}`;i.push({type:"xigua",segment_start:o,segment_end:c,url:l})}return new vt({type:"xigua",segmentList:i})}async getEpisodeSegmentDanmu(e){try{let r=await ge(e.url,{headers:{"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/17.5 Mobile/15A5370a Safari/602.1"},retries:1}),n=[];if(r&&r.data){let i=(typeof r.data=="string"?JSON.parse(r.data):r.data).data??[];n.push(...i)}return n}catch(r){return _("error","[Xigua] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.danmaku_id),p:`${(r.offset_time/1e3).toFixed(2)},1,16777215,[xigua]`,m:r.text,t:Math.round(r.offset_time/1e3)}))}},yst=Die;Pt();St();ar();Is();$n();hn();hs();var kie=class extends wt{constructor(){super(),this.domain="https://mob.mddcloud.com.cn",this.headers={"user-agent":"Mdd/5.8.00 (Android+32+)","Content-Type":"application/json",version:"5.8.00",Referer:"mdd"}}getPlayload(e,r){let n=Date.now(),s=Ai(r,!1),i=`os:Android|version:5.8.00|action:${e}|time:${n}|appToken:|privateKey:e1be6b4cf4021b3d181170d1879a530a9e4130b69032144d5568abfd6cd6c1c2|data:${s}&`;return{channel:"1000",data:r,deviceNum:"853BDD7A1DC011F1C341455071C03AEB",deviceType:0,jsonSign:0,os:"Android",sign:Ls(i),sourceVersion:0,terminalType:"APP",thirdStatus:0,time:n,version:"5.8.00",visitorStatus:0}}extractByRegex(e){let r=e.match(/\/video\/([a-f0-9]+)\.html/i),n=e.match(/[?&]uuid=([a-f0-9]+)/i);return{vodUuid:r?r[1]:null,uuid:n?n[1]:null,success:!!(r&&n)}}async search(e){try{let r="/searchApi/search/getAllSearchResult4820.action",n=`${this.domain}${r}`,s={keyWord:e},i=await Vr(n,JSON.stringify(this.getPlayload(r,s)),{headers:this.headers});if(!i||!i.data)return _("info","[Maiduidui] \u641C\u7D22\u54CD\u5E94\u4E3A\u7A7A"),[];let a=typeof i.data=="string"?JSON.parse(i.data):i.data,o=[],c=a?.data;for(let u of c)if(u?.typeName==="\u5267\u96C6"||u?.typeName==="\u7535\u5F71"||u?.typeName==="\u7EFC\u827A")for(let l of u?.vodList)o.push({name:l.name,type:u.typeName,year:l.yearName,img:l.downImage,url:l.uuid});return _("info",`[Maiduidui] \u641C\u7D22\u627E\u5230 ${o.length} \u4E2A\u6709\u6548\u7ED3\u679C`),o}catch(r){return _("error","[Maiduidui] getMaiduiduiAnimes error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async getDetail(e){try{let r=this.extractByRegex(e),n=r.uuid,s=r.vodUuid,i="/api/vod/listVodSactions.action",a=`${this.domain}${i}`,o={hasIntroduction:0,vodUuid:s},c=await Vr(a,JSON.stringify(this.getPlayload(i,o)),{headers:this.headers});if(!c||!c.data)return _("info","[Maiduidui] \u83B7\u53D6\u8BE6\u60C5\u4FE1\u606F\u54CD\u5E94\u4E3A\u7A7A"),[];let u=typeof c.data=="string"?JSON.parse(c.data):c.data;for(let l of u?.data)if(l.uuid===n)return l.duration;return 0}catch(r){return _("error","[Maiduidui] getMaiduiduiDetail error:",{message:r.message,name:r.name,stack:r.stack}),0}}async getEpisodes(e){try{let r="/api/vod/listVodSactions.action",n=`${this.domain}${r}`,s={hasIntroduction:0,vodUuid:e},i=await Vr(n,JSON.stringify(this.getPlayload(r,s)),{headers:this.headers});if(!i||!i.data)return _("info","[Maiduidui] \u83B7\u53D6\u96C6\u4FE1\u606F\u54CD\u5E94\u4E3A\u7A7A"),[];let a=[];return(typeof i.data=="string"?JSON.parse(i.data):i.data)?.data.forEach(c=>{a.push({title:c.name,episodeId:c.uuid})}),a}catch(r){return _("error","[Maiduidui] getMaiduiduiEposides error:",{message:r.message,name:r.name,stack:r.stack}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Maiduidui] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.name,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.name).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Maiduidui] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.url),f=[];for(let p of d){let m=p.title;f.push({name:m,url:`https://www.mddcloud.com.cn/video/${l.url}.html?uuid=${p.episodeId}`,title:`\u3010maiduidui\u3011 ${m}`})}if(f.length>0){let p={animeId:Yr(l.url),bangumiId:l.url,animeTitle:`${l.name}(${l.year})\u3010${l.type}\u3011from maiduidui`,type:l.type,typeDescription:l.type,imageUrl:l.img,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"maiduidui"};a.push(p),Lt({...p,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Maiduidui] Error processing anime: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){_("info","[Maiduidui] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u57CB\u5806\u5806\u5F39\u5E55...",e);let r=await this.getEpisodeDanmuSegments(e);if(!r||!r.segmentList||r.segmentList.length===0)return[];let n=r.segmentList;_("info",`[Maiduidui] \u5F39\u5E55\u5206\u6BB5\u6570\u91CF: ${n.length}`);let s=20,i=[];for(let a=0;a<n.length;a+=s){let o=n.slice(a,a+s),c=o.map(l=>this.getEpisodeSegmentDanmu(l)),u=await Promise.allSettled(c);for(let l=0;l<u.length;l++){let d=u[l],f=o[l],p=f.segment_start,m=f.segment_end;if(d.status==="fulfilled"){let h=d.value;h&&h.length>0&&i.push(...h)}else _("error",`[Maiduidui] \u83B7\u53D6\u5F39\u5E55\u6BB5\u5931\u8D25 (${p}-${m}s):`,d.reason.message)}a+s<n.length&&await new Promise(l=>setTimeout(l,200))}return i.length===0?(_("info",`[Maiduidui] \u57CB\u5806\u5806: \u8BE5\u89C6\u9891\u6682\u65E0\u5F39\u5E55\u6570\u636E (vid=${e})`),[]):(ts(i),i)}async getEpisodeDanmuSegments(e){_("info","[Maiduidui] \u83B7\u53D6\u57CB\u5806\u5806\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e);let n=this.extractByRegex(e).uuid,s=await this.getDetail(e);_("info","[Maiduidui] uuid:",n),_("info","[Maiduidui] duration:",s);let i=60,a=[];for(let o=0;o<s;o+=i){let c=o,u=Math.min(o+i,s);a.push({type:"maiduidui",segment_start:c,segment_end:u,url:e})}return new vt({type:"maiduidui",segmentList:a})}async getEpisodeSegmentDanmu(e){try{let r=this.extractByRegex(e.url),n=r.uuid,s=r.vodUuid,i="/api/barrage/vodBarrage396.action",a=`${this.domain}${i}`,o={sactionUuid:n,times:e.segment_start,vodUuid:s},c=await Vr(a,JSON.stringify(this.getPlayload(i,o)),{headers:this.headers,retries:1}),u=[];return c&&c.data&&((typeof c.data=="string"?JSON.parse(c.data):c.data).data??[]).forEach(f=>{u.push(...f.barrageList)}),u}catch(r){return _("error","[Maiduidui] \u8BF7\u6C42\u5206\u7247\u5F39\u5E55\u5931\u8D25:",r),[]}}formatComments(e){return e.map(r=>({cid:Number(r.uuid),p:`${r.times.toFixed(2)},1,${gb(r.color.replace("#",""))},[maiduidui]`,m:r.content,t:r.times}))}},xst=kie;St();ar();Is();$n();hn();no();Pt();Pt();St();Is();ar();var Smr="https://www.yfsp.tv/",vmr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0 Safari/537.36",Cmr=60*1e3;function aw(t,e,r){if(t==null)return r;let n=e.split("."),s=t;for(let i=0;i<n.length;i++){if(s==null)return r;let a=n[i],o=a.match(/^(.+)\[(\d+)\]$/);if(o){let c=o[1],u=parseInt(o[2],10);if(s=s[c],Array.isArray(s)&&u<s.length)s=s[u];else return r}else s=s[a]}return s!==void 0?s:r}function Imr(t,e){let n=new RegExp("\\b(?:var|let|const)\\s+"+e+"\\s*=\\s*").exec(t);if(!n)return null;let s=t.indexOf("{",n.index+n[0].length);if(s===-1)return null;let i=0,a=!1,o="",c=!1;for(let u=s;u<t.length;u++){let l=t[u];if(a){c?c=!1:l==="\\"?c=!0:l===o&&(a=!1,o="");continue}if(l==='"'||l==="'"){a=!0,o=l;continue}if(l==="{"){i+=1;continue}if(l==="}"&&(i-=1,i===0))return t.slice(s,u+1)}return null}function Tmr(t){let e=t.match(/"pConfig"\s*:\s*\{\s*"publicKey"\s*:\s*"([^"]+)"\s*,\s*"privateKey"\s*:\s*\[(.*?)\]\s*\}/s);if(!e)return null;let r=[];try{r=JSON.parse("["+e[2]+"]")}catch{return null}return!e[1]||!r.length?null:{publicKey:e[1],privateKey:r[0]}}function wmr(t){let e=aw(t,"config[0]",null),r=e?e.pConfig:null;if(!r)return null;let n=r.publicKey,s=Array.isArray(r.privateKey)?r.privateKey[0]:r.privateKey;return!n||!s?null:{publicKey:n,privateKey:s}}function Rmr(t){let e=Imr(t,"injectJson");if(e)try{let r=JSON.parse(e),n=wmr(r);if(n)return n}catch(r){_("warn","[Utils] [Aiyifan] \u89E3\u6790 injectJson \u5931\u8D25\uFF0C\u56DE\u9000\u5230 pConfig \u63D0\u53D6: "+(r.message||"\u672A\u77E5\u9519\u8BEF"))}return Tmr(t)}function bst(t){return t==null?null:String(t)}function Nmr(t){return t==="vv"||t==="pub"}function Omr(t){return t?t.split("&").filter(Boolean).map(function(e){let r=e.indexOf("="),n=r===-1?e:e.slice(0,r),s=r===-1?"":e.slice(r+1);function i(c){try{return decodeURIComponent(c.replace(/\+/g,"%20"))}catch{return c}}let a=i(n),o=i(s);return[a,o]}):[]}function Pmr(t){if(!t)return[];if(typeof t=="string"){let n=t.trim();if(!n)return[];let s=n,i=n.indexOf("?");if(i!==-1){let a=n.indexOf("#",i);s=n.slice(i+1,a===-1?void 0:a)}else n.charAt(0)==="?"&&(s=n.slice(1));return Omr(s)}if(typeof t=="object"&&t!==null){if(typeof t.entries=="function")try{var e=t.entries();if(Array.isArray(e))return e;var r=[];if(typeof t.forEach=="function")return t.forEach(function(n,s){r.push([s,bst(n)])}),r.filter(function(n){return n[1]!==null})}catch{}return Object.keys(t).map(function(n){return[n,bst(t[n])]}).filter(function(n){return n[1]!==null})}return[]}function Dmr(t){return Pmr(t).filter(function(e){return!Nmr(e[0])}).map(function(e){return e[0]+"="+e[1]}).join("&")}function kmr(t,e){let r=Dmr(t),n=e.publicKey+"&"+r.toLowerCase()+"&"+e.privateKey;return Ls(n)}function Lmr(t){return typeof t=="string"?JSON.parse(t):t}function Bmr(t){var e=aw(t,"ret",null),r=aw(t,"data.code",null);return e===200&&r===0}function Est(t,e){var r=aw(t,"data.msg",null)||aw(t,"msg",null);return r||"HTTP "+e}var u4=class{constructor(e){e=e||{},this.proxyUrlBuilder=e.proxyUrlBuilder||function(r){return O.makeProxyUrl(r)},this.userAgent=e.userAgent||vmr,this.configPageUrl=e.configPageUrl||Smr,this.ttlMs=e.ttlMs||Cmr,this.now=e.now||function(){return Date.now()},this.signingConfig=null,this.signingConfigFetchedAt=0}async getSigningConfig(e){e=e||!1;var r=this.now(),n=this.signingConfig&&r-this.signingConfigFetchedAt<this.ttlMs;if(!e&&n)return this.signingConfig;var s=await ge(this.proxyUrlBuilder(this.configPageUrl),{headers:{"User-Agent":this.userAgent,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}}),i=typeof s.data=="string"?s.data:String(s.data||""),a=Rmr(i);if(!a)throw new Error("\u672A\u80FD\u4ECE\u684C\u9762\u7AD9\u9875\u9762\u89E3\u6790\u5230 pConfig");return this.signingConfig=a,this.signingConfigFetchedAt=r,_("info","[Utils] [Aiyifan] \u5DF2\u66F4\u65B0\u684C\u9762\u7AD9\u7B7E\u540D\u914D\u7F6E: "+a.publicKey.slice(0,12)+"..."),a}buildSignedParams(e,r){var n={};for(var s in e)e.hasOwnProperty(s)&&(n[s]=e[s]);return n.vv=kmr(e,r),n.pub=r.publicKey,n}async signedGetJson(e,r,n,s,i){n=n||{},s=s||"Aiyifan",i=i||!1;var a=await this.getSigningConfig(i),o=this.buildSignedParams(r,a),c=db(e,o),u=await ge(this.proxyUrlBuilder(c),{headers:n}),l;try{l=Lmr(u.data)}catch(f){if(!i)return _("warn","["+s+"] \u54CD\u5E94\u65E0\u6CD5\u89E3\u6790\u4E3A JSON\uFF0C\u5237\u65B0\u7B7E\u540D\u914D\u7F6E\u540E\u91CD\u8BD5: "+(f.message||"\u672A\u77E5\u9519\u8BEF")),this.signedGetJson(e,r,n,s,!0);throw f}var d=u.status!=null?u.status:200;if(d!==200||!Bmr(l)){if(!i)return _("warn","["+s+"] \u5F53\u524D\u7B7E\u540D\u8BF7\u6C42\u5931\u8D25\uFF0C\u5237\u65B0 pConfig \u540E\u91CD\u8BD5: "+Est(l,d)),this.signedGetJson(e,r,n,s,!0);throw new Error(Est(l,d))}return{data:l,vv:o.vv,signingConfig:a}}};var ow=class extends wt{constructor(){super(),this.USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0 Safari/537.36",this.SEARCH_API="https://rankv21.tripdata.app/v3/list/briefsearch",this.PLAYLIST_API="https://m10.yfsp.tv/v3/video/languagesplaylist",this.VIDEO_API="https://m10.yfsp.tv/v3/video/play",this.DANMU_API="https://m10.yfsp.tv/api/video/getBarrage",this.DOMAIN_API="https://www.yfsp.tv/play",this.CONFIG_PAGE_API="https://www.yfsp.tv/",this.signingProvider=new u4({userAgent:this.USER_AGENT,configPageUrl:this.CONFIG_PAGE_API}),this.inflightDanmuRequests=new Map}extractEpisodeRequestKey(e){try{return new URL(e).searchParams.get("id")??e}catch{return e}}async searchDrama(e,r=1,n=10){let s={tags:e,orderby:4,page:r,size:n,desc:1,isserial:-1},i={"User-Agent":this.USER_AGENT,Accept:"application/json"};_("info",`[Aiyifan] [\u641C\u7D22] \u5173\u952E\u8BCD: ${e}, \u9875\u7801: ${r}`);try{let a=db(this.SEARCH_API,s),o=await ge(O.makeProxyUrl(a),{headers:i});return typeof o.data=="string"?JSON.parse(o.data):o.data}catch(a){return _("error",`[Aiyifan] [\u641C\u7D22\u5931\u8D25] \u9519\u8BEF: ${a.message}`),null}}extractDramaList(e){let r=[],n=e?.data?.info||[];if(!n.length)return _("warn","[Aiyifan] [\u8B66\u544A] \u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A"),r;for(let s of n){let i=s.result||[];if(i.length)for(let a of i){let o=a.contxt,c=a.title;r.push({contxt:o,title:c,...a}),_("info",`[Aiyifan] [\u53D1\u73B0\u5267\u76EE] ${c} vid=${o}`)}}return r}async getPlaylist(e){let r={cinema:1,vid:e,lsk:1,taxis:0,cid:"0,1,4,152"},n={"User-Agent":this.USER_AGENT,Accept:"application/json"};_("info",`[Aiyifan] [\u64AD\u653E\u5217\u8868] \u8BF7\u6C42 vid: ${e}`);try{let{data:s}=await this.signingProvider.signedGetJson(this.PLAYLIST_API,r,n,"\u64AD\u653E\u5217\u8868"),i=[],a=s.data?.info||[];for(let o of a)for(let c of o.playList||[])i.push(c);return _("info",`[Aiyifan] [\u64AD\u653E\u5217\u8868] \u5171\u83B7\u53D6\u5230 ${i.length} \u96C6`),i}catch(s){return _("error",`[Aiyifan] [\u64AD\u653E\u5217\u8868\u5931\u8D25] \u9519\u8BEF: ${s.message}`),[]}}async getVideoInfo(e,r=null){let n={cinema:1,id:e,a:0,lang:"none",usersign:1,region:"GL.",device:0,isMasterSupport:1},s={"User-Agent":this.USER_AGENT,Accept:"application/json"},i=r?`(ID:${r})`:"";_("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] \u8BF7\u6C42 key: ${e} ${i}`);try{let{data:a,vv:o}=await this.signingProvider.signedGetJson(this.VIDEO_API,n,s,"\u89C6\u9891\u4FE1\u606F");return _("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] vv\u7B7E\u540D: ${o.substring(0,16)}...`),a.data||{}}catch(a){return _("error",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F\u5931\u8D25] \u9519\u8BEF: ${a.message}`),null}}extractUniqueKey(e){let n=(e.info?.[0]||{}).uniqueKey;return n&&_("info",`[Aiyifan] [\u89C6\u9891\u4FE1\u606F] \u83B7\u53D6\u5230 uniqueKey: ${n}`),n}async fetchBarrage(e,r=1,n=3e4){let s={cinema:1,page:r,size:n,uniqueKey:e},i={"User-Agent":this.USER_AGENT};_("info",`[Aiyifan] [\u5F39\u5E55] \u8BF7\u6C42 uniqueKey: ${e}`);try{let{data:a,vv:o}=await this.signingProvider.signedGetJson(this.DANMU_API,s,i,"\u5F39\u5E55");_("info",`[Aiyifan] [\u5F39\u5E55] vv\u7B7E\u540D: ${o.substring(0,16)}...`);let c=a.data?.info||[];return _("info",`[Aiyifan] [\u5F39\u5E55] \u83B7\u53D6\u5230 ${c.length} \u6761\u5F39\u5E55`),c}catch(a){return _("error",`[Aiyifan] [\u5F39\u5E55\u5931\u8D25] \u9519\u8BEF: ${a.message}`),[]}}async search(e){_("info",`[Aiyifan] \u5F00\u59CB\u641C\u7D22: ${e}`);let r=await this.searchDrama(e);if(!r)return _("error","[Aiyifan] \u641C\u7D22\u5931\u8D25\uFF0C\u9000\u51FA"),[];let n=this.extractDramaList(r);if(!n.length)return _("warn","[Aiyifan] \u672A\u627E\u5230\u5267\u76EE\u4FE1\u606F\uFF0C\u9000\u51FA"),[];let s=n.map(i=>({provider:"aiyifan",mediaId:i.contxt,title:i.title,type:i.atypeName,year:new Date(i.postTime).getFullYear(),imageUrl:i.imgPath||null,episodeCount:0}));return _("info",`[Aiyifan] \u641C\u7D22\u5B8C\u6210\uFF0C\u627E\u5230 ${s.length} \u4E2A\u7ED3\u679C`),s}async getEpisodes(e){_("info",`[Aiyifan] \u83B7\u53D6\u5267\u96C6\u8BE6\u60C5: ${e}`);let r=await this.getPlaylist(e);if(!r.length)return _("error","[Aiyifan] \u83B7\u53D6\u64AD\u653E\u5217\u8868\u5931\u8D25"),[];let n=r.map((s,i)=>({vid:s.key,id:s.id,title:s.name||`\u7B2C${i+1}\u96C6`,link:`${this.DOMAIN_API}/${e}?id=${s.key}`}));return _("info",`[Aiyifan] \u83B7\u53D6\u5230 ${n.length} \u4E2A\u5267\u96C6`),n}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return _("error","[Aiyifan] sourceAnimes is not a valid array"),[];let o=e.filter(l=>yt(l.title,r,i)),c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=Tt(d.title).season;return f===c||c===1&&f===null});l.length>0&&(o=l,_("info",`[Aiyifan] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=o.map(async l=>{try{let d=await this.getEpisodes(l.mediaId);if(d.length===0){_("info",`[Aiyifan] ${l.title} \u65E0\u5206\u96C6\uFF0C\u8DF3\u8FC7`);return}let f=d.map((h,A)=>({name:h.title||`${A+1}`,url:h.link,title:`\u3010aiyifan\u3011 ${h.title}`}));if(f.length===0)return;let m={animeId:Yr(l.mediaId),bangumiId:l.mediaId,animeTitle:`${l.title}(${l.year||"N/A"})\u3010${l.type}\u3011from aiyifan`,type:l.type,typeDescription:l.type,imageUrl:l.imageUrl,startDate:Pr(l.year),episodeCount:f.length,rating:0,isFavorited:!0,source:"aiyifan"};a.push(m),Lt({...m,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}catch(d){_("error",`[Aiyifan] \u5904\u7406 ${l.title} \u5931\u8D25:`,d.message)}});return await Promise.all(u),this.sortAndPushAnimesByYear(a,n),a}async getEpisodeDanmu(e){_("info",`[Aiyifan] \u83B7\u53D6\u5F39\u5E55: ${e}`);let r=this.extractEpisodeRequestKey(e),n=this.inflightDanmuRequests.get(r);if(n)return _("info",`[Aiyifan] \u590D\u7528\u8FDB\u884C\u4E2D\u7684\u5F39\u5E55\u8BF7\u6C42: ${r}`),await n;let s=(async()=>{let i=r,a=await this.getVideoInfo(i);if(!a)return _("error","[Aiyifan] \u83B7\u53D6\u89C6\u9891\u4FE1\u606F\u5931\u8D25"),[];let o=this.extractUniqueKey(a);if(!o)return _("error","[Aiyifan] \u672A\u83B7\u53D6\u5230uniqueKey"),[];let c=await this.fetchBarrage(o);return c.length===0?(_("info","[Aiyifan] \u672A\u83B7\u53D6\u5230\u5F39\u5E55"),[]):(c.sort((u,l)=>(u.second||0)-(l.second||0)),_("info",`[Aiyifan] \u83B7\u53D6\u5230 ${c.length} \u6761\u5F39\u5E55`),c)})();this.inflightDanmuRequests.set(r,s);try{return await s}finally{this.inflightDanmuRequests.delete(r)}}async getEpisodeDanmuSegments(e){let r=await this.getEpisodeDanmu(e),n=[{type:"aiyifan",segment_start:0,segment_end:Math.max(...r.map(s=>s.second||0),0),url:`${this.DANMU_API}?uniqueKey=${e}`}];return{type:"aiyifan",duration:Math.max(...r.map(s=>s.second||0),0),segmentList:n}}async getEpisodeSegmentDanmu(e){let r=e.url?.split("uniqueKey=")[1];return r?await this.getEpisodeDanmu(r):[]}formatComments(e){return e.map(r=>({p:`${r.second||0},${r.position===1?5:1},25,${gb(r.color.replace("#",""))},0,0,0,0`,m:r.contxt||r.content||"",like:r.good,...r})).map(r=>(O.danmuSimplifiedTraditional==="simplified"&&r.m&&(r.m=Gt(r.m)),r))}};Pt();St();ar();$n();no();hs();hn();var wc={danmu:null,subject:null},cw=new Map,Mmr=3*60*1e3,Wmr=100,uw=class extends wt{get headers(){return{"Content-Type":"application/json","User-Agent":`huangxd-/danmu_api/${O.version}(https://github.com/huangxd-/danmu_api)`}}_applyProxyForSearch(e){return O.makeProxyUrl(e)}_getDanmuServerPriority(){return new Date().getTimezoneOffset()===-480?["https://api.animeko.org","https://danmaku-global.myani.org","https://danmaku-cn.myani.org","https://s1.animeko.openani.org"]:["https://danmaku-global.myani.org","https://api.animeko.org","https://s1.animeko.openani.org","https://danmaku-cn.myani.org"]}_getSubjectServerPriority(){let e="https://api.bgm.tv",r="https://api.bangumi.lol",n=this._applyProxyForSearch(e),i=new Date().getTimezoneOffset()===-480?[{type:"V2",url:"https://api.animeko.org"},{type:"V2",url:"https://danmaku-global.myani.org"},{type:"V2",url:"https://danmaku-cn.myani.org"},{type:"V2",url:"https://s1.animeko.openani.org"}]:[{type:"V2",url:"https://danmaku-global.myani.org"},{type:"V2",url:"https://api.animeko.org"},{type:"V2",url:"https://s1.animeko.openani.org"},{type:"V2",url:"https://danmaku-cn.myani.org"}];return n!==e?[...i,{type:"V0",url:n},{type:"V0",url:r}]:[...i,{type:"V0",url:r},{type:"V0",url:e}]}async _fetchV0AllEpisodes(e,r){let n=[],s=0,i=200;try{for(;;){let a=`${e}/v0/episodes?subject_id=${r}&limit=${i}&offset=${s}`,o=await ge(a,{headers:this.headers,timeout:3e3});if(!o||!o.data||!Array.isArray(o.data.data)){s===0&&_("info",`[Animeko] Subject ${r} \u65E0\u5267\u96C6\u6570\u636E\u6216\u54CD\u5E94\u5F02\u5E38`);break}let c=o.data.data;if(c.length===0||(n=n.concat(c),c.length===i&&_("info",`[Animeko] ID:${r} \u6B63\u52A0\u8F7D\u66F4\u591A\u5267\u96C6 (\u5F53\u524D\u5DF2\u83B7: ${n.length})`),c.length<i))break;if(s+=i,s>1600){_("warn",`[Animeko] ID:${r} \u5267\u96C6\u6570\u91CF\u8D85\u8FC7\u5B89\u5168\u9650\u5236(1600)\uFF0C\u505C\u6B62\u7FFB\u9875`);break}}return n}catch(a){return _("error","[Animeko] V0\u5267\u96C6\u83B7\u53D6\u5F02\u5E38:",{message:a.message,id:r,offset:s}),[]}}async _fetchAnimekoSubject(e){let r=cw.get(e);if(r&&Date.now()-r.timestamp<Mmr)return r.data;let n=this._getSubjectServerPriority(),s=wc.subject,i=n.findIndex(a=>a.url===s);(!s||i===-1)&&(i=0,s=n[0].url,wc.subject=s);for(let a=0;a<n.length;a++){let o=n[(i+a)%n.length];try{let c=null;if(o.type==="V2"){_("info",`[Animeko] \u8BE6\u60C5\u63A5\u53E3\u8BF7\u6C42 V2 \u8282\u70B9: ${o.url} (${e})`);let u=await ge(`${o.url}/v2/subjects/${e}`,{headers:this.headers,timeout:3e3});u&&u.data&&u.data.id&&(c=u.data)}else if(o.type==="V0"){_("info",`[Animeko] \u8BE6\u60C5\u8865\u5168\u8BF7\u6C42 V0 \u8282\u70B9: ${o.url} (${e})`);let[u,l]=await Promise.all([this._fetchV0AllEpisodes(o.url,e),ge(`${o.url}/v0/subjects/${e}/subjects`,{headers:this.headers,timeout:3e3}).catch(d=>(_("warn",`[Animeko] V0\u5173\u8054\u83B7\u53D6\u5F02\u5E38: ${d.message}`),null))]);(u&&u.length>0||l)&&(c={id:e},u&&u.length>0&&(c.episodes=u.map(d=>({episodeId:d.id,sort:d.sort,ep:d.ep,type:d.type===0?"MAIN":d.type===1?"SP":String(d.type),name:d.name,nameCn:d.name_cn,airdate:d.airdate}))),l&&l.data&&Array.isArray(l.data)&&(c.relations=l.data))}if(c){if(wc.subject!==o.url&&(_("info",`[Animeko] \u8BE6\u60C5\u8282\u70B9\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${wc.subject} -> ${o.url}`),wc.subject=o.url),cw.set(e,{data:c,timestamp:Date.now()}),cw.size>Wmr){let u=cw.keys().next().value;cw.delete(u)}return c}_("warn",`[Animeko] \u8282\u70B9 ${o.url} \u8FD4\u56DE\u65E0\u6548\u6570\u636E`)}catch(c){_("warn",`[Animeko] \u8282\u70B9\u8BF7\u6C42\u5931\u8D25: ${o.url} - ${c.message}`)}}return _("warn","[Animeko] \u6240\u6709\u8BE6\u60C5\u8282\u70B9\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3\u4F18\u5148\u7EA7\u9996\u4F4D"),wc.subject=n[0].url,null}async search(e){if(O.useBangumiData){let r=await Au(e,["bangumi"]);if(r.length>0){_("info",`[Animeko] Bangumi-Data \u672C\u5730\u547D\u4E2D ${r.length} \u6761\u6570\u636E\uFF08\u68C0\u7D22\u8BCD\uFF1A${e}\uFF09`);let n=r.map(s=>{let a=(s.titles.find(o=>o&&o.includes(e))||s.titles[1]||s.title)+(s.titleSuffix||"");return{id:parseInt(s.siteId),name:s.title,name_cn:a,imageUrl:"",date:s.begin,score:0,platform:s.typeStr,aliases:[...s.titles]}});if(n.length>1){let s=await this.checkRelationsAndModifyTitles(n);return _("info",`[Animeko] \u641C\u7D22\u5B8C\u6210\uFF08Bangumi-Data + \u5173\u7CFB\u68C0\u6D4B\uFF09\uFF0C\u5171\u627E\u5230 ${s.length} \u4E2A\u6709\u6548\u7ED3\u679C`),this.transformResults(s)}return this.transformResults(n)}}try{let r=e.replace(/[._]/g," ").replace(/\s+/g," ").trim();_("info",`[Animeko] \u5F00\u59CB\u641C\u7D22 (V0): ${r}`);let n=[],s=0,i=20;for(;;){let o=`/v0/search/subjects?limit=${i}&offset=${s}`,c=`https://api.bgm.tv${o}`,u=`https://api.bangumi.lol${o}`,l=this._applyProxyForSearch(c),d=[];l!==c?d=[{id:"PROXY_OFFICIAL",url:l},{id:"MIRROR",url:u}]:d=[{id:"MIRROR",url:u},{id:"OFFICIAL",url:c}];let f={keyword:r,filter:{type:[2]}},p=null;for(let A of d)try{if(p=await Vr(A.url,JSON.stringify(f),{headers:this.headers,timeout:5e3}),p&&p.data){_("info",`[Animeko] \u641C\u7D22\u8282\u70B9 [${A.id}] \u8BF7\u6C42\u6210\u529F (offset: ${s})`);break}}catch(g){_("warn",`[Animeko] \u641C\u7D22\u8282\u70B9 [${A.id}] \u8BF7\u6C42\u5931\u8D25: ${g.message}`)}if(!p||!p.data){_("info",`[Animeko] \u641C\u7D22\u8BF7\u6C42\u6240\u6709\u8282\u70B9\u5747\u5931\u8D25\u6216\u65E0\u6570\u636E\u8FD4\u56DE (offset: ${s})`);break}let m=p.data.data||[];if(m.length===0)break;let h=this.filterSearchResults(m,e);if(h.length>0&&(n=n.concat(h)),h.length<i){_("info",`[Animeko] \u8FC7\u6EE4\u540E\u5F53\u524D\u6279\u6B21\u5269 ${h.length} \u4E2A\u7ED3\u679C\uFF0C\u505C\u6B62\u7FFB\u9875`);break}if(s+=i,s>=60){_("warn","[Animeko] \u641C\u7D22\u7FFB\u9875\u8FBE\u5230\u5B89\u5168\u4E0A\u9650(60)\uFF0C\u5F3A\u5236\u505C\u6B62");break}}if(n.length===0)return _("info","[Animeko] \u8FC7\u6EE4\u540E\u65E0\u5339\u914D\u7ED3\u679C"),[];let a=Array.from(new Map(n.map(o=>[o.id,o])).values());return a.length>1&&(a=await this.checkRelationsAndModifyTitles(a)),_("info",`[Animeko] \u641C\u7D22\u5B8C\u6210\uFF0C\u5171\u627E\u5230 ${a.length} \u4E2A\u6709\u6548\u7ED3\u679C`),this.transformResults(a)}catch(r){return _("error","[Animeko] Search error:",{message:r.message,name:r.name,stack:r.stack}),[]}}filterSearchResults(e,r){return e.filter(n=>{let s=[n.name,n.name_cn];return n.infobox&&Array.isArray(n.infobox)&&n.infobox.forEach(i=>{i.key==="\u522B\u540D"&&Array.isArray(i.value)&&i.value.forEach(a=>{a&&a.v&&s.push(a.v)}),i.key==="\u4E2D\u6587\u540D"&&typeof i.value=="string"&&s.push(n.value)}),s.some(i=>i&&yt(i,r))})}hasExplicitSeasonInfo(e){return e?/第?\s*(?:\d+|[一二三四五å…七八ä¹å]+)\s*[壿œŸéƒ¨]|Season\s*\d+|S\d+|Part\s*\d+|Act\s*\d+|Phase\s*\d+|The\s+Final\s+Season|OVA|OAD|剧场版|åŠ‡å ´ç‰ˆ|Movie|Film|ç»[篇集]|å¤–ä¼ |SP|(?<!\d)\d+$|\S+[ç¯‡ç« ]/i.test(e):!1}async checkRelationsAndModifyTitles(e){let r=Math.min(e.length,3);for(let n=0;n<r;n++)for(let s=0;s<r;s++){if(n===s)continue;let i=e[n],a=e[s],o=i.name_cn||i.name,c=a.name_cn||a.name;if(c.includes(o)&&c.length>o.length){if(this.hasExplicitSeasonInfo(c))continue;let u=await this._fetchAnimekoSubject(i.id),d=this._extractRelations(u).find(f=>f.id===a.id);if(d&&(_("info",`[Animeko] \u68C0\u6D4B\u5230\u5173\u7CFB: [${o}] -> ${d.relation} -> [${c}]`),["\u7EED\u96C6","\u756A\u5916\u7BC7","\u4E3B\u7EBF\u6545\u4E8B","\u524D\u4F20","\u4E0D\u540C\u6F14\u7ECE","\u884D\u751F"].includes(d.relation))){let p=d.relation;p==="\u7EED\u96C6"&&(p="\u7EED\u7BC7"),a._relation_mark=`(${p})`}}}return e}_extractRelations(e){if(!e||!e.relations)return[];let r=e.relations;if(Array.isArray(r))return r.filter(i=>i.type===2).map(i=>({id:i.id,name:i.name_cn||i.name,relation:i.relation}));let n=[],s=(i,a)=>{Array.isArray(i)&&i.forEach(o=>{o&&n.push({id:o,name:"",relation:a})})};return s(r.sequelSubjects,"\u7EED\u96C6"),s(r.prequelSubjects,"\u524D\u4F20"),s(r.sideStorySubjects,"\u756A\u5916\u7BC7"),s(r.alternativeSettingSubjects,"\u4E0D\u540C\u6F14\u7ECE"),s(r.characterSubjects,"\u884D\u751F"),n}_extractInfoboxValue(e,r){if(!e||!e.fields||!Array.isArray(e.fields))return null;let n=e.fields.find(s=>s.key===r);return n&&n.values&&n.values.length>0&&n.values[0].v||null}_ExtractInfoboxAliases(e){let r=[];return!e||!e.fields||!Array.isArray(e.fields)||e.fields.forEach(n=>{n.key==="\u522B\u540D"&&Array.isArray(n.values)&&n.values.forEach(s=>{s&&s.v&&!r.includes(s.v)&&r.push(s.v)})}),r}transformResults(e){return e.map(r=>{let n="\u52A8\u6F2B";if(r.platform)switch(r.platform){case"TV":case 1:n="TV\u52A8\u753B";break;case"Web":n="Web\u52A8\u753B";break;case"OVA":n="OVA";break;case"Movie":n="\u5267\u573A\u7248";break;default:n=typeof r.platform=="number"?"TV\u52A8\u753B":r.platform}let s=!1,i=!1;r.tags&&Array.isArray(r.tags)&&r.tags.forEach(u=>{let l=u.name||u;l==="3D"&&(s=!0),l==="2D"&&(i=!0)}),s?n="3D"+n:i&&(n="2D"+n);let a=r._relation_mark?` ${r._relation_mark}`:"",o=Array.isArray(r.aliases)?[...r.aliases]:[];r.infobox&&(Array.isArray(r.infobox)?r.infobox.forEach(u=>{u.key==="\u522B\u540D"&&Array.isArray(u.value)&&u.value.forEach(l=>{l&&l.v&&!o.includes(l.v)&&o.push(l.v)})}):r.infobox.fields&&this._ExtractInfoboxAliases(r.infobox).forEach(l=>{o.includes(l)||o.push(l)})),r.name_cn&&r.name_cn!==r.name&&o.push(r.name_cn),r.nameCn&&r.nameCn!==r.name&&(o.includes(r.nameCn)||o.push(r.nameCn));let c=r.airDate||r.date||"";return{id:r.id,name:r.name,name_cn:(r.name_cn||r.nameCn||r.name)+a,aliases:o,images:r.images,air_date:c,score:r.score?parseFloat(r.score):0,typeDescription:n}})}async getEpisodes(e){try{let r=await this._fetchAnimekoSubject(e);return!r||!r.episodes||!Array.isArray(r.episodes)?(r&&_("info",`[Animeko] Subject ${e} \u65E0\u5267\u96C6\u6570\u636E`),[]):r.episodes.map(n=>({id:n.episodeId,sort:parseInt(n.sort)||0,ep:n.ep,type:n.type==="MAIN"?0:n.type==="SP"?1:n.type,name:n.name||"",name_cn:n.nameCn||"",airdate:n.airdate||""}))}catch(r){return _("error","[Animeko] GetEpisodes error:",{message:r.message,id:e}),[]}}async handleAnimes(e,r,n,s=null,i=null){let a=[];if(!e||!Array.isArray(e))return e&&_("error","[Animeko] sourceAnimes is not a valid array"),[];let o=e,c=i!==null?i:$t(r);if(c!==null){let l=o.filter(d=>{let f=d.name_cn||d.name,p=Tt(f).season;return p===c||c===1&&p===null});l.length>0&&(o=l,_("info",`[Animeko] \u7ED3\u679C\u5DF2\u547D\u4E2D\u76EE\u6807\u5B63(\u7B2C${c}\u5B63)\uFF0C\u8DF3\u8FC7\u975E\u76EE\u6807\u5B63\u76F8\u5173\u8BF7\u6C42`))}let u=await Promise.all(o.map(async l=>{try{let d=await this.getEpisodes(l.id),f=[],p=l.air_date||"";if(Array.isArray(d)){d.sort((m,h)=>(m.sort||0)-(h.sort||0));for(let m of d){if(m.type!==0)continue;!p&&m.airdate&&(p=m.airdate);let h=m.sort||m.ep,A=m.name_cn||m.name||"",g=`\u7B2C${h}\u8BDD ${A}`.trim();f.push({name:`${h}`,url:m.id.toString(),title:`\u3010animeko\u3011 ${g}`})}}if(f.length>0){let m=p?new Date(p).getFullYear():"",h={animeId:l.id,bangumiId:String(l.id),animeTitle:`${l.name_cn||l.name}(${m})\u3010${l.typeDescription||"\u52A8\u6F2B"}\u3011from animeko`,aliases:l.aliases||[],type:"\u52A8\u6F2B",typeDescription:l.typeDescription||"\u52A8\u6F2B",imageUrl:l.images?l.images.common||l.images.large:"",startDate:p,episodeCount:f.length,rating:l.score||0,isFavorited:!0,source:"animeko"};a.push(h),Lt({...h,links:f},s),O.animes.length>O.MAX_ANIMES&&Ft()}}catch(d){_("error",`[Animeko] Error processing anime ${l.id}: ${d.message}`)}}));return this.sortAndPushAnimesByYear(a,n),u}async getEpisodeDanmu(e){let r=String(e).trim();if(r.includes("/")){let a=r.split("/");r=a[a.length-1]}if(r.includes("?")&&(r=r.split("?")[0]),!r)return _("error","[Animeko] \u65E0\u6548\u7684 episodeId"),[];let n=this._getDanmuServerPriority(),s=wc.danmu,i=n.indexOf(s);(!s||i===-1)&&(i=0,s=n[0],wc.danmu=s);for(let a=0;a<n.length;a++){let o=(i+a)%n.length,c=n[o],u=`${c}/v1/danmaku/${r}`;_("info",`[Animeko] \u5C1D\u8BD5\u4F7F\u7528 ${c} \u8282\u70B9\u83B7\u53D6\u5F39\u5E55`);try{let l=await ge(u,{headers:this.headers,timeout:3e3});if(l&&l.data){let d=l.data.danmakuList;if(d&&Array.isArray(d))return wc.danmu!==c&&(_("info",`[Animeko] \u5F39\u5E55\u57DF\u8282\u70B9\u5065\u5EB7\u72B6\u6001\u66F4\u65B0: ${wc.danmu} -> ${c}`),wc.danmu=c),_("info",`[Animeko] \u6210\u529F\u83B7\u53D6\u5F39\u5E55\uFF0C\u5171 ${d.length} \u6761 (${c}\u8282\u70B9)`),d}_("info",`[Animeko] ${c} \u8282\u70B9\u83B7\u53D6\u5931\u8D25/\u65E0\u6570\u636E\uFF0C\u89E6\u53D1\u964D\u7EA7`)}catch(l){_("warn",`[Animeko] \u8BF7\u6C42\u8282\u70B9\u5931\u8D25: ${c} - ${l.message}`)}}return _("info","[Animeko] \u5F39\u5E55\u57DF\u6240\u6709\u964D\u7EA7\u8282\u70B9\u5747\u5931\u8D25\uFF0C\u91CD\u7F6E\u5065\u5EB7\u72B6\u6001\u81F3\u9996\u9009\u8282\u70B9"),wc.danmu=n[0],[]}async getEpisodeDanmuSegments(e){return new vt({type:"animeko",segmentList:[{type:"animeko",segment_start:0,segment_end:3e4,url:String(e)}]})}async getEpisodeSegmentDanmu(e){let r=(e.url||"").trim();return r?this.getEpisodeDanmu(r):[]}formatComments(e){if(!Array.isArray(e))return[];let r={NORMAL:1,TOP:5,BOTTOM:4};return e.filter(n=>n&&n.danmakuInfo).map(n=>{let s=n.danmakuInfo,i=(Number(s.playTime)/1e3).toFixed(2),a=r[s.location]||1,o=s.color===-1?16777215:s.color,c=O.danmuSimplifiedTraditional==="simplified"?Gt(s.text):s.text;return{cid:n.id,p:`${i},${a},${o},[animeko]`,m:c}})}};Pt();St();ar();hn();hs();var lw=class extends wt{async search(e){}async getEpisodes(e){}async handleAnimes(e,r,n,s=null){}async getEpisodeDanmu(e){try{let r=await ge(`${O.otherServer}/?url=${e}&ac=dm`,{headers:{"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}});return _("info",`[Other] danmu response from ${O.otherServer}: \u2193\u2193\u2193`),ts(r.data),r.data}catch(r){return _("error",`[Other] \u8BF7\u6C42 ${O.otherServer} \u5931\u8D25:`,r),[]}}async getEpisodeDanmuSegments(e){return _("info","[Other] \u83B7\u53D6\u7B2C\u4E09\u65B9\u670D\u52A1\u5668\u5F39\u5E55\u5206\u6BB5\u5217\u8868...",e),new vt({type:"other_server",segmentList:[{type:"other_server",segment_start:0,segment_end:3e4,url:e}]})}async getEpisodeSegmentDanmu(e){return this.getEpisodeDanmu(e.url)}formatComments(e){return e}};hs();var vst=new QT,Cst=new GT,dw=new JT,fw=new XT,pw=new Tg,mw=new ZT,g4=new ew,z0=new wg,K0=new Pg,Y0=new Rg,Dg=new Ng,Tu=new Og,J0=new gst,kg=new sw,Lg=new iw,Bg=new yst,Mg=new xst,Wg=new ow,hw=new uw,Bie=new lw,Mie=new zT(z0,Y0,K0,Tu,J0),Ist=new VT(Mie),l4=new Map;function _st(t){let e=Number(t||0);return!Number.isFinite(e)||e<=0?0:e>6*60*60?e/1e3:e}function Tst(t,e=!1){return e?String(t||O.danmuOutputFormat||"json").toLowerCase()==="json":!1}function d4(t,e=null){return e===null?t:{videoDuration:e,...t}}function $mr(t){let e=_st(t?.duration||t?.videoDuration||0);if(e>0)return e;let r=Array.isArray(t?.segmentList)?t.segmentList:[];if(!r.length)return 0;let n=0;return r.forEach(s=>{let i=_st(s?.segment_end||0);i<=0||i>n&&(n=i)}),n>0?n:0}async function Wie(t){if(!/^https?:\/\//i.test(t))return 0;try{let e=t,r=null;return e.includes(".qq.com")?r=await be.run("tencent",()=>z0.getComments(e,"qq",!0)):e.includes(".iqiyi.com")?r=await be.run("iqiyi",()=>Y0.getComments(e,"qiyi",!0)):e.includes(".mgtv.com")?r=await be.run("mango",()=>Dg.getComments(e,"imgo",!0)):e.includes(".bilibili.com")||e.includes("b23.tv")?(e.includes("b23.tv")&&(e=await be.run("bilibili",()=>Tu.resolveB23Link(e))),r=await be.run("bilibili",()=>Tu.getComments(e,"bilibili1",!0))):e.includes(".youku.com")?r=await be.run("youku",()=>K0.getComments(e,"youku",!0)):e.includes(".miguvideo.com")?r=await be.run("migu",()=>J0.getComments(e,"migu",!0)):e.includes(".sohu.com")?r=await be.run("sohu",()=>kg.getComments(e,"sohu",!0)):e.includes(".le.com")?r=await be.run("leshi",()=>Lg.getComments(e,"leshi",!0)):e.includes(".douyin.com")||e.includes(".ixigua.com")?r=await be.run("xigua",()=>Bg.getComments(e,"xigua",!0)):e.includes(".mddcloud.com.cn")?r=await be.run("maiduidui",()=>Mg.getComments(e,"maiduidui",!0)):e.includes(".yfsp.tv")&&(r=await be.run("aiyifan",()=>Wg.getComments(e,"aiyifan",!0))),$mr(r)}catch(e){return _("warn",`[system] [Duration] \u83B7\u53D6\u65F6\u957F\u5931\u8D25: ${e.message}`),0}}function Fmr(t){return String(t||"").split(Iu).map(e=>{let r=e.indexOf(":");return r===-1?e.trim():e.slice(r+1).trim()}).filter(Boolean)}async function f4(t){if(!t)return 0;try{let e=t.includes(Iu)?Fmr(t):[t];return(await Promise.all(e.map(Wie))).reduce((n,s)=>Math.max(n,s||0),0)}catch(e){return _("warn",`[system] [Duration] \u83B7\u53D6\u65F6\u957F\u5931\u8D25: ${e.message}`),0}}function p4(t,e){if(!e)return!0;let r=W0(t.animeTitle);return r?r===e:!0}function Umr(t,e,r){let n=t.animeTitle.match(/^(.*?)\(\d{4}\)/),s=n?n[1].trim():t.animeTitle.split("(")[0].trim(),i=Fr(s),a=Fr(e);if(i.includes(a)){if(i.startsWith(a)){let o=i.substring(a.length).trim();if(o===""&&r===1)return!0;let c=o.match(/\d+/);if(c&&c[0]===r.toString())return!0;let u=o.match(/[一二三四五å…七八ä¹å壹贰å肆ä¼é™†æŸ’æŒçŽ–æ‹¾]+/);if(u&&tg(u[0])===r)return!0}return!1}else return!1}function Lie(t,e,r,n,s){if(r===null||e===null)return!0;let i=[];s&&(i=s.split("&").map(o=>o.trim().toLowerCase()).filter(o=>o)),i.length===0&&(i=["_any_"]);let a=!0;for(let o of i){let c=!1,u=new Map,l=!1;for(let d of t){let f=m4(d.animeTitle)||d.source;if(o!=="_any_"&&Hf(f,o)===0)continue;l=!0;let p=Fg(d,n);if(p?.success&&p.bangumi?.episodes){let m=p.bangumi.episodes.filter(y=>!O.episodeTitleFilter.test(y.episodeTitle)),h=$g(m);if(h.some(y=>lf(y.episodeTitle)===r)){c=!0;break}let A=[d.animeTitle];d.aliases&&Array.isArray(d.aliases)&&A.push(...d.aliases);let g=null;for(let y of A){if(!y)continue;let x=Tt(y).season;if(x!==null){g=x;break}}g===null&&(g=1);let b=u.get(g)||0;h.length>b&&u.set(g,h.length)}}if(l&&!c){let d=0;for(let f of u.values())d+=f;if(d<r){a=!1;break}}}return a}async function Sst(t,e,r,n,s,i=null,a=null){let{vod:o,360:c,tmdb:u,douban:l,renren:d,hanjutv:f,bahamut:p,dandan:m,custom:h,tencent:A,youku:g,iqiyi:b,imgo:y,bilibili:x,migu:v,sohu:C,leshi:R,xigua:w,maiduidui:N,aiyifan:P,animeko:L}=t,M=O.sourceOrderArr.filter(W=>t[W]!==void 0),k=[];for(let W of M){let F=[],V=new Map;if(W==="360")k.push({key:W,animes:F,detailStore:V,promise:be.run(Cn(W),()=>vst.handleAnimes(c,e,F,V,s))});else if(W==="vod"){if(o&&Array.isArray(o)){let j=be.run(W,()=>(async()=>{for(let J of o)J&&J.list&&J.list.length>0&&await Cst.handleAnimes(J.list,e,F,J.serverName,V,s)})());k.push({key:W,animes:F,detailStore:V,promise:j})}}else W==="tmdb"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Ist.handleAnimes(u,e,F,V,s))}):W==="douban"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Mie.handleAnimes(l,e,F,V,s))}):W==="renren"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>dw.handleAnimes(d,e,F,V,s))}):W==="hanjutv"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>fw.handleAnimes(f,e,F,V,s))}):W==="bahamut"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>pw.handleAnimes(p,e,F,V,s))}):W==="dandan"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>mw.handleAnimes(m,e,F,V,s))}):W==="custom"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>g4.handleAnimes(h,e,F))}):W==="tencent"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>z0.handleAnimes(A,e,F,V,s))}):W==="youku"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>K0.handleAnimes(g,e,F,V,s))}):W==="iqiyi"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Y0.handleAnimes(b,e,F,V,s))}):W==="imgo"?k.push({key:W,animes:F,detailStore:V,promise:be.run(Cn(W),()=>Dg.handleAnimes(y,e,F,V,s))}):W==="bilibili"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Tu.handleAnimes(x,e,F,V,s))}):W==="migu"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>J0.handleAnimes(v,e,F,V,s))}):W==="sohu"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>kg.handleAnimes(C,e,F,V,s))}):W==="leshi"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Lg.handleAnimes(R,e,F,V,s))}):W==="xigua"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Bg.handleAnimes(w,e,F,V,s))}):W==="maiduidui"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Mg.handleAnimes(N,e,F,V,s))}):W==="aiyifan"?k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>Wg.handleAnimes(P,e,F,V,s))}):W==="animeko"&&k.push({key:W,animes:F,detailStore:V,promise:be.run(W,()=>hw.handleAnimes(L,e,F,V,s))})}let B=await Promise.allSettled(k.map(W=>W.promise)),Z=new Set(r.map(W=>W.animeId));for(let W=0;W<k.length;W++){if(B[W].status==="rejected"){_("error",`[system] [executeSourceHandlers] \u6E90 ${k[W].key} \u5904\u7406\u5931\u8D25: ${B[W].reason}`);continue}let{animes:F,detailStore:V}=k[W];for(let j of F)Z.has(j.animeId)||(r.push(j),Z.add(j.animeId));for(let[j,J]of V)n.has(j)||n.set(j,J)}}async function sE(t,e=null,r=null,n=null,s=null){let i=t.searchParams.get("keyword"),a=t.searchParams.get("season");a=a?parseInt(a,10):null;let o=t.searchParams.get("episode");if(o=o?parseInt(o,10):null,_("info",`[system] [searchAnime] Search anime with keyword: ${i}, target season: ${a}, target episode: ${o}`),i==="")return Be({errorCode:0,success:!0,errorMessage:"",animes:[]});if(O.animeTitleSimplified){let A=Gt(i);_("info",`[system] [searchAnime] searchAnime converted traditional to simplified: ${i} -> ${A}`),i=A}let c=n instanceof Map?n:new Map,u=a!==null?`${i}_S${a}`:i,l=DC(u,c);if(l===null&&a!==null){let A=DC(i,c);A!==null&&(_("info",`[system] [searchAnime] Cache miss for ${u}, fallback to generic cache for ${i}`),l=A)}if(l!==null){let A=Lie(l,a,o,c,s);if(A)return Be({errorCode:0,success:!0,errorMessage:"",animes:l});{let g=a+1,b=[...l],y=!1;for(;!A&&!y;){let x=`${i}_S${g}`,v=DC(x,c);v!==null&&v.length>0?(b.push(...v),A=Lie(b,a,o,c,s),g++):y=!0}if(A)return _("info",`[system] [LogVar-API] Episode ${o} satisfied by combining cached seasons S${a} to S${g-1}`),Be({errorCode:0,success:!0,errorMessage:"",animes:b});_("info",`[system] [LogVar-API] Episode ${o} not satisfied in cache. Proceeding to network search.`)}}let d=[];if(/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}(:\d+)?(\/[^\s]*)?$/.test(i)){let A=F0.fromJson({animeId:0,bangumiId:"0",animeTitle:i,type:"",typeDescription:"\u94FE\u63A5\u89E3\u6790",imageUrl:"",startDate:"",episodeCount:1,rating:0,isFavorited:!0}),g="unknown";i.includes(".qq.com")?g="qq":i.includes(".iqiyi.com")?g="qiyi":i.includes(".mgtv.com")?g="imgo":i.includes(".youku.com")?g="youku":i.includes(".bilibili.com")?g="bilibili1":i.includes(".miguvideo.com")?g="migu":i.includes(".sohu.com")?g="sohu":i.includes(".le.com")?g="leshi":i.includes(".douyin.com")||i.includes(".ixigua.com")?g="xigua":i.includes(".mddcloud.com.cn")?g="maiduidui":i.includes(".yfsp.tv")&&(g="aiyifan");let b=await be.run(Cn(g),()=>C8e(i)),y=[{name:"\u624B\u52A8\u89E3\u6790\u94FE\u63A5\u5F39\u5E55",url:i,title:`\u3010${g}\u3011 ${b}`}];d.push(A),Lt(F0.fromJson({...A,links:y}),c),O.animes.length>O.MAX_ANIMES&&Ft(),O.localCacheValid&&d.length!==0&&await GL(),O.redisValid&&d.length!==0&&await DL(),O.localRedisValid&&d.length!==0&&await YB();let x=d.map(({links:v,...C})=>C);return Be({errorCode:0,success:!0,errorMessage:"",animes:x})}try{_("info",`[system] [LogVar-API] Search sourceOrderArr: ${O.sourceOrderArr}`);let A={},g={};for(let C of O.sourceOrderArr)C==="360"?g[C]=be.run(Cn(C),()=>vst.search(i)):C==="vod"?g[C]=be.run(Cn(C),()=>Cst.search(i,e,r)):C==="tmdb"?g[C]=be.run(Cn(C),()=>Ist.search(i)):C==="douban"?g[C]=be.run(Cn(C),()=>Mie.search(i)):C==="renren"?g[C]=be.run(Cn(C),()=>dw.search(i)):C==="hanjutv"?g[C]=be.run(Cn(C),()=>fw.search(i)):C==="bahamut"?g[C]=be.run(Cn(C),()=>pw.search(i)):C==="dandan"?g[C]=be.run(Cn(C),()=>mw.search(i)):C==="custom"?g[C]=be.run(Cn(C),()=>g4.search(i)):C==="tencent"?g[C]=be.run(Cn(C),()=>z0.search(i)):C==="youku"?g[C]=be.run(Cn(C),()=>K0.search(i)):C==="iqiyi"?g[C]=be.run(Cn(C),()=>Y0.search(i)):C==="imgo"?g[C]=be.run(Cn(C),()=>Dg.search(i)):C==="bilibili"?g[C]=be.run(Cn(C),()=>Tu.search(i)):C==="migu"?g[C]=be.run(Cn(C),()=>J0.search(i)):C==="sohu"?g[C]=be.run(Cn(C),()=>kg.search(i)):C==="leshi"?g[C]=be.run(Cn(C),()=>Lg.search(i)):C==="xigua"?g[C]=be.run(Cn(C),()=>Bg.search(i)):C==="maiduidui"?g[C]=be.run(Cn(C),()=>Mg.search(i)):C==="aiyifan"?g[C]=be.run(Cn(C),()=>Wg.search(i)):C==="animeko"&&(g[C]=be.run(Cn(C),()=>hw.search(i)));let b=O.sourceOrderArr.map(C=>{let R=[],w=new Map,N=g[C].then(async P=>{A[C]=P,await Sst({[C]:P},i,R,w,a,e,r)});return{key:C,animes:R,detailStore:w,promise:N}}),y=await Promise.allSettled(b.map(C=>C.promise)),x=new Set(d.map(C=>C.animeId));for(let C=0;C<b.length;C++){if(y[C].status==="rejected"){_("error",`[system] [searchAnime] \u6E90 ${b[C].key} \u7BA1\u9053\u5904\u7406\u5931\u8D25: ${y[C].reason}`);continue}let{animes:R,detailStore:w}=b[C];for(let N of R)x.has(N.animeId)||(d.push(N),x.add(N.animeId));for(let[N,P]of w)c.has(N)||c.set(N,P)}if(d.length>0&&kC(u,d.map(({links:C,...R})=>R),c),!Lie(d,a,o,c,s)&&a!==null){let C=a;for(let R of O.sourceOrderArr){let w=A[R];if(Array.isArray(w))for(let N of w){let P=N&&Array.isArray(N.list)?N.list:[N];for(let L of P){if(!L)continue;let M=Tt(L.animeTitle||L.title||"").season;M!==null&&M>C&&(C=M)}}}if(C>a){_("info",`[system] [LogVar-API] Episode ${o} not satisfied in Season ${a}. Parallel mapping to S${a+1}~S${C}...`);let R=[];for(let N=a+1;N<=C;N++)R.push((async()=>{let P=[];return await Sst(A,i,P,c,N,e,r),P.length>0&&kC(`${i}_S${N}`,P.map(({links:L,...M})=>M),c),P})());let w=await Promise.all(R);for(let N of w)d.push(...N)}}}catch(A){_("error","[system] [LogVar-API] \u53D1\u751F\u9519\u8BEF:",A)}let p=O.mergeSourcePairs&&O.mergeSourcePairs.length>0,m=O.customMergeRules&&O.customMergeRules.length>0;if((p||m)&&await Lnt(d,c),sK(d,i),O.enableAnimeEpisodeFilter){let A=[];for(let g of d){let b=g.animeTitle||"";if(O.animeTitleFilter&&O.animeTitleFilter.test(b)){_("info",`[searchAnime] Anime ${g.animeId} filtered by name: ${b}`);continue}let y=ig(g?.bangumiId,c,g?.source)||ig(g?.animeId,c,g?.source)||sg(g?.bangumiId,c,g?.source)||sg(g?.animeId,c,g?.source);if(y&&y.links){let x=y.links.map((v,C)=>({episodeId:v.id,episodeTitle:v.title,episodeNumber:C+1}));x=x.filter(v=>!O.episodeTitleFilter.test(v.episodeTitle)),_("info",`[searchAnime] Anime ${g.animeId} filtered episodes: ${x.length}/${y.links.length}`),x.length>0&&A.push(g)}}d.length=0,d.push(...A)}O.localCacheValid&&d.length!==0&&await GL(),O.redisValid&&d.length!==0&&await DL(),O.localRedisValid&&d.length!==0&&await YB();let h=d.map(({links:A,...g})=>g);if(h.length>0){let A=a!==null?`${i}_S${a}`:i;kC(A,h,c)}return Be({errorCode:0,success:!0,errorMessage:"",animes:h})}function $g(t){return t.filter((r,n,s)=>!s.slice(0,n).some(i=>i.episodeTitle===r.episodeTitle))}function Hf(t,e){if(!t||!e)return 0;let r=t.split("&").map(i=>i.trim().toLowerCase()).filter(i=>i),n=e.split("&").map(i=>i.trim().toLowerCase()).filter(i=>i),s=0;for(let i of n)r.some(o=>o===i||o.includes(i)&&i.length>2||i.includes(o)&&o.length>2)&&s++;return s===0?0:s*1e3-r.length}function m4(t){let e=t.match(/from\s+([a-zA-Z0-9&]+)/i);return e?e[1]:null}function h4(t,e,r,n=null){if(!t||t.length===0)return null;let s=t;if(n&&(s=t.filter(i=>{let a=rg(i.episodeTitle);return Hf(a,n)>0})),s.length===0)return null;for(let i of s){let a=lf(i.episodeTitle);if(e===r&&a===r)return _("info",`Found episode by title number: ${i.episodeTitle} (extracted: ${a})`),i}if(s.length>=r){let i=s[r-1];return _("info",`Using fallback array index for episode ${r}: ${i.episodeTitle}`),i}for(let i of s)if(i.episodeNumber&&parseInt(i.episodeNumber,10)===r)return _("info",`Found episode by episodeNumber: ${i.episodeTitle} (episodeNumber: ${i.episodeNumber})`),i;return null}async function qmr(t,e,r,n,s,i,a,o,c=null){let u=O.aiBaseUrl,l=O.aiModel,d=O.aiApiKey,f=O.aiMatchPrompt;if(!O.aiValid||!f)return _("warn","AI configuration is incomplete, falling back to normal matching"),{resEpisode:null,resAnime:null};let p=new ff({apiKey:d,baseURL:u,model:l,systemPrompt:f}),m={title:s,season:t,episode:e,year:r,dynamicPlatformOrder:a,preferAnimeId:o,animes:n.animes.map(h=>{let A=h.animeTitle||"",g=A.match(/^(.*?)\(\d{4}\)/),b=g?g[1].trim():A.split("(")[0].trim();return{animeId:h.animeId,animeTitle:b,aliases:h.aliases||[],type:h.type,year:h.startDate?h.startDate.slice(0,4):null,episodeCount:h.episodeCount,source:h.source}})};try{let h=JSON.stringify(m,null,2),A=await p.ask(h);_("info",`AI match response: ${A}`);let g;try{let C=A.match(/```json\s*([\s\S]*?)\s*```|```([\s\S]*?)\s*```|({[\s\S]*})/),R=C?C[1]||C[2]||C[3]:A;g=JSON.parse(R.trim())}catch(C){return _("error",`Failed to parse AI response: ${C.message}`),{resEpisode:null,resAnime:null}}let b=g.animeIndex;if(b==null)return{resEpisode:null,resAnime:null};let y=n.animes[b];if(!y)return _("error",`AI returned invalid anime index: ${b}`),{resEpisode:null,resAnime:null};let x=Fg(y,c);if(!x?.success||!x?.bangumi?.episodes)return{resEpisode:null,resAnime:null};let v=null;if(t&&e){let C=x.bangumi.episodes.filter(w=>!O.episodeTitleFilter.test(w.episodeTitle)),R=$g(C);_("info","\u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",R.map(w=>w.episodeTitle)),v=h4(R,e,e)}else x.bangumi.episodes.length>0&&(v=x.bangumi.episodes[0]);return{resEpisode:v,resAnime:y}}catch(h){return _("error",`AI matching failed: ${h.message}`),{resEpisode:null,resAnime:null}}}function Fg(t,e=null){let r=ig(t?.bangumiId,e,t?.source)||ig(t?.animeId,e,t?.source);return r?Fie(r,t?.bangumiId||t?.animeId||""):(_("warn",`[matchAnime] Missing request detail snapshot for anime ${t?.animeId??t?.bangumiId}`),null)}function wst(t,e,r,n,s){let i=String(e),a=t[i].match(/^([^:]+):(.+)$/),o=Number(a?.[1])||0,c=a?.[2]||"",u=r-o,l=n.findIndex(d=>d.episodeTitle===c);return l!==-1&&(s=l+u+1,_("info",`Applying offset "${t[i]}" for S${e}E${r} -> ${s}`)),s}function Rst(t,e,r,n,s,i,a){if(!n||!s)return{resEpisode:null,resAnime:null};_("info",`[system] [Spillover] \u5F53\u524D\u5B63\u96C6\u5339\u914D\u7B56\u7565\u5931\u8D25 (S${n}E${s})\uFF0C\u6B63\u5728\u8FDB\u884C\u8DE8\u5B63\u96C6\u6570\u6620\u5C04\u5339\u914D...`);let o=Fr(e),c=new Map;for(let f of t.animes){let p=[f.animeTitle];f.aliases&&Array.isArray(f.aliases)&&p.push(...f.aliases);let m=!1;for(let A of p)if(A&&Fr(A).includes(o)){if(!p4(f,r))continue;m=!0;break}if(!m)continue;let h=null;for(let A of p){if(!A)continue;let g=Tt(A).season;if(g!==null){h=g;break}}if(h===null&&(h=1),!c.has(h)){let A=Fg(f,a);if(A?.success&&A?.bangumi?.episodes){let g=A.bangumi.episodes.filter(y=>!O.episodeTitleFilter.test(y.episodeTitle)),b=$g(g);b.length>0&&c.set(h,{anime:f,episodes:b,actualPlatform:m4(f.animeTitle)||f.source})}}}let u=s,l=n,d={anime:null,episode:null,score:0};for(;c.has(l);){let f=c.get(l),p=f.episodes,m=null;for(let h of p)if(lf(h.episodeTitle)===s){m=h;break}if(m){if(i&&Hf(rg(m.episodeTitle),i)===0)break;_("info",`[system] [Spillover] \u8DE8\u5B63\u6EA2\u51FA\u67E5\u627E\u547D\u4E2D (\u6309\u7EDD\u5BF9\u6807\u9898\u6570\u5B57) -> \u6240\u5728\u5B63\uFF1AS${l} \u96C6\u6807\u9898\uFF1A${m.episodeTitle}`),d={anime:f.anime,episode:m,score:i?Hf(f.actualPlatform,i):1};break}if(u<=p.length){let h=p[u-1];if(i&&Hf(rg(h.episodeTitle),i)===0)break;_("info",`[system] [Spillover] \u8DE8\u5B63\u6EA2\u51FA\u67E5\u627E\u547D\u4E2D (\u6309\u76F8\u5BF9\u6392\u4F4D\u8BA1\u7B97) -> \u6240\u5728\u5B63\uFF1AS${l} \u96C6\u6807\u9898\uFF1A${h.episodeTitle}`),d={anime:f.anime,episode:h,score:i?Hf(f.actualPlatform,i):1};break}_("info",`[system] [Spillover] S${l} \u5171\u6709 ${p.length} \u96C6(\u5DF2\u8FC7\u6EE4\u756A\u5916)\uFF0C\u5269\u4F59\u76EE\u6807\u96C6\u6570\u4E3A ${u}\uFF0C\u6620\u5C04\u81F3 S${l+1} \u7EE7\u7EED\u67E5\u627E`),u-=p.length,l++}return{resEpisode:d.episode,resAnime:d.anime}}async function jmr(t,e,r,n,s,i,a,o,c,u=null){let l={anime:null,episode:null,score:-9999},d=Fr(s);for(let f of n.animes){if(O.rememberLastSelect&&o&&String(f.bangumiId)!==String(o)&&String(f.animeId)!==String(o))continue;let m=!1,h=[f.animeTitle];f.aliases&&Array.isArray(f.aliases)&&h.push(...f.aliases);for(let y of h)if(y){if(t&&e){if(Fr(y).includes(d)){if(!p4(f,r)){_("info",`Year mismatch: anime year ${W0(f.animeTitle)} vs query year ${r}`);continue}let x=O.rememberLastSelect&&o&&(String(f.bangumiId)===String(o)||String(f.animeId)===String(o)),v={...f,animeTitle:y};if(Umr(v,s,t)||x){m=!0;break}}}else if(y.split("(")[0].trim()===s){if(!p4(f,r)){_("info",`Year mismatch: anime year ${W0(f.animeTitle)} vs query year ${r}`);continue}m=!0;break}}if(!m)continue;let A=Fg(f,u);if(!A?.success||!A?.bangumi?.episodes)continue;_("info","\u5224\u65AD\u5267\u96C6",`Anime: ${f.animeTitle}`),_("info",A);let g=null,b=O.rememberLastSelect&&o!=null&&(String(f.bangumiId)===String(o)||String(f.animeId)===String(o));if(t&&e){let y=A.bangumi.episodes.filter(C=>!O.episodeTitleFilter.test(C.episodeTitle)),x=$g(y);_("info","\u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",x.map(C=>C.episodeTitle));let v=e;c&&c[String(t)]!==void 0&&(v=wst(c,t,e,x,v)),g=h4(x,e,v,a),!g&&b&&(_("info",`[system] [Match] \u4F18\u9009\u5267\u96C6\u672A\u547D\u4E2D\u76EE\u6807\u5E73\u53F0 ${a}\uFF0C\u653E\u5BBD\u6761\u4EF6\u63D0\u53D6\u96C6\u6570`),g=h4(x,e,v,null))}else if(A.bangumi.episodes.length>0)if(a){let y=A.bangumi.episodes.find(x=>{let v=rg(x.episodeTitle);return Hf(v,a)>0});y?g=y:b&&(_("info",`[system] [Match] \u4F18\u9009\u7535\u5F71\u672A\u547D\u4E2D\u76EE\u6807\u5E73\u53F0 ${a}\uFF0C\u653E\u5BBD\u6761\u4EF6\u63D0\u53D6\u8D44\u6E90`),g=A.bangumi.episodes[0])}else g=A.bangumi.episodes[0];if(g){let y=m4(f.animeTitle)||f.source,x=0;if(a?x=Hf(y,a):x=1,b&&(x+=9999),x>l.score&&(l={anime:f,episode:g,score:x}),!a||b)break}}if(!l.episode&&t&&e){let f=Rst(n,s,r,t,e,a,u);f.resEpisode&&(l={episode:f.resEpisode,anime:f.resAnime,score:a?Hf(m4(f.resAnime.animeTitle)||f.resAnime.source,a):1})}return{resEpisode:l.episode,resAnime:l.anime}}async function Hmr(t,e,r,n,s,i,a,o,c,u=null){for(let d of t.animes){if(s&&!p4(d,s)){_("info",`Fallback: Year mismatch: anime year ${W0(d.animeTitle)} vs query year ${s}`);continue}let f=Fg(d,u);if(!(!f?.success||!f?.bangumi?.episodes)){if(_("info",f),r&&n){let p=f.bangumi.episodes.filter(g=>!O.episodeTitleFilter.test(g.episodeTitle)),m=$g(p);_("info","[system] [LogVar-API] \u8FC7\u6EE4\u540E\u7684\u96C6\u6807\u9898",m.map(g=>g.episodeTitle));let h=n;c&&c[String(r)]!==void 0&&(h=wst(c,r,n,m,h));let A=h4(m,n,h,null);if(A){a=A,o=d;break}}else if(f.bangumi.episodes.length>0){a=f.bangumi.episodes[0],o=d;break}}}let l=!1;if(!a&&r&&n){let d=Rst(t,i,s,r,n,null,u);d.resEpisode&&(a=d.resEpisode,o=d.resAnime,l=!0)}return{resEpisode:a,resAnime:o,isSpillover:l}}async function Qmr(t){let e=/^(.+?)[.\s]+S(\d+)E(\d+)/i,r=t.match(e),n,s,i,a;if(r){n=r[1].trim(),s=parseInt(r[2],10),i=parseInt(r[3],10);let o=t.match(/(?:\.|\(|()((?:19|20)\d{2})(?:\)|)|\.|$)/);o&&(a=parseInt(o[1],10));let c=n.match(/^[\u4e00-\u9fa5·]+[^.\r\n]*/);if(c)n=c[0];else if(/^[A-Za-z0-9]/.test(n)){let u=n.match(/^([A-Za-z0-9.&\s]+?)(?=\.\d{4}|$)/);u&&(n=u[1].trim().replace(/[._]/g," "))}else{let u=n.split(/\.(?:19|20)\d{2}|2160p|1080p|720p|H265|iPhone/)[0],l=u.match(/^[\u4e00-\u9fa5·]+/);n=l?l[0]:u.trim()}n=n.replace(/\.\d{4}$/i,"").trim()}else{let o=/^([^.\s]+(?:[.\s][^.\s]+)*?)(?:[.\s](?:\d{4}|(?:19|20)\d{2}|\d{3,4}p|S\d+|E\d+|WEB|BluRay|Blu-ray|HDTV|DVDRip|BDRip|x264|x265|H\.?264|H\.?265|AAC|AC3|DDP|TrueHD|DTS|10bit|HDR|60FPS))/i,c=t.match(o);n=c?c[1].replace(/[._]/g," ").trim():t,s=null,i=null;let u=t.match(/(?:\.|\(|()((?:19|20)\d{2})(?:\)|)|\.|$)/);u&&(a=parseInt(u[1],10))}return O.titleToChinese&&(n=await xnt(n.replace("."," "),s,i)),_("info","[system] [Match] Parsed title, season, episode, year",{title:n,season:s,episode:i,year:a}),{title:n,season:s,episode:i,year:a}}function Nst(t,e,r,n){let s=new URL(t),i=s.pathname.replace(/\/(?:match|search\/episodes)$/,"");return s.pathname=`${i}/search/anime`,s.search="",s.searchParams.set("keyword",e||""),r!==void 0&&s.searchParams.set("season",r||""),n!==void 0&&s.searchParams.set("episode",n||""),s}async function Ost(t,e,r){try{let n=await e.json();if(!n)return _("error","[system] [Match] Request body is empty"),Be({errorCode:400,success:!1,errorMessage:"Empty request body"},400);let{fileName:s}=n;if(!s)return _("error","[system] [Match] Missing fileName parameter in request body"),Be({errorCode:400,success:!1,errorMessage:"Missing fileName parameter"},400);let{cleanFileName:i,preferredPlatform:a}=M8e(s);_("info",`[system] [Match] Processing anime match for query: ${s}`),_("info",`[system] [Match] Parsed cleanFileName: ${i}, preferredPlatform: ${a}`);let{title:o,season:c,episode:u,year:l}=await Qmr(i);if(O.titleMappingTable&&O.titleMappingTable.size>0){let N=O.titleMappingTable.get(o);N&&(o=N,_("info",`[system] [Match] Title mapped from original: ${t.searchParams.get("keyword")} to: ${o}`))}if(O.animeTitleSimplified){let N=Gt(o);_("info",`[system] [Match] matchAnime converted traditional to simplified: ${o} -> ${N}`),o=N}let[d,f,p]=aK(o,c);_("info",`[system] [Match] prefer animeId: ${d} from ${f}`);let m=W8e(a),h=m.length>0?m[0]:null,A=new Map,g=Nst(e.url,o,c,u),y=await(await sE(g,d,f,A,h)).json();_("info",`[system] [Match] searchData: ${y.animes}`);let x,v,C=!1,R={errorCode:0,success:!0,errorMessage:"",isMatched:!1,matches:[]};_("info",`[system] [Match] Original platformOrderArr: ${O.platformOrderArr}`),_("info",`[system] [Match] Dynamic platformOrder: ${m}`),_("info",`[system] [Match] Preferred platform: ${a||"none"}`);let w=await qmr(c,u,l,y,o,e,m,d,A);if(w.resAnime&&w.resEpisode)x=w.resAnime,v=w.resEpisode,R.isMatched=!0,_("info",`[system] [Match] AI match found: ${x.animeTitle}; episode: ${v.episodeTitle}`);else{for(let N of m){let P=await jmr(c,u,l,y,o,e,N,d,p,A);if(v=P.resEpisode,x=P.resAnime,x){R.isMatched=!0,_("info",`[system] [Match] Found match with platform: ${N||"default"}`);break}}if(!x){let N=await Hmr(y,e,c,u,l,o,v,x,p,A);v=N.resEpisode,x=N.resAnime,C=N.isSpillover}}return v&&(R.isMatched=!0,r&&!C&&eK(r,{title:o,season:c,episode:u,episodeId:v.episodeId}),R.matches=[BL.fromJson({episodeId:v.episodeId,animeId:x.animeId,animeTitle:x.animeTitle,episodeTitle:v.episodeTitle,type:x.type,typeDescription:x.typeDescription,shift:0,imageUrl:x.imageUrl})]),_("info",`[system] [Match] resMatchData: ${R}`),Be(R)}catch(n){return _("error",`[system] [Match] Failed to parse request body: ${n.message}`),Be({errorCode:400,success:!1,errorMessage:"Invalid JSON body"},400)}}async function Pst(t){let e=t.searchParams.get("anime"),r=t.searchParams.get("episode")||"";if(O.animeTitleSimplified){let c=Gt(e);_("info",`[system] [Episodes] searchEpisodes converted traditional to simplified: ${e} -> ${c}`),e=c}if(_("info",`[system] [Episodes] Search episodes with anime: ${e}, episode: ${r}`),!e)return _("error","[system] [Episodes] Missing anime parameter"),Be({errorCode:400,success:!1,errorMessage:"Missing anime parameter"},400);let n=Nst(t,e),s=new Map,a=await(await sE(n,null,null,s)).json();if(!a.success||!a.animes||a.animes.length===0)return _("info","[system] [Episodes] No anime found for the given title"),Be({errorCode:0,success:!0,errorMessage:"",hasMore:!1,animes:[]});let o=[];for(let c of a.animes){let u=sg(c.bangumiId,s,c.source)||sg(c.animeId,s,c.source),l=null;if(u)l=Fie(u,c.bangumiId);else{let d=new URL(`/bangumi/${c.bangumiId}`,t.origin);l=await(await $ie(d.pathname)).json()}if(l.success&&l.bangumi&&l.bangumi.episodes){let d=l.bangumi.episodes;if(r){if(r==="movie")d=l.bangumi.episodes.filter(f=>c.typeDescription&&(c.typeDescription.includes("\u7535\u5F71")||c.typeDescription.includes("\u5267\u573A\u7248")||f.episodeTitle.toLowerCase().includes("movie")||f.episodeTitle.includes("\u5267\u573A\u7248")));else if(/^\d+$/.test(r)){let f=parseInt(r);d=l.bangumi.episodes.filter(p=>parseInt(p.episodeNumber)===f)}}d.length>0&&o.push(WL.fromJson({animeId:c.animeId,animeTitle:c.animeTitle,type:c.type,typeDescription:c.typeDescription,episodes:d.map(f=>({episodeId:f.episodeId,episodeTitle:f.episodeTitle}))}))}}return _("info",`[system] [Episodes] Found ${o.length} animes with filtered episodes`),Be({errorCode:0,success:!0,errorMessage:"",animes:o})}async function $ie(t,e=null,r=null){let n=t.split("/").pop(),s=ig(n,e,r)||sg(n);return s?Be(Fie(s,n)):(_("error",`[system] [Bangumi] Anime with ID ${n} not found`),Be({errorCode:404,success:!1,errorMessage:"Anime not found",bangumi:null},404))}function Fie(t,e=""){_("info",`[system] [Bangumi] Fetched details for anime ID: ${e||t.bangumiId}`);let r=[];for(let s=0;s<t.links.length;s++){let i=t.links[s];r.push({seasonId:`season-${t.animeId}`,episodeId:i.id,episodeTitle:`${i.title}`,episodeNumber:`${s+1}`,airDate:t.startDate})}if(O.enableAnimeEpisodeFilter){if(r=r.filter(s=>!O.episodeTitleFilter.test(s.episodeTitle)),_("info",`[system] [getBangumi] Episode filter enabled. Filtered episodes: ${r.length}/${t.links.length}`),r.length===0)return _("warn",`[system] [getBangumi] No valid episodes after filtering for anime ID ${e||t.bangumiId}`),{errorCode:404,success:!1,errorMessage:"No valid episodes after filtering",bangumi:null};r=r.map((s,i)=>({...s,episodeNumber:`${i+1}`}))}return{errorCode:0,success:!0,errorMessage:"",bangumi:$L.fromJson({animeId:t.animeId,bangumiId:t.bangumiId,animeTitle:t.animeTitle,imageUrl:t.imageUrl,isOnAir:!0,airDay:1,isFavorited:t.isFavorited,rating:t.rating,type:t.type,typeDescription:t.typeDescription,seasons:[{id:`season-${t.animeId}`,airDate:t.startDate,name:"Season 1",episodeCount:t.episodeCount}],episodes:r})}}async function Gmr(t,e,r){let n=t.split(Iu),s=n.map(m=>{let h=m.indexOf(":");if(h===-1)return{realId:"",logicalSource:"",sourceLabel:""};let A=m.substring(0,h),g=m.substring(h+1);return A!=="hanjutv"?{realId:g,logicalSource:A,sourceLabel:A}:{realId:g,logicalSource:"hanjutv",sourceLabel:i4(g)}}),i=s.map(m=>m.logicalSource).filter(Boolean),a=s.map(m=>m.realId),o=s.map(m=>m.sourceLabel).filter(Boolean).join("\uFF06");_("info",`[Merge] \u5F00\u59CB\u83B7\u53D6 [${o}] \u805A\u5408\u5F39\u5E55...`);let c=df(t);if(c)return _("info",`[Merge] \u547D\u4E2D\u7F13\u5B58 [${o}]\uFF0C\u8FD4\u56DE ${c.length} \u6761`),c;let u={},l=s.map(async m=>{let h=m.logicalSource,A=m.sourceLabel||m.logicalSource,g=m.realId;if(!h||!g)return[];let b=`${h}:${g}`;if(l4.has(b)){_("info",`[Merge] \u590D\u7528\u6B63\u5728\u8FDB\u884C\u7684\u8BF7\u6C42: ${b}`);try{return await l4.get(b)||[]}catch{return[]}}let y=be.run(Cn(h),async()=>{let x=null;if(h==="renren"?x=dw:h==="hanjutv"?x=fw:h==="bahamut"?x=pw:h==="dandan"?x=mw:h==="tencent"?x=z0:h==="youku"?x=K0:h==="iqiyi"?x=Y0:h==="imgo"?x=Dg:h==="bilibili"?x=Tu:h==="migu"?x=J0:h==="sohu"?x=kg:h==="leshi"?x=Lg:h==="xigua"?x=Bg:h==="maiduidui"?x=Mg:h==="aiyifan"?x=Wg:h==="animeko"&&(x=hw),x)try{let v=await x.getEpisodeDanmu(g,n),C=x.formatComments(v);return _("info",`[${A}] \u83B7\u53D6\u5F39\u5E55 ${C.length} \u6761`),C&&Array.isArray(C)&&C.forEach(R=>{R._sourceLabel||(R._sourceLabel=A)}),u[A]=C.length,C}catch(v){return _("error",`[Merge] \u83B7\u53D6 ${A} \u5931\u8D25: ${v.message}`),u[A]=0,[]}return[]});l4.set(b,y);try{return await y}finally{l4.delete(b)}}),d=await Promise.all(l);if(Mnt(d,i,a),O.danmuOffsetRules?.length>0&&e&&r){let[,,m]=qL(r);if(m){let{baseTitle:h,season:A,episode:g}=Jz(e,m);A||=1,g||=UL(r)+1;let b=`S${A.toString().padStart(2,"0")}`,y=`E${g.toString().padStart(2,"0")}`;for(let x=0;x<d.length;x++){let v=d[x],C=Ez(O.danmuOffsetRules,{anime:h,season:b,episode:y,source:i[x]}),R=C?.offset||0;if(R!==0){let w=a[x],N=C?.usePercent?await Wie(w):0,P=C?.usePercent?"%":"s";_("info",`[Merge] \u5E94\u7528\u504F\u79FB ${R}${P} -> ${i[x]} (${h}/${b}/${y})${C?.usePercent?`, duration=${N}s`:""}`),d[x]=_z(v,R,{usePercent:C?.usePercent,videoDuration:N})}}}}let f=[];d.forEach(m=>{f=Bnt(f,m)});let p=Object.entries(u).map(([m,h])=>`${m}: ${h}`).join(", ");return _("info",`[Merge] \u805A\u5408\u539F\u59CB\u6570\u636E\u5B8C\u6210: \u603B\u8BA1 ${f.length} \u6761 (${p})`),MC(f,o)}async function Uie(t,e,r,n,s=!1){let i=parseInt(t.split("/").pop()),a=nK(i),o=BC(i),c=rK(i),u=c?(c.match(/ã€(.*?)】/)||[null])[0]?.replace(/[ã€ã€‘]/g,""):null,l=Tst(e,s);if(_("info","[system] [LogVar-API] comment url...",o),_("info","[system] [LogVar-API] comment title...",c),_("info","[system] [LogVar-API] comment platform...",u),!o)return _("error",`[system] [LogVar-API] Comment with ID ${i} not found`),Be({count:0,comments:[]},404);_("info",`[system] [LogVar-API] Fetched comment ID: ${i}`);let d=df(o);if(d!==null){let y=d4({count:d.length,comments:d},l?await f4(o):null);return ag(y,e)}_("info","[system] [LogVar-API] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5F39\u5E55...",o);let f=[],p=l?f4(o):null;if(o&&o.includes(Iu))f=await Gmr(o,a,i);else{o.includes(".qq.com")?f=await be.run("tencent",()=>z0.getComments(o,u,r)):o.includes(".iqiyi.com")?f=await be.run("iqiyi",()=>Y0.getComments(o,u,r)):o.includes(".mgtv.com")?f=await be.run("mango",()=>Dg.getComments(o,u,r)):o.includes(".bilibili.com")||o.includes("b23.tv")?(o.includes("b23.tv")&&(o=await be.run("bilibili",()=>Tu.resolveB23Link(o))),f=await be.run("bilibili",()=>Tu.getComments(o,u,r))):o.includes(".youku.com")?f=await be.run("youku",()=>K0.getComments(o,u,r)):o.includes(".miguvideo.com")?f=await be.run("migu",()=>J0.getComments(o,u,r)):o.includes(".sohu.com")?f=await be.run("sohu",()=>kg.getComments(o,u,r)):o.includes(".le.com")?f=await be.run("leshi",()=>Lg.getComments(o,u,r)):o.includes(".douyin.com")||o.includes(".ixigua.com")?f=await be.run("xigua",()=>Bg.getComments(o,u,r)):o.includes(".mddcloud.com.cn")?f=await be.run("maiduidui",()=>Mg.getComments(o,u,r)):o.includes(".yfsp.tv")&&(f=await be.run("aiyifan",()=>Wg.getComments(o,u,r)));let y=/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i;y.test(o)||(u==="renren"?f=await be.run("renren",()=>dw.getComments(o,u,r)):u==="hanjutv"?f=await be.run("hanjutv",()=>fw.getComments(o,u,r)):u==="bahamut"?f=await be.run("bahamut",()=>pw.getComments(o,u,r)):u==="dandan"?f=await be.run("dandan",()=>mw.getComments(o,u,r)):u==="custom"?f=await be.run("custom",()=>g4.getComments(o,u,r)):u==="animeko"&&(f=await be.run("animeko",()=>hw.getComments(o,u,r)))),(!f||f.length===0)&&y.test(o)&&(f=await be.run("other",()=>Bie.getComments(o,"other_server",r)))}let[m,h,A,g]=qL(i);if(m&&h){let y=null,x=null,v=null;if(n){let R=tK(n);R&&R.title&&R.season&&R.episode&&A&&(y=R.title,x=R.season,v=`${R.episode}:${A}`,_("info",`[system] [LogVar-API] Calculated episode offset for IP ${n}: Query E${R.episode}, Selected ${A} -> Offset ${v} (Season ${x})`))}_("info",`[system] [LogVar-API] animeTitle\uFF1A${a}; lastTitle\uFF1A${y}; titleMatches\uFF1A${yt(a,y)}`),(yt(a,y)||Array.isArray(g)&&g.some(R=>yt(R,y)))&&(_("info","[system] [LogVar-API] excute setPreferByAnimeId"),iK(m,h,x,v)),O.localCacheValid&&m&&QL("lastSelectMap",JSON.stringify(Object.fromEntries(O.lastSelectMap))),O.redisValid&&m&&Hz("lastSelectMap",O.lastSelectMap).catch(R=>_("error","[system] [LogVar-API] Redis set error",R)),O.localRedisValid&&m&&KB("lastSelectMap",O.lastSelectMap)}if(a&&A&&O.danmuOffsetRules?.length>0&&!(o&&o.includes(Iu))){let{baseTitle:y,season:x,episode:v}=Jz(a,A);x||=1,v||=UL(i)+1;let C=`S${x.toString().padStart(2,"0")}`,R=`E${v.toString().padStart(2,"0")}`,w=Ez(O.danmuOffsetRules,{anime:y,season:C,episode:R,source:h}),N=w?.offset||0;if(N!==0){let P=w?.usePercent?await Wie(o):0;_("info",`[system] [LogVar-API] Applying danmu offset: ${N}${w?.usePercent?"%":"s"} for ${y}/${C}/${R}${w?.usePercent?`, duration=${P}s`:""}`),f=_z(f,N,{usePercent:w?.usePercent,videoDuration:P})}}r||(f&&f.comments&&(f=f.comments),Array.isArray(f)||(f=[]),f.length>0&&LC(o,f));let b=d4({count:f.length,comments:f},p?await p:null);return ag(b,e)}async function qie(t,e,r,n=!1){try{if(!t||typeof t!="string")return _("error","[system] [LogVar-API] Missing or invalid url parameter"),Be({errorCode:400,success:!1,errorMessage:"Missing or invalid url parameter",count:0,comments:[]},400);if(t=t.trim(),!t.startsWith("http"))return _("error","[system] [LogVar-API] Invalid url format, must start with http or https"),Be({errorCode:400,success:!1,errorMessage:"Invalid url format, must start with http or https",count:0,comments:[]},400);_("info",`[system] [LogVar-API] Processing comment request for URL: ${t}`);let s=t,i=Tst(e,n),a=df(s);if(a!==null){let l=d4({errorCode:0,success:!0,errorMessage:"",count:a.length,comments:a},i?await f4(s):null);return ag(l,e)}_("info","[system] [LogVar-API] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5F39\u5E55...",s);let o=[],c=i?f4(s):null;s.includes(".qq.com")?o=await be.run("tencent",()=>z0.getComments(s,"qq",r)):s.includes(".iqiyi.com")?o=await be.run("iqiyi",()=>Y0.getComments(s,"qiyi",r)):s.includes(".mgtv.com")?o=await be.run("mango",()=>Dg.getComments(s,"imgo",r)):s.includes(".bilibili.com")||s.includes("b23.tv")?(s.includes("b23.tv")&&(s=await be.run("bilibili",()=>Tu.resolveB23Link(s))),o=await be.run("bilibili",()=>Tu.getComments(s,"bilibili1",r))):s.includes(".youku.com")?o=await be.run("youku",()=>K0.getComments(s,"youku",r)):s.includes(".miguvideo.com")?o=await be.run("migu",()=>J0.getComments(s,"migu",r)):s.includes(".sohu.com")?o=await be.run("sohu",()=>kg.getComments(s,"sohu",r)):s.includes(".le.com")?o=await be.run("leshi",()=>Lg.getComments(s,"leshi",r)):s.includes(".douyin.com")||s.includes(".ixigua.com")?o=await be.run("xigua",()=>Bg.getComments(s,"xigua",r)):s.includes(".mddcloud.com.cn")?o=await be.run("maiduidui",()=>Mg.getComments(s,"maiduidui",r)):s.includes(".yfsp.tv")?o=await be.run("aiyifan",()=>Wg.getComments(s,"aiyifan",r)):/^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/.*)?$/i.test(s)&&(o=await be.run("other",()=>Bie.getComments(s,"other_server",r))),_("info",`[system] [LogVar-API] Successfully fetched ${o.length} comments from URL`),o.length>0&&LC(s,o);let u=d4({errorCode:0,success:!0,errorMessage:"",count:o.length,comments:o},c?await c:null);return ag(u,e)}catch(s){return _("error",`[system] [LogVar-API] Failed to process comment by URL request: ${s.message}`),Be({errorCode:500,success:!1,errorMessage:"Internal server error",count:0,comments:[]},500)}}async function Dst(t,e){try{let r=t.url,n=t.type;if(!r||typeof r!="string")return _("error","[system] [SegmentComment] Missing or invalid url parameter"),Be({errorCode:400,success:!1,errorMessage:"Missing or invalid url parameter",count:0,comments:[]},400);r=r.trim(),_("info",`[system] [SegmentComment] Processing segment comment request for URL: ${r}`);let s=df(r);if(s!==null){let o={errorCode:0,success:!0,errorMessage:"",count:s.length,comments:s};return ag(o,e)}_("info",`[system] [SegmentComment] \u5F00\u59CB\u4ECE\u672C\u5730\u8BF7\u6C42\u5206\u6BB5\u5F39\u5E55... URL: ${r}`);let i=[];n==="qq"?i=await be.run("tencent",()=>z0.getSegmentComments(t)):n==="qiyi"?i=await be.run("iqiyi",()=>Y0.getSegmentComments(t)):n==="imgo"?i=await be.run("mango",()=>Dg.getSegmentComments(t)):n==="bilibili1"?i=await be.run("bilibili",()=>Tu.getSegmentComments(t)):n==="youku"?i=await be.run("youku",()=>K0.getSegmentComments(t)):n==="migu"?i=await be.run("migu",()=>J0.getSegmentComments(t)):n==="sohu"?i=await be.run("sohu",()=>kg.getSegmentComments(t)):n==="leshi"?i=await be.run("leshi",()=>Lg.getSegmentComments(t)):n==="xigua"?i=await be.run("xigua",()=>Bg.getSegmentComments(t)):n==="maiduidui"?i=await be.run("maiduidui",()=>Mg.getSegmentComments(t)):n==="aiyifan"?i=await be.run("aiyifan",()=>Wg.getSegmentComments(t)):n==="hanjutv"?i=await be.run("hanjutv",()=>fw.getSegmentComments(t)):n==="bahamut"?i=await be.run("bahamut",()=>pw.getSegmentComments(t)):n==="renren"?i=await be.run("renren",()=>dw.getSegmentComments(t)):n==="dandan"?i=await be.run("dandan",()=>mw.getSegmentComments(t)):n==="animeko"?i=await be.run("animeko",()=>hw.getSegmentComments(t)):n==="custom"?i=await be.run("custom",()=>g4.getSegmentComments(t)):n==="other_server"&&(i=await be.run("other",()=>Bie.getSegmentComments(t))),_("info",`[system] [SegmentComment] Successfully fetched ${i.length} segment comments from URL`),i.length>0&&LC(r,i);let a={errorCode:0,success:!0,errorMessage:"",count:i.length,comments:i};return ag(a,e)}catch(r){return _("error",`[system] [SegmentComment] Failed to process segment comment request: ${r.message}`),Be({errorCode:500,success:!1,errorMessage:"Internal server error",count:0,comments:[]},500)}}Pt();ar();St();no();hn();var Vmr=[[/[\(\[(ã€]\s*(19|20)\d{2}\s*[\)\])】]/g," "],[/\b(19|20)\d{2}\b/g," "],[/\b(?:2160p|1080p|720p|4k|web-?dl|web-?rip|blu-?ray|hdr|dv|x265|x264|h\.?265|h\.?264|60fps)\b/gi," "],[/[_.-]+/g," "]],zmr=[[/\[[^\]]*\]/g," "],[/[ã€ï¼ˆ(][^】))]*[】))]/g," "],[/\.(mp4|mkv|avi|rmvb|ts|flv|mov|m4v)$/gi," "],[/\b(?:2160p|1080p|720p|4k|web-?dl|web-?rip|blu-?ray|hdr|dv|x265|x264|h\.?265|h\.?264|60fps|aac|flac|dts)\b/gi," "],[/[_~.-]+/g," "]],Kmr=[{pattern:/[Ss]\d{1,2}\s*[Ee](\d{1,4})/,group:1},{pattern:/第\s*([零一二三四五å…七八ä¹å百零〇两\d]+)\s*[集期è¯ç« 回段篇]/,group:1,chinese:!0},{pattern:/[Ee][Pp]?\.?\s*(\d{1,4})/,group:1},{pattern:/[Ee](\d{1,4})(?:\s|$|\.)/,group:1},{pattern:/Episode\s*(\d{1,4})/i,group:1},{pattern:/(?:æ£åœ¨)?æ’æ”¾[::]\s*(\d{1,4})/,group:1},{pattern:/(?:第\s*)?[零一二三四五å…七八ä¹å百\d]+\s*å£\s*[||]\s*(\d{1,4})/,group:1},{pattern:/[\[ã€\((](\d{1,4})[\]】\))]/,group:1},{pattern:/@@@(\d{1,4})/,group:1},{pattern:/(?:^|[\s_\-])(\d{1,4})x(?:[\s_\-]|$)/i,group:1},{pattern:/\s(\d{1,4})\.(?:mp4|mkv|avi|mov|mp3|1080|720|4k|2k)/i,group:1},{pattern:/[_\-](\d{1,4})(?:\s|$|\.)/,group:1},{pattern:/\s(\d{1,4})\s/,group:1},{pattern:/\s(\d{1,4})$/,group:1},{pattern:/^(\d{1,4})\s/,group:1},{pattern:/(\d{1,4})(?:\s|$)$/,group:1}],Ymr=[{pattern:/(\d{4})[.\-\/å¹´](\d{1,2})[.\-\/月](\d{1,2})/,type:"ymd"},{pattern:/(\d{4})(\d{2})(\d{2})/,type:"ymd_compact"}];function A4(t){let e=String(t||"").trim();if(!e)return"";if(O.animeTitleSimplified)try{e=Gt(e)}catch{}return Fr(e.toLowerCase())}function kst(t){let e=String(t||"").replace(/\D/g,"");return e.length>=8?e.slice(0,8):""}function Jmr(t){let e=String(t||"");return Vmr.forEach(([r,n])=>{e=e.replace(r,n)}),e}function Bst(t){let e=String(t||"");return zmr.forEach(([n,s],i)=>{e=e.replace(n,s)}),e.replace(/\s+/g," ").trim()}function Lst(t){if(!t)return null;let e=String(t);for(let{pattern:s,group:i,chinese:a}of Kmr){let o=e.match(s);if(o&&o[i]!==void 0){let c=o[i];if(a){let u=tg(c);if(u!==null&&!isNaN(u))return u}else{let u=parseInt(c,10);if(!isNaN(u)&&u>0&&u<1e4)return u}}}for(let{pattern:s,type:i}of Ymr){let a=e.match(s);if(a){if(i==="ymd"){let o=parseInt(a[1],10),c=parseInt(a[2],10),u=parseInt(a[3],10);if(o>=2e3&&o<=2099&&c>=1&&c<=12&&u>=1&&u<=31)return o*1e4+c*100+u}else if(i==="ymd_compact"){let o=parseInt(a[1],10),c=parseInt(a[2],10),u=parseInt(a[3],10);if(o>=2e3&&o<=2099&&c>=1&&c<=12&&u>=1&&u<=31)return o*1e4+c*100+u}}}let r=Bst(t),n=lf(r);return n!==null?n:null}function Xmr(t){let e=String(t||"").trim();if(!e)return[];let r=[],n=a=>{let o=Fr(String(a||"").trim());!o||r.includes(o)||r.push(o)};n(e);let s=Fr(Jmr(e)).trim();s&&s!==e&&n(s);let i=Fr(e.replace(/[\(\[(ã€].*$/,"")).trim();return i&&i!==e&&n(i),r.sort((a,o)=>a.length-o.length)}function Zmr(t){let e=new URL(t.url),r=e.pathname.replace(/\/+$/,""),n="/api/v2/",s="/danmaku",i="",a=r.indexOf(n);if(a>=0)i=r.slice(0,a);else{let o=r.indexOf(s);o>=0?i=r.slice(0,o):i=r}return`${e.origin}${i}`}async function ehr(t,e){if(e.method==="GET")return{name:t.searchParams.get("name")||"",episode:t.searchParams.get("episode")||""};try{let r=e.clone(),n=(r.headers.get("content-type")||"").toLowerCase();if(n.includes("application/json")){let i=await r.json();return{name:i?.name||"",episode:i?.episode||""}}if(n.includes("application/x-www-form-urlencoded")||n.includes("multipart/form-data")){let i=await r.formData();return{name:i.get("name")||"",episode:i.get("episode")||""}}let s=await r.text();if(s)try{let i=JSON.parse(s);return{name:i?.name||"",episode:i?.episode||""}}catch{let a=new URLSearchParams(s);return{name:a.get("name")||"",episode:a.get("episode")||""}}}catch(r){_("warn",`[system] [Fongmi] \u89E3\u6790\u8BF7\u6C42\u53C2\u6570\u5931\u8D25: ${r.message}`)}return{name:"",episode:""}}function thr(t,e,r,n){let s=Math.max(0,200-n),i=Bst(r),a=A4(i);if(!a)return s;let o=e?.episodeTitle||"",c=A4(o),u=A4(rg(o)),l=A4(t?.animeTitle||"");(c===a||u===a)&&(s+=1e4),(c.includes(a)||a.includes(c))&&(s+=4500),u&&(u.includes(a)||a.includes(u))&&(s+=2500);let d=Lst(i),f=Lst(o),p=parseInt(e?.episodeNumber||`${n+1}`,10);d!==null&&f!==null&&d===f&&(s+=7e3),d!==null&&Number.isFinite(p)&&d===p&&(s+=4e3);let m=kst(i),h=kst(o);return m&&h&&m===h&&(s+=9e3),m&&a.includes(m)&&(s+=800),l.includes("\u7EFC\u827A")&&m&&h&&(s+=1200),l.includes("\u7EFC\u827A")&&m&&!h&&d===null&&(s-=1500),s}function rhr(t,e,r){let n=[];for(let s of t){let i=Fg(s,e);if(!i?.success||!i?.bangumi?.episodes?.length)continue;let a=i.bangumi.episodes;O.enableAnimeEpisodeFilter&&(a=a.filter(o=>!O.episodeTitleFilter.test(o.episodeTitle))),a=$g(a),a.forEach((o,c)=>{let u=`${r}/api/v2/comment/${encodeURIComponent(o.episodeId)}?format=xml`;n.push({anime:s,episode:o,index:c,commentUrl:u})})}return n}async function jie(t,e){let{name:r,episode:n}=await ehr(t,e);if(!r)return Be([],200);if(O.titleMappingTable&&O.titleMappingTable.size>0){let f=O.titleMappingTable.get(r);f&&(_("info",`[system] [Fongmi] Title mapped from original: ${r} to: ${f}`),r=f)}let s=new URL(t.toString()),i=new Map,a=Xmr(r),o=[];for(let f of a){s.searchParams.set("keyword",f);let m=await(await sE(s,null,null,i)).json();if(o=Array.isArray(m?.animes)?m.animes:[],o.length){f!==r&&_("info",`[system] [Fongmi] Search fallback hit: raw=${r}, keyword=${f}, episode=${n}`);break}}if(!o.length)return _("info",`[system] [Fongmi] No danmaku candidates for name=${r}, episode=${n}`),Be([],200);let c=Zmr(e),u=rhr(o,i,c).map(f=>({...f,score:thr(f.anime,f.episode,n,f.index)})).sort((f,p)=>p.score-f.score),l=new Set,d=[];for(let f of u)if(!(!f?.commentUrl||l.has(f.commentUrl))&&(l.add(f.commentUrl),d.push({name:`${f.anime.animeTitle} - ${f.episode.episodeTitle}`,url:f.commentUrl}),d.length>=1e3))break;return _("info",`[system] [Fongmi] name=${r}, episode=${n}, candidates=${d.length}`),Be(d,200)}Pt();ar();Pt();var Mst=`
|
|
/* \u57FA\u7840\u6837\u5F0F - Zen-iOS Hybrid Design */
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;800&display=swap');
|
|
|
|
:root {
|
|
--bg-base: #F2F2F7;
|
|
--bg-card: rgba(255, 255, 255, 0.65);
|
|
--bg-glass: rgba(255, 255, 255, 0.4);
|
|
--text-primary: #1C1C1E;
|
|
--text-secondary: #6C6C70;
|
|
--primary-color: #1C1C1E; /* \u6DF1\u7A7A\u9ED1 */
|
|
--accent-color: #007AFF; /* iOS Blue for interactions */
|
|
--danger-color: #FF3B30;
|
|
--success-color: #34C759;
|
|
--warning-color: #FFCC00;
|
|
|
|
--shadow-floating: 0 24px 48px -12px rgba(0, 0, 0, 0.08);
|
|
--shadow-card: 0 4px 12px rgba(0, 0, 0, 0.03);
|
|
--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
|
|
|
|
--radius-xl: 40px;
|
|
--radius-lg: 24px;
|
|
--radius-md: 16px;
|
|
--radius-sm: 8px;
|
|
}
|
|
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;
|
|
background-color: var(--bg-base);
|
|
color: var(--text-primary);
|
|
min-height: 100vh;
|
|
padding: 20px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* \u5BB9\u5668\uFF1A\u6781\u81F4\u6BDB\u73BB\u7483 + \u53CC\u5C42\u7269\u7406\u63CF\u8FB9 */
|
|
.container {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
background: var(--bg-card);
|
|
backdrop-filter: blur(50px);
|
|
-webkit-backdrop-filter: blur(50px);
|
|
border-radius: var(--radius-xl);
|
|
box-shadow: var(--shadow-floating);
|
|
border: 1px solid rgba(255, 255, 255, 0.6); /* \u5185\u63CF\u8FB9 */
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* \u6A21\u62DF\u5916\u63CF\u8FB9 (\u901A\u8FC7\u4F2A\u5143\u7D20\u6216 box-shadow \u4E5F\u53EF\u4EE5\uFF0C\u8FD9\u91CC\u7528 outline \u4FDD\u6301 dom \u5E72\u51C0) */
|
|
.container::after {
|
|
content: '';
|
|
position: absolute;
|
|
inset: -1px;
|
|
border-radius: var(--radius-xl);
|
|
padding: 1px;
|
|
background: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.02));
|
|
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
-webkit-mask-composite: xor;
|
|
mask-composite: exclude;
|
|
pointer-events: none;
|
|
z-index: 1;
|
|
}
|
|
|
|
.header {
|
|
background: rgba(255, 255, 255, 0.5);
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
|
padding: 30px 40px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 20px;
|
|
}
|
|
|
|
.header-left {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
}
|
|
|
|
.logo-title-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 18px;
|
|
}
|
|
|
|
.logo {
|
|
width: 56px;
|
|
height: 56px;
|
|
background: #fff;
|
|
border-radius: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
|
|
overflow: hidden;
|
|
border: 1px solid rgba(0,0,0,0.03);
|
|
}
|
|
|
|
.logo img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.header h1 {
|
|
font-size: 28px;
|
|
font-weight: 800;
|
|
color: var(--text-primary);
|
|
letter-spacing: -0.02em;
|
|
margin: 0;
|
|
}
|
|
|
|
.version-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.version-badge {
|
|
background: rgba(0, 0, 0, 0.04);
|
|
padding: 4px 12px;
|
|
border-radius: 100px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.update-badge {
|
|
background: rgba(255, 204, 0, 0.15);
|
|
color: #997a00;
|
|
padding: 4px 12px;
|
|
border-radius: 100px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.update-badge:hover {
|
|
background: rgba(255, 204, 0, 0.25);
|
|
}
|
|
|
|
.api-endpoint-badge span {
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.content {
|
|
padding: 40px;
|
|
}
|
|
|
|
.section {
|
|
display: none;
|
|
animation: fadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1); /* iOS easeOut */
|
|
}
|
|
|
|
.section.active {
|
|
display: block;
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; transform: translateY(10px) scale(0.98); }
|
|
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
}
|
|
|
|
h2 {
|
|
font-size: 24px;
|
|
font-weight: 700;
|
|
letter-spacing: -0.01em;
|
|
margin-bottom: 24px;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
/* Footer */
|
|
.footer {
|
|
padding: 40px;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
color: var(--text-secondary);
|
|
border-top: 1px solid rgba(0,0,0,0.05);
|
|
background: rgba(255,255,255,0.3);
|
|
}
|
|
|
|
.footer-text {
|
|
color: var(--text-secondary);
|
|
margin: 8px 0;
|
|
max-width: 600px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.footer-links {
|
|
margin-top: 20px;
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 20px;
|
|
}
|
|
|
|
.footer-link {
|
|
color: var(--text-primary);
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s;
|
|
}
|
|
|
|
.footer-link:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
.github-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
|
|
.github-icon {
|
|
width: 14px;
|
|
height: 14px;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.tg-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
|
|
.tg-icon {
|
|
width: 14px;
|
|
height: 14px;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
/* \u6EDA\u52A8\u6761\u7F8E\u5316 */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background: rgba(0, 0, 0, 0.1);
|
|
border-radius: 4px;
|
|
}
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
/* \u5DE5\u5177\u7C7B */
|
|
.text-gray {
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.text-dark-gray {
|
|
color: #333;
|
|
}
|
|
|
|
.text-red {
|
|
color: var(--danger-color);
|
|
}
|
|
|
|
.text-center {
|
|
text-align: center;
|
|
}
|
|
|
|
.font-size-12 {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.margin-top-3 {
|
|
margin-top: 3px;
|
|
}
|
|
|
|
.margin-bottom-15 {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.padding-20 {
|
|
padding: 20px;
|
|
}
|
|
|
|
.text-monospace {
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
}
|
|
`;var Wst=`
|
|
/* \u7EC4\u4EF6\u6837\u5F0F - Zen-iOS Hybrid Design */
|
|
|
|
/* \u5BFC\u822A\u6309\u94AE\uFF1A\u80F6\u56CA\u5F0F\u8BBE\u8BA1 */
|
|
.nav-buttons {
|
|
display: flex;
|
|
gap: 8px;
|
|
background: rgba(118, 118, 128, 0.12);
|
|
padding: 4px;
|
|
border-radius: 14px; /* iOS Segmented Control style */
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.nav-btn {
|
|
padding: 8px 16px;
|
|
background: transparent;
|
|
border: none;
|
|
color: var(--text-secondary);
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
|
|
user-select: none;
|
|
}
|
|
|
|
.nav-btn:hover {
|
|
color: var(--text-primary);
|
|
background: rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
.nav-btn.active {
|
|
background: #FFFFFF;
|
|
color: #000000;
|
|
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12), 0 3px 1px rgba(0, 0, 0, 0.04);
|
|
}
|
|
|
|
.nav-btn:active {
|
|
transform: scale(0.97);
|
|
}
|
|
|
|
/* \u73AF\u5883\u53D8\u91CF\u5206\u7C7B\u5207\u6362 */
|
|
.env-categories {
|
|
display: flex;
|
|
gap: 12px;
|
|
margin-bottom: 30px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.category-btn {
|
|
padding: 10px 20px;
|
|
background: #FFFFFF;
|
|
border: 1px solid rgba(0,0,0,0.05);
|
|
border-radius: 100px; /* Fully rounded */
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--text-secondary);
|
|
transition: all 0.2s;
|
|
box-shadow: var(--shadow-card);
|
|
}
|
|
|
|
.category-btn:hover {
|
|
transform: translateY(-1px);
|
|
background: #FAFAFA;
|
|
}
|
|
|
|
.category-btn.active {
|
|
background: var(--primary-color);
|
|
color: white;
|
|
border-color: var(--primary-color);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.category-btn:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* \u5361\u7247\u5217\u8868 (Layering) */
|
|
.env-list {
|
|
display: grid;
|
|
gap: 16px;
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
.env-item {
|
|
background: rgba(255, 255, 255, 0.6);
|
|
backdrop-filter: blur(20px);
|
|
padding: 24px;
|
|
border-radius: var(--radius-lg);
|
|
border: 1px solid rgba(255, 255, 255, 0.8); /* Inner light stroke */
|
|
box-shadow:
|
|
0 4px 6px -1px rgba(0, 0, 0, 0.02),
|
|
0 2px 4px -1px rgba(0, 0, 0, 0.02),
|
|
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start; /* Align to top for better look with descriptions */
|
|
flex-wrap: wrap;
|
|
gap: 20px;
|
|
transition: transform 0.2s;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.env-item:hover {
|
|
transform: translateY(-1px);
|
|
background: rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
.env-item .env-info {
|
|
flex: 1;
|
|
min-width: 240px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.env-item .env-info strong {
|
|
color: var(--text-primary);
|
|
font-size: 15px;
|
|
font-weight: 700;
|
|
margin-bottom: 8px;
|
|
display: block;
|
|
letter-spacing: -0.01em;
|
|
overflow-wrap: break-word;
|
|
word-break: break-word;
|
|
}
|
|
|
|
.env-item .env-info div.text-dark-gray {
|
|
background: rgba(0, 0, 0, 0.03);
|
|
padding: 8px 12px;
|
|
border-radius: 8px;
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
font-size: 14px;
|
|
color: #333;
|
|
display: block;
|
|
border: 1px solid rgba(0,0,0,0.04);
|
|
overflow-wrap: break-word;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.env-item .env-actions {
|
|
display: flex;
|
|
gap: 10px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* \u6309\u94AE\u4F53\u7CFB */
|
|
.btn {
|
|
padding: 10px 20px;
|
|
border: none;
|
|
border-radius: 12px; /* iOS medium radius */
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 6px;
|
|
letter-spacing: 0.01em;
|
|
}
|
|
|
|
.btn:active {
|
|
transform: scale(0.95); /* Tactile feedback */
|
|
}
|
|
|
|
/* Primary: Dark Space Black */
|
|
.btn-primary {
|
|
background: var(--primary-color);
|
|
color: white;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
background: #333;
|
|
}
|
|
|
|
/* Success: iOS Green */
|
|
.btn-success {
|
|
background: var(--success-color);
|
|
color: white;
|
|
box-shadow: 0 4px 12px rgba(52, 199, 89, 0.2);
|
|
}
|
|
|
|
.btn-success:hover {
|
|
background: #2db54e;
|
|
}
|
|
|
|
/* Danger: iOS Red */
|
|
.btn-danger {
|
|
background: var(--danger-color);
|
|
color: white;
|
|
box-shadow: 0 4px 12px rgba(255, 59, 48, 0.2);
|
|
}
|
|
|
|
.btn-danger:hover {
|
|
background: #e03328;
|
|
}
|
|
|
|
/* \u9884\u89C8\u533A\u57DF */
|
|
.preview-area {
|
|
display: grid;
|
|
gap: 30px;
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.preview-category {
|
|
background: rgba(255, 255, 255, 0.6);
|
|
backdrop-filter: blur(20px);
|
|
border-radius: var(--radius-lg);
|
|
border: 1px solid rgba(255, 255, 255, 0.8);
|
|
box-shadow:
|
|
0 4px 6px -1px rgba(0, 0, 0, 0.02),
|
|
0 2px 4px -1px rgba(0, 0, 0, 0.02),
|
|
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
|
|
padding: 24px;
|
|
transition: transform 0.2s;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.preview-category:hover {
|
|
transform: translateY(-2px);
|
|
background: rgba(255, 255, 255, 0.75);
|
|
box-shadow: var(--shadow-floating);
|
|
}
|
|
|
|
.preview-category h3 {
|
|
font-size: 18px;
|
|
font-weight: 800;
|
|
margin-bottom: 20px;
|
|
color: var(--text-primary);
|
|
border-bottom: 1px solid rgba(0,0,0,0.05);
|
|
padding-bottom: 12px;
|
|
}
|
|
|
|
.preview-item {
|
|
padding: 16px;
|
|
background: rgba(255, 255, 255, 0.5);
|
|
margin-bottom: 12px;
|
|
border-radius: 12px;
|
|
border-left: 4px solid var(--primary-color);
|
|
box-shadow: 0 2px 8px rgba(0,0,0,0.02);
|
|
transition: all 0.2s;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.preview-item:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.preview-item:hover {
|
|
transform: translateX(4px);
|
|
background: #FFFFFF;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.preview-item .preview-key {
|
|
font-size: 11px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
color: var(--text-secondary);
|
|
margin-bottom: 6px;
|
|
font-weight: 700;
|
|
overflow-wrap: break-word;
|
|
word-break: break-word;
|
|
}
|
|
|
|
.preview-item .preview-value {
|
|
background: transparent;
|
|
padding: 0;
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
color: var(--text-primary);
|
|
font-size: 13px;
|
|
word-break: break-all;
|
|
overflow-wrap: break-word;
|
|
}
|
|
|
|
/* \u65E5\u5FD7\u6837\u5F0F */
|
|
.log-controls {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 15px;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.5); }
|
|
70% { box-shadow: 0 0 0 10px rgba(40, 167, 69, 0); }
|
|
100% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0); }
|
|
}
|
|
|
|
/* \u65E5\u5FD7\u4E0E\u54CD\u5E94\u5BB9\u5668 */
|
|
.log-container, .api-response, .json-response, .error-response {
|
|
background: #1C1C1E; /* Deep Dark */
|
|
color: #F2F2F7;
|
|
padding: 20px;
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(255,255,255,0.1);
|
|
box-shadow: inset 0 2px 10px rgba(0,0,0,0.2);
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
font-size: 12px;
|
|
line-height: 1.6;
|
|
max-height: 400px;
|
|
overflow: auto;
|
|
white-space: pre-wrap;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.log-container {
|
|
max-height: 500px;
|
|
}
|
|
|
|
/* \u65E5\u5FD7\u8FC7\u6EE4\u4EA4\u4E92\u9762\u677F\u53CA\u6807\u7B7E\u6837\u5F0F */
|
|
.log-filters-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.filter-btn {
|
|
background: transparent;
|
|
color: #888;
|
|
border: 1px solid #555;
|
|
padding: 4px 14px;
|
|
border-radius: 20px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
transition: all 0.3s;
|
|
text-transform: capitalize;
|
|
}
|
|
|
|
.filter-btn:hover {
|
|
border-color: #999;
|
|
background: rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.filter-btn.active {
|
|
background: rgba(191, 161, 255, 0.1);
|
|
color: #bfa1ff;
|
|
border-color: #bfa1ff;
|
|
text-shadow: 0.3px 0 0 currentColor, -0.3px 0 0 currentColor;
|
|
}
|
|
|
|
.log-tag {
|
|
color: #bfa1ff;
|
|
font-weight: bold;
|
|
margin-right: 4px;
|
|
display: inline-block;
|
|
}
|
|
|
|
.log-entry.error .log-tag {
|
|
color: #ffb74d;
|
|
}
|
|
|
|
|
|
|
|
/* \u8868\u5355\u5E2E\u52A9\u6587\u672C */
|
|
.form-help {
|
|
font-size: 12px;
|
|
color: #666;
|
|
margin-top: 5px;
|
|
font-style: italic;
|
|
}
|
|
|
|
/* API\u8C03\u8BD5\u6837\u5F0F */
|
|
.api-selector {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.api-params {
|
|
background: rgba(255, 255, 255, 0.6);
|
|
padding: 20px;
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(255,255,255,0.8);
|
|
box-shadow:
|
|
0 4px 6px -1px rgba(0, 0, 0, 0.02),
|
|
0 2px 4px -1px rgba(0, 0, 0, 0.02),
|
|
inset 0 0 0 1px rgba(255, 255, 255, 0.5);
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.api-response.xml {
|
|
color: #88ccff;
|
|
}
|
|
|
|
/* JSON\u9AD8\u4EAE\u6837\u5F0F */
|
|
.json-response .key {
|
|
color: #9cdcfe;
|
|
}
|
|
|
|
.json-response .string {
|
|
color: #ce9178;
|
|
}
|
|
|
|
.json-response .number {
|
|
color: #b5cea8;
|
|
}
|
|
|
|
.json-response .boolean {
|
|
color: #569cd6;
|
|
}
|
|
|
|
.json-response .null {
|
|
color: #569cd6;
|
|
}
|
|
|
|
.json-response .undefined {
|
|
color: #569cd6;
|
|
}
|
|
|
|
.error-response {
|
|
color: #f48771;
|
|
}
|
|
|
|
.log-entry {
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
margin-bottom: 2px;
|
|
}
|
|
|
|
.log-entry.info { color: #4fc3f7; }
|
|
.log-entry.warn { color: #ffb74d; }
|
|
.log-entry.error { color: #e57373; }
|
|
.log-entry.success { color: #81c784; }
|
|
|
|
.log-entry:hover {
|
|
background: rgba(255,255,255,0.05);
|
|
}
|
|
|
|
/* \u6A21\u6001\u6846 */
|
|
.modal {
|
|
display: none;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.25);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
z-index: 1000;
|
|
padding: 20px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.modal.active {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.modal-content {
|
|
background: rgba(255, 255, 255, 0.85);
|
|
backdrop-filter: blur(50px);
|
|
-webkit-backdrop-filter: blur(50px);
|
|
border-radius: 32px;
|
|
box-shadow: 0 40px 80px rgba(0,0,0,0.2);
|
|
border: 1px solid rgba(255,255,255,0.5);
|
|
padding: 40px;
|
|
width: 100%;
|
|
max-width: 600px;
|
|
max-height: calc(100vh - 40px);
|
|
overflow-y: auto;
|
|
position: relative;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
/* \u914D\u7F6E\u7F16\u8F91\u5F39\u7A97\u4E13\u7528\u6837\u5F0F - \u66F4\u5BBD\u66F4\u534F\u8C03\u7684\u6BD4\u4F8B */
|
|
#env-modal .modal-content {
|
|
width: 90vw;
|
|
max-width: 680px;
|
|
max-height: 85vh;
|
|
overflow-y: auto;
|
|
padding: 32px 36px;
|
|
}
|
|
|
|
#env-modal .modal-content::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
#env-modal .modal-content::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
#env-modal .modal-content::-webkit-scrollbar-thumb {
|
|
background: rgba(0, 0, 0, 0.15);
|
|
border-radius: 3px;
|
|
}
|
|
|
|
#env-modal .modal-content::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
/* \u591A\u9009\u6807\u7B7E\u533A\u57DF\u4F18\u5316 - \u9650\u5236\u9AD8\u5EA6\u5E76\u652F\u6301\u6EDA\u52A8 */
|
|
#env-modal .selected-tags {
|
|
max-height: 140px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
#env-modal .available-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
max-height: 180px;
|
|
overflow-y: auto;
|
|
padding: 12px;
|
|
background: rgba(245, 245, 247, 0.5);
|
|
border-radius: 12px;
|
|
margin-top: 12px;
|
|
}
|
|
|
|
.modal-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
border-bottom: 1px solid rgba(0,0,0,0.06);
|
|
padding-bottom: 20px;
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
.modal-header h3 {
|
|
font-size: 20px;
|
|
font-weight: 700;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.close-btn {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 50%;
|
|
background: rgba(0,0,0,0.05);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: all 0.2s;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.close-btn:hover {
|
|
background: rgba(0,0,0,0.1);
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
/* \u8FDB\u5EA6\u6761 */
|
|
.progress-container {
|
|
height: 2px;
|
|
background: transparent;
|
|
}
|
|
.progress-bar {
|
|
background: linear-gradient(90deg, var(--primary-color), var(--text-secondary));
|
|
box-shadow: none;
|
|
}
|
|
|
|
/* Bilibili Status */
|
|
.bili-cookie-status {
|
|
background: rgba(255,255,255,0.5);
|
|
border: 1px solid rgba(0,0,0,0.05);
|
|
border-left: 4px solid var(--primary-color);
|
|
border-radius: 12px;
|
|
}
|
|
|
|
/* Tag Styles */
|
|
.value-type-badge {
|
|
padding: 4px 10px;
|
|
border-radius: 100px;
|
|
background: var(--text-primary);
|
|
color: #FFFFFF;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
font-size: 10px;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
/* \u52A0\u8F7D\u63D0\u793A */
|
|
.loading-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.2);
|
|
backdrop-filter: blur(12px);
|
|
-webkit-backdrop-filter: blur(12px);
|
|
display: none;
|
|
justify-content: center;
|
|
align-items: center;
|
|
z-index: 9998;
|
|
}
|
|
|
|
.loading-overlay.active {
|
|
display: flex;
|
|
}
|
|
|
|
.loading-content {
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(20px);
|
|
-webkit-backdrop-filter: blur(20px);
|
|
padding: 32px;
|
|
border-radius: 24px;
|
|
text-align: center;
|
|
box-shadow: 0 20px 40px rgba(0,0,0,0.15);
|
|
max-width: 320px;
|
|
border: 1px solid rgba(255,255,255,0.4);
|
|
}
|
|
|
|
.loading-spinner {
|
|
width: 48px;
|
|
height: 48px;
|
|
border: 4px solid rgba(0,0,0,0.05);
|
|
border-top: 4px solid var(--primary-color);
|
|
border-radius: 50%;
|
|
animation: spin 0.8s cubic-bezier(0.6, 0.2, 0.4, 0.8) infinite;
|
|
margin: 0 auto 20px;
|
|
}
|
|
|
|
.loading-spinner-small {
|
|
display: inline-block;
|
|
width: 16px;
|
|
height: 16px;
|
|
border: 2px solid rgba(255,255,255,0.3);
|
|
border-top: 2px solid white;
|
|
border-radius: 50%;
|
|
animation: spin 0.8s cubic-bezier(0.6, 0.2, 0.4, 0.8) infinite;
|
|
}
|
|
|
|
.btn-success .loading-spinner-small {
|
|
border: 2px solid rgba(255,255,255,0.3);
|
|
border-top: 2px solid white;
|
|
}
|
|
|
|
.loading-text {
|
|
font-size: 16px;
|
|
color: var(--text-primary);
|
|
font-weight: 600;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.loading-detail {
|
|
font-size: 13px;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
@keyframes spin {
|
|
0% { transform: rotate(0deg); }
|
|
100% { transform: rotate(360deg); }
|
|
}
|
|
|
|
/* \u52A8\u6F2B\u641C\u7D22\u7ED3\u679C\u7F51\u683C */
|
|
.anime-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
|
|
gap: 20px;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.anime-item {
|
|
background: rgba(255, 255, 255, 0.6);
|
|
backdrop-filter: blur(20px);
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(255, 255, 255, 0.8);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
|
|
overflow: hidden;
|
|
cursor: pointer;
|
|
transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1);
|
|
}
|
|
|
|
.anime-item:hover {
|
|
transform: translateY(-4px);
|
|
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
|
|
background: rgba(255, 255, 255, 0.85);
|
|
}
|
|
|
|
.anime-item:active {
|
|
transform: scale(0.98);
|
|
}
|
|
|
|
.anime-item-img {
|
|
width: 100%;
|
|
aspect-ratio: 3 / 4;
|
|
object-fit: cover;
|
|
display: block;
|
|
background: rgba(0, 0, 0, 0.03);
|
|
}
|
|
|
|
.anime-title {
|
|
padding: 12px;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
line-height: 1.4;
|
|
margin: 0;
|
|
word-break: normal;
|
|
overflow-wrap: break-word;
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 2;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
/* \u5267\u96C6\u5217\u8868 */
|
|
.episode-list-container {
|
|
display: grid;
|
|
gap: 10px;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.episode-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 16px;
|
|
padding: 16px 20px;
|
|
background: rgba(255, 255, 255, 0.6);
|
|
backdrop-filter: blur(20px);
|
|
border-radius: 14px;
|
|
border: 1px solid rgba(255, 255, 255, 0.8);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.episode-item:hover {
|
|
background: rgba(255, 255, 255, 0.85);
|
|
transform: translateX(4px);
|
|
}
|
|
|
|
.episode-item-content {
|
|
flex: 1;
|
|
font-size: 14px;
|
|
color: var(--text-primary);
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.episode-item-content strong {
|
|
font-weight: 700;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.episode-push-btn {
|
|
flex-shrink: 0;
|
|
padding: 8px 16px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
/* \u6587\u5B57\u989C\u8272\u5DE5\u5177\u7C7B */
|
|
.text-yellow-gold {
|
|
color: #997a00;
|
|
}
|
|
|
|
/* \u63A8\u9001\u5F39\u5E55\u533A\u57DF\u6807\u9898 */
|
|
#push-anime-list h3,
|
|
#push-episode-list h3 {
|
|
font-size: 18px;
|
|
font-weight: 700;
|
|
margin-bottom: 8px;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
#push-anime-list,
|
|
#push-episode-list {
|
|
margin-top: 24px;
|
|
padding: 24px;
|
|
background: rgba(255, 255, 255, 0.4);
|
|
border-radius: 20px;
|
|
border: 1px solid rgba(255, 255, 255, 0.6);
|
|
}
|
|
|
|
/* \u8BF7\u6C42\u8BB0\u5F55\u6837\u5F0F */
|
|
.request-records-container {
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.no-records {
|
|
text-align: center;
|
|
color: #fff;
|
|
padding: 60px;
|
|
font-style: italic;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.record-item {
|
|
background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
|
|
border: none;
|
|
border-radius: 16px;
|
|
padding: 10px;
|
|
margin-bottom: 10px;
|
|
box-shadow: 0 8px 32px rgba(0,0,0,0.15);
|
|
transition: transform 0.2s, box-shadow 0.2s;
|
|
}
|
|
|
|
.record-item:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 12px 40px rgba(0,0,0,0.2);
|
|
}
|
|
|
|
.record-header {
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
margin-bottom: 15px;
|
|
flex-wrap: wrap;
|
|
gap: 15px;
|
|
}
|
|
|
|
.record-method {
|
|
background: linear-gradient(135deg, #00b4db 0%, #0083b0 100%);
|
|
color: white;
|
|
padding: 8px 16px;
|
|
border-radius: 10px;
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
min-width: 60px;
|
|
text-align: center;
|
|
box-shadow: 0 4px 15px rgba(0,180,219,0.3);
|
|
}
|
|
|
|
.record-interface {
|
|
flex: 1;
|
|
font-family: 'Courier New', monospace;
|
|
font-weight: 600;
|
|
color: #2d3748;
|
|
word-break: break-all;
|
|
font-size: 15px;
|
|
background: #edf2f7;
|
|
padding: 8px 16px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.record-ip {
|
|
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
|
|
color: white;
|
|
padding: 8px 16px;
|
|
border-radius: 10px;
|
|
font-size: 13px;
|
|
min-width: 120px;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
box-shadow: 0 4px 15px rgba(245,87,108,0.3);
|
|
}
|
|
|
|
.record-timestamp {
|
|
color: #718096;
|
|
font-size: 14px;
|
|
margin-bottom: 15px;
|
|
padding-bottom: 15px;
|
|
border-bottom: 2px dashed #e2e8f0;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.record-timestamp.no-params {
|
|
border-bottom: none;
|
|
margin-bottom: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
.record-timestamp::before {
|
|
content: '\u{1F550}';
|
|
font-size: 16px;
|
|
}
|
|
|
|
.record-params {
|
|
background: #f5f5f5;
|
|
border-radius: 12px;
|
|
padding: 15px;
|
|
border: 1px solid #e0e0e0;
|
|
}
|
|
|
|
.record-params-title {
|
|
color: #667eea;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
margin-bottom: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.record-params-title::before {
|
|
content: '\u{1F4CB}';
|
|
font-size: 16px;
|
|
}
|
|
|
|
.record-params pre {
|
|
margin: 0;
|
|
padding: 15px;
|
|
background: #ffffff;
|
|
color: #333;
|
|
border-radius: 8px;
|
|
font-family: 'Courier New', monospace;
|
|
font-size: 13px;
|
|
white-space: pre-wrap;
|
|
word-wrap: break-word;
|
|
overflow-x: auto;
|
|
line-height: 1.6;
|
|
border: 1px solid #ddd;
|
|
}
|
|
|
|
/* \u8BF7\u6C42\u8BB0\u5F55\u79FB\u52A8\u7AEF\u9002\u914D */
|
|
@media (max-width: 768px) {
|
|
.record-header {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.record-method,
|
|
.record-interface,
|
|
.record-ip {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
}
|
|
|
|
/* ===================== */
|
|
/* \u5F39\u5E55\u6D4B\u8BD5\u76F8\u5173\u6837\u5F0F */
|
|
/* ===================== */
|
|
|
|
/* \u9876\u7EA7\u6807\u7B7E\u9875 */
|
|
.api-top-tabs {
|
|
display: flex;
|
|
gap: 0;
|
|
margin-bottom: 20px;
|
|
border-bottom: 2px solid #e0e0e0;
|
|
}
|
|
|
|
.api-top-tab {
|
|
padding: 10px 24px;
|
|
background: none;
|
|
border: none;
|
|
border-bottom: 3px solid transparent;
|
|
cursor: pointer;
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
color: #666;
|
|
transition: all 0.3s;
|
|
margin-bottom: -2px;
|
|
}
|
|
|
|
.api-top-tab:hover {
|
|
color: #667eea;
|
|
}
|
|
|
|
.api-top-tab.active {
|
|
color: #667eea;
|
|
border-bottom-color: #667eea;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.api-tab-content {
|
|
display: none;
|
|
}
|
|
|
|
.api-tab-content.active {
|
|
display: block;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u6D4B\u8BD5\u5B50\u6807\u7B7E */
|
|
.danmu-test-tabs {
|
|
display: flex;
|
|
gap: 10px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.danmu-test-tab {
|
|
padding: 8px 20px;
|
|
background: #f0f0f0;
|
|
border: 2px solid transparent;
|
|
border-radius: 20px;
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
transition: all 0.3s;
|
|
color: #555;
|
|
}
|
|
|
|
.danmu-test-tab:hover {
|
|
background: #e0e0e0;
|
|
}
|
|
|
|
.danmu-test-tab.active {
|
|
background: #667eea;
|
|
color: white;
|
|
border-color: #667eea;
|
|
}
|
|
|
|
.danmu-test-panel {
|
|
display: none;
|
|
}
|
|
|
|
.danmu-test-panel.active {
|
|
display: block;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u7EDF\u8BA1\u5361\u7247 */
|
|
.danmu-stats {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.danmu-stats-title {
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
color: #667eea;
|
|
margin-bottom: 12px;
|
|
padding-bottom: 8px;
|
|
border-bottom: 1px solid #eee;
|
|
}
|
|
|
|
.danmu-stats-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
gap: 12px;
|
|
}
|
|
|
|
.danmu-stat-card {
|
|
background: #f8f9fa;
|
|
border-radius: 10px;
|
|
padding: 15px;
|
|
text-align: center;
|
|
border: 1px solid #eee;
|
|
transition: transform 0.2s;
|
|
}
|
|
|
|
.danmu-stat-card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
|
|
}
|
|
|
|
.stat-value {
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
color: #333;
|
|
margin-bottom: 4px;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.stat-label {
|
|
font-size: 12px;
|
|
color: #999;
|
|
}
|
|
|
|
.danmu-result-error {
|
|
margin-bottom: 15px;
|
|
background: #fff8f8;
|
|
border: 1px solid #ffcdd2;
|
|
color: #c62828;
|
|
border-radius: 10px;
|
|
padding: 12px 15px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u70ED\u529B\u56FE */
|
|
.danmu-heatmap-container {
|
|
margin-bottom: 15px;
|
|
background: #f8f9fa;
|
|
border-radius: 10px;
|
|
padding: 15px;
|
|
}
|
|
|
|
.danmu-section-title {
|
|
margin: 0 0 10px;
|
|
font-size: 15px;
|
|
}
|
|
|
|
.danmu-section-title-spaced {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.danmu-empty-text {
|
|
color: #999;
|
|
}
|
|
|
|
.danmu-empty-list {
|
|
text-align: center;
|
|
padding: 20px;
|
|
}
|
|
|
|
.heatmap-bars {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
gap: 2px;
|
|
height: 100px;
|
|
padding: 0 2px;
|
|
}
|
|
|
|
.danmu-heatmap-interactive {
|
|
position: relative;
|
|
padding-top: 34px;
|
|
touch-action: pan-y;
|
|
user-select: none;
|
|
}
|
|
|
|
.danmu-heatmap-tooltip {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
transform: translateX(-50%) translateY(-4px);
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 4px;
|
|
padding: 5px 9px;
|
|
border-radius: 999px;
|
|
background: rgba(51, 51, 51, 0.92);
|
|
color: white;
|
|
font-size: 12px;
|
|
line-height: 1.2;
|
|
white-space: nowrap;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition: opacity 0.12s ease, transform 0.12s ease;
|
|
z-index: 2;
|
|
}
|
|
|
|
.danmu-heatmap-tooltip.active {
|
|
opacity: 1;
|
|
transform: translateX(-50%) translateY(0);
|
|
}
|
|
|
|
.danmu-heatmap-tooltip strong {
|
|
font-size: 15px;
|
|
}
|
|
|
|
.danmu-heatmap-tooltip em {
|
|
color: rgba(255,255,255,0.72);
|
|
font-style: normal;
|
|
margin-left: 3px;
|
|
}
|
|
|
|
.danmu-heatmap-indicator {
|
|
position: absolute;
|
|
top: 34px;
|
|
bottom: 0;
|
|
width: 2px;
|
|
transform: translateX(-50%);
|
|
border-radius: 999px;
|
|
background: rgba(102, 126, 234, 0.88);
|
|
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.14);
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition: opacity 0.12s ease;
|
|
z-index: 1;
|
|
}
|
|
|
|
.danmu-heatmap-indicator.active {
|
|
opacity: 1;
|
|
}
|
|
|
|
.heatmap-bar {
|
|
flex: 1;
|
|
min-width: 3px;
|
|
height: var(--heatmap-height, 2%);
|
|
background: var(--heatmap-color, #667eea);
|
|
border-radius: 2px 2px 0 0;
|
|
transition: opacity 0.2s, transform 0.12s ease, box-shadow 0.12s ease;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.heatmap-bar.active {
|
|
opacity: 0.95;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.24);
|
|
}
|
|
|
|
.heatmap-bar:hover {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.heatmap-axis {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: 6px;
|
|
font-size: 11px;
|
|
color: #999;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u8FC7\u6EE4\u6807\u7B7E */
|
|
.danmu-filter-tabs {
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
gap: 8px;
|
|
margin-bottom: 12px;
|
|
overflow-x: auto;
|
|
overflow-y: hidden;
|
|
padding-bottom: 2px;
|
|
-webkit-overflow-scrolling: touch;
|
|
scrollbar-width: none;
|
|
}
|
|
|
|
.danmu-filter-tabs::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
.danmu-filter-tab {
|
|
flex: 0 0 auto;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
white-space: nowrap;
|
|
padding: 6px 12px;
|
|
background: #f0f0f0;
|
|
border: 1px solid #ddd;
|
|
border-radius: 15px;
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
transition: all 0.2s;
|
|
color: #555;
|
|
}
|
|
|
|
.danmu-filter-tab:hover {
|
|
background: #e0e0e0;
|
|
}
|
|
|
|
.danmu-filter-tab.active {
|
|
background: #667eea;
|
|
color: white;
|
|
border-color: #667eea;
|
|
}
|
|
|
|
.danmu-filter-count {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 20px;
|
|
height: 18px;
|
|
padding: 0 6px;
|
|
border-radius: 999px;
|
|
background: rgba(0,0,0,0.08);
|
|
color: inherit;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
line-height: 1;
|
|
}
|
|
|
|
.danmu-filter-tab.active .danmu-filter-count {
|
|
background: rgba(255,255,255,0.22);
|
|
}
|
|
|
|
/* \u5F39\u5E55\u5217\u8868 */
|
|
.danmu-list-area {
|
|
background: #f8f9fa;
|
|
border-radius: 10px;
|
|
padding: 15px;
|
|
}
|
|
|
|
.danmu-list-area h3 {
|
|
margin: 0 0 10px;
|
|
font-size: 15px;
|
|
}
|
|
|
|
.danmu-list {
|
|
max-height: 500px;
|
|
overflow-y: auto;
|
|
border: 1px solid #eee;
|
|
border-radius: 8px;
|
|
background: white;
|
|
}
|
|
|
|
.danmu-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 8px 12px;
|
|
border-bottom: 1px solid #f0f0f0;
|
|
font-size: 13px;
|
|
transition: background 0.15s;
|
|
}
|
|
|
|
.danmu-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.danmu-item:hover {
|
|
background: #f8f9ff;
|
|
}
|
|
|
|
.danmu-time {
|
|
color: #999;
|
|
font-family: 'Courier New', monospace;
|
|
font-size: 12px;
|
|
min-width: 50px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.danmu-color-dot {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 50%;
|
|
flex-shrink: 0;
|
|
border: 1px solid rgba(0,0,0,0.1);
|
|
background: var(--danmu-color-dot, #fff);
|
|
}
|
|
|
|
.danmu-mode-tag {
|
|
font-size: 11px;
|
|
padding: 2px 6px;
|
|
border-radius: 8px;
|
|
flex-shrink: 0;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.danmu-mode-scroll {
|
|
background: #e3f2fd;
|
|
color: #1976d2;
|
|
}
|
|
|
|
.danmu-mode-top {
|
|
background: #fce4ec;
|
|
color: #c62828;
|
|
}
|
|
|
|
.danmu-mode-bottom {
|
|
background: #e8f5e9;
|
|
color: #2e7d32;
|
|
}
|
|
|
|
.danmu-text {
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
color: #333;
|
|
}
|
|
|
|
.danmu-load-more {
|
|
display: none;
|
|
width: 100%;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.jump-to-episode {
|
|
margin-top: 15px;
|
|
margin-bottom: 15px;
|
|
padding: 10px;
|
|
background: #f8f9fa;
|
|
border-radius: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.jump-episode-input {
|
|
padding: 8px;
|
|
width: 90px;
|
|
border: 1px solid #ccc;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.jump-episode-btn {
|
|
margin-left: 5px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.jump-episode-total {
|
|
margin-left: 5px;
|
|
color: #666;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.episode-item.episode-item-highlight {
|
|
background: #fff3cd;
|
|
}
|
|
|
|
/* \u8FD4\u56DE\u6309\u94AE */
|
|
.btn-back {
|
|
padding: 8px 16px;
|
|
background: #f0f0f0;
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
color: #555;
|
|
transition: all 0.2s;
|
|
margin-bottom: 15px;
|
|
display: inline-block;
|
|
}
|
|
|
|
.btn-back:hover {
|
|
background: #e0e0e0;
|
|
color: #333;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u52A0\u8F7D\u52A8\u753B */
|
|
.danmu-loading {
|
|
text-align: center;
|
|
padding: 60px 20px;
|
|
}
|
|
|
|
.danmu-loading .loading-spinner {
|
|
margin: 0 auto 15px;
|
|
}
|
|
|
|
.danmu-loading .loading-text {
|
|
color: #666;
|
|
font-size: 15px;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u7ED3\u679C\u5DE5\u5177\u680F\uFF08\u8FD4\u56DE+\u5BFC\u51FA\u540C\u884C\uFF09 */
|
|
.danmu-result-toolbar {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 15px;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
}
|
|
|
|
.danmu-result-toolbar .btn-back {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.danmu-export-btns {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-left: auto;
|
|
}
|
|
|
|
/* \u5F39\u5E55\u6D4B\u8BD5\u79FB\u52A8\u7AEF\u9002\u914D */
|
|
@media (max-width: 768px) {
|
|
.danmu-stats-grid {
|
|
grid-template-columns: repeat(2, 1fr);
|
|
}
|
|
|
|
.api-top-tab {
|
|
padding: 8px 16px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.danmu-test-tabs {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.stat-value {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.heatmap-bars {
|
|
height: 70px;
|
|
gap: 1px;
|
|
padding: 0 1px;
|
|
}
|
|
|
|
.heatmap-bar {
|
|
min-width: 2px;
|
|
}
|
|
}
|
|
|
|
/* \u989C\u8272\u6C60\u914D\u7F6E */
|
|
.color-pool-display {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
margin-bottom: 12px;
|
|
min-height: 36px;
|
|
padding: 8px;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 8px;
|
|
background: #f9f9f9;
|
|
}
|
|
|
|
.color-pool-item {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 3px 8px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.color-pool-swatch {
|
|
display: inline-block;
|
|
width: 18px;
|
|
height: 18px;
|
|
border-radius: 3px;
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
.color-pool-value {
|
|
color: #666;
|
|
font-family: monospace;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.color-pool-remove {
|
|
border: none;
|
|
background: none;
|
|
color: #999;
|
|
cursor: pointer;
|
|
padding: 0 2px;
|
|
font-size: 14px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.color-pool-empty {
|
|
color: #999;
|
|
font-size: 12px;
|
|
align-self: center;
|
|
}
|
|
|
|
.color-pool-picker {
|
|
padding: 14px;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 10px;
|
|
background: #fafafa;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.color-pool-picker-inner {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.color-wheel {
|
|
width: 120px;
|
|
height: 120px;
|
|
border-radius: 50%;
|
|
background: conic-gradient(hsl(0,100%,50%),hsl(60,100%,50%),hsl(120,100%,50%),hsl(180,100%,50%),hsl(240,100%,50%),hsl(300,100%,50%),hsl(360,100%,50%));
|
|
cursor: crosshair;
|
|
position: relative;
|
|
box-shadow: 0 1px 4px rgba(0,0,0,0.1);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.color-wheel-center {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%,-50%);
|
|
width: 44%;
|
|
height: 44%;
|
|
border-radius: 50%;
|
|
background: #fafafa;
|
|
}
|
|
|
|
.color-wheel-dot {
|
|
position: absolute;
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: 50%;
|
|
border: 2.5px solid #fff;
|
|
box-shadow: 0 0 4px rgba(0,0,0,0.35);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.color-pool-preview {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.color-pool-preview-swatch {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 6px;
|
|
border: 1px solid #ddd;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.color-pool-preview-hex {
|
|
font-family: monospace;
|
|
font-size: 13px;
|
|
color: #555;
|
|
}
|
|
|
|
.color-pool-lightness {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
width: 100%;
|
|
max-width: 240px;
|
|
}
|
|
|
|
.color-pool-lightness span {
|
|
font-size: 12px;
|
|
color: #888;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.color-pool-lightness input {
|
|
flex: 1;
|
|
accent-color: #667eea;
|
|
}
|
|
|
|
.color-pool-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
flex-wrap: nowrap;
|
|
}
|
|
|
|
.color-pool-actions .btn {
|
|
white-space: nowrap;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.color-pool-actions .spacer {
|
|
flex: 1;
|
|
}
|
|
|
|
/* \u6279\u91CF\u6DFB\u52A0\u989C\u8272\u5F39\u7A97 */
|
|
.batch-color-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0,0,0,0.4);
|
|
z-index: 9999;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.batch-color-dialog {
|
|
background: #fff;
|
|
border-radius: 12px;
|
|
padding: 20px;
|
|
width: 90%;
|
|
max-width: 420px;
|
|
box-shadow: 0 4px 20px rgba(0,0,0,0.15);
|
|
}
|
|
|
|
.batch-color-input {
|
|
width: 100%;
|
|
padding: 8px 10px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
font-size: 13px;
|
|
font-family: monospace;
|
|
resize: vertical;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.batch-color-preview {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
margin-top: 10px;
|
|
min-height: 24px;
|
|
}
|
|
|
|
.batch-color-preview-swatch {
|
|
display: inline-block;
|
|
width: 22px;
|
|
height: 22px;
|
|
border-radius: 4px;
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
.batch-color-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
justify-content: flex-end;
|
|
margin-top: 14px;
|
|
}
|
|
|
|
/* \u504F\u79FB\u89C4\u5219\u5FEB\u901F\u914D\u7F6E */
|
|
.offset-rule-panel {
|
|
display: none;
|
|
margin-top: 10px;
|
|
padding: 12px;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 8px;
|
|
background: #f9f9f9;
|
|
}
|
|
|
|
.offset-form-row {
|
|
display: flex;
|
|
gap: 8px;
|
|
flex-wrap: wrap;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.offset-label {
|
|
font-size: 12px;
|
|
color: #666;
|
|
}
|
|
|
|
.offset-input {
|
|
width: 100%;
|
|
padding: 6px 8px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 4px;
|
|
font-size: 13px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.offset-sources {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 5px;
|
|
margin-top: 5px;
|
|
}
|
|
|
|
.offset-source-tag {
|
|
padding: 3px 10px;
|
|
border: 1px solid #ddd;
|
|
border-radius: 12px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
background: #fff;
|
|
color: #666;
|
|
transition: all 0.15s;
|
|
}
|
|
|
|
.offset-source-tag.selected {
|
|
background: #1a73e8;
|
|
color: #fff;
|
|
border-color: #1a73e8;
|
|
}
|
|
|
|
.offset-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
/* \u6700\u8FD1\u6570\u636E\u4E0Eanimes\u7F13\u5B58\u9762\u677F\u6837\u5F0F */
|
|
|
|
/* \u9762\u677F\u5BB9\u5668 */
|
|
.recent-data-panel {
|
|
display: none;
|
|
max-height: 350px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.anime-cache-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.anime-cache-card {
|
|
background: #fff;
|
|
border-radius: 6px;
|
|
border: 1px solid #eaeaea;
|
|
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.anime-cache-card-body {
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: center;
|
|
padding: 10px;
|
|
}
|
|
|
|
.anime-cache-cover {
|
|
width: 44px;
|
|
height: 60px;
|
|
border-radius: 4px;
|
|
background-color: #e2e3e5;
|
|
background-size: cover;
|
|
background-position: center;
|
|
flex-shrink: 0;
|
|
box-shadow: 0 1px 4px rgba(0,0,0,0.15);
|
|
}
|
|
|
|
.anime-cache-info,
|
|
.anime-cache-child-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.anime-cache-title {
|
|
font-weight: 600;
|
|
font-size: 13px;
|
|
line-height: 1.4;
|
|
margin-bottom: 4px;
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 2;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.anime-cache-meta {
|
|
color: #888;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.anime-cache-actions,
|
|
.anime-cache-child-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.anime-cache-actions { gap: 6px; }
|
|
|
|
.btn-xs {
|
|
padding: 2px 6px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
/* \u5361\u7247\u5E95\u90E8\u6807\u7B7E\u5207\u6362\u680F(Tab \u98CE\u683C) */
|
|
.anime-cache-footer {
|
|
display: flex;
|
|
gap: 8px;
|
|
padding: 8px 10px;
|
|
background: #fdfdfd;
|
|
border-top: 1px solid #f0f0f0;
|
|
}
|
|
|
|
.cache-badge {
|
|
font-size: 11px;
|
|
padding: 4px 10px;
|
|
border-radius: 12px;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
font-weight: 500;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.cache-badge.badge-sources { background: #e3f2fd; color: #0d47a1; border: 1px solid #bbdefb; }
|
|
.cache-badge.badge-episodes { background: #e8f5e9; color: #1b5e20; border: 1px solid #c8e6c9; }
|
|
.cache-badge.active { filter: brightness(0.9); box-shadow: inset 0 1px 3px rgba(0,0,0,0.1); }
|
|
|
|
/* \u6298\u53E0\u5217\u8868\u5BB9\u5668 */
|
|
.merged-children-container,
|
|
.episodes-list-container {
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
padding: 8px 10px;
|
|
background: #fafafa;
|
|
border-top: 1px solid #f0f0f0;
|
|
}
|
|
|
|
.episodes-list-container {
|
|
max-height: 200px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
/* \u5B50\u8282\u70B9\u5361\u7247 */
|
|
.anime-cache-child-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #fff;
|
|
padding: 8px;
|
|
border-radius: 4px;
|
|
border: 1px dashed #ccc;
|
|
}
|
|
|
|
.anime-cache-child-main {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
width: 100%;
|
|
}
|
|
|
|
.anime-cache-child-cover {
|
|
width: 33px;
|
|
height: 45px;
|
|
border-radius: 3px;
|
|
background-color: #e2e3e5;
|
|
background-size: cover;
|
|
background-position: center;
|
|
flex-shrink: 0;
|
|
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.anime-cache-child-title {
|
|
font-weight: 500;
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.anime-cache-child-actions { gap: 4px; }
|
|
|
|
/* \u5408\u5E76\u6620\u5C04\u8BE6\u60C5 */
|
|
.child-mapping-toggle {
|
|
font-size: 10px;
|
|
color: #666;
|
|
cursor: pointer;
|
|
margin-top: 8px;
|
|
padding-top: 6px;
|
|
border-top: 1px dashed #eee;
|
|
text-align: center;
|
|
}
|
|
|
|
.child-mapping-toggle:hover {
|
|
color: #0066cc;
|
|
}
|
|
|
|
.child-mapping-container {
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
margin-top: 6px;
|
|
background: #fdfdfd;
|
|
padding: 6px;
|
|
border-radius: 4px;
|
|
border: 1px solid #f0f0f0;
|
|
max-height: 150px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.mapping-row {
|
|
font-size: 10px;
|
|
display: flex;
|
|
gap: 6px;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.mapping-status { flex-shrink: 0; font-weight: bold; }
|
|
.mapping-status.success { color: #28a745; }
|
|
.mapping-status.warning { color: #d39e00; }
|
|
.mapping-text { color: #555; word-break: break-all; }
|
|
`;var $st=`
|
|
/* \u8868\u5355\u6837\u5F0F - Zen-iOS Hybrid Design */
|
|
.form-group {
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.form-group label {
|
|
display: block;
|
|
margin-bottom: 8px;
|
|
font-size: 11px;
|
|
font-weight: 700;
|
|
color: var(--text-secondary);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.08em;
|
|
}
|
|
|
|
.form-group input,
|
|
.form-group select,
|
|
.form-group textarea {
|
|
width: 100%;
|
|
padding: 12px 16px;
|
|
border: 1px solid rgba(0,0,0,0.06);
|
|
border-radius: 12px; /* Smooth corners */
|
|
font-size: 14px;
|
|
background-color: rgba(245, 245, 247, 0.5); /* #F5F5F7 50% */
|
|
color: var(--text-primary);
|
|
box-shadow: var(--shadow-inner); /* Inner shadow for depth */
|
|
transition: all 0.2s;
|
|
outline: none;
|
|
}
|
|
|
|
.form-group input:focus,
|
|
.form-group select:focus,
|
|
.form-group textarea:focus {
|
|
background-color: #FFFFFF;
|
|
border-color: var(--primary-color);
|
|
box-shadow: 0 0 0 4px rgba(28, 28, 30, 0.1); /* Focus ring */
|
|
}
|
|
|
|
.form-group textarea {
|
|
resize: vertical;
|
|
min-height: 100px;
|
|
font-family: 'SF Mono', 'Menlo', monospace;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* \u5F00\u5173\u6309\u94AE (iOS style) */
|
|
.switch-container {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.switch {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 52px;
|
|
height: 32px;
|
|
}
|
|
|
|
.switch input {
|
|
opacity: 0;
|
|
width: 0;
|
|
height: 0;
|
|
}
|
|
|
|
.slider {
|
|
position: absolute;
|
|
cursor: pointer;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: rgba(120, 120, 128, 0.16); /* iOS gray */
|
|
transition: .3s cubic-bezier(0.25, 1, 0.5, 1);
|
|
border-radius: 32px;
|
|
}
|
|
|
|
.slider:before {
|
|
position: absolute;
|
|
content: "";
|
|
height: 28px;
|
|
width: 28px;
|
|
left: 2px;
|
|
bottom: 2px;
|
|
background-color: white;
|
|
transition: .3s cubic-bezier(0.25, 1, 0.5, 1);
|
|
border-radius: 50%;
|
|
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 3px 1px rgba(0, 0, 0, 0.06);
|
|
}
|
|
|
|
input:checked + .slider {
|
|
background-color: var(--success-color); /* Green for on */
|
|
}
|
|
|
|
input:checked + .slider:before {
|
|
transform: translateX(20px);
|
|
}
|
|
|
|
.switch-label {
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
font-size: 14px;
|
|
}
|
|
|
|
/* \u6570\u5B57\u6EDA\u8F6E */
|
|
.number-picker {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 20px;
|
|
background: rgba(255, 255, 255, 0.5);
|
|
padding: 20px;
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.number-display {
|
|
font-size: 40px;
|
|
font-weight: 800;
|
|
color: var(--text-primary);
|
|
min-width: 70px;
|
|
text-align: center;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.number-controls {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.number-btn {
|
|
width: 36px;
|
|
height: 36px;
|
|
border: 1px solid rgba(0,0,0,0.1);
|
|
background: white;
|
|
color: var(--text-primary);
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
font-size: 18px;
|
|
font-weight: bold;
|
|
transition: all 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.number-btn:hover {
|
|
background: #F5F5F7;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.number-btn:active {
|
|
transform: scale(0.95);
|
|
background: #E5E5EA;
|
|
}
|
|
|
|
/* Range Slider */
|
|
.number-range input[type="range"] {
|
|
-webkit-appearance: none;
|
|
width: 100%;
|
|
height: 6px;
|
|
border-radius: 3px;
|
|
background: rgba(120, 120, 128, 0.16);
|
|
outline: none;
|
|
padding: 0;
|
|
box-shadow: none;
|
|
border: none;
|
|
}
|
|
|
|
.number-range input[type="range"]::-webkit-slider-thumb {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
width: 28px;
|
|
height: 28px;
|
|
border-radius: 50%;
|
|
background: white;
|
|
cursor: pointer;
|
|
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 3px 1px rgba(0, 0, 0, 0.06);
|
|
border: 0.5px solid rgba(0,0,0,0.04);
|
|
}
|
|
|
|
/* \u6807\u7B7E\u9009\u62E9 */
|
|
.tag-selector {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 12px;
|
|
}
|
|
|
|
.tag-option {
|
|
padding: 8px 16px;
|
|
background: #FFFFFF;
|
|
border: 1px solid rgba(0,0,0,0.1);
|
|
border-radius: 100px;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.tag-option:hover {
|
|
background: #F5F5F7;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.tag-option.selected {
|
|
background: var(--primary-color);
|
|
color: white;
|
|
border-color: var(--primary-color);
|
|
box-shadow: 0 4px 10px rgba(0,0,0,0.15);
|
|
}
|
|
|
|
/* \u591A\u9009\u533A\u57DF */
|
|
.selected-tags {
|
|
min-height: 80px;
|
|
background: rgba(245, 245, 247, 0.5);
|
|
border: 1px dashed rgba(0,0,0,0.15);
|
|
border-radius: 16px;
|
|
padding: 16px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
align-items: flex-start;
|
|
box-shadow: var(--shadow-inner);
|
|
}
|
|
|
|
.selected-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
background: var(--primary-color);
|
|
color: white;
|
|
padding: 8px 16px;
|
|
border-radius: 100px;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
|
|
cursor: move;
|
|
}
|
|
|
|
.selected-tag .remove-btn {
|
|
width: 20px;
|
|
height: 20px;
|
|
background: rgba(255,255,255,0.2);
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
transition: background 0.2s;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.selected-tag .remove-btn:hover {
|
|
background: rgba(255,255,255,0.4);
|
|
}
|
|
|
|
.available-tags {
|
|
margin-top: 15px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
|
|
.available-tag {
|
|
padding: 6px 14px;
|
|
background: #FFFFFF;
|
|
border: 1px solid rgba(0,0,0,0.1);
|
|
border-radius: 100px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
color: var(--text-secondary);
|
|
transition: all 0.2s;
|
|
display: inline-flex;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.available-tag:hover {
|
|
transform: translateY(-1px);
|
|
border-color: rgba(0,0,0,0.2);
|
|
}
|
|
|
|
.available-tag.disabled {
|
|
opacity: 0.4;
|
|
cursor: not-allowed;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* \u5408\u5E76\u6A21\u5F0F\u63A7\u5236\u533A */
|
|
.merge-mode-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-top: 16px;
|
|
margin-bottom: 12px;
|
|
gap: 0;
|
|
}
|
|
|
|
.merge-mode-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0;
|
|
background: transparent;
|
|
border: none;
|
|
color: var(--accent-color);
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
text-decoration: none;
|
|
position: relative;
|
|
}
|
|
|
|
.merge-mode-btn:hover {
|
|
color: #005ecb;
|
|
}
|
|
|
|
.merge-mode-btn:active {
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.merge-mode-btn.active {
|
|
color: var(--success-color);
|
|
}
|
|
|
|
.merge-mode-controls .form-help {
|
|
font-size: 12px;
|
|
color: var(--text-secondary);
|
|
margin: 0;
|
|
margin-left: 10px;
|
|
}
|
|
|
|
/* \u6682\u5B58\u533A */
|
|
.staging-area {
|
|
display: none;
|
|
min-height: 60px;
|
|
background: rgba(255, 243, 205, 0.3);
|
|
border: 1px dashed rgba(255, 193, 7, 0.4);
|
|
border-radius: 12px;
|
|
padding: 12px;
|
|
margin-top: 12px;
|
|
margin-bottom: 12px;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
align-items: center;
|
|
position: relative;
|
|
}
|
|
|
|
.staging-area.active {
|
|
display: flex;
|
|
}
|
|
|
|
.staging-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
background: rgba(255, 193, 7, 0.15);
|
|
color: var(--text-primary);
|
|
padding: 6px 12px;
|
|
border-radius: 100px;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
border: 1px solid rgba(255, 193, 7, 0.3);
|
|
cursor: move;
|
|
}
|
|
|
|
.staging-tag.dragging {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.staging-tag.drag-over {
|
|
border-color: var(--accent-color);
|
|
background: rgba(0, 122, 255, 0.1);
|
|
}
|
|
|
|
.staging-tag .remove-btn {
|
|
width: 16px;
|
|
height: 16px;
|
|
background: rgba(0, 0, 0, 0.1);
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
transition: background 0.2s;
|
|
font-size: 11px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.staging-tag .remove-btn:hover {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.confirm-merge-btn {
|
|
width: 32px;
|
|
height: 32px;
|
|
background: var(--success-color);
|
|
color: white;
|
|
border: none;
|
|
border-radius: 50%;
|
|
cursor: pointer;
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: all 0.2s;
|
|
box-shadow: 0 2px 8px rgba(52, 199, 89, 0.3);
|
|
margin-left: auto;
|
|
}
|
|
|
|
.confirm-merge-btn:hover {
|
|
background: #2fb350;
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.confirm-merge-btn:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* Map items */
|
|
.map-item {
|
|
background: #FFFFFF;
|
|
border: 1px solid rgba(0,0,0,0.06);
|
|
border-radius: 12px;
|
|
padding: 12px;
|
|
margin-bottom: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
box-shadow: 0 2px 6px rgba(0,0,0,0.02);
|
|
}
|
|
|
|
.map-input-left, .map-input-right {
|
|
background: #F5F5F7;
|
|
border: none;
|
|
border-radius: 8px;
|
|
padding: 8px 12px;
|
|
font-family: 'SF Mono', monospace;
|
|
font-size: 13px;
|
|
}
|
|
`;var Fst=`
|
|
/* \u54CD\u5E94\u5F0F\u6837\u5F0F - Zen-iOS Hybrid Design */
|
|
@media (max-width: 768px) {
|
|
body {
|
|
padding: 10px;
|
|
}
|
|
|
|
.container {
|
|
border-radius: 24px; /* Slightly smaller radius on mobile */
|
|
}
|
|
|
|
.header {
|
|
padding: 20px;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.header-left {
|
|
width: 100%;
|
|
align-items: center;
|
|
text-align: center;
|
|
}
|
|
|
|
.logo-title-container {
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
.logo {
|
|
width: 48px;
|
|
height: 48px;
|
|
font-size: 20px;
|
|
}
|
|
|
|
.header h1 {
|
|
font-size: 20px;
|
|
}
|
|
|
|
.version-info {
|
|
justify-content: center;
|
|
margin-top: 8px;
|
|
width: 100%;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.nav-buttons {
|
|
width: 100%;
|
|
justify-content: stretch;
|
|
gap: 4px;
|
|
background: rgba(118, 118, 128, 0.12);
|
|
border-radius: 12px;
|
|
padding: 4px;
|
|
}
|
|
|
|
.nav-btn {
|
|
flex: 1;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
padding: 6px 2px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.content {
|
|
padding: 20px;
|
|
}
|
|
|
|
.env-item {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
padding: 16px;
|
|
}
|
|
|
|
.env-item .env-info {
|
|
min-width: 0; /* Fix flex overflow */
|
|
width: 100%;
|
|
}
|
|
|
|
.env-item .env-info div.text-dark-gray {
|
|
font-size: 13px;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.env-actions {
|
|
width: 100%;
|
|
margin-top: 12px;
|
|
display: flex;
|
|
}
|
|
|
|
.env-actions .btn {
|
|
flex: 1;
|
|
}
|
|
|
|
/* \u9884\u89C8\u5361\u7247\u79FB\u52A8\u7AEF */
|
|
.preview-category {
|
|
padding: 16px;
|
|
}
|
|
|
|
.preview-item {
|
|
padding: 12px;
|
|
}
|
|
|
|
.preview-item .preview-value {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.api-selector select {
|
|
font-size: 16px; /* Prevent auto-zoom on iOS */
|
|
}
|
|
|
|
/* \u914D\u7F6E\u7F16\u8F91\u5F39\u7A97\u79FB\u52A8\u7AEF\u9002\u914D */
|
|
#env-modal .modal-content {
|
|
width: 95vw;
|
|
max-width: none;
|
|
padding: 24px 20px;
|
|
border-radius: 24px;
|
|
max-height: 90vh;
|
|
}
|
|
|
|
#env-modal .selected-tags {
|
|
max-height: 120px;
|
|
}
|
|
|
|
#env-modal .available-tags {
|
|
max-height: 150px;
|
|
}
|
|
|
|
#env-modal .modal-header {
|
|
padding-bottom: 16px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
#env-modal .modal-header h3 {
|
|
font-size: 18px;
|
|
}
|
|
|
|
/* \u63A8\u9001\u5F39\u5E55\u79FB\u52A8\u7AEF\u9002\u914D */
|
|
.anime-grid {
|
|
grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
|
|
gap: 12px;
|
|
}
|
|
|
|
.anime-item-img {
|
|
aspect-ratio: 3 / 4;
|
|
}
|
|
|
|
.anime-title {
|
|
padding: 10px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.episode-item {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 12px;
|
|
padding: 14px 16px;
|
|
}
|
|
|
|
.episode-item-content {
|
|
white-space: normal;
|
|
}
|
|
|
|
.episode-push-btn {
|
|
width: 100%;
|
|
}
|
|
|
|
#push-anime-list,
|
|
#push-episode-list {
|
|
padding: 16px;
|
|
margin-top: 16px;
|
|
}
|
|
}
|
|
`;var Ust=`
|
|
// \u81EA\u5B9A\u4E49\u5F39\u7A97\u7EC4\u4EF6
|
|
function createCustomAlert() {
|
|
// \u68C0\u67E5\u662F\u5426\u5DF2\u5B58\u5728\u81EA\u5B9A\u4E49\u5F39\u7A97\u5143\u7D20
|
|
if (document.getElementById('custom-alert-overlay')) {
|
|
return;
|
|
}
|
|
|
|
// \u521B\u5EFA\u5F39\u7A97HTML\u5143\u7D20
|
|
const alertHTML = '<div class="modal" id="custom-alert-overlay"><div class="modal-content" id="custom-alert-content"><div class="modal-header"><h3 id="custom-alert-title">\u63D0\u793A</h3><button class="close-btn" id="custom-alert-close">×</button></div><div class="modal-body"><p id="custom-alert-message"></p></div><div class="modal-footer"><button class="btn btn-primary" id="custom-alert-confirm">\u786E\u5B9A</button></div></div></div>';
|
|
|
|
// \u6DFB\u52A0\u5230body
|
|
document.body.insertAdjacentHTML('beforeend', alertHTML);
|
|
|
|
// \u83B7\u53D6\u5143\u7D20
|
|
const overlay = document.getElementById('custom-alert-overlay');
|
|
const closeBtn = document.getElementById('custom-alert-close');
|
|
const confirmBtn = document.getElementById('custom-alert-confirm');
|
|
|
|
// \u5173\u95ED\u5F39\u7A97\u51FD\u6570
|
|
function closeAlert() {
|
|
overlay.classList.remove('active');
|
|
// \u91CD\u7F6E\u6807\u9898\u548C\u6D88\u606F
|
|
document.getElementById('custom-alert-title').textContent = '\u63D0\u793A';
|
|
}
|
|
|
|
// \u4E8B\u4EF6\u76D1\u542C\u5668
|
|
closeBtn.addEventListener('click', closeAlert);
|
|
confirmBtn.addEventListener('click', closeAlert);
|
|
|
|
// \u70B9\u51FB\u906E\u7F69\u5C42\u5173\u95ED\u5F39\u7A97
|
|
overlay.addEventListener('click', function(e) {
|
|
if (e.target === overlay) {
|
|
closeAlert();
|
|
}
|
|
});
|
|
}
|
|
|
|
// \u81EA\u5B9A\u4E49alert\u51FD\u6570
|
|
function customAlert(message, title = '\u63D0\u793A') {
|
|
// \u786E\u4FDD\u5F39\u7A97\u5143\u7D20\u5DF2\u521B\u5EFA
|
|
createCustomAlert();
|
|
|
|
// \u83B7\u53D6\u5143\u7D20
|
|
const overlay = document.getElementById('custom-alert-overlay');
|
|
const titleElement = document.getElementById('custom-alert-title');
|
|
const messageElement = document.getElementById('custom-alert-message');
|
|
|
|
// \u8BBE\u7F6E\u6807\u9898\u548C\u6D88\u606F
|
|
titleElement.textContent = title;
|
|
messageElement.innerHTML = message;
|
|
|
|
// \u663E\u793A\u5F39\u7A97
|
|
overlay.classList.add('active');
|
|
}
|
|
|
|
// \u81EA\u5B9A\u4E49confirm\u51FD\u6570\uFF08\u5982\u679C\u9700\u8981\uFF09
|
|
function customConfirm(message, title = '\u786E\u8BA4') {
|
|
return new Promise((resolve) => {
|
|
// \u786E\u4FDD\u5F39\u7A97\u5143\u7D20\u5DF2\u521B\u5EFA
|
|
createCustomAlert();
|
|
|
|
// \u83B7\u53D6\u5143\u7D20
|
|
const overlay = document.getElementById('custom-alert-overlay');
|
|
const titleElement = document.getElementById('custom-alert-title');
|
|
const messageElement = document.getElementById('custom-alert-message');
|
|
const confirmBtn = document.getElementById('custom-alert-confirm');
|
|
|
|
// \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u5982\u679C\u6709\uFF09
|
|
const newConfirmBtn = confirmBtn.cloneNode(true);
|
|
confirmBtn.parentNode.replaceChild(newConfirmBtn, confirmBtn);
|
|
|
|
// \u8BBE\u7F6E\u6807\u9898\u548C\u6D88\u606F
|
|
titleElement.textContent = title;
|
|
messageElement.innerHTML = message;
|
|
|
|
// \u786E\u5B9A\u6309\u94AE\u4E8B\u4EF6
|
|
newConfirmBtn.addEventListener('click', () => {
|
|
overlay.classList.remove('active');
|
|
resolve(true);
|
|
});
|
|
|
|
// \u5173\u95ED\u6309\u94AE\u4E8B\u4EF6
|
|
document.getElementById('custom-alert-close').addEventListener('click', () => {
|
|
overlay.classList.remove('active');
|
|
resolve(false);
|
|
});
|
|
|
|
// \u70B9\u51FB\u906E\u7F69\u5C42\u5173\u95ED
|
|
overlay.addEventListener('click', function(e) {
|
|
if (e.target === overlay) {
|
|
overlay.classList.remove('active');
|
|
resolve(false);
|
|
}
|
|
});
|
|
|
|
// \u663E\u793A\u5F39\u7A97
|
|
overlay.classList.add('active');
|
|
});
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u81EA\u5B9A\u4E49\u5F39\u7A97
|
|
document.addEventListener('DOMContentLoaded', createCustomAlert);
|
|
|
|
// \u6570\u636E\u5B58\u50A8
|
|
let envVariables = {};
|
|
let currentCategory = 'api'; // \u9ED8\u8BA4\u5206\u7C7B\u6539\u4E3Aapi
|
|
let editingKey = null;
|
|
let logs = []; // \u4FDD\u7559\u672C\u5730\u65E5\u5FD7\u6570\u7EC4\uFF0C\u7528\u4E8EUI\u663E\u793A
|
|
|
|
// \u7248\u672C\u4FE1\u606F
|
|
let currentVersion = '';
|
|
let latestVersion = '';
|
|
let currentToken = 'globals.currentToken';
|
|
let currentAdminToken = ''; // admin token\uFF0C\u7528\u4E8E\u7CFB\u7EDF\u7BA1\u7406
|
|
let originalToken = '';
|
|
|
|
// \u53CD\u5411\u4EE3\u7406/API\u57FA\u7840\u8DEF\u5F84\u914D\u7F6E
|
|
// \u4ECELocalStorage\u83B7\u53D6\u7528\u6237\u81EA\u5B9A\u4E49\u7684Base URL
|
|
let customBaseUrl = localStorage.getItem('logvar_api_base_url') || '';
|
|
|
|
// \u4FDD\u5B58\u81EA\u5B9A\u4E49Base URL (\u4E3A\u7A7A\u5219\u6E05\u9664)
|
|
function saveBaseUrl() {
|
|
const input = document.getElementById('custom-base-url').value.trim();
|
|
if (input) {
|
|
// \u786E\u4FDDURL\u4E0D\u4EE5\u659C\u6760\u7ED3\u5C3E\uFF0C\u65B9\u4FBF\u540E\u7EED\u62FC\u63A5
|
|
let formattedUrl = input;
|
|
if (formattedUrl.endsWith('/')) {
|
|
formattedUrl = formattedUrl.slice(0, -1);
|
|
}
|
|
localStorage.setItem('logvar_api_base_url', formattedUrl);
|
|
customBaseUrl = formattedUrl;
|
|
customAlert('API\u5730\u5740\u914D\u7F6E\u5DF2\u4FDD\u5B58\uFF0C\u5373\u5C06\u5237\u65B0\u9875\u9762\u3002', '\u4FDD\u5B58\u6210\u529F');
|
|
setTimeout(() => {
|
|
location.reload();
|
|
}, 1000);
|
|
} else {
|
|
// \u8F93\u5165\u4E3A\u7A7A\uFF0C\u89C6\u4E3A\u6E05\u9664\u914D\u7F6E/\u91CD\u7F6E\u4E3A\u9ED8\u8BA4
|
|
localStorage.removeItem('logvar_api_base_url');
|
|
customBaseUrl = '';
|
|
customAlert('\u914D\u7F6E\u5DF2\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u72B6\u6001\uFF0C\u5373\u5C06\u5237\u65B0\u9875\u9762\u3002', '\u64CD\u4F5C\u6210\u529F');
|
|
setTimeout(() => {
|
|
location.reload();
|
|
}, 1000);
|
|
}
|
|
}
|
|
|
|
// \u6784\u5EFA\u5E26token\u7684API\u8BF7\u6C42\u8DEF\u5F84
|
|
function buildApiUrl(path, isSystemPath = false) {
|
|
let res;
|
|
// \u5982\u679C\u662F\u7CFB\u7EDF\u7BA1\u7406\u8DEF\u5F84\u4E14\u6709admin token,\u5219\u4F7F\u7528admin token
|
|
if (isSystemPath && currentAdminToken && currentAdminToken.trim() !== '' && currentAdminToken.trim() !== '*'.repeat(currentAdminToken.length)) {
|
|
res = '/' + currentAdminToken + path;
|
|
} else {
|
|
// \u5426\u5219\u4F7F\u7528\u666E\u901Atoken
|
|
res = (currentToken ? '/' + currentToken : "") + path;
|
|
}
|
|
|
|
// \u5982\u679C\u914D\u7F6E\u4E86\u81EA\u5B9A\u4E49\u57FA\u7840URL (\u89E3\u51B3\u53CD\u4EE3\u95EE\u9898)
|
|
if (customBaseUrl) {
|
|
// \u786E\u4FDD\u8DEF\u5F84\u4EE5/\u5F00\u5934
|
|
const cleanPath = res.startsWith('/') ? res : '/' + res;
|
|
return customBaseUrl + cleanPath;
|
|
}
|
|
|
|
return res;
|
|
}
|
|
|
|
// \u4ECEAPI\u52A0\u8F7D\u771F\u5B9E\u73AF\u5883\u53D8\u91CF\u6570\u636E
|
|
function loadEnvVariables() {
|
|
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u914D\u7F6E\u6570\u636E
|
|
fetch(buildApiUrl('/api/config', true))
|
|
.then(response => response.json())
|
|
.then(config => {
|
|
// \u4ECE\u914D\u7F6E\u4E2D\u83B7\u53D6admin token
|
|
currentAdminToken = config.originalEnvVars?.ADMIN_TOKEN || '';
|
|
|
|
originalToken = config.originalEnvVars?.TOKEN || '';
|
|
|
|
// \u4F7F\u7528\u4ECEAPI\u83B7\u53D6\u7684\u539F\u59CB\u73AF\u5883\u53D8\u91CF\uFF0C\u7528\u4E8E\u7CFB\u7EDF\u8BBE\u7F6E
|
|
const originalEnvVars = config.originalEnvVars || {};
|
|
|
|
// \u91CD\u65B0\u7EC4\u7EC7\u6570\u636E\u7ED3\u6784\u4EE5\u9002\u914D\u73B0\u6709UI
|
|
envVariables = {};
|
|
|
|
// \u5C06\u539F\u59CB\u73AF\u5883\u53D8\u91CF\u8F6C\u6362\u4E3AUI\u6240\u9700\u683C\u5F0F
|
|
// \u8FD9\u91CC\u9700\u8981\u5C06\u539F\u59CB\u73AF\u5883\u53D8\u91CF\u6309\u7C7B\u522B\u7EC4\u7EC7
|
|
Object.keys(originalEnvVars).forEach(key => {
|
|
// \u4ECEenvVarConfig\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F
|
|
const varConfig = config.envVarConfig?.[key] || { category: 'system', type: 'text', description: '\u672A\u5206\u7C7B\u914D\u7F6E\u9879' };
|
|
const category = varConfig.category || 'system';
|
|
|
|
// \u5982\u679C\u8BE5\u5206\u7C7B\u4E0D\u5B58\u5728\uFF0C\u521B\u5EFA\u5B83
|
|
if (!envVariables[category]) {
|
|
envVariables[category] = [];
|
|
}
|
|
|
|
// \u6DFB\u52A0\u5230\u5BF9\u5E94\u5206\u7C7B\uFF0C\u5305\u542B\u5B8C\u6574\u7684\u914D\u7F6E\u4FE1\u606F
|
|
envVariables[category].push({
|
|
key: key,
|
|
value: originalEnvVars[key],
|
|
description: varConfig.description || '',
|
|
type: varConfig.type || 'text',
|
|
min: varConfig.min,
|
|
max: varConfig.max,
|
|
options: varConfig.options || [], // \u4EC5\u5BF9 select \u548C multi-select \u7C7B\u578B\u6709\u6548
|
|
sources: varConfig.sources || null // \u4EC5\u5BF9 DANMU_OFFSET \u7B49\u9700\u8981\u6765\u6E90\u914D\u7F6E\u7684\u6709\u6548
|
|
});
|
|
});
|
|
|
|
// \u6E32\u67D3\u73AF\u5883\u53D8\u91CF\u5217\u8868
|
|
renderEnvList();
|
|
})
|
|
.catch(error => {
|
|
console.error('Failed to load env variables:', error);
|
|
});
|
|
}
|
|
|
|
// \u66F4\u65B0API\u7AEF\u70B9\u4FE1\u606F
|
|
function updateApiEndpoint() {
|
|
return fetch(buildApiUrl('/api/config', true))
|
|
.then(response => {
|
|
// \u68C0\u67E5ContentType\uFF0C\u5982\u679C\u662FHTML\u8BF4\u660E\u53EF\u80FD\u662F404\u9875\u9762\u6216\u53CD\u4EE3\u9519\u8BEF\u9875\u9762
|
|
const contentType = response.headers.get("content-type");
|
|
if (contentType && contentType.indexOf("application/json") === -1) {
|
|
throw new Error("Received HTML instead of JSON. Possible 404 or Proxy Error.");
|
|
}
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(config => {
|
|
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u914D\u7F6E
|
|
|
|
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
|
|
const protocol = window.location.protocol;
|
|
const host = window.location.host;
|
|
const token = config.originalEnvVars?.TOKEN || '87654321'; // \u9ED8\u8BA4token\u503C
|
|
const adminToken = config.originalEnvVars?.ADMIN_TOKEN;
|
|
|
|
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
|
|
let urlPath = window.location.pathname;
|
|
if(_reverseProxy) {
|
|
try {
|
|
let proxyPath = _reverseProxy.startsWith('http')
|
|
? new URL(_reverseProxy).pathname
|
|
: _reverseProxy;
|
|
|
|
if (proxyPath.endsWith('/')) {
|
|
proxyPath = proxyPath.slice(0, -1);
|
|
}
|
|
if(proxyPath && urlPath.startsWith(proxyPath)) {
|
|
urlPath = urlPath.substring(proxyPath.length);
|
|
}
|
|
} catch(e) { /* ignore */ }
|
|
}
|
|
|
|
const pathParts = urlPath.split('/').filter(part => part !== '');
|
|
const urlToken = pathParts.length > 0 ? pathParts[0] : '';
|
|
let apiToken = '********';
|
|
|
|
// \u5224\u65AD\u662F\u5426\u4F7F\u7528\u9ED8\u8BA4token
|
|
if (token === '87654321') {
|
|
// \u5982\u679C\u662F\u9ED8\u8BA4token\uFF0C\u5219\u663E\u793A\u771F\u5B9Etoken
|
|
apiToken = token;
|
|
} else {
|
|
// \u5982\u679C\u4E0D\u662F\u9ED8\u8BA4token\uFF0C\u5219\u68C0\u67E5URL\u4E2D\u7684token\u662F\u5426\u5339\u914D\uFF0C\u5339\u914D\u5219\u663E\u793A\u771F\u5B9Etoken\uFF0C\u5426\u5219\u663E\u793A\u661F\u53F7
|
|
if (urlToken === token || (adminToken !== "" && urlToken === adminToken)) {
|
|
apiToken = token; // \u66F4\u65B0\u5168\u5C40token\u53D8\u91CF
|
|
}
|
|
}
|
|
|
|
// \u6784\u9020API\u7AEF\u70B9URL
|
|
let baseUrlStr;
|
|
if (_reverseProxy) {
|
|
// \u5982\u679C\u914D\u7F6E\u4E86\u53CD\u4EE3\uFF0C\u4E14\u662F\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u5219\u8865\u5168\u534F\u8BAE\u548C\u4E3B\u673A\uFF0C\u786E\u4FDD\u663E\u793A\u4E3A\u7EDD\u5BF9\u8DEF\u5F84
|
|
baseUrlStr = _reverseProxy.startsWith('http')
|
|
? _reverseProxy
|
|
: (protocol + '//' + host + _reverseProxy);
|
|
} else {
|
|
baseUrlStr = protocol + '//' + host;
|
|
}
|
|
|
|
// \u786E\u4FDD baseUrlStr \u4E0D\u4EE5\u659C\u6760\u7ED3\u5C3E
|
|
let cleanBaseUrl = baseUrlStr;
|
|
if (cleanBaseUrl.endsWith('/')) {
|
|
cleanBaseUrl = cleanBaseUrl.slice(0, -1);
|
|
}
|
|
const apiEndpoint = cleanBaseUrl + '/' + apiToken;
|
|
|
|
const apiEndpointElement = document.getElementById('api-endpoint');
|
|
if (apiEndpointElement) {
|
|
apiEndpointElement.textContent = apiEndpoint;
|
|
}
|
|
return config; // \u8FD4\u56DE\u914D\u7F6E\u4FE1\u606F\uFF0C\u4EE5\u4FBF\u94FE\u5F0F\u8C03\u7528
|
|
})
|
|
.catch(error => {
|
|
console.error('\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\u5931\u8D25:', error);
|
|
// \u51FA\u9519\u65F6\u663E\u793A\u9ED8\u8BA4\u503C
|
|
const protocol = window.location.protocol;
|
|
const host = window.location.host;
|
|
let _reverseProxy = customBaseUrl;
|
|
|
|
// \u6784\u9020\u663E\u793A\u7528\u7684BaseUrl
|
|
let baseUrlStr;
|
|
if (_reverseProxy) {
|
|
baseUrlStr = _reverseProxy.startsWith('http')
|
|
? _reverseProxy
|
|
: (protocol + '//' + host + _reverseProxy);
|
|
} else {
|
|
baseUrlStr = protocol + '//' + host;
|
|
}
|
|
|
|
let cleanBaseUrl = baseUrlStr;
|
|
if (cleanBaseUrl.endsWith('/')) {
|
|
cleanBaseUrl = cleanBaseUrl.slice(0, -1);
|
|
}
|
|
const apiEndpoint = cleanBaseUrl + '/********';
|
|
|
|
const apiEndpointElement = document.getElementById('api-endpoint');
|
|
if (apiEndpointElement) {
|
|
apiEndpointElement.textContent = apiEndpoint;
|
|
}
|
|
|
|
// \u5982\u679C\u662F\u56E0\u4E3A\u53CD\u4EE3\u5BFC\u81F4\u7684\u95EE\u9898\uFF0C\u663E\u793A\u8F93\u5165\u6846 (\u4EA4\u7531renderPreview\u5904\u7406\uFF0C\u6216\u8005\u5728\u8FD9\u91CC\u4E5F\u53EF\u4EE5\u89E6\u53D1)
|
|
const proxyContainer = document.getElementById('proxy-config-container');
|
|
if(proxyContainer) {
|
|
proxyContainer.style.display = 'block';
|
|
// \u586B\u5145\u5F53\u524D\u8F93\u5165\u6846\uFF08\u5982\u679C\u6709\u503C\uFF09
|
|
if(customBaseUrl) {
|
|
document.getElementById('custom-base-url').value = customBaseUrl;
|
|
}
|
|
}
|
|
|
|
throw error; // \u629B\u51FA\u9519\u8BEF\uFF0C\u4EE5\u4FBF\u8C03\u7528\u8005\u53EF\u4EE5\u5904\u7406
|
|
});
|
|
}
|
|
|
|
function getDockerVersion() {
|
|
const url = "https://img.shields.io/docker/v/logvar/danmu-api?sort=semver";
|
|
|
|
fetch(url)
|
|
.then(response => response.text())
|
|
.then(svgContent => {
|
|
// \u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u4ECE SVG \u4E2D\u63D0\u53D6\u7248\u672C\u53F7
|
|
const versionMatch = svgContent.match(/version<\\/text><text.*?>(v[\\d\\.]+)/);
|
|
|
|
if (versionMatch && versionMatch[1]) {
|
|
console.log("Version:", versionMatch[1]);
|
|
const latestVersionElement = document.getElementById('latest-version');
|
|
if (latestVersionElement) {
|
|
latestVersionElement.textContent = versionMatch[1];
|
|
}
|
|
} else {
|
|
console.log("Version not found");
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error("Error fetching the SVG:", error);
|
|
});
|
|
}
|
|
|
|
// \u5207\u6362\u5BFC\u822A
|
|
function switchSection(section, event = null) {
|
|
// \u68C0\u67E5\u662F\u5426\u5C1D\u8BD5\u8BBF\u95EE\u53D7token\u4FDD\u62A4\u7684section\uFF08\u65E5\u5FD7\u67E5\u770B\u3001\u63A5\u53E3\u8C03\u8BD5\u3001\u63A8\u9001\u5F39\u5E55\u3001\u8BF7\u6C42\u8BB0\u5F55\u3001\u7CFB\u7EDF\u914D\u7F6E\u9700\u8981token\u8BBF\u95EE\uFF09
|
|
if (section === 'logs' || section === 'api' || section === 'env' || section === 'push' || section === 'request-records') {
|
|
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u914D\u7F6E
|
|
|
|
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
|
|
let urlPath = window.location.pathname;
|
|
if(_reverseProxy) {
|
|
// \u4E25\u8C28\u5730\u79FB\u9664BaseUrl\u4E2D\u7684path\u90E8\u5206
|
|
try {
|
|
// \u5982\u679C_reverseProxy\u5305\u542B\u5B8C\u6574URL\uFF0C\u63D0\u53D6pathname
|
|
// \u5982\u679C\u53EA\u662F\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u76F4\u63A5\u4F7F\u7528
|
|
let proxyPath = _reverseProxy.startsWith('http')
|
|
? new URL(_reverseProxy).pathname
|
|
: _reverseProxy;
|
|
|
|
// \u786E\u4FDD\u79FB\u9664\u5C3E\u90E8\u659C\u6760\uFF0C\u9632\u6B62\u5339\u914D\u5931\u8D25
|
|
if (proxyPath.endsWith('/')) {
|
|
proxyPath = proxyPath.slice(0, -1);
|
|
}
|
|
|
|
if(proxyPath && urlPath.startsWith(proxyPath)) {
|
|
urlPath = urlPath.substring(proxyPath.length);
|
|
}
|
|
} catch(e) {
|
|
console.error("\u89E3\u6790\u53CD\u4EE3\u8DEF\u5F84\u5931\u8D25", e);
|
|
}
|
|
}
|
|
|
|
const pathParts = urlPath.split('/').filter(part => part !== '');
|
|
const urlToken = pathParts.length > 0 ? pathParts[0] : '';
|
|
|
|
// \u68C0\u67E5URL\u4E2D\u662F\u5426\u6709token
|
|
if (!urlToken && originalToken !== "87654321") {
|
|
// \u63D0\u793A\u7528\u6237\u9700\u8981\u5728URL\u4E2D\u914D\u7F6ETOKEN
|
|
setTimeout(() => {
|
|
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
|
|
const protocol = window.location.protocol;
|
|
const host = window.location.host;
|
|
|
|
// \u6784\u9020\u663E\u793A\u7684BaseUrl\uFF0C\u786E\u4FDD\u662F\u7EDD\u5BF9\u8DEF\u5F84
|
|
let displayBase;
|
|
if (_reverseProxy) {
|
|
displayBase = _reverseProxy.startsWith('http')
|
|
? _reverseProxy
|
|
: (protocol + '//' + host + _reverseProxy);
|
|
} else {
|
|
displayBase = protocol + '//' + host;
|
|
}
|
|
|
|
if (displayBase.endsWith('/')) {
|
|
displayBase = displayBase.slice(0, -1);
|
|
}
|
|
|
|
// \u6839\u636Esection\u7C7B\u578B\u663E\u793A\u4E0D\u540C\u7684token\u63D0\u793A
|
|
const tokenType = section === 'env' ? 'ADMIN_TOKEN' : 'TOKEN';
|
|
customAlert('\u8BF7\u5728URL\u4E2D\u914D\u7F6E\u76F8\u5E94\u7684' + tokenType + '\u4EE5\u8BBF\u95EE\u6B64\u529F\u80FD\uFF01\\n\\n\u8BBF\u95EE\u65B9\u5F0F\uFF1A' + displayBase + '/{' + tokenType + '}');
|
|
}, 100);
|
|
return;
|
|
}
|
|
|
|
// \u5982\u679C\u662F\u7CFB\u7EDF\u914D\u7F6E\u9875\u9762\uFF0C\u8FD8\u9700\u8981\u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN\u4E14URL\u4E2D\u7684token\u7B49\u4E8EcurrentAdminToken
|
|
if (section === 'env') {
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
|
|
checkDeployPlatformConfig().then(result => {
|
|
if (!result.success) {
|
|
// \u5982\u679C\u914D\u7F6E\u68C0\u67E5\u4E0D\u901A\u8FC7\uFF0C\u53EA\u663E\u793A\u63D0\u793A\uFF0C\u4E0D\u5207\u6362\u9875\u9762
|
|
setTimeout(() => {
|
|
customAlert(result.message);
|
|
}, 100);
|
|
} else {
|
|
// \u5982\u679C\u914D\u7F6E\u68C0\u67E5\u901A\u8FC7\uFF0C\u624D\u5207\u6362\u5230env\u9875\u9762
|
|
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
|
|
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
|
|
|
|
document.getElementById(\`\${section}-section\`).classList.add('active');
|
|
// \u5728\u5F02\u6B65\u56DE\u8C03\u4E2D\u4F7F\u7528\u4F20\u5165\u7684event\u53C2\u6570\u6765\u8BBE\u7F6E\u6309\u94AE\u7684active\u72B6\u6001
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
|
|
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : section === 'request-records' ? '\u8BF7\u6C42\u8BB0\u5F55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
|
|
}
|
|
});
|
|
} else {
|
|
// \u5BF9\u4E8E\u65E5\u5FD7\u67E5\u770B\u3001\u63A5\u53E3\u8C03\u8BD5\u548C\u63A8\u9001\u5F39\u5E55\u9875\u9762\uFF0C\u53EA\u8981URL\u4E2D\u6709token\u5C31\u53EF\u4EE5\u8BBF\u95EE
|
|
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
|
|
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
|
|
|
|
document.getElementById(\`\${section}-section\`).classList.add('active');
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
|
|
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : section === 'request-records' ? '\u8BF7\u6C42\u8BB0\u5F55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
|
|
|
|
// \u5982\u679C\u5207\u6362\u5230\u65E5\u5FD7\u67E5\u770B\u9875\u9762\uFF0C\u5219\u7ACB\u5373\u5237\u65B0\u65E5\u5FD7
|
|
if (section === 'logs') {
|
|
if (typeof fetchRealLogs === 'function') {
|
|
fetchRealLogs();
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
// \u5BF9\u4E8E\u975E\u53D7\u4FDD\u62A4\u9875\u9762\uFF08\u5982\u914D\u7F6E\u9884\u89C8\uFF09\uFF0C\u6B63\u5E38\u5207\u6362
|
|
document.querySelectorAll('.section').forEach(s => s.classList.remove('active'));
|
|
document.querySelectorAll('.nav-btn').forEach(b => b.classList.remove('active'));
|
|
|
|
document.getElementById(\`\${section}-section\`).classList.add('active');
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
|
|
addLog(\`\u5207\u6362\u5230\${section === 'env' ? '\u73AF\u5883\u53D8\u91CF' : section === 'preview' ? '\u914D\u7F6E\u9884\u89C8' : section === 'logs' ? '\u65E5\u5FD7\u67E5\u770B' : section === 'push' ? '\u63A8\u9001\u5F39\u5E55' : '\u63A5\u53E3\u8C03\u8BD5'}\u6A21\u5757\`, 'info');
|
|
}
|
|
}
|
|
|
|
// \u5207\u6362\u7C7B\u522B
|
|
function switchCategory(category, event = null) {
|
|
currentCategory = category;
|
|
document.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active'));
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
renderEnvList();
|
|
}
|
|
|
|
// \u5173\u95ED\u6A21\u6001\u6846
|
|
function closeModal() {
|
|
document.getElementById('env-modal').classList.remove('active');
|
|
|
|
// \u91CD\u7F6E\u8868\u5355\u5B57\u6BB5\u72B6\u6001
|
|
document.getElementById('env-category').disabled = false;
|
|
document.getElementById('env-key').readOnly = false;
|
|
document.getElementById('value-type').disabled = false;
|
|
document.getElementById('env-description').readOnly = false;
|
|
}
|
|
|
|
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316\u65F6\u83B7\u53D6\u4E00\u6B21\u65E5\u5FD7
|
|
async function init() {
|
|
try {
|
|
await updateApiEndpoint(); // \u7B49\u5F85API\u7AEF\u70B9\u66F4\u65B0\u5B8C\u6210
|
|
getDockerVersion();
|
|
// \u4ECEAPI\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\uFF0C\u5305\u62EC\u68C0\u67E5\u662F\u5426\u6709admin token
|
|
const config = await fetchAndSetConfig();
|
|
|
|
// \u8BBE\u7F6E\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
|
|
setDefaultPushUrl(config);
|
|
|
|
// \u68C0\u67E5\u5E76\u5904\u7406\u7BA1\u7406\u5458\u4EE4\u724C
|
|
checkAndHandleAdminToken();
|
|
|
|
loadEnvVariables(); // \u4ECEAPI\u52A0\u8F7D\u771F\u5B9E\u73AF\u5883\u53D8\u91CF\u6570\u636E
|
|
renderEnvList();
|
|
renderPreview();
|
|
addLog('\u7CFB\u7EDF\u521D\u59CB\u5316\u5B8C\u6210', 'success');
|
|
// \u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
|
|
fetchRealLogs();
|
|
|
|
// \u521D\u59CB\u5316\u63A8\u9001\u5F39\u5E55\u754C\u9762
|
|
if (typeof initPushDanmuInterface === 'function') {
|
|
initPushDanmuInterface();
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u63A5\u53E3\u8C03\u8BD5\u754C\u9762
|
|
if (typeof initApiTestInterface === 'function') {
|
|
initApiTestInterface();
|
|
}
|
|
|
|
} catch (error) {
|
|
console.error('\u521D\u59CB\u5316\u5931\u8D25:', error);
|
|
addLog('\u7CFB\u7EDF\u521D\u59CB\u5316\u5931\u8D25: ' + error.message, 'error');
|
|
|
|
// \u786E\u4FDD\u53CD\u4EE3\u914D\u7F6E\u6846\u663E\u793A
|
|
const proxyContainer = document.getElementById('proxy-config-container');
|
|
if(proxyContainer) {
|
|
proxyContainer.style.display = 'block';
|
|
if(customBaseUrl) {
|
|
document.getElementById('custom-base-url').value = customBaseUrl;
|
|
}
|
|
}
|
|
|
|
// \u5373\u4F7F\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u4E5F\u8981\u5C1D\u8BD5\u83B7\u53D6\u65E5\u5FD7
|
|
fetchRealLogs();
|
|
}
|
|
}
|
|
|
|
// \u590D\u5236API\u7AEF\u70B9\u5230\u526A\u8D34\u677F
|
|
function copyApiEndpoint() {
|
|
const apiEndpointElement = document.getElementById('api-endpoint');
|
|
if (apiEndpointElement) {
|
|
const apiEndpoint = apiEndpointElement.textContent;
|
|
navigator.clipboard.writeText(apiEndpoint)
|
|
.then(() => {
|
|
// \u4E34\u65F6\u6539\u53D8\u663E\u793A\u6587\u672C\u4EE5\u63D0\u4F9B\u53CD\u9988
|
|
const originalText = apiEndpointElement.textContent;
|
|
apiEndpointElement.textContent = '\u5DF2\u590D\u5236!';
|
|
apiEndpointElement.style.color = '#ff6b6b';
|
|
|
|
// 2\u79D2\u540E\u6062\u590D\u539F\u59CB\u6587\u672C
|
|
setTimeout(() => {
|
|
apiEndpointElement.textContent = originalText;
|
|
apiEndpointElement.style.color = '#4CAF50';
|
|
}, 2000);
|
|
|
|
addLog('API\u7AEF\u70B9\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F: ' + apiEndpoint, 'success');
|
|
})
|
|
.catch(err => {
|
|
console.error('\u590D\u5236\u5931\u8D25:', err);
|
|
customAlert('\u590D\u5236\u5931\u8D25: ' + err);
|
|
addLog('\u590D\u5236API\u7AEF\u70B9\u5931\u8D25: ' + err, 'error');
|
|
});
|
|
}
|
|
}
|
|
|
|
function escapeHtml(text) {
|
|
// \u5982\u679C\u662F null \u6216 undefined\uFF0C\u8FD4\u56DE\u7A7A\u5B57\u7B26\u4E32
|
|
if (text === null || text === undefined) {
|
|
return '';
|
|
}
|
|
|
|
// \u5C06\u975E\u5B57\u7B26\u4E32\u503C\u8F6C\u6362\u4E3A\u5B57\u7B26\u4E32
|
|
const str = String(text);
|
|
|
|
const map = {
|
|
'&': '&',
|
|
'<': '<',
|
|
'>': '>',
|
|
'"': '"',
|
|
"'": '''
|
|
};
|
|
return str.replace(/[&<>"']/g, m => map[m]);
|
|
}
|
|
|
|
|
|
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316
|
|
init();
|
|
`;var qst=`
|
|
// \u6E32\u67D3\u914D\u7F6E\u9884\u89C8
|
|
let currentPreviewCategory = 'api';
|
|
|
|
function renderPreview() {
|
|
const preview = document.getElementById('preview-area');
|
|
const proxyConfigContainer = document.getElementById('proxy-config-container');
|
|
|
|
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u914D\u7F6E\u6570\u636E
|
|
fetch(buildApiUrl('/api/config'))
|
|
.then(response => {
|
|
const contentType = response.headers.get("content-type");
|
|
if (contentType && contentType.indexOf("application/json") === -1) {
|
|
// \u8FD4\u56DE\u6587\u672C\u4EE5\u4FBF\u540E\u7EED\u5904\u7406\uFF08\u4F8B\u5982\u663E\u793AHTML\u9519\u8BEF\u7684\u524D\u51E0\u4E2A\u5B57\u7B26\uFF09
|
|
return response.text().then(text => {
|
|
throw new Error('Expected JSON, got ' + contentType + '. Content: ' + text.substring(0, 50) + '...');
|
|
});
|
|
}
|
|
if (!response.ok) {
|
|
throw new Error('HTTP error! status: ' + response.status);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(config => {
|
|
// \u6210\u529F\u52A0\u8F7D\uFF0C\u9690\u85CF\u53CD\u4EE3\u914D\u7F6E\u6846
|
|
if(proxyConfigContainer) {
|
|
proxyConfigContainer.style.display = 'none';
|
|
}
|
|
|
|
// \u4F7F\u7528\u4ECEAPI\u83B7\u53D6\u7684\u5206\u7C7B\u73AF\u5883\u53D8\u91CF
|
|
const categorizedVars = config.categorizedEnvVars || {};
|
|
|
|
// \u6E32\u67D3\u5F53\u524D\u9009\u4E2D\u7684\u9884\u89C8\u5185\u5BB9
|
|
let html = '';
|
|
|
|
const items = categorizedVars[currentPreviewCategory];
|
|
if (items && items.length > 0) {
|
|
html += '<div class="preview-category">' +
|
|
'<h3>' + getCategoryName(currentPreviewCategory) + '</h3>';
|
|
items.forEach(item => {
|
|
const escapedValue = escapeHtml(item.value);
|
|
html += '<div class="preview-item">' +
|
|
'<div class="preview-item-content">' +
|
|
'<div class="preview-key"><strong>' + item.key + '</strong></div>' +
|
|
'<div class="preview-value">' + escapedValue + '</div>' +
|
|
'</div>' +
|
|
(item.description ? '<div class="text-gray font-size-12 margin-top-3">' + item.description + '</div>' : '') +
|
|
'</div>';
|
|
});
|
|
html += '</div>';
|
|
}
|
|
|
|
preview.innerHTML = html || '<p class="text-gray padding-20 text-center">\u6682\u65E0\u914D\u7F6E</p>';
|
|
})
|
|
.catch(error => {
|
|
console.error('Failed to load config for preview:', error);
|
|
|
|
// \u663E\u793A\u53CD\u4EE3\u914D\u7F6E\u6846
|
|
if(proxyConfigContainer) {
|
|
proxyConfigContainer.style.display = 'block';
|
|
// \u5982\u679C\u6709\u5DF2\u4FDD\u5B58\u7684URL\uFF0C\u586B\u5145\u5B83
|
|
const savedUrl = localStorage.getItem('logvar_api_base_url');
|
|
if(savedUrl) {
|
|
document.getElementById('custom-base-url').value = savedUrl;
|
|
}
|
|
}
|
|
|
|
preview.innerHTML = '<p class="text-red">\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: ' + error.message + '</p>';
|
|
addLog('\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: ' + error.message, 'error');
|
|
});
|
|
}
|
|
|
|
// \u5207\u6362\u9884\u89C8\u7C7B\u522B
|
|
function switchPreviewCategory(category, event = null) {
|
|
currentPreviewCategory = category;
|
|
// \u66F4\u65B0\u6309\u94AE\u72B6\u6001
|
|
const section = document.getElementById('preview-section');
|
|
if (section) {
|
|
section.querySelectorAll('.category-btn').forEach(b => b.classList.remove('active'));
|
|
}
|
|
if (event && event.target) {
|
|
event.target.classList.add('active');
|
|
}
|
|
renderPreview();
|
|
}
|
|
|
|
// \u83B7\u53D6\u7C7B\u522B\u540D\u79F0
|
|
function getCategoryName(category) {
|
|
const names = {
|
|
api: 'API\u914D\u7F6E',
|
|
source: '\u6E90\u914D\u7F6E',
|
|
match: '\u5339\u914D\u914D\u7F6E',
|
|
danmu: '\u5F39\u5E55\u914D\u7F6E',
|
|
cache: '\u7F13\u5B58\u914D\u7F6E',
|
|
system: '\u7CFB\u7EDF\u914D\u7F6E'
|
|
};
|
|
return names[category] || category;
|
|
}
|
|
`;var jst=`
|
|
// \u65E5\u5FD7\u5168\u5C40\u8FC7\u6EE4\u72B6\u6001
|
|
let currentLogFilter = 'ALL';
|
|
|
|
// \u83B7\u53D6\u65E5\u5FD7\u7684\u4E25\u683C\u5F52\u5C5E\u5206\u7C7B
|
|
function getLogCategory(message) {
|
|
// \u5339\u914D\u884C\u9996\u7684\u8FDE\u7EED\u65B9\u62EC\u53F7\u6807\u7B7E (\u9700\u53CC\u91CD\u8F6C\u4E49)
|
|
const prefixMatch = message.match(/^(?:\\s*\\[[^\\]]+\\])+/);
|
|
if (!prefixMatch) {
|
|
// \u65E0\u6807\u7B7E\u884C\u4F5C\u4E3A\u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u884C\u7684\u5206\u7C7B
|
|
return '_inherit_';
|
|
}
|
|
|
|
const tags = prefixMatch[0].match(/\\[([^\\]]+)\\]/g).map(t => t.replace(/[\\[\\]]/g, '').trim());
|
|
|
|
// \u5F52\u7C7B\u5408\u5E76\u5DE5\u5177\u65E5\u5FD7
|
|
// \u53EA\u8981\u884C\u9996\u5305\u542B Merge\uFF0C\u6216\u8005\u5305\u542B\u5408\u5E76\u6620\u5C04\u72EC\u6709\u7684\u5B50\u6807\u7B7E\uFF0C\u5F3A\u884C\u5C06\u5176\u6536\u675F\u81F3 Merge \u4E13\u5C5E\u5206\u7C7B
|
|
if (tags.some(t => t.toLowerCase() === 'merge' || ['\u5339\u914D', '\u843D\u5355', '\u8865\u5168', '\u5408\u96C6', '\u7565\u8FC7', 'Merge-Check'].some(key => t.includes(key)))) {
|
|
return 'merge';
|
|
}
|
|
|
|
// \u6392\u9664\u65F6\u95F4\u6233\u548C\u5E95\u5C42\u65E0\u610F\u4E49\u6807\u7B7E\uFF0C\u6293\u53D6\u771F\u6B63\u7684\u4E1A\u52A1\u6E90
|
|
const validTags = tags.filter(t =>
|
|
!/^\\d{4}-\\d{2}-\\d{2}[T ]/.test(t) && // \u6392\u9664 ISO \u65F6\u95F4\u6233\u683C\u5F0F\uFF08YYYY-MM-DDTHH:MM:SS\uFF09
|
|
!/^\\d{2}:\\d{2}(:\\d{2})?$/.test(t) && // \u6392\u9664 HH:MM:SS \u65F6\u95F4\u683C\u5F0F\uFF08JSON \u7EED\u884C\uFF09
|
|
!t.includes('08:00') &&
|
|
t !== '\u8BF7\u6C42\u6A21\u62DF' &&
|
|
t !== '\u7F51\u7EDC\u8BF7\u6C42'
|
|
);
|
|
|
|
if (validTags.length === 0) {
|
|
// \u5168\u90E8\u6807\u7B7E\u88AB\u65F6\u95F4\u6233\u7B49\u8FC7\u6EE4\u89C4\u5219\u6392\u9664\uFF0C\u4F5C\u4E3A\u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u884C\u7684\u5206\u7C7B
|
|
return '_inherit_';
|
|
}
|
|
|
|
// \u7EDF\u4E00\u8F6C\u6362\u4E3A\u5C0F\u5199\uFF0C\u786E\u4FDD\u5927\u5C0F\u5199\u53D8\u4F53(\u5982 Bahamut \u548C bahamut)\u6536\u675F\u81F3\u540C\u4E00\u5185\u90E8\u6807\u8BC6\u7B26
|
|
let category = validTags[0].toLowerCase();
|
|
|
|
// \u6807\u7B7E\u5F52\u4E00\u5316\uFF1A\u5C06\u53D8\u4F53\u6807\u7B7E\u6620\u5C04\u5230\u6807\u51C6\u5206\u7C7B
|
|
const normalizationMap = {
|
|
'vod fastest mode': 'vod',
|
|
'custom source': 'custom',
|
|
'bilibili-proxy': 'bilibili',
|
|
'tmdb-source': 'tmdb',
|
|
'path check': 'system',
|
|
'path fix': 'system',
|
|
'base': 'system',
|
|
'fongmi': 'system',
|
|
};
|
|
if (normalizationMap[category]) {
|
|
category = normalizationMap[category];
|
|
}
|
|
|
|
return category;
|
|
}
|
|
|
|
// \u65E5\u5FD7\u76F8\u5173
|
|
function addLog(message, type = 'info') {
|
|
const timestamp = new Date().toLocaleTimeString();
|
|
logs.push({ timestamp, message, type });
|
|
if (logs.length > 100) logs.shift();
|
|
renderLogs();
|
|
}
|
|
|
|
function renderLogs() {
|
|
const container = document.getElementById('log-container');
|
|
const filterContainer = document.getElementById('log-filters') || createFilterContainer();
|
|
|
|
let filteredLogs = logs;
|
|
if (currentLogFilter !== 'ALL') {
|
|
// \u91C7\u7528\u4E25\u683C\u5F52\u5C5E\u6821\u9A8C\uFF0C\u540C\u65F6\u652F\u6301\u7EED\u884C\u4E0A\u4E0B\u6587\u7EE7\u627F
|
|
let lastCategory = 'system';
|
|
filteredLogs = logs.filter(log => {
|
|
let category = getLogCategory(log.message);
|
|
if (category === '_inherit_') {
|
|
// \u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u4E2A\u660E\u786E\u5206\u7C7B\u884C
|
|
category = lastCategory;
|
|
} else {
|
|
lastCategory = category;
|
|
}
|
|
return category === currentLogFilter;
|
|
});
|
|
}
|
|
|
|
container.innerHTML = filteredLogs.map(log => {
|
|
let highlightedMessage = log.message;
|
|
|
|
// \u884C\u9996\u8FDE\u7EED\u6807\u7B7E\u9AD8\u4EAE (\u9700\u53CC\u91CD\u8F6C\u4E49)
|
|
const prefixMatch = log.message.match(/^(?:\\s*\\[[^\\]]+\\])+/);
|
|
if (prefixMatch) {
|
|
const prefix = prefixMatch[0];
|
|
const rest = log.message.slice(prefix.length);
|
|
const coloredPrefix = prefix.replace(/\\[([^\\]]+)\\]/g, '<span class="log-tag">[$1]</span>');
|
|
highlightedMessage = coloredPrefix + rest;
|
|
}
|
|
|
|
return \`<div class="log-entry \${log.type}">[\${log.timestamp}] \${highlightedMessage}</div>\`;
|
|
}).join('');
|
|
container.scrollTop = container.scrollHeight;
|
|
|
|
updateFilterUI();
|
|
}
|
|
|
|
function createFilterContainer() {
|
|
const controls = document.querySelector('.log-controls');
|
|
const filterDiv = document.createElement('div');
|
|
filterDiv.id = 'log-filters';
|
|
filterDiv.className = 'log-filters-container';
|
|
controls.parentNode.insertBefore(filterDiv, document.getElementById('log-container'));
|
|
return filterDiv;
|
|
}
|
|
|
|
// \u6807\u7B7E\u663E\u793A\u987A\u5E8F\uFF1AALL \u2192 \u7CFB\u7EDF \u2192 \u5DE5\u5177 \u2192 \u6E90\uFF0C\u7EC4\u5185\u5B57\u6BCD\u5E8F
|
|
const tagGroupOrder = [
|
|
['system', 'ai'],
|
|
['utils', 'cache', 'merge'],
|
|
['360kan', 'aiyifan', 'animeko', 'bahamut', 'bilibili', 'custom', 'dandan', 'douban', 'hanjutv', 'iqiyi', 'leshi', 'maiduidui', 'mango', 'migu', 'other', 'renren', 'sohu', 'tencent', 'tmdb', 'vod', 'xigua', 'youku'],
|
|
];
|
|
const tagOrderMap = {};
|
|
tagGroupOrder.forEach((group, gi) => group.forEach((tag, ti) => tagOrderMap[tag] = gi * 1000 + ti));
|
|
|
|
function updateFilterUI() {
|
|
const filterContainer = document.getElementById('log-filters');
|
|
let html = \`<button class="filter-btn \${currentLogFilter === 'ALL' ? 'active' : ''}" onclick="setLogFilter('ALL')">ALL</button>\`;
|
|
|
|
const currentTags = new Set();
|
|
let lastCategory = 'system';
|
|
logs.forEach(log => {
|
|
let category = getLogCategory(log.message);
|
|
// \u7EED\u884C\u7EE7\u627F\u4E0A\u4E00\u4E2A\u660E\u786E\u5206\u7C7B\u884C
|
|
if (category === '_inherit_') {
|
|
category = lastCategory;
|
|
} else {
|
|
lastCategory = category;
|
|
}
|
|
// \u6240\u6709\u5206\u7C7B\u6807\u7B7E\u5747\u751F\u6210\u7B5B\u9009\u6309\u94AE
|
|
currentTags.add(category);
|
|
});
|
|
|
|
[...currentTags].sort((a, b) => {
|
|
const ai = tagOrderMap[a] ?? 99999, bi = tagOrderMap[b] ?? 99999;
|
|
return ai !== bi ? ai - bi : a.localeCompare(b);
|
|
}).forEach(tag => {
|
|
html += \`<button class="filter-btn \${currentLogFilter === tag ? 'active' : ''}" onclick="setLogFilter('\${tag}')">\${tag}</button>\`;
|
|
});
|
|
|
|
filterContainer.innerHTML = html;
|
|
}
|
|
|
|
window.setLogFilter = function(tag) {
|
|
currentLogFilter = tag;
|
|
renderLogs();
|
|
};
|
|
|
|
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
|
|
async function fetchRealLogs() {
|
|
try {
|
|
// \u65E5\u5FD7\u67E5\u770B\u4F7F\u7528\u666E\u901Atoken\u8BBF\u95EE\uFF0C\u4E0D\u9700\u8981admin token
|
|
const response = await fetch(buildApiUrl('/api/logs')); // \u4E0D\u4F7F\u7528admin token
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
const logText = await response.text();
|
|
// \u89E3\u6790\u65E5\u5FD7\u6587\u672C\u4E3A\u6570\u7EC4
|
|
const logLines = logText.split('\\n').filter(line => line.trim() !== '');
|
|
// \u8F6C\u6362\u4E3Alogs\u6570\u7EC4\u683C\u5F0F
|
|
logs = logLines.map(line => {
|
|
// \u89E3\u6790\u65E5\u5FD7\u884C\uFF0C\u63D0\u53D6\u65F6\u95F4\u6233\u3001\u7EA7\u522B\u548C\u6D88\u606F
|
|
const match = line.match(/\\[([^\\]]+)\\] (\\w+): (.*)/);
|
|
if (match) {
|
|
return {
|
|
timestamp: match[1],
|
|
type: match[2],
|
|
message: match[3]
|
|
};
|
|
}
|
|
// \u5982\u679C\u65E0\u6CD5\u89E3\u6790\uFF0C\u8FD4\u56DE\u539F\u59CB\u884C
|
|
return {
|
|
timestamp: new Date().toLocaleTimeString(),
|
|
type: 'info',
|
|
message: line
|
|
};
|
|
});
|
|
renderLogs();
|
|
} catch (error) {
|
|
console.error('Failed to fetch logs:', error);
|
|
addLog(\`\u83B7\u53D6\u65E5\u5FD7\u5931\u8D25: \${error.message}\`, 'error');
|
|
}
|
|
}
|
|
|
|
function refreshLogs() {
|
|
// \u4ECEAPI\u83B7\u53D6\u771F\u5B9E\u65E5\u5FD7\u6570\u636E
|
|
fetchRealLogs();
|
|
}
|
|
|
|
async function clearLogs() {
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
|
|
const configCheck = await checkDeployPlatformConfig();
|
|
if (!configCheck.success) {
|
|
customAlert(configCheck.message);
|
|
return;
|
|
}
|
|
|
|
customConfirm('\u786E\u5B9A\u8981\u6E05\u7A7A\u6240\u6709\u65E5\u5FD7\u5417?', '\u6E05\u7A7A\u786E\u8BA4').then(async confirmed => {
|
|
if (confirmed) {
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/logs/clear', true), { // \u4F7F\u7528admin token
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
|
|
const result = await response.json();
|
|
if (result.success) {
|
|
// \u6E05\u7A7A\u524D\u7AEF\u663E\u793A\u7684\u65E5\u5FD7
|
|
logs = [];
|
|
renderLogs();
|
|
addLog('\u65E5\u5FD7\u5DF2\u6E05\u7A7A', 'warn');
|
|
} else {
|
|
addLog(\`\u6E05\u7A7A\u65E5\u5FD7\u5931\u8D25: \${result.message}\`, 'error');
|
|
}
|
|
} catch (error) {
|
|
console.error('Failed to clear logs:', error);
|
|
addLog(\`\u6E05\u7A7A\u65E5\u5FD7\u5931\u8D25: \${error.message}\`, 'error');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
// JSON\u9AD8\u4EAE\u51FD\u6570
|
|
function highlightJSON(obj) {
|
|
let json = JSON.stringify(obj, null, 2);
|
|
// \u8F6C\u4E49HTML\u7279\u6B8A\u5B57\u7B26
|
|
json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
|
|
// \u9AD8\u4EAEJSON\u8BED\u6CD5
|
|
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(s*:)?|\b(true|false|null)\b|-?d+(?:.d*)?(?:[eE][+-]?d+)?)/g, function (match) {
|
|
let cls = 'number';
|
|
if (/^"/.test(match)) {
|
|
if (/:$/.test(match)) {
|
|
cls = 'key';
|
|
} else {
|
|
cls = 'string';
|
|
}
|
|
} else if (/true|false/.test(match)) {
|
|
cls = 'boolean';
|
|
} else if (/null/.test(match)) {
|
|
cls = 'null';
|
|
}
|
|
return '<span class="' + cls + '">' + match + '</span>';
|
|
});
|
|
}
|
|
`;var Hst=`
|
|
// API \u914D\u7F6E
|
|
const apiConfigs = {
|
|
searchAnime: {
|
|
name: '\u641C\u7D22\u52A8\u6F2B',
|
|
method: 'GET',
|
|
path: '/api/v2/search/anime',
|
|
params: [
|
|
{ name: 'keyword', label: '\u5173\u952E\u8BCD \u6216 \u64AD\u653E\u94FE\u63A5URL', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269 \u6216 http://v.qq.com/x/cover/rjae621myqca41h/j0032ubhl9s.html' }
|
|
]
|
|
},
|
|
searchEpisodes: {
|
|
name: '\u641C\u7D22\u5267\u96C6',
|
|
method: 'GET',
|
|
path: '/api/v2/search/episodes',
|
|
params: [
|
|
{ name: 'anime', label: '\u52A8\u6F2B\u540D\u79F0', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269' },
|
|
{ name: 'episode', label: '\u96C6', type: 'text', required: false, placeholder: '\u793A\u4F8B: 1, movie' }
|
|
]
|
|
},
|
|
matchAnime: {
|
|
name: '\u5339\u914D\u52A8\u6F2B',
|
|
method: 'POST',
|
|
path: '/api/v2/match',
|
|
params: [
|
|
{ name: 'fileName', label: '\u6587\u4EF6\u540D', type: 'text', required: true, placeholder: '\u793A\u4F8B: \u751F\u4E07\u7269 S02E08, \u65E0\u5FE7\u6E21.S02E08.2160p.WEB-DL.H265.DDP.5.1, \u7231\u60C5\u516C\u5BD3.ipartment.2009.S02E08.H.265.25fps.mkv, \u4EB2\u7231\u7684X S02E08, \u5B87\u5B99Marry Me? S02E08' }
|
|
]
|
|
},
|
|
getBangumi: {
|
|
name: '\u83B7\u53D6\u756A\u5267\u8BE6\u60C5',
|
|
method: 'GET',
|
|
path: '/api/v2/bangumi/:animeId',
|
|
params: [
|
|
{ name: 'animeId', label: '\u52A8\u6F2BID', type: 'text', required: true, placeholder: '\u793A\u4F8B: 236379' }
|
|
]
|
|
},
|
|
getComment: {
|
|
name: '\u83B7\u53D6\u5F39\u5E55',
|
|
method: 'GET',
|
|
path: '/api/v2/comment/:commentId',
|
|
params: [
|
|
{ name: 'commentId', label: '\u5F39\u5E55ID', type: 'text', required: true, placeholder: '\u793A\u4F8B: 10009' },
|
|
{ name: 'format', label: '\u683C\u5F0F', type: 'select', required: false, placeholder: '\u53EF\u9009: json\u6216xml', options: ['json', 'xml'] },
|
|
{ name: 'duration', label: '\u9644\u5E26\u65F6\u957F', type: 'select', required: false, placeholder: '\u53EF\u9009: true\u6216false', options: ['true', 'false'] },
|
|
{ name: 'segmentflag', label: '\u5206\u7247\u6807\u5FD7', type: 'select', required: false, placeholder: '\u53EF\u9009: true\u6216false', options: ['true', 'false'] }
|
|
]
|
|
},
|
|
getSegmentComment: {
|
|
name: '\u83B7\u53D6\u5206\u7247\u5F39\u5E55',
|
|
method: 'POST',
|
|
path: '/api/v2/segmentcomment',
|
|
params: [
|
|
{ name: 'format', label: '\u683C\u5F0F', type: 'select', required: false, placeholder: '\u53EF\u9009: json\u6216xml', options: ['json', 'xml'] },
|
|
],
|
|
hasBody: true,
|
|
bodyType: 'json'
|
|
}
|
|
};
|
|
|
|
// \u5F39\u5E55\u6D4B\u8BD5\u5168\u5C40\u72B6\u6001
|
|
let danmuTestState = {
|
|
allComments: [],
|
|
filteredComments: [],
|
|
currentFilter: 'all',
|
|
displayedCount: 0,
|
|
pageSize: 100,
|
|
currentEpisodeId: null,
|
|
currentTitle: '',
|
|
currentDuration: 0,
|
|
currentCallTrace: null,
|
|
currentManualSearchCallTraceBase: null,
|
|
currentManualEpisodeCallTraceBase: null,
|
|
nextDanmuRequestId: 0,
|
|
activeDanmuRequestId: 0,
|
|
nextDanmuFlowRequestId: 0,
|
|
activeDanmuFlowRequestId: 0,
|
|
nextManualBangumiRequestId: 0,
|
|
activeManualBangumiRequestId: 0
|
|
};
|
|
|
|
// \u521D\u59CB\u5316\u63A5\u53E3\u8C03\u8BD5\u754C\u9762
|
|
function initApiTestInterface() {
|
|
const apiSelect = document.getElementById('api-select');
|
|
if (apiSelect) {
|
|
apiSelect.addEventListener('keypress', function(event) {
|
|
if (event.key === 'Enter') { loadApiParams(); }
|
|
});
|
|
}
|
|
const autoInput = document.getElementById('auto-match-filename');
|
|
if (autoInput) {
|
|
autoInput.addEventListener('keypress', function(event) {
|
|
if (event.key === 'Enter') { autoMatchTest(); }
|
|
});
|
|
}
|
|
const manualInput = document.getElementById('manual-search-keyword');
|
|
if (manualInput) {
|
|
manualInput.addEventListener('keypress', function(event) {
|
|
if (event.key === 'Enter') { manualSearchAnime(); }
|
|
});
|
|
}
|
|
}
|
|
|
|
// \u4E3A\u53C2\u6570\u8F93\u5165\u6846\u6DFB\u52A0\u56DE\u8F66\u4E8B\u4EF6\u76D1\u542C
|
|
function attachEnterEventToParams() {
|
|
// \u5EF6\u8FDF\u6267\u884C\uFF0C\u786E\u4FDDDOM\u5143\u7D20\u5DF2\u7ECF\u6E32\u67D3
|
|
setTimeout(() => {
|
|
// \u83B7\u53D6\u6240\u6709\u53C2\u6570\u8F93\u5165\u6846
|
|
const paramInputs = document.querySelectorAll('#params-form input[type="text"], #params-form textarea, #params-form select');
|
|
paramInputs.forEach(input => {
|
|
// \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u907F\u514D\u91CD\u590D\u7ED1\u5B9A\uFF09
|
|
input.removeEventListener('keypress', handleParamInputEnter);
|
|
// \u6DFB\u52A0\u65B0\u7684\u4E8B\u4EF6\u76D1\u542C\u5668
|
|
input.addEventListener('keypress', handleParamInputEnter);
|
|
});
|
|
}, 100);
|
|
}
|
|
|
|
function updateCommentDurationFieldVisibility() {
|
|
const apiSelect = document.getElementById('api-select');
|
|
const durationGroup = document.querySelector('#params-form [data-param-name="duration"]');
|
|
const durationInput = document.getElementById('param-duration');
|
|
const formatInput = document.getElementById('param-format');
|
|
|
|
if (!durationGroup) return;
|
|
|
|
const isCommentApi = apiSelect && apiSelect.value === 'getComment';
|
|
const formatValue = formatInput ? formatInput.value.toLowerCase() : '';
|
|
const shouldShowDuration = isCommentApi && (formatValue === '' || formatValue === 'json');
|
|
|
|
durationGroup.style.display = shouldShowDuration ? '' : 'none';
|
|
if (!shouldShowDuration && durationInput) {
|
|
durationInput.value = '';
|
|
}
|
|
}
|
|
|
|
function bindCommentDurationFieldVisibility() {
|
|
const formatInput = document.getElementById('param-format');
|
|
if (!formatInput) return;
|
|
formatInput.addEventListener('change', updateCommentDurationFieldVisibility);
|
|
updateCommentDurationFieldVisibility();
|
|
}
|
|
|
|
// \u5904\u7406\u53C2\u6570\u8F93\u5165\u6846\u7684\u56DE\u8F66\u4E8B\u4EF6
|
|
function handleParamInputEnter(event) {
|
|
if (event.key === 'Enter') {
|
|
// \u89E6\u53D1\u6D4B\u8BD5API\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6
|
|
const testButton = document.querySelector('#api-params .btn-success');
|
|
if (testButton) {
|
|
testButton.click();
|
|
}
|
|
}
|
|
}
|
|
|
|
// \u63A5\u53E3\u8C03\u8BD5\u76F8\u5173
|
|
function loadApiParams() {
|
|
const select = document.getElementById('api-select');
|
|
const apiKey = select.value;
|
|
const paramsDiv = document.getElementById('api-params');
|
|
const formDiv = document.getElementById('params-form');
|
|
|
|
if (!apiKey) {
|
|
paramsDiv.style.display = 'none';
|
|
return;
|
|
}
|
|
|
|
const config = apiConfigs[apiKey];
|
|
paramsDiv.style.display = 'block';
|
|
|
|
let html = '';
|
|
|
|
// \u6DFB\u52A0\u67E5\u8BE2\u53C2\u6570\u90E8\u5206
|
|
if (config.params && config.params.length > 0) {
|
|
html += '<div class="params-section">';
|
|
html += '<h4>\u67E5\u8BE2\u53C2\u6570</h4>';
|
|
html += config.params.map(param => {
|
|
if (param.type === 'select') {
|
|
// \u4E3Aselect\u7C7B\u578B\u53C2\u6570\u6DFB\u52A0\u9ED8\u8BA4\u9009\u9879
|
|
let optionsHtml = '<option value="">-- \u8BF7\u9009\u62E9 --</option>';
|
|
if (param.options) {
|
|
optionsHtml += param.options.map(opt => \`<option value="\${opt}">\${opt}</option>\`).join('');
|
|
}
|
|
return \`
|
|
<div class="form-group" data-param-name="\${param.name}">
|
|
<label>\${param.label}\${param.required ? ' *' : ''}</label>
|
|
<select id="param-\${param.name}">
|
|
\${optionsHtml}
|
|
</select>
|
|
\${param.placeholder ? \`<div class="form-help">\${param.placeholder}</div>\` : ''}
|
|
</div>
|
|
\`;
|
|
}
|
|
// \u4F7F\u7528placeholder\u5C5E\u6027\u663E\u793A\u793A\u4F8B\u53C2\u6570
|
|
const placeholder = param.placeholder ? param.placeholder : "\u8BF7\u8F93\u5165" + param.label;
|
|
return \`
|
|
<div class="form-group" data-param-name="\${param.name}">
|
|
<label>\${param.label}\${param.required ? ' *' : ''}</label>
|
|
<input type="\${param.type}" id="param-\${param.name}" placeholder="\${placeholder}" \${param.required ? 'required' : ''}>
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
html += '</div>';
|
|
}
|
|
|
|
// \u6DFB\u52A0\u8BF7\u6C42\u4F53\u90E8\u5206\uFF08\u5982\u679C\u63A5\u53E3\u6709\u8BF7\u6C42\u4F53\uFF09
|
|
if (config.hasBody) {
|
|
html += '<div class="body-section">';
|
|
html += '<h4>\u8BF7\u6C42\u4F53</h4>';
|
|
html += \`<div class="form-group">
|
|
<label>\u8BF7\u6C42\u4F53\u5185\u5BB9 * (JSON\u683C\u5F0F)</label>
|
|
<textarea id="body-content" rows="6" placeholder='\u8F93\u5165JSON\u683C\u5F0F\u7684\u8BF7\u6C42\u4F53\uFF0C\u4F8B\u5982\uFF1A{"type": "qq","segment_start":0,"segment_end":30000,"url":"https://dm.video.qq.com/barrage/segment/j0032ubhl9s/t/v1/0/30000"}'></textarea>
|
|
<div class="form-help">\u8F93\u5165JSON\u683C\u5F0F\u7684\u8BF7\u6C42\u4F53\u5185\u5BB9</div>
|
|
</div>\`;
|
|
html += '</div>';
|
|
}
|
|
|
|
if (!html) {
|
|
html = '<p class="text-gray">\u6B64\u63A5\u53E3\u65E0\u9700\u53C2\u6570</p>';
|
|
}
|
|
|
|
formDiv.innerHTML = html;
|
|
|
|
// \u4E3A\u53C2\u6570\u8F93\u5165\u6846\u6DFB\u52A0\u56DE\u8F66\u4E8B\u4EF6\u76D1\u542C
|
|
attachEnterEventToParams();
|
|
bindCommentDurationFieldVisibility();
|
|
}
|
|
|
|
function testApi() {
|
|
const select = document.getElementById('api-select');
|
|
const apiKey = select.value;
|
|
const sendButton = document.querySelector('#api-params .btn-success'); // \u83B7\u53D6\u53D1\u9001\u8BF7\u6C42\u6309\u94AE
|
|
|
|
if (!apiKey) {
|
|
addLog('\u8BF7\u5148\u9009\u62E9\u63A5\u53E3', 'error');
|
|
return;
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = sendButton.innerHTML;
|
|
sendButton.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
sendButton.disabled = true;
|
|
|
|
const config = apiConfigs[apiKey];
|
|
const params = {};
|
|
|
|
// \u83B7\u53D6\u67E5\u8BE2\u53C2\u6570
|
|
if (config.params) {
|
|
config.params.forEach(param => {
|
|
const value = document.getElementById(\`param-\${param.name}\`).value;
|
|
if (value) params[param.name] = value;
|
|
});
|
|
}
|
|
|
|
addLog(\`\u8C03\u7528\u63A5\u53E3: \${config.name} (\${config.method} \${config.path})\`, 'info');
|
|
addLog(\`\u8BF7\u6C42\u53C2\u6570: \${JSON.stringify(params)}\`, 'info');
|
|
|
|
// \u6784\u5EFA\u8BF7\u6C42URL
|
|
let url = config.path;
|
|
|
|
// \u68C0\u67E5\u662F\u5426\u4E3A\u8DEF\u5F84\u53C2\u6570\u63A5\u53E3
|
|
const isPathParameterApi = config.path.includes(':');
|
|
|
|
if (isPathParameterApi) {
|
|
// \u5904\u7406\u8DEF\u5F84\u53C2\u6570\u63A5\u53E3 (/api/v2/comment \u548C /api/v2/bangumi)
|
|
// \u5148\u5206\u79BB\u8DEF\u5F84\u53C2\u6570\u548C\u67E5\u8BE2\u53C2\u6570
|
|
const pathParams = {};
|
|
const queryParams = {};
|
|
|
|
// \u5206\u7C7B\u53C2\u6570
|
|
for (const [key, value] of Object.entries(params)) {
|
|
// \u68C0\u67E5\u53C2\u6570\u662F\u5426\u4E3A\u8DEF\u5F84\u53C2\u6570
|
|
if (config.path.includes(':' + key)) {
|
|
pathParams[key] = value;
|
|
} else {
|
|
// \u5176\u4ED6\u53C2\u6570\u4F5C\u4E3A\u67E5\u8BE2\u53C2\u6570
|
|
queryParams[key] = value;
|
|
}
|
|
}
|
|
|
|
// \u66FF\u6362\u8DEF\u5F84\u53C2\u6570
|
|
for (const [key, value] of Object.entries(pathParams)) {
|
|
url = url.replace(':' + key, encodeURIComponent(value));
|
|
}
|
|
|
|
// \u6DFB\u52A0\u67E5\u8BE2\u53C2\u6570
|
|
if (config.method === 'GET' && Object.keys(queryParams).length > 0) {
|
|
const queryString = new URLSearchParams(queryParams).toString();
|
|
url = url + '?' + queryString;
|
|
}
|
|
} else {
|
|
// \u4FDD\u6301\u539F\u6765\u7684\u903B\u8F91\uFF0C\u7528\u4E8E search/anime \u7B49\u63A5\u53E3
|
|
if (config.method === 'GET') {
|
|
const queryString = new URLSearchParams(params).toString();
|
|
url = url + '?' + queryString;
|
|
} else if (config.method === 'POST' && apiKey === 'getSegmentComment') {
|
|
// \u5BF9\u4E8E getSegmentComment \u63A5\u53E3\uFF0C\u9700\u8981\u5C06 format \u53C2\u6570\u6DFB\u52A0\u5230 URL \u67E5\u8BE2\u53C2\u6570\u4E2D
|
|
const queryParams = {};
|
|
if (params.format) {
|
|
queryParams.format = params.format;
|
|
}
|
|
if (Object.keys(queryParams).length > 0) {
|
|
const queryString = new URLSearchParams(queryParams).toString();
|
|
url = url + '?' + queryString;
|
|
}
|
|
}
|
|
}
|
|
|
|
// \u914D\u7F6E\u8BF7\u6C42\u9009\u9879
|
|
const requestOptions = {
|
|
method: config.method,
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
};
|
|
|
|
// \u5904\u7406\u8BF7\u6C42\u4F53
|
|
if (config.hasBody) {
|
|
// \u4ECE\u8BF7\u6C42\u4F53\u8F93\u5165\u6846\u83B7\u53D6\u5185\u5BB9
|
|
const bodyContent = document.getElementById('body-content').value;
|
|
if (bodyContent) {
|
|
try {
|
|
// \u5C1D\u8BD5\u89E3\u6790\u7528\u6237\u8F93\u5165\u7684JSON
|
|
const bodyData = JSON.parse(bodyContent);
|
|
requestOptions.body = JSON.stringify(bodyData);
|
|
} catch (e) {
|
|
addLog('\u8BF7\u6C42\u4F53JSON\u683C\u5F0F\u9519\u8BEF: ' + e.message, 'error');
|
|
sendButton.innerHTML = originalText;
|
|
sendButton.disabled = false;
|
|
return;
|
|
}
|
|
} else {
|
|
// \u5982\u679C\u6CA1\u6709\u5728\u8BF7\u6C42\u4F53\u8F93\u5165\u6846\u4E2D\u8F93\u5165\u5185\u5BB9\uFF0C\u5219\u4F7F\u7528\u53C2\u6570\u6784\u5EFA\u8BF7\u6C42\u4F53\uFF08\u5411\u540E\u517C\u5BB9\uFF09
|
|
if (apiKey === 'getSegmentComment') {
|
|
// \u5BF9\u4E8E getSegmentComment \u63A5\u53E3\uFF0C\u521B\u5EFA segment \u5BF9\u8C61
|
|
const segmentData = { url: params.url };
|
|
if (params.format) {
|
|
segmentData.format = params.format;
|
|
}
|
|
requestOptions.body = JSON.stringify(segmentData);
|
|
} else {
|
|
requestOptions.body = JSON.stringify(params);
|
|
}
|
|
}
|
|
} else if (config.method === 'POST') {
|
|
// \u5BF9\u4E8E\u6CA1\u6709\u7279\u6B8A\u8BF7\u6C42\u4F53\u914D\u7F6E\u7684POST\u63A5\u53E3\uFF0C\u4F7F\u7528\u53C2\u6570\u6784\u5EFA\u8BF7\u6C42\u4F53
|
|
requestOptions.body = JSON.stringify(params);
|
|
}
|
|
|
|
// \u53D1\u9001\u771F\u5B9EAPI\u8BF7\u6C42
|
|
fetch(buildApiUrl(url), requestOptions)
|
|
.then(response => {
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
|
|
// \u68C0\u67E5format\u53C2\u6570\u4EE5\u786E\u5B9A\u5982\u4F55\u5904\u7406\u54CD\u5E94
|
|
const formatParam = params.format || 'json';
|
|
|
|
if (formatParam.toLowerCase() === 'xml') {
|
|
// \u5BF9\u4E8EXML\u683C\u5F0F\uFF0C\u8FD4\u56DE\u6587\u672C\u5185\u5BB9
|
|
return response.text().then(text => ({
|
|
data: text,
|
|
format: 'xml'
|
|
}));
|
|
} else {
|
|
// \u5BF9\u4E8EJSON\u683C\u5F0F\u6216\u5176\u4ED6\u60C5\u51B5\uFF0C\u8FD4\u56DEJSON\u5BF9\u8C61
|
|
return response.json().then(json => ({
|
|
data: json,
|
|
format: 'json'
|
|
}));
|
|
}
|
|
})
|
|
.then(result => {
|
|
// \u663E\u793A\u54CD\u5E94\u7ED3\u679C
|
|
document.getElementById('api-response-container').style.display = 'block';
|
|
|
|
if (result.format === 'xml') {
|
|
// \u663E\u793AXML\u54CD\u5E94
|
|
document.getElementById('api-response').textContent = result.data;
|
|
document.getElementById('api-response').className = 'api-response xml'; // \u4F7F\u7528XML\u4E13\u7528\u6837\u5F0F\u7C7B
|
|
} else {
|
|
// \u663E\u793AJSON\u54CD\u5E94
|
|
document.getElementById('api-response').className = 'json-response';
|
|
document.getElementById('api-response').innerHTML = highlightJSON(result.data);
|
|
}
|
|
|
|
addLog('\u63A5\u53E3\u8C03\u7528\u6210\u529F', 'success');
|
|
})
|
|
.catch(error => {
|
|
// \u5904\u7406\u9519\u8BEF
|
|
const errorMessage = \`API\u8BF7\u6C42\u5931\u8D25: \${error.message}\`;
|
|
document.getElementById('api-response-container').style.display = 'block';
|
|
document.getElementById('api-response').textContent = errorMessage;
|
|
// \u6DFB\u52A0\u9519\u8BEF\u4FE1\u606F\u7684CSS\u7C7B
|
|
document.getElementById('api-response').className = 'error-response';
|
|
addLog(errorMessage, 'error');
|
|
})
|
|
.finally(() => {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
sendButton.innerHTML = originalText;
|
|
sendButton.disabled = false;
|
|
});
|
|
}
|
|
|
|
// =====================
|
|
// \u6807\u7B7E\u9875\u5207\u6362
|
|
// =====================
|
|
function switchApiTopTab(tab, event) {
|
|
document.querySelectorAll('.api-top-tab').forEach(btn => btn.classList.remove('active'));
|
|
document.querySelectorAll('.api-tab-content').forEach(el => el.classList.remove('active'));
|
|
event.target.classList.add('active');
|
|
if (tab === 'debug') {
|
|
document.getElementById('api-debug-content').classList.add('active');
|
|
} else {
|
|
document.getElementById('danmu-test-content').classList.add('active');
|
|
}
|
|
}
|
|
|
|
function switchDanmuTestTab(tab, event) {
|
|
document.querySelectorAll('.danmu-test-tab').forEach(btn => btn.classList.remove('active'));
|
|
document.querySelectorAll('.danmu-test-panel').forEach(el => el.classList.remove('active'));
|
|
event.target.classList.add('active');
|
|
if (tab === 'auto') {
|
|
document.getElementById('auto-match-panel').classList.add('active');
|
|
} else {
|
|
document.getElementById('manual-match-panel').classList.add('active');
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u5DE5\u5177\u51FD\u6570
|
|
// =====================
|
|
function decColorToHex(dec) {
|
|
const n = parseInt(dec) || 16777215;
|
|
return '#' + n.toString(16).padStart(6, '0');
|
|
}
|
|
|
|
function parseDanmuMode(p) {
|
|
const parts = p.split(',');
|
|
return parseInt(parts[1]) || 1;
|
|
}
|
|
|
|
function parseDanmuColor(p) {
|
|
const parts = p.split(',');
|
|
return parseInt(parts[2]) || 16777215;
|
|
}
|
|
|
|
function parseDanmuTime(p) {
|
|
return parseFloat(p.split(',')[0]) || 0;
|
|
}
|
|
|
|
function getModeLabel(mode) {
|
|
switch (mode) {
|
|
case 4: return '\u5E95\u90E8';
|
|
case 5: return '\u9876\u90E8';
|
|
default: return '\u6EDA\u52A8';
|
|
}
|
|
}
|
|
|
|
function formatDuration(seconds) {
|
|
const s = Math.floor(seconds);
|
|
const h = Math.floor(s / 3600);
|
|
const m = Math.floor((s % 3600) / 60);
|
|
const sec = s % 60;
|
|
if (h > 0) return h + ':' + String(m).padStart(2,'0') + ':' + String(sec).padStart(2,'0');
|
|
return m + ':' + String(sec).padStart(2,'0');
|
|
}
|
|
|
|
function getValidDanmuTimes(comments) {
|
|
return comments
|
|
.map(c => c.t !== undefined ? Number(c.t) : parseDanmuTime(c.p))
|
|
.filter(time => Number.isFinite(time) && time >= 0)
|
|
.sort((a, b) => a - b);
|
|
}
|
|
|
|
function getPercentileValue(sortedValues, percentile) {
|
|
if (!sortedValues.length) return 0;
|
|
const safePercentile = Math.min(Math.max(percentile, 0), 1);
|
|
const index = Math.floor((sortedValues.length - 1) * safePercentile);
|
|
return sortedValues[index] || 0;
|
|
}
|
|
|
|
function getMedian(values) {
|
|
if (!values.length) return 0;
|
|
const sorted = [...values].sort((a, b) => a - b);
|
|
const mid = Math.floor(sorted.length / 2);
|
|
return sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid];
|
|
}
|
|
|
|
function buildTailGapThreshold(sortedValues) {
|
|
if (sortedValues.length < 2) return 45;
|
|
|
|
const gaps = [];
|
|
const startIndex = Math.max(1, sortedValues.length - 80);
|
|
for (let i = startIndex; i < sortedValues.length; i++) {
|
|
const gap = sortedValues[i] - sortedValues[i - 1];
|
|
if (gap > 0) {
|
|
gaps.push(gap);
|
|
}
|
|
}
|
|
|
|
if (!gaps.length) return 45;
|
|
|
|
const sortedGaps = [...gaps].sort((a, b) => a - b);
|
|
const medianGap = getMedian(sortedGaps);
|
|
const p90Gap = getPercentileValue(sortedGaps, 0.9);
|
|
return Math.min(240, Math.max(45, medianGap * 12, p90Gap * 3));
|
|
}
|
|
|
|
function estimateVideoDurationFromComments(comments) {
|
|
const validTimes = getValidDanmuTimes(comments);
|
|
if (!validTimes.length) return 0;
|
|
if (validTimes.length < 200) return validTimes[validTimes.length - 1];
|
|
|
|
const p995Time = getPercentileValue(validTimes, 0.995);
|
|
const p998Time = getPercentileValue(validTimes, 0.998);
|
|
const gapThreshold = buildTailGapThreshold(validTimes);
|
|
const trimBaseline = p998Time + Math.max(90, gapThreshold * 2);
|
|
let endIndex = validTimes.length - 1;
|
|
|
|
while (endIndex > 0) {
|
|
let tailStartIndex = endIndex;
|
|
while (tailStartIndex > 0) {
|
|
const gap = validTimes[tailStartIndex] - validTimes[tailStartIndex - 1];
|
|
if (gap > gapThreshold) break;
|
|
tailStartIndex--;
|
|
}
|
|
|
|
const tailClusterSize = endIndex - tailStartIndex + 1;
|
|
const tailClusterSpan = validTimes[endIndex] - validTimes[tailStartIndex];
|
|
const previousGap = tailStartIndex > 0 ? validTimes[tailStartIndex] - validTimes[tailStartIndex - 1] : 0;
|
|
const isIsolatedTail = tailStartIndex > 0
|
|
&& tailClusterSize <= 2
|
|
&& tailClusterSpan <= 15
|
|
&& previousGap > gapThreshold;
|
|
|
|
if (!isIsolatedTail || validTimes[endIndex] <= trimBaseline) {
|
|
break;
|
|
}
|
|
|
|
endIndex = tailStartIndex - 1;
|
|
}
|
|
|
|
return Math.max(validTimes[Math.max(endIndex, 0)] || 0, p995Time);
|
|
}
|
|
|
|
function getEffectiveDuration(comments, explicitDuration) {
|
|
if (Number.isFinite(explicitDuration) && explicitDuration > 0) {
|
|
return explicitDuration;
|
|
}
|
|
return estimateVideoDurationFromComments(comments);
|
|
}
|
|
|
|
function setBtnLoading(btn, loading) {
|
|
if (!btn) return;
|
|
if (loading) {
|
|
btn._origText = btn.innerHTML;
|
|
btn.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
btn.disabled = true;
|
|
} else {
|
|
btn.innerHTML = btn._origText || '\u6309\u94AE';
|
|
btn.disabled = false;
|
|
}
|
|
}
|
|
|
|
// \u901A\u7528\uFF1A\u663E\u793A\u6307\u5B9A\u9762\u677F\uFF0C\u9690\u85CF\u540C\u7EA7\u5176\u4ED6\u9762\u677F
|
|
function showDanmuView(showIds, hideIds) {
|
|
hideIds.forEach(id => { const el = document.getElementById(id); if (el) el.style.display = 'none'; });
|
|
showIds.forEach(id => { const el = document.getElementById(id); if (el) el.style.display = 'block'; });
|
|
}
|
|
|
|
// \u751F\u6210\u8FD4\u56DE\u6309\u94AEHTML
|
|
function backBtnHtml(text, onclick) {
|
|
return '<button class="btn btn-back" onclick="' + onclick + '">← ' + escapeHtml(text) + '</button>';
|
|
}
|
|
|
|
function inlineJsString(value) {
|
|
return escapeHtml(JSON.stringify(String(value || '')));
|
|
}
|
|
|
|
function createDanmuCallTrace(mode, inputText) {
|
|
return {
|
|
mode: mode || 'manual',
|
|
inputText: inputText || '',
|
|
steps: [],
|
|
startedAt: performance.now()
|
|
};
|
|
}
|
|
|
|
function cloneDanmuCallTrace(trace) {
|
|
if (!trace) return null;
|
|
return {
|
|
mode: trace.mode,
|
|
inputText: trace.inputText,
|
|
startedAt: performance.now(),
|
|
steps: (trace.steps || []).map(step => Object.assign({}, step))
|
|
};
|
|
}
|
|
|
|
function createDanmuCallStep(step) {
|
|
return Object.assign({
|
|
name: '',
|
|
method: 'GET',
|
|
url: '',
|
|
params: '',
|
|
result: '',
|
|
elapsed: 0,
|
|
status: 'success'
|
|
}, step);
|
|
}
|
|
|
|
function addDanmuCallStep(trace, step) {
|
|
if (!trace) return;
|
|
trace.steps.push(createDanmuCallStep(step));
|
|
}
|
|
|
|
function finishDanmuCallStep(trace, startedAt, step) {
|
|
addDanmuCallStep(trace, Object.assign({}, step, {
|
|
elapsed: performance.now() - startedAt
|
|
}));
|
|
}
|
|
|
|
function finishDanmuCallFailure(trace, startedAt, step, error) {
|
|
const message = error && error.message ? error.message : String(error || '\u672A\u77E5\u9519\u8BEF');
|
|
finishDanmuCallStep(trace, startedAt, Object.assign({
|
|
status: 'error',
|
|
result: '\u5931\u8D25\uFF1A' + message
|
|
}, step));
|
|
}
|
|
|
|
function finishDanmuCallEmpty(trace, startedAt, step, message) {
|
|
finishDanmuCallStep(trace, startedAt, Object.assign({
|
|
status: 'empty',
|
|
result: message || '\u65E0\u7ED3\u679C'
|
|
}, step));
|
|
}
|
|
|
|
function safeDanmuApiPath(path) {
|
|
return String(path || '').replace(new RegExp('^/[^/]+/api/'), '/<TOKEN>/api/');
|
|
}
|
|
|
|
function renderDanmuCallTrace(trace) {
|
|
return '';
|
|
}
|
|
|
|
function getDanmuCallTraceTotalMs(trace) {
|
|
if (!trace || !Array.isArray(trace.steps) || trace.steps.length === 0) return 0;
|
|
return trace.steps.reduce((sum, step) => sum + (Number(step.elapsed) || 0), 0);
|
|
}
|
|
|
|
function renderDanmuCallFailure(trace, title, message, source) {
|
|
let html = '<div class="danmu-result-toolbar">';
|
|
if (source === 'manual-episode') {
|
|
html += backBtnHtml('\u8FD4\u56DE\u5217\u8868', 'backToEpisodeList()');
|
|
} else if (source === 'manual-anime') {
|
|
html += backBtnHtml('\u8FD4\u56DE\u641C\u7D22\u7ED3\u679C', 'backToManualSearch()');
|
|
}
|
|
html += '</div>';
|
|
html += '<div class="danmu-result-error">' + escapeHtml(title || '\u8C03\u7528\u5931\u8D25') + '\uFF1A' + escapeHtml(message || '\u8BF7\u6C42\u5931\u8D25') + '</div>';
|
|
html += renderDanmuCallTrace(trace);
|
|
return html;
|
|
}
|
|
|
|
function showDanmuCallTraceFailure(trace, title, message, source) {
|
|
const resultArea = document.getElementById('danmu-result-area');
|
|
if (!resultArea) return;
|
|
resultArea.innerHTML = renderDanmuCallFailure(trace, title, message, source);
|
|
resultArea.style.display = 'block';
|
|
}
|
|
|
|
function getDanmuCallTraceTotalSeconds(trace, fallbackSeconds) {
|
|
const totalMs = getDanmuCallTraceTotalMs(trace);
|
|
if (totalMs > 0) return (totalMs / 1000).toFixed(2);
|
|
return fallbackSeconds || '0.00';
|
|
}
|
|
|
|
function formatCallElapsed(ms) {
|
|
if (!Number.isFinite(ms)) return '--';
|
|
return ms >= 1000 ? (ms / 1000).toFixed(2) + 's' : Math.round(ms) + 'ms';
|
|
}
|
|
|
|
function startDanmuFlowRequest() {
|
|
const requestId = ++danmuTestState.nextDanmuFlowRequestId;
|
|
danmuTestState.activeDanmuFlowRequestId = requestId;
|
|
danmuTestState.activeManualBangumiRequestId = 0;
|
|
invalidateActiveDanmuRequest();
|
|
return requestId;
|
|
}
|
|
|
|
function isCurrentDanmuFlowRequest(requestId) {
|
|
return danmuTestState.activeDanmuFlowRequestId === requestId;
|
|
}
|
|
|
|
function startManualBangumiRequest() {
|
|
const requestId = ++danmuTestState.nextManualBangumiRequestId;
|
|
danmuTestState.activeManualBangumiRequestId = requestId;
|
|
danmuTestState.activeDanmuFlowRequestId = 0;
|
|
invalidateActiveDanmuRequest();
|
|
return requestId;
|
|
}
|
|
|
|
function isCurrentManualBangumiRequest(requestId) {
|
|
return danmuTestState.activeManualBangumiRequestId === requestId;
|
|
}
|
|
|
|
function invalidateActiveDanmuRequest() {
|
|
danmuTestState.activeDanmuRequestId = 0;
|
|
}
|
|
|
|
function setDanmuFlowButtonLoading(btn, requestId, loading) {
|
|
if (!btn) return;
|
|
if (loading) {
|
|
btn._danmuFlowRequestId = requestId;
|
|
setBtnLoading(btn, true);
|
|
return;
|
|
}
|
|
if (btn._danmuFlowRequestId === requestId) {
|
|
setBtnLoading(btn, false);
|
|
btn._danmuFlowRequestId = 0;
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u81EA\u52A8\u5339\u914D\u6D4B\u8BD5
|
|
// =====================
|
|
async function autoMatchTest() {
|
|
const fileName = document.getElementById('auto-match-filename').value.trim();
|
|
if (!fileName) { customAlert('\u8BF7\u8F93\u5165\u6587\u4EF6\u540D'); return; }
|
|
|
|
const flowRequestId = startDanmuFlowRequest();
|
|
const btn = document.getElementById('auto-match-btn');
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, true);
|
|
document.getElementById('danmu-result-area').style.display = 'none';
|
|
addLog('\u81EA\u52A8\u5339\u914D\u6D4B\u8BD5: ' + fileName, 'info');
|
|
const trace = createDanmuCallTrace('auto', fileName);
|
|
danmuTestState.currentCallTrace = trace;
|
|
danmuTestState.currentManualSearchCallTraceBase = null;
|
|
danmuTestState.currentManualEpisodeCallTraceBase = null;
|
|
|
|
let matchStartedAt = 0;
|
|
try {
|
|
matchStartedAt = performance.now();
|
|
const resp = await fetch(buildApiUrl('/api/v2/match'), {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({ fileName: fileName })
|
|
});
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
const data = await resp.json();
|
|
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
|
|
|
|
if (data.isMatched && data.matches && data.matches.length > 0) {
|
|
const best = data.matches[0];
|
|
const title = (best.animeTitle || '') + ' ' + (best.episodeTitle || '');
|
|
finishDanmuCallStep(trace, matchStartedAt, {
|
|
name: '\u5339\u914D',
|
|
method: 'POST',
|
|
url: '/api/v2/match',
|
|
params: '\u6587\u4EF6\u540D\uFF1A' + fileName,
|
|
result: '\u547D\u4E2D ' + data.matches.length + ' \u4E2A\u7ED3\u679C\uFF0CepisodeId: ' + best.episodeId
|
|
});
|
|
addLog('\u81EA\u52A8\u5339\u914D\u547D\u4E2D: ' + title + ' (\u5171' + data.matches.length + '\u4E2A\u7ED3\u679C\uFF0C\u53D6\u7B2C1\u4E2A)', 'success');
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, false);
|
|
fetchDanmuForTest(best.episodeId, title, 'auto', trace);
|
|
return;
|
|
} else {
|
|
finishDanmuCallEmpty(trace, matchStartedAt, {
|
|
name: '\u5339\u914D',
|
|
method: 'POST',
|
|
url: '/api/v2/match',
|
|
params: '\u6587\u4EF6\u540D\uFF1A' + fileName
|
|
}, '\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C');
|
|
customAlert('\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C');
|
|
addLog('\u81EA\u52A8\u5339\u914D\u65E0\u7ED3\u679C', 'warn');
|
|
showDanmuCallTraceFailure(trace, '\u81EA\u52A8\u5339\u914D\u65E0\u7ED3\u679C', '\u672A\u5339\u914D\u5230\u4EFB\u4F55\u7ED3\u679C', 'auto');
|
|
}
|
|
} catch (e) {
|
|
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
|
|
finishDanmuCallFailure(trace, matchStartedAt || performance.now(), {
|
|
name: '\u5339\u914D',
|
|
method: 'POST',
|
|
url: '/api/v2/match',
|
|
params: '\u6587\u4EF6\u540D\uFF1A' + fileName
|
|
}, e);
|
|
customAlert('\u5339\u914D\u5931\u8D25: ' + e.message);
|
|
addLog('\u81EA\u52A8\u5339\u914D\u5931\u8D25: ' + e.message, 'error');
|
|
showDanmuCallTraceFailure(trace, '\u81EA\u52A8\u5339\u914D\u5931\u8D25', e.message, 'auto');
|
|
} finally {
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, false);
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u624B\u52A8\u5339\u914D\u6D4B\u8BD5
|
|
// =====================
|
|
async function manualSearchAnime() {
|
|
const keyword = document.getElementById('manual-search-keyword').value.trim();
|
|
if (!keyword) { customAlert('\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57'); return; }
|
|
|
|
const flowRequestId = startDanmuFlowRequest();
|
|
const btn = document.getElementById('manual-search-btn');
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, true);
|
|
document.getElementById('manual-anime-list').style.display = 'none';
|
|
document.getElementById('manual-episode-list').style.display = 'none';
|
|
document.getElementById('danmu-result-area').style.display = 'none';
|
|
addLog('\u624B\u52A8\u641C\u7D22: ' + keyword, 'info');
|
|
const trace = createDanmuCallTrace('manual', keyword);
|
|
danmuTestState.currentCallTrace = trace;
|
|
danmuTestState.currentManualSearchCallTraceBase = null;
|
|
danmuTestState.currentManualEpisodeCallTraceBase = null;
|
|
|
|
let searchStartedAt = 0;
|
|
let searchUrl = '';
|
|
try {
|
|
searchUrl = '/api/v2/search/anime?keyword=' + encodeURIComponent(keyword);
|
|
searchStartedAt = performance.now();
|
|
const resp = await fetch(buildApiUrl(searchUrl));
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
const data = await resp.json();
|
|
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
|
|
|
|
if (data.success && data.animes && data.animes.length > 0) {
|
|
finishDanmuCallStep(trace, searchStartedAt, {
|
|
name: '\u641C\u7D22',
|
|
method: 'GET',
|
|
url: searchUrl,
|
|
params: '\u5173\u952E\u8BCD\uFF1A' + keyword,
|
|
result: '\u627E\u5230 ' + data.animes.length + ' \u4E2A\u52A8\u6F2B'
|
|
});
|
|
danmuTestState.currentManualSearchCallTraceBase = cloneDanmuCallTrace(trace);
|
|
displayManualAnimeList(data.animes);
|
|
addLog('\u641C\u7D22\u5230 ' + data.animes.length + ' \u4E2A\u52A8\u6F2B', 'success');
|
|
} else {
|
|
finishDanmuCallEmpty(trace, searchStartedAt, {
|
|
name: '\u641C\u7D22',
|
|
method: 'GET',
|
|
url: searchUrl,
|
|
params: '\u5173\u952E\u8BCD\uFF1A' + keyword
|
|
}, '\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
|
|
customAlert('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
|
|
addLog('\u641C\u7D22\u65E0\u7ED3\u679C', 'warn');
|
|
showDanmuCallTraceFailure(trace, '\u641C\u7D22\u65E0\u7ED3\u679C', '\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B', 'manual-search');
|
|
}
|
|
} catch (e) {
|
|
if (!isCurrentDanmuFlowRequest(flowRequestId)) return;
|
|
finishDanmuCallFailure(trace, searchStartedAt || performance.now(), {
|
|
name: '\u641C\u7D22',
|
|
method: 'GET',
|
|
url: searchUrl || '/api/v2/search/anime',
|
|
params: '\u5173\u952E\u8BCD\uFF1A' + keyword
|
|
}, e);
|
|
customAlert('\u641C\u7D22\u5931\u8D25: ' + e.message);
|
|
addLog('\u641C\u7D22\u5931\u8D25: ' + e.message, 'error');
|
|
showDanmuCallTraceFailure(trace, '\u641C\u7D22\u5931\u8D25', e.message, 'manual-search');
|
|
} finally {
|
|
setDanmuFlowButtonLoading(btn, flowRequestId, false);
|
|
}
|
|
}
|
|
|
|
function displayManualAnimeList(animes) {
|
|
const container = document.getElementById('manual-anime-list');
|
|
let html = '<h3 class="danmu-section-title danmu-section-title-spaced">\u641C\u7D22\u7ED3\u679C</h3><div class="anime-grid">';
|
|
animes.forEach(anime => {
|
|
const animeId = Number.parseInt(anime.animeId, 10);
|
|
if (!Number.isFinite(animeId)) return;
|
|
const img = escapeHtml(anime.imageUrl || 'https://placehold.co/150x200?text=No+Image');
|
|
html += '<div class="anime-item" onclick="manualGetBangumi(' + animeId + ')">';
|
|
html += '<img src="' + img + '" alt="' + escapeHtml(anime.animeTitle) + '" referrerpolicy="no-referrer" class="anime-item-img">';
|
|
html += '<h4 class="anime-title">' + escapeHtml(anime.animeTitle) + ' - \u5171' + (anime.episodeCount || '?') + '\u96C6</h4>';
|
|
html += '</div>';
|
|
});
|
|
html += '</div>';
|
|
container.innerHTML = html;
|
|
container.style.display = 'block';
|
|
}
|
|
|
|
async function manualGetBangumi(animeId) {
|
|
const detailRequestId = startManualBangumiRequest();
|
|
const requestTrace = danmuTestState.currentManualSearchCallTraceBase
|
|
? cloneDanmuCallTrace(danmuTestState.currentManualSearchCallTraceBase)
|
|
: createDanmuCallTrace('manual', String(animeId || ''));
|
|
danmuTestState.currentCallTrace = requestTrace;
|
|
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5: ' + animeId, 'info');
|
|
// \u9690\u85CF\u641C\u7D22\u7ED3\u679C\uFF0C\u663E\u793A\u5267\u96C6\u5217\u8868\u533A\u57DF
|
|
showDanmuView(['manual-episode-list'], ['manual-anime-list', 'danmu-result-area']);
|
|
|
|
let bangumiStartedAt = 0;
|
|
const bangumiUrl = '/api/v2/bangumi/' + animeId;
|
|
try {
|
|
bangumiStartedAt = performance.now();
|
|
const resp = await fetch(buildApiUrl(bangumiUrl));
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
const data = await resp.json();
|
|
if (!isCurrentManualBangumiRequest(detailRequestId)) return;
|
|
|
|
const episodes = data && data.bangumi && Array.isArray(data.bangumi.episodes) ? data.bangumi.episodes : [];
|
|
if (data.success && data.bangumi && episodes.length > 0) {
|
|
finishDanmuCallStep(requestTrace, bangumiStartedAt, {
|
|
name: '\u756A\u5267\u8BE6\u60C5',
|
|
method: 'GET',
|
|
url: bangumiUrl,
|
|
params: 'animeId: ' + animeId,
|
|
result: '\u83B7\u53D6\u5230 ' + episodes.length + ' \u4E2A\u5267\u96C6'
|
|
});
|
|
danmuTestState.currentManualEpisodeCallTraceBase = cloneDanmuCallTrace(requestTrace);
|
|
displayManualEpisodeList(data.bangumi.animeTitle, episodes);
|
|
addLog('\u83B7\u53D6\u5230 ' + episodes.length + ' \u4E2A\u5267\u96C6', 'success');
|
|
} else {
|
|
finishDanmuCallEmpty(requestTrace, bangumiStartedAt, {
|
|
name: '\u756A\u5267\u8BE6\u60C5',
|
|
method: 'GET',
|
|
url: bangumiUrl,
|
|
params: 'animeId: ' + animeId
|
|
}, '\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
|
|
customAlert('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
|
|
showDanmuCallTraceFailure(requestTrace, '\u756A\u5267\u8BE6\u60C5\u65E0\u5267\u96C6', '\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F', 'manual-anime');
|
|
// \u6062\u590D\u641C\u7D22\u7ED3\u679C
|
|
showDanmuView(['manual-anime-list'], ['manual-episode-list']);
|
|
}
|
|
} catch (e) {
|
|
if (!isCurrentManualBangumiRequest(detailRequestId)) return;
|
|
finishDanmuCallFailure(requestTrace, bangumiStartedAt || performance.now(), {
|
|
name: '\u756A\u5267\u8BE6\u60C5',
|
|
method: 'GET',
|
|
url: bangumiUrl,
|
|
params: 'animeId: ' + animeId
|
|
}, e);
|
|
customAlert('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + e.message);
|
|
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + e.message, 'error');
|
|
showDanmuCallTraceFailure(requestTrace, '\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25', e.message, 'manual-anime');
|
|
showDanmuView(['manual-anime-list'], ['manual-episode-list']);
|
|
}
|
|
}
|
|
|
|
function displayManualEpisodeList(animeTitle, episodes) {
|
|
const container = document.getElementById('manual-episode-list');
|
|
let html = backBtnHtml('\u8FD4\u56DE\u641C\u7D22\u7ED3\u679C', 'backToManualSearch()');
|
|
html += '<h3 class="danmu-section-title danmu-section-title-spaced">\u5267\u96C6\u5217\u8868</h3>';
|
|
html += '<h4 class="text-yellow-gold">' + escapeHtml(animeTitle) + '</h4>';
|
|
|
|
// \u6DFB\u52A0\u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\u7684\u529F\u80FD
|
|
html += \`
|
|
<div class="jump-to-episode">
|
|
<span>\u8DF3\u8F6C\u5230\u7B2C</span>
|
|
<input type="number" id="jump-episode-input" class="jump-episode-input" placeholder="\u8F93\u5165\u96C6\u6570" min="1">
|
|
<span>\u96C6</span>
|
|
<button class="btn btn-primary btn-sm jump-episode-btn" onclick="jumpToEpisode()">\u8DF3\u8F6C</button>
|
|
<span class="jump-episode-total">\u5171\${episodes.length}\u96C6</span>
|
|
</div>\`;
|
|
|
|
html += '<div class="episode-list-container">';
|
|
episodes.forEach(ep => {
|
|
const episodeId = Number.parseInt(ep.episodeId, 10);
|
|
const episodeNumber = Number.parseInt(ep.episodeNumber, 10);
|
|
if (!Number.isFinite(episodeId) || !Number.isFinite(episodeNumber)) return;
|
|
const title = String(animeTitle || '') + ' \u7B2C' + episodeNumber + '\u96C6';
|
|
html += '<div class="episode-item" id="episode-item-' + episodeNumber + '">';
|
|
html += '<div class="episode-item-content"><strong>\u7B2C' + episodeNumber + '\u96C6</strong> - ' + escapeHtml(ep.episodeTitle || '\u65E0\u6807\u9898') + '</div>';
|
|
html += '<button class="btn btn-success btn-sm" onclick="fetchDanmuForTest(' + episodeId + ', ' + inlineJsString(title) + ', \\'manual\\')">\u83B7\u53D6\u5F39\u5E55</button>';
|
|
html += '</div>';
|
|
});
|
|
html += '</div>';
|
|
container.innerHTML = html;
|
|
container.style.display = 'block';
|
|
setTimeout(() => container.scrollIntoView({ behavior: 'smooth', block: 'start' }), 10);
|
|
}
|
|
|
|
// \u8FD4\u56DE\u641C\u7D22\u7ED3\u679C
|
|
function backToManualSearch() {
|
|
showDanmuView(['manual-anime-list'], ['manual-episode-list', 'danmu-result-area']);
|
|
}
|
|
|
|
// \u8FD4\u56DE\u5267\u96C6\u5217\u8868
|
|
function backToEpisodeList() {
|
|
showDanmuView(['manual-episode-list'], ['danmu-result-area']);
|
|
}
|
|
|
|
// \u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570
|
|
function jumpToEpisode() {
|
|
const episodeInput = document.getElementById('jump-episode-input');
|
|
const episodeNumber = parseInt(episodeInput.value);
|
|
|
|
if (!episodeNumber || episodeNumber <= 0) {
|
|
customAlert('\u8BF7\u8F93\u5165\u6709\u6548\u7684\u96C6\u6570\uFF08\u6B63\u6574\u6570\uFF09');
|
|
return;
|
|
}
|
|
|
|
// \u67E5\u627E\u5BF9\u5E94\u96C6\u6570\u7684\u5143\u7D20
|
|
const episodeElement = document.getElementById('episode-item-' + episodeNumber);
|
|
if (episodeElement) {
|
|
// \u6EDA\u52A8\u5230\u6307\u5B9A\u5143\u7D20\u4F4D\u7F6E
|
|
episodeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
// \u6DFB\u52A0\u9AD8\u4EAE\u6548\u679C\u4EE5\u4FBF\u8BC6\u522B
|
|
episodeElement.classList.add('episode-item-highlight');
|
|
setTimeout(() => {
|
|
episodeElement.classList.remove('episode-item-highlight');
|
|
}, 2000);
|
|
} else {
|
|
customAlert('\u627E\u4E0D\u5230\u7B2C' + episodeNumber + '\u96C6');
|
|
}
|
|
}
|
|
|
|
function isCurrentDanmuRequest(requestId) {
|
|
return danmuTestState.activeDanmuRequestId === requestId;
|
|
}
|
|
|
|
// =====================
|
|
// \u83B7\u53D6\u5F39\u5E55\u5E76\u5C55\u793A\u7ED3\u679C
|
|
// =====================
|
|
async function fetchDanmuForTest(episodeId, title, source, traceBase) {
|
|
addLog('\u83B7\u53D6\u5F39\u5E55: ' + episodeId + ' (' + title + ')', 'info');
|
|
const requestId = ++danmuTestState.nextDanmuRequestId;
|
|
danmuTestState.activeDanmuRequestId = requestId;
|
|
let requestTrace = null;
|
|
if (traceBase) {
|
|
requestTrace = cloneDanmuCallTrace(traceBase);
|
|
danmuTestState.currentCallTrace = requestTrace;
|
|
} else if (source === 'manual' && danmuTestState.currentManualEpisodeCallTraceBase) {
|
|
danmuTestState.currentCallTrace = cloneDanmuCallTrace(danmuTestState.currentManualEpisodeCallTraceBase);
|
|
requestTrace = danmuTestState.currentCallTrace;
|
|
} else {
|
|
requestTrace = cloneDanmuCallTrace(danmuTestState.currentCallTrace);
|
|
danmuTestState.currentCallTrace = requestTrace;
|
|
}
|
|
danmuTestState.currentEpisodeId = episodeId;
|
|
danmuTestState.currentTitle = title;
|
|
danmuTestState.currentDuration = 0;
|
|
|
|
// \u9690\u85CF\u4E0A\u7EA7\u9762\u677F
|
|
if (source === 'manual') {
|
|
showDanmuView([], ['manual-episode-list', 'manual-anime-list', 'danmu-result-area']);
|
|
} else {
|
|
showDanmuView([], ['danmu-result-area']);
|
|
}
|
|
|
|
// \u663E\u793A\u52A0\u8F7D\u52A8\u753B
|
|
const resultArea = document.getElementById('danmu-result-area');
|
|
resultArea.innerHTML = '<div class="danmu-loading"><div class="loading-spinner"></div><div class="loading-text">\u6B63\u5728\u83B7\u53D6\u5F39\u5E55\u6570\u636E...</div></div>';
|
|
resultArea.style.display = 'block';
|
|
|
|
const startTime = performance.now();
|
|
try {
|
|
const commentUrl = '/api/v2/comment/' + episodeId + '?format=json&duration=true';
|
|
const data = await fetch(buildApiUrl(commentUrl))
|
|
.then(resp => {
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
return resp.json();
|
|
});
|
|
if (!isCurrentDanmuRequest(requestId)) return;
|
|
const elapsed = ((performance.now() - startTime) / 1000).toFixed(2);
|
|
const durationSeconds = Number((data && data.videoDuration) || 0);
|
|
|
|
if (!data.comments || data.comments.length === 0) {
|
|
finishDanmuCallEmpty(requestTrace, startTime, {
|
|
name: '\u5F39\u5E55',
|
|
method: 'GET',
|
|
url: commentUrl,
|
|
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true'
|
|
}, '\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E');
|
|
customAlert('\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E');
|
|
addLog('\u65E0\u5F39\u5E55\u6570\u636E', 'warn');
|
|
const failureSource = source === 'manual' ? 'manual-episode' : source;
|
|
resultArea.innerHTML = renderDanmuCallFailure(requestTrace, '\u65E0\u5F39\u5E55\u6570\u636E', '\u8BE5\u5267\u96C6\u6682\u65E0\u5F39\u5E55\u6570\u636E', failureSource);
|
|
resultArea.style.display = 'block';
|
|
return;
|
|
}
|
|
|
|
finishDanmuCallStep(requestTrace, startTime, {
|
|
name: '\u5F39\u5E55',
|
|
method: 'GET',
|
|
url: commentUrl,
|
|
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true',
|
|
result: data.comments.length + ' \u6761\u5F39\u5E55'
|
|
});
|
|
|
|
addLog('\u83B7\u53D6\u5230 ' + data.comments.length + ' \u6761\u5F39\u5E55, \u8017\u65F6 ' + elapsed + 's', 'success');
|
|
|
|
danmuTestState.allComments = data.comments;
|
|
danmuTestState.currentFilter = 'all';
|
|
danmuTestState.displayedCount = 0;
|
|
danmuTestState.currentDuration = durationSeconds;
|
|
|
|
// \u91CD\u5EFA\u7ED3\u679C\u533A\u5185\u5BB9\uFF1Aauto\u6A21\u5F0F\u53EA\u6709\u5BFC\u51FA\u6309\u94AE\uFF0Cmanual\u6A21\u5F0F\u6709\u8FD4\u56DE+\u5BFC\u51FA
|
|
let toolbarHtml = '<div class="danmu-result-toolbar">';
|
|
if (source === 'manual') {
|
|
toolbarHtml += backBtnHtml('\u8FD4\u56DE\u5217\u8868', 'backToEpisodeList()');
|
|
}
|
|
toolbarHtml += '<div class="danmu-export-btns">' +
|
|
'<button class="btn btn-sm btn-primary" onclick="exportDanmu(\\'json\\')">\u5BFC\u51FA JSON</button>' +
|
|
'<button class="btn btn-sm btn-primary" onclick="exportDanmu(\\'xml\\')">\u5BFC\u51FA XML</button>' +
|
|
'</div></div>';
|
|
|
|
const filterCounts = getDanmuFilterCounts(data.comments);
|
|
resultArea.innerHTML =
|
|
toolbarHtml +
|
|
'<div class="danmu-stats" id="danmu-stats"></div>' +
|
|
renderDanmuCallTrace(requestTrace) +
|
|
'<div class="danmu-heatmap-container"><h3 class="danmu-section-title">\u5F39\u5E55\u70ED\u529B\u56FE</h3><div class="danmu-heatmap" id="danmu-heatmap"></div></div>' +
|
|
'<div class="danmu-list-area"><h3 class="danmu-section-title">\u5F39\u5E55\u5217\u8868</h3>' +
|
|
renderDanmuFilterTabs(filterCounts) +
|
|
'<div class="danmu-list" id="danmu-list"></div>' +
|
|
'<button class="btn btn-primary danmu-load-more" id="danmu-load-more" onclick="loadMoreDanmu()">\u52A0\u8F7D\u66F4\u591A</button>' +
|
|
'</div>';
|
|
|
|
applyDanmuFilter();
|
|
renderDanmuStats(data, elapsed, title, durationSeconds, filterCounts);
|
|
renderDanmuHeatmap(data.comments, durationSeconds);
|
|
renderDanmuList();
|
|
|
|
setTimeout(() => resultArea.scrollIntoView({ behavior: 'smooth', block: 'start' }), 10);
|
|
} catch (e) {
|
|
if (!isCurrentDanmuRequest(requestId)) return;
|
|
const commentUrl = '/api/v2/comment/' + episodeId + '?format=json&duration=true';
|
|
finishDanmuCallFailure(requestTrace, startTime, {
|
|
name: '\u5F39\u5E55',
|
|
method: 'GET',
|
|
url: commentUrl,
|
|
params: 'episodeId: ' + episodeId + '\uFF0Cformat=json\uFF0Cduration=true'
|
|
}, e);
|
|
customAlert('\u83B7\u53D6\u5F39\u5E55\u5931\u8D25: ' + e.message);
|
|
addLog('\u83B7\u53D6\u5F39\u5E55\u5931\u8D25: ' + e.message, 'error');
|
|
const failureSource = source === 'manual' ? 'manual-episode' : source;
|
|
resultArea.innerHTML = renderDanmuCallFailure(requestTrace, '\u83B7\u53D6\u5F39\u5E55\u5931\u8D25', e.message, failureSource);
|
|
resultArea.style.display = 'block';
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u5BFC\u51FA\u5F39\u5E55\uFF08\u76F4\u63A5\u8BF7\u6C42\u540E\u7AEF\u83B7\u53D6\u683C\u5F0F\u5316\u6570\u636E\uFF09
|
|
// =====================
|
|
async function exportDanmu(format) {
|
|
const id = danmuTestState.currentEpisodeId;
|
|
if (!id) { customAlert('\u65E0\u5F39\u5E55\u6570\u636E\u53EF\u5BFC\u51FA'); return; }
|
|
|
|
const title = danmuTestState.currentTitle || ('danmu_' + id);
|
|
// \u6E05\u7406\u6587\u4EF6\u540D\u4E2D\u7684\u975E\u6CD5\u5B57\u7B26
|
|
const safeTitle = title.replace(/[\\\\/:*?"<>|]/g, '_');
|
|
|
|
addLog('\u5BFC\u51FA\u5F39\u5E55 ' + format.toUpperCase() + '...', 'info');
|
|
try {
|
|
const resp = await fetch(buildApiUrl('/api/v2/comment/' + id + '?format=' + format));
|
|
if (!resp.ok) throw new Error('HTTP ' + resp.status);
|
|
|
|
let content, mimeType;
|
|
if (format === 'xml') {
|
|
content = await resp.text();
|
|
mimeType = 'application/xml';
|
|
} else {
|
|
const data = await resp.json();
|
|
content = JSON.stringify(data, null, 2);
|
|
mimeType = 'application/json';
|
|
}
|
|
|
|
const blob = new Blob([content], { type: mimeType });
|
|
const url = URL.createObjectURL(blob);
|
|
const a = document.createElement('a');
|
|
a.href = url;
|
|
a.download = safeTitle + '.' + format;
|
|
document.body.appendChild(a);
|
|
a.click();
|
|
document.body.removeChild(a);
|
|
URL.revokeObjectURL(url);
|
|
addLog('\u5BFC\u51FA\u5F39\u5E55 ' + format.toUpperCase() + ' \u6210\u529F', 'success');
|
|
} catch (e) {
|
|
customAlert('\u5BFC\u51FA\u5931\u8D25: ' + e.message);
|
|
addLog('\u5BFC\u51FA\u5931\u8D25: ' + e.message, 'error');
|
|
}
|
|
}
|
|
|
|
// =====================
|
|
// \u5F39\u5E55\u7EDF\u8BA1
|
|
// =====================
|
|
function renderDanmuStats(data, elapsed, title, durationSeconds, filterCounts) {
|
|
const comments = data.comments;
|
|
const count = comments.length;
|
|
|
|
const maxTime = getEffectiveDuration(comments, durationSeconds);
|
|
|
|
// \u5E73\u5747\u5BC6\u5EA6
|
|
const durationMin = maxTime / 60;
|
|
const avgDensity = durationMin > 0 ? (count / durationMin).toFixed(1) : '0';
|
|
|
|
// \u9AD8\u80FD\u65F6\u523B\uFF1A\u627E\u5BC6\u5EA6\u6700\u9AD8\u768430\u79D2\u533A\u95F4
|
|
const segLen = 30;
|
|
const segCount = Math.ceil(maxTime / segLen) || 1;
|
|
const segs = new Array(segCount).fill(0);
|
|
comments.forEach(c => {
|
|
const t = c.t !== undefined ? c.t : parseDanmuTime(c.p);
|
|
if (t > maxTime) return; // \u8DF3\u8FC7\u5F02\u5E38\u65F6\u95F4\u70B9
|
|
const idx = Math.min(Math.floor(t / segLen), segCount - 1);
|
|
segs[idx]++;
|
|
});
|
|
let hotIdx = 0;
|
|
for (let i = 1; i < segs.length; i++) {
|
|
if (segs[i] > segs[hotIdx]) hotIdx = i;
|
|
}
|
|
const hotStart = hotIdx * segLen;
|
|
const hotMoment = formatDuration(hotStart) + ' - ' + formatDuration(hotStart + segLen);
|
|
|
|
const coloredCount = comments.reduce((sum, comment) => {
|
|
if (!comment || !comment.p) return sum;
|
|
const color = parseInt(String(comment.p).split(',')[2], 10);
|
|
return Number.isFinite(color) && color !== 16777215 ? sum + 1 : sum;
|
|
}, 0);
|
|
const coloredRatio = count > 0 ? ((coloredCount / count) * 100).toFixed(1) + '%' : '--';
|
|
|
|
const container = document.getElementById('danmu-stats');
|
|
container.innerHTML =
|
|
'<div class="danmu-stats-title">' + escapeHtml(title) + '</div>' +
|
|
'<div class="danmu-stats-grid">' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + count + '</div><div class="stat-label">\u5F39\u5E55\u6570</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + formatDuration(maxTime) + '</div><div class="stat-label">\u65F6\u957F</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + hotMoment + '</div><div class="stat-label">\u9AD8\u80FD\u65F6\u523B</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + avgDensity + ' \u6761/\u5206</div><div class="stat-label">\u5E73\u5747\u5BC6\u5EA6</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + elapsed + 's</div><div class="stat-label">\u8BF7\u6C42\u8017\u65F6</div></div>' +
|
|
'<div class="danmu-stat-card"><div class="stat-value">' + coloredRatio + '</div><div class="stat-label">\u5F69\u8272\u5360\u6BD4</div></div>' +
|
|
'</div>';
|
|
}
|
|
|
|
// =====================
|
|
// \u5F39\u5E55\u70ED\u529B\u56FE
|
|
// =====================
|
|
function renderDanmuHeatmap(comments, durationSeconds) {
|
|
const container = document.getElementById('danmu-heatmap');
|
|
const maxTime = getEffectiveDuration(comments, durationSeconds);
|
|
if (maxTime === 0) { container.innerHTML = '<p class="danmu-empty-text">\u65E0\u6570\u636E</p>'; return; }
|
|
|
|
const barCount = Math.min(60, Math.max(20, Math.ceil(maxTime / 30)));
|
|
const segLen = maxTime / barCount;
|
|
const segs = new Array(barCount).fill(0);
|
|
comments.forEach(c => {
|
|
const t = c.t !== undefined ? c.t : parseDanmuTime(c.p);
|
|
if (t > maxTime) return; // \u8DF3\u8FC7\u5F02\u5E38\u65F6\u95F4\u70B9
|
|
const idx = Math.min(Math.floor(t / segLen), barCount - 1);
|
|
segs[idx]++;
|
|
});
|
|
|
|
const maxSeg = Math.max(...segs, 1);
|
|
let html = '<div class="danmu-heatmap-interactive">';
|
|
html += '<div class="heatmap-bars">';
|
|
for (let i = 0; i < barCount; i++) {
|
|
const pct = Math.max(2, (segs[i] / maxSeg) * 100);
|
|
const intensity = segs[i] / maxSeg;
|
|
// \u4ECE\u84DD\u5230\u7EA2\u7684\u6E10\u53D8
|
|
const r = Math.round(66 + intensity * 189);
|
|
const g = Math.round(126 - intensity * 80);
|
|
const b = Math.round(234 - intensity * 180);
|
|
const start = i * segLen;
|
|
const end = Math.min((i + 1) * segLen, maxTime);
|
|
const timeLabel = formatDuration(start) + ' - ' + formatDuration(end);
|
|
html += '<div class="heatmap-bar" data-index="' + i + '" data-count="' + segs[i] + '" style="--heatmap-height:' + pct + '%;--heatmap-color:rgb(' + r + ',' + g + ',' + b + ');" aria-label="' + timeLabel + ' | ' + segs[i] + '\u6761\u5F39\u5E55"></div>';
|
|
}
|
|
html += '</div>';
|
|
html += '<div class="danmu-heatmap-indicator"></div><div class="danmu-heatmap-tooltip"></div>';
|
|
html += '</div>';
|
|
html += '<div class="heatmap-axis"><span>00:00</span><span>' + formatDuration(maxTime / 2) + '</span><span>' + formatDuration(maxTime) + '</span></div>';
|
|
container.innerHTML = html;
|
|
bindDanmuHeatmapScrub(container, segs, segLen, maxTime);
|
|
}
|
|
|
|
function bindDanmuHeatmapScrub(container, segs, segLen, maxTime) {
|
|
const interactive = container.querySelector('.danmu-heatmap-interactive');
|
|
const bars = container.querySelector('.heatmap-bars');
|
|
const tooltip = container.querySelector('.danmu-heatmap-tooltip');
|
|
const indicator = container.querySelector('.danmu-heatmap-indicator');
|
|
if (!interactive || !bars || !tooltip || !indicator) return;
|
|
|
|
let rafId = null;
|
|
let latestEvent = null;
|
|
const scheduleUpdate = event => {
|
|
latestEvent = event;
|
|
if (rafId) return;
|
|
rafId = requestAnimationFrame(() => {
|
|
rafId = null;
|
|
if (!latestEvent) return;
|
|
updateDanmuHeatmapTooltip(latestEvent, interactive, bars, tooltip, indicator, segs, segLen, maxTime);
|
|
});
|
|
};
|
|
|
|
const hideTooltip = () => hideDanmuHeatmapTooltip(bars, tooltip, indicator, () => {
|
|
if (rafId) {
|
|
cancelAnimationFrame(rafId);
|
|
rafId = null;
|
|
}
|
|
latestEvent = null;
|
|
});
|
|
|
|
interactive.addEventListener('pointermove', scheduleUpdate, { passive: true });
|
|
interactive.addEventListener('pointerdown', scheduleUpdate, { passive: true });
|
|
interactive.addEventListener('pointerup', hideTooltip, { passive: true });
|
|
interactive.addEventListener('pointercancel', hideTooltip, { passive: true });
|
|
interactive.addEventListener('pointerleave', hideTooltip);
|
|
}
|
|
|
|
function hideDanmuHeatmapTooltip(bars, tooltip, indicator, beforeHide) {
|
|
if (beforeHide) beforeHide();
|
|
tooltip.classList.remove('active');
|
|
indicator.classList.remove('active');
|
|
const activeBar = bars.querySelector('.heatmap-bar.active');
|
|
if (activeBar) activeBar.classList.remove('active');
|
|
}
|
|
|
|
function updateDanmuHeatmapTooltip(event, interactive, bars, tooltip, indicator, segs, segLen, maxTime) {
|
|
if (!event) return;
|
|
const rect = bars.getBoundingClientRect();
|
|
if (!rect.width) return;
|
|
const ratio = Math.max(0, Math.min(1, (event.clientX - rect.left) / rect.width));
|
|
const index = Math.max(0, Math.min(segs.length - 1, Math.floor(ratio * segs.length)));
|
|
const start = index * segLen;
|
|
const end = Math.min((index + 1) * segLen, maxTime);
|
|
const leftPct = ((index + 0.5) / segs.length) * 100;
|
|
|
|
const activeBar = bars.querySelector('.heatmap-bar.active');
|
|
if (activeBar) activeBar.classList.remove('active');
|
|
const currentBar = bars.querySelector('.heatmap-bar[data-index="' + index + '"]');
|
|
if (currentBar) currentBar.classList.add('active');
|
|
|
|
tooltip.innerHTML = '<strong>' + segs[index] + '</strong><span>\u6761\u5F39\u5E55</span><em>' + formatDuration(start) + ' - ' + formatDuration(end) + '</em>';
|
|
tooltip.classList.add('active');
|
|
indicator.classList.add('active');
|
|
|
|
const clampedLeft = clampHeatmapTooltipLeft(interactive, tooltip, leftPct);
|
|
tooltip.style.left = clampedLeft + 'px';
|
|
indicator.style.left = leftPct + '%';
|
|
}
|
|
|
|
function clampHeatmapTooltipLeft(interactive, tooltip, leftPct) {
|
|
const width = interactive.clientWidth || 0;
|
|
const tooltipWidth = tooltip.offsetWidth || 0;
|
|
const padding = 8;
|
|
const rawLeft = (leftPct / 100) * width;
|
|
const minLeft = (tooltipWidth / 2) + padding;
|
|
const maxLeft = width - (tooltipWidth / 2) - padding;
|
|
if (width <= tooltipWidth + padding * 2) return width / 2;
|
|
return Math.max(minLeft, Math.min(maxLeft, rawLeft));
|
|
}
|
|
|
|
function getDanmuFilterCounts(comments) {
|
|
const counts = { all: comments.length, scroll: 0, top: 0, bottom: 0 };
|
|
comments.forEach(c => {
|
|
const mode = parseDanmuMode(c.p);
|
|
if (mode === 5) counts.top++;
|
|
else if (mode === 4) counts.bottom++;
|
|
else counts.scroll++;
|
|
});
|
|
return counts;
|
|
}
|
|
|
|
function renderDanmuFilterTabs(counts) {
|
|
const items = [
|
|
{ key: 'all', label: '\u5168\u90E8' },
|
|
{ key: 'scroll', label: '\u6EDA\u52A8' },
|
|
{ key: 'top', label: '\u9876\u90E8' },
|
|
{ key: 'bottom', label: '\u5E95\u90E8' }
|
|
];
|
|
let html = '<div class="danmu-filter-tabs">';
|
|
items.forEach(item => {
|
|
const active = item.key === 'all' ? ' active' : '';
|
|
html += '<button class="danmu-filter-tab' + active + '" data-count="' + counts[item.key] + '" onclick="filterDanmuList(\\'' + item.key + '\\', event)">' + item.label + '<span class="danmu-filter-count">' + counts[item.key] + '</span></button>';
|
|
});
|
|
html += '</div>';
|
|
return html;
|
|
}
|
|
|
|
// =====================
|
|
// \u5F39\u5E55\u5217\u8868\u8FC7\u6EE4\u4E0E\u61D2\u52A0\u8F7D
|
|
// =====================
|
|
function applyDanmuFilter() {
|
|
const filter = danmuTestState.currentFilter;
|
|
if (filter === 'all') {
|
|
danmuTestState.filteredComments = danmuTestState.allComments;
|
|
} else {
|
|
const modeMap = { scroll: 1, top: 5, bottom: 4 };
|
|
const targetMode = modeMap[filter];
|
|
danmuTestState.filteredComments = danmuTestState.allComments.filter(c => {
|
|
const mode = parseDanmuMode(c.p);
|
|
if (filter === 'scroll') return mode !== 4 && mode !== 5;
|
|
return mode === targetMode;
|
|
});
|
|
}
|
|
danmuTestState.displayedCount = 0;
|
|
}
|
|
|
|
function filterDanmuList(type, event) {
|
|
document.querySelectorAll('.danmu-filter-tab').forEach(btn => btn.classList.remove('active'));
|
|
const tab = event.currentTarget || event.target.closest('.danmu-filter-tab');
|
|
if (tab) tab.classList.add('active');
|
|
danmuTestState.currentFilter = type;
|
|
applyDanmuFilter();
|
|
renderDanmuList();
|
|
}
|
|
|
|
function renderDanmuList() {
|
|
const list = danmuTestState.filteredComments;
|
|
const end = Math.min(danmuTestState.displayedCount + danmuTestState.pageSize, list.length);
|
|
let html = '';
|
|
|
|
for (let i = danmuTestState.displayedCount; i < end; i++) {
|
|
const c = list[i];
|
|
const time = c.t !== undefined ? c.t : parseDanmuTime(c.p);
|
|
const mode = parseDanmuMode(c.p);
|
|
const color = parseDanmuColor(c.p);
|
|
const hexColor = decColorToHex(color);
|
|
const modeLabel = getModeLabel(mode);
|
|
|
|
html += '<div class="danmu-item">' +
|
|
'<span class="danmu-time">' + formatDuration(time) + '</span>' +
|
|
'<span class="danmu-color-dot" style="--danmu-color-dot:' + hexColor + ';" title="' + hexColor + '"></span>' +
|
|
'<span class="danmu-mode-tag danmu-mode-' + (mode === 5 ? 'top' : mode === 4 ? 'bottom' : 'scroll') + '">' + modeLabel + '</span>' +
|
|
'<span class="danmu-text">' + escapeHtml(c.m) + '</span>' +
|
|
'</div>';
|
|
}
|
|
|
|
const container = document.getElementById('danmu-list');
|
|
if (danmuTestState.displayedCount === 0) {
|
|
container.innerHTML = html || '<p class="danmu-empty-text danmu-empty-list">\u65E0\u5F39\u5E55\u6570\u636E</p>';
|
|
} else {
|
|
container.insertAdjacentHTML('beforeend', html);
|
|
}
|
|
danmuTestState.displayedCount = end;
|
|
|
|
// \u63A7\u5236\u52A0\u8F7D\u66F4\u591A\u6309\u94AE
|
|
const loadMoreBtn = document.getElementById('danmu-load-more');
|
|
if (end < list.length) {
|
|
loadMoreBtn.style.display = 'block';
|
|
loadMoreBtn.textContent = '\u52A0\u8F7D\u66F4\u591A (' + end + '/' + list.length + ')';
|
|
} else {
|
|
loadMoreBtn.style.display = 'none';
|
|
}
|
|
}
|
|
|
|
function loadMoreDanmu() {
|
|
renderDanmuList();
|
|
}
|
|
`;var Qst=`
|
|
// \u63A8\u9001\u5F39\u5E55\u529F\u80FD\u76F8\u5173
|
|
|
|
// \u4ECE\u73AF\u5883\u53D8\u91CF\u83B7\u53D6\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
|
|
function getDefaultPushUrl(config) {
|
|
const pushUrl = config.originalEnvVars?.DANMU_PUSH_URL || '';
|
|
return pushUrl.trim();
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u9ED8\u8BA4\u63A8\u9001\u5730\u5740
|
|
function setDefaultPushUrl(config) {
|
|
const defaultPushUrl = getDefaultPushUrl(config);
|
|
if (defaultPushUrl) {
|
|
const pushUrlInput = document.getElementById('push-url');
|
|
if (pushUrlInput && !pushUrlInput.value) {
|
|
pushUrlInput.value = defaultPushUrl;
|
|
}
|
|
}
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u63A8\u9001\u5F39\u5E55\u754C\u9762
|
|
function initPushDanmuInterface() {
|
|
const searchKeywordInput = document.getElementById('push-search-keyword');
|
|
if (searchKeywordInput) {
|
|
// \u6DFB\u52A0\u56DE\u8F66\u952E\u641C\u7D22\u4E8B\u4EF6\u76D1\u542C
|
|
searchKeywordInput.addEventListener('keypress', function(event) {
|
|
if (event.key === 'Enter') {
|
|
searchAnimeForPush();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
// \u641C\u7D22\u52A8\u6F2B\u7528\u4E8E\u63A8\u9001
|
|
function searchAnimeForPush() {
|
|
const keyword = document.getElementById('push-search-keyword').value.trim();
|
|
const pushUrl = document.getElementById('push-url').value.trim();
|
|
const searchBtn = document.querySelector('#push-section .btn-primary');
|
|
|
|
if (!keyword) {
|
|
customAlert('\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57');
|
|
return;
|
|
}
|
|
|
|
// \u641C\u7D22\u65F6\u4E0D\u518D\u6821\u9A8CpushUrl\u662F\u5426\u4E3A\u7A7A\uFF0C\u53EA\u5728\u63A8\u9001\u65F6\u6821\u9A8C
|
|
|
|
// \u6DFB\u52A0\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = searchBtn.textContent;
|
|
searchBtn.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
searchBtn.disabled = true;
|
|
|
|
// \u6784\u5EFA\u641C\u7D22API\u8BF7\u6C42URL
|
|
const searchUrl = buildApiUrl('/api/v2/search/anime?keyword=' + encodeURIComponent(keyword));
|
|
|
|
addLog(\`\u5F00\u59CB\u641C\u7D22\u52A8\u6F2B: \${keyword}\`, 'info');
|
|
|
|
// \u53D1\u9001\u641C\u7D22\u8BF7\u6C42
|
|
fetch(searchUrl)
|
|
.then(response => {
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(data => {
|
|
if (data.success && data.animes.length > 0) {
|
|
displayAnimeListForPush(data.animes, pushUrl);
|
|
} else {
|
|
document.getElementById('push-anime-list').style.display = 'none';
|
|
document.getElementById('push-episode-list').style.display = 'none';
|
|
customAlert('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B');
|
|
addLog('\u672A\u627E\u5230\u76F8\u5173\u52A8\u6F2B', 'warn');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25:', error);
|
|
customAlert('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25: ' + error.message);
|
|
addLog('\u641C\u7D22\u52A8\u6F2B\u5931\u8D25: ' + error.message, 'error');
|
|
})
|
|
.finally(() => {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
searchBtn.innerHTML = originalText;
|
|
searchBtn.disabled = false;
|
|
});
|
|
}
|
|
|
|
// \u5C55\u793A\u52A8\u6F2B\u5217\u8868\u7528\u4E8E\u63A8\u9001
|
|
function displayAnimeListForPush(animes, pushUrl) {
|
|
const container = document.getElementById('push-anime-list');
|
|
let html = '<h3>\u641C\u7D22\u7ED3\u679C</h3><div class="anime-grid">';
|
|
|
|
animes.forEach(anime => {
|
|
const imageUrl = anime.imageUrl || 'https://placehold.co/150x200?text=No+Image';
|
|
html += \`
|
|
<div class="anime-item" onclick="getBangumiForPush(\${anime.animeId}, '\${pushUrl}')">
|
|
<img src="\${imageUrl}" alt="\${anime.animeTitle}" referrerpolicy="no-referrer" class="anime-item-img">
|
|
<h4 class="anime-title">\${anime.animeTitle} - \u5171\${anime.episodeCount}\u96C6</h4>
|
|
</div>
|
|
\`;
|
|
});
|
|
|
|
html += '</div>';
|
|
container.innerHTML = html;
|
|
container.style.display = 'block';
|
|
|
|
addLog(\`\u663E\u793A \${animes.length} \u4E2A\u52A8\u6F2B\u7ED3\u679C\`, 'info');
|
|
}
|
|
|
|
// \u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u7528\u4E8E\u63A8\u9001
|
|
function getBangumiForPush(animeId, pushUrl) {
|
|
const bangumiUrl = buildApiUrl('/api/v2/bangumi/' + animeId);
|
|
|
|
addLog(\`\u83B7\u53D6\u756A\u5267\u8BE6\u60C5: \${animeId}\`, 'info');
|
|
|
|
fetch(bangumiUrl)
|
|
.then(response => {
|
|
if (!response.ok) {
|
|
throw new Error(\`HTTP error! status: \${response.status}\`);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(data => {
|
|
if (data.success && data.bangumi && data.bangumi.episodes) {
|
|
displayEpisodeListForPush(data.bangumi.animeTitle, data.bangumi.episodes, pushUrl);
|
|
} else {
|
|
customAlert('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F');
|
|
addLog('\u8BE5\u52A8\u6F2B\u6682\u65E0\u5267\u96C6\u4FE1\u606F', 'warn');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25:', error);
|
|
customAlert('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + error.message);
|
|
addLog('\u83B7\u53D6\u756A\u5267\u8BE6\u60C5\u5931\u8D25: ' + error.message, 'error');
|
|
});
|
|
}
|
|
|
|
// \u5C55\u793A\u5267\u96C6\u5217\u8868\u7528\u4E8E\u63A8\u9001
|
|
function displayEpisodeListForPush(animeTitle, episodes, pushUrl) {
|
|
const container = document.getElementById('push-episode-list');
|
|
let html = \`<h3>\u5267\u96C6\u5217\u8868</h3><h4 class="text-yellow-gold">\${animeTitle}</h4>\`;
|
|
|
|
// \u6DFB\u52A0\u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\u7684\u529F\u80FD
|
|
html += \`
|
|
<div class="jump-to-episode" style="margin-top: 15px; margin-bottom: 15px; padding: 10px; background: #f8f9fa; border-radius: 12px; display: flex; align-items: center; gap: 10px;">
|
|
<span>\u8DF3\u8F6C\u5230\u7B2C</span>
|
|
<input type="number" id="jump-episode-input-push" placeholder="\u8F93\u5165\u96C6\u6570" min="1" style="padding: 8px; width: 90px; border: 1px solid #ccc; border-radius: 8px;">
|
|
<span>\u96C6</span>
|
|
<button class="btn btn-primary btn-sm" onclick="jumpToEpisodeForPushDanmu()" style="margin-left: 5px; border-radius: 8px;">\u8DF3\u8F6C</button>
|
|
<span style="margin-left: 5px; color: #666; font-size: 14px;">\u5171\${episodes.length}\u96C6</span>
|
|
</div>\`;
|
|
|
|
html += '<div class="episode-list-container">';
|
|
|
|
episodes.forEach(episode => {
|
|
// \u751F\u6210\u5F39\u5E55URL
|
|
const commentUrl = window.location.origin + buildApiUrl('/api/v2/comment/' + episode.episodeId + '?format=xml');
|
|
html += \`
|
|
<div class="episode-item" id="episode-item-push-\${episode.episodeNumber}">
|
|
<div class="episode-item-content">
|
|
<strong>\u7B2C\${episode.episodeNumber}\u96C6</strong> - \${episode.episodeTitle || '\u65E0\u6807\u9898'}
|
|
</div>
|
|
<button class="btn btn-success btn-sm episode-push-btn" onclick="pushDanmu('\${pushUrl}', '\${commentUrl}', '\${episode.episodeTitle || '\u7B2C' + episode.episodeNumber + '\u96C6'}')">\u63A8\u9001</button>
|
|
</div>
|
|
\`;
|
|
});
|
|
|
|
html += '</div>';
|
|
container.innerHTML = html;
|
|
container.style.display = 'block';
|
|
|
|
addLog(\`\u663E\u793A \${episodes.length} \u4E2A\u5267\u96C6\`, 'info');
|
|
|
|
// \u81EA\u52A8\u6EDA\u52A8\u5230\u5267\u96C6\u5217\u8868\u5904
|
|
setTimeout(() => {
|
|
container.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
}, 10);
|
|
}
|
|
|
|
// \u8DF3\u8F6C\u5230\u6307\u5B9A\u96C6\u6570\uFF08\u63A8\u9001\u5F39\u5E55\u7248\uFF09
|
|
function jumpToEpisodeForPushDanmu() {
|
|
const episodeInput = document.getElementById('jump-episode-input-push');
|
|
const episodeNumber = parseInt(episodeInput.value);
|
|
|
|
if (!episodeNumber || episodeNumber <= 0) {
|
|
customAlert('\u8BF7\u8F93\u5165\u6709\u6548\u7684\u96C6\u6570\uFF08\u6B63\u6574\u6570\uFF09');
|
|
return;
|
|
}
|
|
|
|
// \u67E5\u627E\u5BF9\u5E94\u96C6\u6570\u7684\u5143\u7D20
|
|
const episodeElement = document.getElementById('episode-item-push-' + episodeNumber);
|
|
if (episodeElement) {
|
|
// \u6EDA\u52A8\u5230\u6307\u5B9A\u5143\u7D20\u4F4D\u7F6E
|
|
episodeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
// \u6DFB\u52A0\u9AD8\u4EAE\u6548\u679C\u4EE5\u4FBF\u8BC6\u522B
|
|
episodeElement.style.backgroundColor = '#fff3cd'; // \u9EC4\u8272\u80CC\u666F\u9AD8\u4EAE
|
|
setTimeout(() => {
|
|
episodeElement.style.backgroundColor = ''; // \u6062\u590D\u539F\u8272
|
|
}, 2000);
|
|
} else {
|
|
customAlert('\u627E\u4E0D\u5230\u7B2C' + episodeNumber + '\u96C6');
|
|
}
|
|
}
|
|
|
|
// \u63A8\u9001\u5F39\u5E55
|
|
async function pushDanmu(pushUrl, commentUrl, episodeTitle) {
|
|
// \u83B7\u53D6\u63A8\u9001\u6309\u94AE\u5143\u7D20
|
|
const pushButton = event.target; // \u901A\u8FC7\u4E8B\u4EF6\u5BF9\u8C61\u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u6309\u94AE
|
|
|
|
// \u6821\u9A8C\u63A8\u9001\u5730\u5740\u662F\u5426\u4E3A\u7A7A
|
|
if (!pushUrl || pushUrl.trim() === '') {
|
|
customAlert('\u8BF7\u8F93\u5165\u63A8\u9001\u5730\u5740');
|
|
if (pushButton) {
|
|
pushButton.innerHTML = '\u63A8\u9001';
|
|
pushButton.disabled = false;
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (pushButton) {
|
|
const originalText = pushButton.innerHTML;
|
|
pushButton.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
pushButton.disabled = true;
|
|
}
|
|
|
|
try {
|
|
// \u5411\u63A8\u9001\u5730\u5740\u53D1\u9001\u5F39\u5E55\u6570\u636E
|
|
const pushResponse = await fetch(pushUrl + encodeURIComponent(commentUrl), {
|
|
method: 'GET',
|
|
mode: 'no-cors', // \u7531\u4E8E\u8DE8\u57DF\u9650\u5236\uFF0C\u4F7F\u7528no-cors\u6A21\u5F0F
|
|
});
|
|
|
|
customAlert('\u5F39\u5E55\u63A8\u9001\u6210\u529F\uFF01' + episodeTitle);
|
|
addLog('\u5F39\u5E55\u63A8\u9001\u6210\u529F - ' + episodeTitle, 'success');
|
|
} catch (error) {
|
|
console.error('\u63A8\u9001\u5F39\u5E55\u5931\u8D25:', error);
|
|
customAlert('\u63A8\u9001\u5F39\u5E55\u5931\u8D25: ' + error.message);
|
|
addLog('\u63A8\u9001\u5F39\u5E55\u5931\u8D25: ' + error.message, 'error');
|
|
} finally {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
if (pushButton) {
|
|
pushButton.innerHTML = '\u63A8\u9001';
|
|
pushButton.disabled = false;
|
|
}
|
|
}
|
|
}
|
|
`;var Gst=`
|
|
// \u8BF7\u6C42\u8BB0\u5F55\u76F8\u5173\u529F\u80FD
|
|
async function renderRequestRecords() {
|
|
const recordsContainer = document.getElementById('request-records-list');
|
|
if (!recordsContainer) {
|
|
console.error('\u672A\u627E\u5230\u8BF7\u6C42\u8BB0\u5F55\u5BB9\u5668');
|
|
return;
|
|
}
|
|
|
|
try {
|
|
// \u4ECEAPI\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55
|
|
const response = await fetch(buildApiUrl('/api/reqrecords'));
|
|
if (!response.ok) {
|
|
throw new Error('\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u5931\u8D25');
|
|
}
|
|
|
|
const data = await response.json();
|
|
const records = data.records;
|
|
const todayReqNum = data.todayReqNum;
|
|
|
|
// \u663E\u793A\u4ECA\u65E5\u8BF7\u6C42\u603B\u6570
|
|
const totalRequestsElement = document.getElementById('total-requests-today');
|
|
if (totalRequestsElement) {
|
|
totalRequestsElement.textContent = \`\u4ECA\u65E5\u8BF7\u6C42\u603B\u6570: \${todayReqNum}\`;
|
|
}
|
|
|
|
if (records.length === 0) {
|
|
recordsContainer.innerHTML = '<div class="no-records">\u6682\u65E0\u8BF7\u6C42\u8BB0\u5F55</div>';
|
|
return;
|
|
}
|
|
|
|
// \u751F\u6210\u8BB0\u5F55HTML
|
|
const recordsHtml = records.map(record => {
|
|
const interfaceName = decodeURIComponent(record.interface) || '\u672A\u77E5\u63A5\u53E3';
|
|
const params = record.params || {};
|
|
const timestamp = record.timestamp ? new Date(record.timestamp).toLocaleString('zh-CN') : '\u672A\u77E5\u65F6\u95F4';
|
|
const method = record.method || 'GET';
|
|
const clientIp = record.clientIp || '\u672A\u77E5IP';
|
|
|
|
// \u683C\u5F0F\u5316\u53C2\u6570\u663E\u793A
|
|
const hasParams = Object.keys(params).length > 0;
|
|
const paramsHtml = hasParams
|
|
? \`<div class="record-params">
|
|
<div class="record-params-title">\u8BF7\u6C42\u53C2\u6570</div>
|
|
<pre>\${JSON.stringify(params, null, 2)}</pre>
|
|
</div>\`
|
|
: '';
|
|
|
|
// \u5982\u679C\u6CA1\u6709\u53C2\u6570\uFF0C\u7ED9\u65F6\u95F4\u6233\u6DFB\u52A0 no-params \u7C7B\u4EE5\u9690\u85CF\u865A\u7EBF
|
|
const timestampClass = hasParams ? 'record-timestamp' : 'record-timestamp no-params';
|
|
|
|
return \`
|
|
<div class="record-item">
|
|
<div class="record-header">
|
|
<div class="record-method">\${method}</div>
|
|
<div class="record-interface">\${interfaceName}</div>
|
|
<div class="record-ip">\${clientIp}</div>
|
|
</div>
|
|
<div class="\${timestampClass}">\${timestamp}</div>
|
|
\${paramsHtml}
|
|
</div>\`;
|
|
}).join('');
|
|
|
|
recordsContainer.innerHTML = recordsHtml;
|
|
} catch (error) {
|
|
console.error('\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u65F6\u51FA\u9519:', error);
|
|
recordsContainer.innerHTML = '<div class="no-records">\u83B7\u53D6\u8BF7\u6C42\u8BB0\u5F55\u5931\u8D25: ' + error.message + '</div>';
|
|
}
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u8BF7\u6C42\u8BB0\u5F55\u754C\u9762
|
|
function initRequestRecordsInterface() {
|
|
// \u786E\u4FDD\u5728\u5207\u6362\u5230\u8BF7\u6C42\u8BB0\u5F55\u6807\u7B7E\u9875\u65F6\u4E5F\u66F4\u65B0\u8BB0\u5F55
|
|
const originalSwitchSection = window.switchSection;
|
|
if (originalSwitchSection && typeof originalSwitchSection === 'function') {
|
|
window.switchSection = function(section, event = null) {
|
|
// \u8C03\u7528\u539F\u51FD\u6570
|
|
originalSwitchSection(section, event);
|
|
|
|
// \u5982\u679C\u5207\u6362\u5230\u8BF7\u6C42\u8BB0\u5F55\u9875\u9762\uFF0C\u5219\u5237\u65B0\u8BB0\u5F55
|
|
if (section === 'request-records') {
|
|
setTimeout(renderRequestRecords, 100);
|
|
}
|
|
};
|
|
}
|
|
|
|
// \u9996\u6B21\u521D\u59CB\u5316
|
|
if (document.getElementById('request-records-section') &&
|
|
document.querySelector('.nav-btn[data-section="request-records"]') &&
|
|
document.querySelector('.nav-btn[data-section="request-records"]').classList.contains('active')) {
|
|
renderRequestRecords();
|
|
}
|
|
}
|
|
|
|
// \u9875\u9762\u52A0\u8F7D\u5B8C\u6210\u540E\u521D\u59CB\u5316
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
if (typeof initRequestRecordsInterface === 'function') {
|
|
initRequestRecordsInterface();
|
|
}
|
|
|
|
// \u6DFB\u52A0\u5237\u65B0\u6309\u94AE\u529F\u80FD
|
|
const refreshBtn = document.getElementById('refresh-request-records');
|
|
if (refreshBtn) {
|
|
refreshBtn.onclick = function() {
|
|
renderRequestRecords();
|
|
};
|
|
}
|
|
|
|
});
|
|
`;var Vst=`
|
|
// \u5168\u5C40\u53D8\u91CF\u5B9A\u4E49
|
|
let isMergeMode = false;
|
|
let stagingTags = [];
|
|
|
|
// \u663E\u793A\u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846
|
|
function showClearCacheModal() {
|
|
document.getElementById('clear-cache-modal').classList.add('active');
|
|
}
|
|
|
|
// \u9690\u85CF\u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846
|
|
function hideClearCacheModal() {
|
|
document.getElementById('clear-cache-modal').classList.remove('active');
|
|
}
|
|
|
|
// \u786E\u8BA4\u6E05\u7406\u7F13\u5B58
|
|
async function confirmClearCache() {
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
|
|
const configCheck = await checkDeployPlatformConfig();
|
|
if (!configCheck.success) {
|
|
hideClearCacheModal();
|
|
customAlert(configCheck.message);
|
|
return;
|
|
}
|
|
|
|
hideClearCacheModal();
|
|
showLoading('\u6B63\u5728\u6E05\u7406\u7F13\u5B58...', '\u6E05\u9664\u4E2D\uFF0C\u8BF7\u7A0D\u5019');
|
|
addLog('\u5F00\u59CB\u6E05\u7406\u7F13\u5B58', 'info');
|
|
|
|
try {
|
|
// \u8C03\u7528\u771F\u5B9E\u7684\u6E05\u7406\u7F13\u5B58API
|
|
const response = await fetch(buildApiUrl('/api/cache/clear', true), { // \u4F7F\u7528admin token
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.success) {
|
|
updateLoadingText('\u6E05\u7406\u5B8C\u6210', '\u7F13\u5B58\u5DF2\u6210\u529F\u6E05\u9664');
|
|
addLog('\u7F13\u5B58\u6E05\u7406\u5B8C\u6210', 'success');
|
|
addLog('\u7F13\u5B58\u6E05\u7406\u6210\u529F\uFF01\u5DF2\u6E05\u7406: ' + JSON.stringify(result.clearedItems), 'success');
|
|
} else {
|
|
updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u8BF7\u67E5\u770B\u65E5\u5FD7\u4E86\u89E3\u8BE6\u60C5');
|
|
addLog('\u7F13\u5B58\u6E05\u7406\u5931\u8D25: ' + result.message, 'error');
|
|
}
|
|
} catch (error) {
|
|
updateLoadingText('\u6E05\u7406\u5931\u8D25', '\u7F51\u7EDC\u9519\u8BEF\u6216\u670D\u52A1\u4E0D\u53EF\u7528');
|
|
addLog('\u7F13\u5B58\u6E05\u7406\u8BF7\u6C42\u5931\u8D25: ' + error.message, 'error');
|
|
} finally {
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
}, 10);
|
|
}
|
|
}
|
|
|
|
// \u663E\u793A\u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846
|
|
function showDeploySystemModal() {
|
|
document.getElementById('deploy-system-modal').classList.add('active');
|
|
}
|
|
|
|
// \u9690\u85CF\u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846
|
|
function hideDeploySystemModal() {
|
|
document.getElementById('deploy-system-modal').classList.remove('active');
|
|
}
|
|
|
|
// \u786E\u8BA4\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF
|
|
function confirmDeploySystem() {
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E
|
|
checkDeployPlatformConfig().then(configCheck => {
|
|
if (!configCheck.success) {
|
|
hideDeploySystemModal();
|
|
customAlert(configCheck.message);
|
|
return;
|
|
}
|
|
|
|
hideDeploySystemModal();
|
|
showLoading('\u51C6\u5907\u90E8\u7F72...', '\u6B63\u5728\u68C0\u67E5\u7CFB\u7EDF\u72B6\u6001');
|
|
addLog('===== \u5F00\u59CB\u7CFB\u7EDF\u90E8\u7F72 =====', 'info');
|
|
|
|
// \u83B7\u53D6\u5F53\u524D\u90E8\u7F72\u5E73\u53F0
|
|
fetch(buildApiUrl('/api/config', true))
|
|
.then(response => response.json())
|
|
.then(config => {
|
|
const deployPlatform = config.envs.deployPlatform || 'node';
|
|
addLog(\`\u68C0\u6D4B\u5230\u90E8\u7F72\u5E73\u53F0: \${deployPlatform}\`, 'info');
|
|
|
|
if (deployPlatform.toLowerCase() === 'node') {
|
|
// Node\u90E8\u7F72\u4E0D\u9700\u8981\u91CD\u65B0\u90E8\u7F72
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
addLog('===== \u90E8\u7F72\u5B8C\u6210 =====', 'success');
|
|
addLog('Node\u90E8\u7F72\u6A21\u5F0F\uFF0C\u73AF\u5883\u53D8\u91CF\u5DF2\u751F\u6548', 'info');
|
|
addLog('Node\u90E8\u7F72\u6A21\u5F0F - \u5728Node\u90E8\u7F72\u6A21\u5F0F\u4E0B\uFF0C\u73AF\u5883\u53D8\u91CF\u4FEE\u6539\u540E\u4F1A\u81EA\u52A8\u751F\u6548\uFF0C\u65E0\u9700\u91CD\u65B0\u90E8\u7F72\u3002\u7CFB\u7EDF\u5DF2\u66F4\u65B0\u914D\u7F6E', 'success');
|
|
}, 150);
|
|
} else {
|
|
// \u8C03\u7528\u771F\u5B9E\u7684\u90E8\u7F72API
|
|
fetch(buildApiUrl('/api/deploy', true), { // \u4F7F\u7528admin token
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
})
|
|
.then(response => response.json())
|
|
.then(result => {
|
|
if (result.success) {
|
|
addLog('\u4E91\u7AEF\u90E8\u7F72\u89E6\u53D1\u6210\u529F', 'success');
|
|
// \u6A21\u62DF\u4E91\u7AEF\u90E8\u7F72\u8FC7\u7A0B
|
|
simulateDeployProcess();
|
|
} else {
|
|
hideLoading();
|
|
addLog(\`\u4E91\u7AEF\u90E8\u7F72\u5931\u8D25: \${result.message}\`, 'error');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
hideLoading();
|
|
addLog(\`\u4E91\u7AEF\u90E8\u7F72\u8BF7\u6C42\u5931\u8D25: \${error.message}\`, 'error');
|
|
});
|
|
}
|
|
})
|
|
.catch(error => {
|
|
hideLoading();
|
|
addLog(\`\u83B7\u53D6\u90E8\u7F72\u5E73\u53F0\u4FE1\u606F\u5931\u8D25: \${error.message}\`, 'error');
|
|
console.error('\u83B7\u53D6\u90E8\u7F72\u5E73\u53F0\u4FE1\u606F\u5931\u8D25:', error);
|
|
});
|
|
});
|
|
}
|
|
|
|
// \u6A21\u62DF\u4E91\u7AEF\u90E8\u7F72\u8FC7\u7A0B
|
|
function simulateDeployProcess() {
|
|
let progress = 0;
|
|
const progressInterval = setInterval(() => {
|
|
progress += Math.random() * 8;
|
|
if (progress >= 100) {
|
|
progress = 10;
|
|
clearInterval(progressInterval);
|
|
}
|
|
updateProgress(progress);
|
|
}, 300);
|
|
|
|
// \u6A21\u62DF\u90E8\u7F72\u6B65\u9AA4
|
|
const steps = [
|
|
{ delay: 100, text: '\u68C0\u67E5\u73AF\u5883\u53D8\u91CF...', detail: '\u9A8C\u8BC1\u914D\u7F6E\u6587\u4EF6', log: '\u914D\u7F6E\u6587\u4EF6\u9A8C\u8BC1\u901A\u8FC7' },
|
|
{ delay: 5000, text: '\u89E6\u53D1\u4E91\u7AEF\u90E8\u7F72...', detail: '\u90E8\u7F72\u5230\u5F53\u524D\u5E73\u53F0', log: '\u4E91\u7AEF\u90E8\u7F72\u5DF2\u89E6\u53D1' },
|
|
{ delay: 9500, text: '\u6784\u5EFA\u9879\u76EE...', detail: '\u4E91\u7AEF\u6784\u5EFA\u4E2D', log: '\u4E91\u7AEF\u6784\u5EFA\u5B8C\u6210' },
|
|
{ delay: 5000, text: '\u90E8\u7F72\u66F4\u65B0...', detail: '\u53D1\u5E03\u5230\u751F\u4EA7\u73AF\u5883', log: '\u66F4\u65B0\u5DF2\u90E8\u7F72' },
|
|
{ delay: 5500, text: '\u670D\u52A1\u91CD\u542F...', detail: '\u5E94\u7528\u65B0\u914D\u7F6E', log: '\u670D\u52A1\u5DF2\u91CD\u542F' },
|
|
{ delay: 5000, text: '\u5065\u5EB7\u68C0\u67E5...', detail: '\u9A8C\u8BC1\u670D\u52A1\u72B6\u6001', log: '\u6240\u6709\u670D\u52A1\u8FD0\u884C\u6B63\u5E38' },
|
|
];
|
|
|
|
steps.forEach(step => {
|
|
setTimeout(() => {
|
|
updateLoadingText(step.text, step.detail);
|
|
addLog(step.log, 'success');
|
|
}, step.delay);
|
|
});
|
|
|
|
// \u90E8\u7F72\u540E\u68C0\u67E5\u670D\u52A1\u662F\u5426\u53EF\u7528
|
|
setTimeout(() => {
|
|
checkDeploymentStatus();
|
|
}, 900); // \u5EF6\u957F\u5EF6\u8FDF\u4EE5\u786E\u4FDD\u6A21\u62DF\u90E8\u7F72\u8FC7\u7A0B\u5B8C\u6210
|
|
}
|
|
|
|
// \u68C0\u67E5\u90E8\u7F72\u72B6\u6001\uFF0C\u6BCF\u96945\u79D2\u8BF7\u6C42/api/logs\u63A5\u53E3\u76F4\u5230\u8BF7\u6C42\u6210\u529F
|
|
function checkDeploymentStatus() {
|
|
const checkInterval = setInterval(() => {
|
|
updateLoadingText('\u90E8\u7F72\u5B8C\u6210\uFF0C\u68C0\u67E5\u670D\u52A1\u72B6\u6001...', '\u6B63\u5728\u8BF7\u6C42 /api/logs \u63A5\u53E3');
|
|
addLog('\u6B63\u5728\u68C0\u67E5\u670D\u52A1\u72B6\u6001...', 'info');
|
|
|
|
fetch(buildApiUrl('/api/logs'))
|
|
.then(response => {
|
|
if (response.ok) {
|
|
// \u8BF7\u6C42\u6210\u529F\uFF0C\u505C\u6B62\u68C0\u67E5
|
|
clearInterval(checkInterval);
|
|
// \u66F4\u65B0\u52A0\u8F7D\u72B6\u6001\u800C\u4E0D\u662F\u7ACB\u5373\u9690\u85CF
|
|
updateLoadingText('\u90E8\u7F72\u6210\u529F\uFF01', '\u670D\u52A1\u5DF2\u91CD\u542F\u5E76\u6B63\u5E38\u8FD0\u884C');
|
|
addLog('===== \u90E8\u7F72\u5B8C\u6210 =====', 'success');
|
|
addLog('\u90E8\u7F72\u7248\u672C: ' + latestVersion, 'info');
|
|
addLog('\u7CFB\u7EDF\u5DF2\u66F4\u65B0\u5E76\u91CD\u542F', 'success');
|
|
|
|
// \u90E8\u7F72\u5B8C\u6210\u540E\u518D\u6B21\u786E\u8BA4\uFF0C\u8BBF\u95EE/api/logs\u63A5\u53E3\u6765\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
|
|
confirmDeploymentByLogs();
|
|
} else {
|
|
addLog('\u670D\u52A1\u68C0\u67E5\u4E2D - \u72B6\u6001\u7801: ' + response.status, 'info');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
addLog('\u670D\u52A1\u68C0\u67E5\u4E2D - \u8FDE\u63A5\u5931\u8D25: ' + error.message, 'info');
|
|
});
|
|
}, 500); // \u6BCF5\u79D2\u68C0\u67E5\u4E00\u6B21
|
|
}
|
|
|
|
// \u90E8\u7F72\u5B8C\u6210\u540E\u901A\u8FC7\u8BBF\u95EE/api/logs\u63A5\u53E3\u6765\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
|
|
function confirmDeploymentByLogs() {
|
|
// \u90E8\u7F72\u5B8C\u6210\u540E\u7684\u786E\u8BA4\u68C0\u67E5
|
|
let confirmationAttempts = 0;
|
|
const maxAttempts = 3; // \u6700\u591A\u5C1D\u8BD53\u6B21\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
|
|
|
|
const confirmationInterval = setInterval(() => {
|
|
confirmationAttempts++;
|
|
updateLoadingText('\u90E8\u7F72\u5B8C\u6210\u786E\u8BA4\u4E2D...', '\u6B63\u5728\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210 (' + confirmationAttempts + '/' + maxAttempts + ')');
|
|
addLog('\u90E8\u7F72\u5B8C\u6210\u786E\u8BA4 - \u5C1D\u8BD5 ' + confirmationAttempts + '/' + maxAttempts, 'info');
|
|
|
|
fetch(buildApiUrl('/api/logs'))
|
|
.then(response => {
|
|
if (response.ok) {
|
|
// \u8BF7\u6C42\u6210\u529F\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
|
|
clearInterval(confirmationInterval);
|
|
// \u663E\u793A\u6210\u529F\u4FE1\u606F\u540E\u5EF6\u8FDF\u9690\u85CF\u52A0\u8F7D\u906E\u7F69
|
|
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u6210\u529F\uFF01', '\u670D\u52A1\u5DF2\u91CD\u542F\u5E76\u6B63\u5E38\u8FD0\u884C');
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u6210\u529F - /api/logs \u63A5\u53E3\u8BBF\u95EE\u6B63\u5E38', 'success');
|
|
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
// \u663E\u793A\u6210\u529F\u5F39\u7A97
|
|
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
|
|
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
|
|
}, 200);
|
|
} else if (confirmationAttempts >= maxAttempts) {
|
|
// \u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
|
|
clearInterval(confirmationInterval);
|
|
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210', '\u670D\u52A1\u5DF2\u91CD\u542F');
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210 - \u5DF2\u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570', 'warn');
|
|
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
// \u663E\u793A\u6210\u529F\u5F39\u7A97
|
|
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
|
|
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
|
|
}, 200);
|
|
} else {
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u4E2D - \u72B6\u6001\u7801: ' + response.status, 'info');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
if (confirmationAttempts >= maxAttempts) {
|
|
// \u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570\uFF0C\u505C\u6B62\u786E\u8BA4\u68C0\u67E5
|
|
clearInterval(confirmationInterval);
|
|
updateLoadingText('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210', '\u670D\u52A1\u5DF2\u91CD\u542F');
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u5B8C\u6210 - \u5DF2\u8FBE\u5230\u6700\u5927\u5C1D\u8BD5\u6B21\u6570', 'warn');
|
|
|
|
setTimeout(() => {
|
|
hideLoading();
|
|
// \u663E\u793A\u6210\u529F\u5F39\u7A97
|
|
customAlert('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548');
|
|
addLog('\u90E8\u7F72\u6210\u529F\uFF01\u4E91\u7AEF\u90E8\u7F72\u5DF2\u5B8C\u6210\uFF0C\u670D\u52A1\u5DF2\u91CD\u542F\uFF0C\u914D\u7F6E\u5DF2\u751F\u6548', 'success');
|
|
}, 200);
|
|
} else {
|
|
addLog('\u90E8\u7F72\u786E\u8BA4\u4E2D - \u8FDE\u63A5\u5931\u8D25: ' + error.message, 'info');
|
|
}
|
|
});
|
|
}, 5000); // \u6BCF5\u79D2\u68C0\u67E5\u4E00\u6B21\uFF0C\u7528\u4E8E\u786E\u8BA4\u90E8\u7F72\u5B8C\u6210
|
|
}
|
|
|
|
// \u68C0\u67E5URL\u4E2D\u7684token\u662F\u5426\u4E0EcurrentAdminToken\u5339\u914D
|
|
function checkAdminToken() {
|
|
let _reverseProxy = customBaseUrl; // \u4F7F\u7528\u5168\u5C40\u53D8\u91CF customBaseUrl
|
|
|
|
// \u83B7\u53D6URL\u8DEF\u5F84\u5E76\u63D0\u53D6token
|
|
let urlPath = window.location.pathname;
|
|
|
|
// \u5982\u679C\u914D\u7F6E\u4E86\u53CD\u4EE3\u8DEF\u5F84\uFF0C\u5FC5\u987B\u5148\u5265\u79BB\u5B83
|
|
if(_reverseProxy) {
|
|
try {
|
|
// \u89E3\u6790\u914D\u7F6E\u4E2D\u7684\u8DEF\u5F84\u90E8\u5206\uFF0C\u4F8B\u5982 http://192.168.8.1:2333/danmu_api => /danmu_api
|
|
let proxyPath = _reverseProxy.startsWith('http')
|
|
? new URL(_reverseProxy).pathname
|
|
: _reverseProxy;
|
|
|
|
// \u786E\u4FDD\u79FB\u9664\u5C3E\u90E8\u659C\u6760
|
|
if (proxyPath.endsWith('/')) {
|
|
proxyPath = proxyPath.slice(0, -1);
|
|
}
|
|
|
|
// \u5982\u679C\u5F53\u524DURL\u5305\u542B\u6B64\u524D\u7F00\uFF0C\u5219\u79FB\u9664\u5B83
|
|
if(proxyPath && urlPath.startsWith(proxyPath)) {
|
|
urlPath = urlPath.substring(proxyPath.length);
|
|
}
|
|
} catch(e) {
|
|
console.error("\u89E3\u6790\u53CD\u4EE3\u8DEF\u5F84\u5931\u8D25", e);
|
|
}
|
|
}
|
|
|
|
const pathParts = urlPath.split('/').filter(part => part !== '');
|
|
const urlToken = pathParts.length > 0 ? pathParts[0] : currentToken; // \u5982\u679C\u6CA1\u6709\u8DEF\u5F84\u6BB5\uFF0C\u4F7F\u7528\u9ED8\u8BA4token
|
|
|
|
// \u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN\u4E14URL\u4E2D\u7684token\u7B49\u4E8EcurrentAdminToken
|
|
return currentAdminToken && currentAdminToken.trim() !== '' && urlToken === currentAdminToken;
|
|
}
|
|
|
|
// \u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u914D\u7F6E
|
|
async function checkDeployPlatformConfig() {
|
|
// \u9996\u5148\u68C0\u67E5\u662F\u5426\u914D\u7F6E\u4E86ADMIN_TOKEN
|
|
if (!checkAdminToken()) {
|
|
// \u83B7\u53D6\u5F53\u524D\u9875\u9762\u7684\u534F\u8BAE\u3001\u4E3B\u673A\u548C\u7AEF\u53E3
|
|
const protocol = window.location.protocol;
|
|
const host = window.location.host;
|
|
|
|
let displayBase;
|
|
if (customBaseUrl) {
|
|
displayBase = customBaseUrl.startsWith('http')
|
|
? customBaseUrl
|
|
: (protocol + '//' + host + customBaseUrl);
|
|
} else {
|
|
displayBase = protocol + '//' + host;
|
|
}
|
|
|
|
if (displayBase.endsWith('/')) {
|
|
displayBase = displayBase.slice(0, -1);
|
|
}
|
|
|
|
return { success: false, message: \`<div style="text-align: left;">
|
|
<p style="margin-bottom: 12px; font-weight: 500;">\u68C0\u6D4B\u5230\u672A\u914D\u7F6E\u7CFB\u7EDF\u7BA1\u7406\u4EE4\u724C (ADMIN_TOKEN)\uFF0C\u65E0\u6CD5\u4F7F\u7528\u7CFB\u7EDF\u914D\u7F6E\u529F\u80FD\u3002</p>
|
|
<div style="background: rgba(0,0,0,0.03); padding: 16px; border-radius: 12px; font-size: 13px; border: 1px solid rgba(0,0,0,0.05);">
|
|
<p style="margin-bottom: 8px; font-weight: bold; color: var(--text-primary);">\u5982\u4F55\u4FEE\u590D\uFF1A</p>
|
|
<ol style="padding-left: 20px; margin-bottom: 12px; color: var(--text-secondary); line-height: 1.6;">
|
|
<li>\u5728\u90E8\u7F72\u5E73\u53F0\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF <code>ADMIN_TOKEN</code></li>
|
|
<li>\u91CD\u65B0\u90E8\u7F72\u670D\u52A1</li>
|
|
<li>\u4F7F\u7528\u5E26Token\u7684\u94FE\u63A5\u8BBF\u95EE</li>
|
|
</ol>
|
|
<p style="margin-bottom: 6px; font-weight: bold; color: var(--text-primary);">\u8BBF\u95EE\u793A\u4F8B\uFF1A</p>
|
|
<code style="display: block; background: #fff; padding: 10px; border-radius: 8px; border: 1px solid rgba(0,0,0,0.08); word-break: break-all; font-family: 'SF Mono', monospace; color: var(--primary-color);">\${displayBase}/{ADMIN_TOKEN}</code>
|
|
</div>
|
|
</div>\` };
|
|
}
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/config', true));
|
|
if (!response.ok) {
|
|
throw new Error('HTTP error! status: ' + response.status);
|
|
}
|
|
|
|
const config = await response.json();
|
|
const deployPlatform = config.envs.deployPlatform || 'node';
|
|
|
|
// \u5982\u679C\u662Fnode\u90E8\u7F72\u5E73\u53F0\uFF0C\u53EA\u9700\u8981\u68C0\u67E5ADMIN_TOKEN
|
|
if (deployPlatform.toLowerCase() === 'node') {
|
|
return { success: true, message: 'Node\u90E8\u7F72\u5E73\u53F0\uFF0C\u4EC5\u9700\u914D\u7F6EADMIN_TOKEN' };
|
|
}
|
|
|
|
// \u5BF9\u4E8E\u5176\u4ED6\u90E8\u7F72\u5E73\u53F0\uFF0C\u6536\u96C6\u6240\u6709\u7F3A\u5931\u7684\u73AF\u5883\u53D8\u91CF
|
|
const missingVars = [];
|
|
const deployPlatformProject = config.originalEnvVars.DEPLOY_PLATFROM_PROJECT;
|
|
const deployPlatformToken = config.originalEnvVars.DEPLOY_PLATFROM_TOKEN;
|
|
const deployPlatformAccount = config.originalEnvVars.DEPLOY_PLATFROM_ACCOUNT;
|
|
|
|
if (!deployPlatformProject || deployPlatformProject.trim() === '') {
|
|
missingVars.push('DEPLOY_PLATFROM_PROJECT');
|
|
}
|
|
|
|
if (!deployPlatformToken || deployPlatformToken.trim() === '') {
|
|
missingVars.push('DEPLOY_PLATFROM_TOKEN');
|
|
}
|
|
|
|
// \u5BF9\u4E8E\u9700\u8981\u8D26\u53F7ID\u7684\u90E8\u7F72\u5E73\u53F0\uFF0C\u8FD8\u9700\u8981\u68C0\u67E5DEPLOY_PLATFROM_ACCOUNT
|
|
if (['netlify', 'cloudflare', 'huggingface'].includes(deployPlatform.toLowerCase())) {
|
|
if (!deployPlatformAccount || deployPlatformAccount.trim() === '') {
|
|
missingVars.push('DEPLOY_PLATFROM_ACCOUNT');
|
|
}
|
|
}
|
|
|
|
if (missingVars.length > 0) {
|
|
const missingVarsStr = missingVars.join('\u3001');
|
|
return { success: false, message: '\u90E8\u7F72\u5E73\u53F0\u4E3A' + deployPlatform + '\uFF0C\u8BF7\u914D\u7F6E\u4EE5\u4E0B\u7F3A\u5931\u7684\u73AF\u5883\u53D8\u91CF\uFF1A' + missingVarsStr };
|
|
}
|
|
|
|
return { success: true, message: deployPlatform + '\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5B8C\u6574' };
|
|
} catch (error) {
|
|
console.error('\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5931\u8D25:', error);
|
|
return { success: false, message: '\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u914D\u7F6E\u5931\u8D25: ' + error.message };
|
|
}
|
|
}
|
|
|
|
// \u83B7\u53D6\u5E76\u8BBE\u7F6E\u914D\u7F6E\u4FE1\u606F
|
|
async function fetchAndSetConfig() {
|
|
const config = await fetch(buildApiUrl('/api/config', true)).then(response => response.json());
|
|
const hasAdminToken = config.hasAdminToken;
|
|
currentAdminToken = config.originalEnvVars?.ADMIN_TOKEN || '';
|
|
return config;
|
|
}
|
|
|
|
// \u68C0\u67E5\u5E76\u5904\u7406\u7BA1\u7406\u5458\u4EE4\u724C
|
|
function checkAndHandleAdminToken() {
|
|
if (!checkAdminToken()) {
|
|
// \u7981\u7528\u7CFB\u7EDF\u914D\u7F6E\u6309\u94AE\u5E76\u6DFB\u52A0\u63D0\u793A
|
|
const envNavBtn = document.getElementById('env-nav-btn');
|
|
if (envNavBtn) {
|
|
envNavBtn.title = '\u8BF7\u5148\u914D\u7F6EADMIN_TOKEN\u5E76\u4F7F\u7528\u6B63\u786E\u7684admin token\u8BBF\u95EE\u4EE5\u542F\u7528\u7CFB\u7EDF\u7BA1\u7406\u529F\u80FD';
|
|
}
|
|
}
|
|
}
|
|
|
|
// \u6E32\u67D3\u503C\u8F93\u5165\u63A7\u4EF6
|
|
function renderValueInput(item) {
|
|
const container = document.getElementById('value-input-container');
|
|
const type = item ? item.type : document.getElementById('value-type').value;
|
|
const value = item ? item.value : '';
|
|
const currentKey = item ? item.key : document.getElementById('env-key').value;
|
|
|
|
if (type === 'boolean') {
|
|
// \u5E03\u5C14\u5F00\u5173
|
|
// \u5BF9\u4E8ELIKE_SWITCH\u53D8\u91CF\uFF0C\u9ED8\u8BA4\u503C\u8BBE\u4E3Atrue\uFF08\u5F00\u542F\u72B6\u6001\uFF09
|
|
let checked;
|
|
if (currentKey === 'LIKE_SWITCH' || currentKey === 'REMEMBER_LAST_SELECT') {
|
|
// \u5982\u679C\u503C\u4E3A\u7A7A\u6216\u672A\u5B9A\u4E49\uFF0CLIKE_SWITCH\u548CREMEMBER_LAST_SELECT\u9ED8\u8BA4\u4E3Atrue\uFF08\u5F00\u542F\uFF09
|
|
checked = value === 'true' || value === true || (value === '' || value === undefined || value === null);
|
|
} else {
|
|
checked = value === 'true' || value === true;
|
|
}
|
|
container.innerHTML = \`
|
|
<label>\u503C</label>
|
|
<div class="switch-container">
|
|
<label class="switch">
|
|
<input type="checkbox" id="bool-value" \${checked ? 'checked' : ''}>
|
|
<span class="slider"></span>
|
|
</label>
|
|
<span class="switch-label" id="bool-label">\${checked ? '\u542F\u7528' : '\u7981\u7528'}</span>
|
|
</div>
|
|
\`;
|
|
|
|
document.getElementById('bool-value').addEventListener('change', function(e) {
|
|
document.getElementById('bool-label').textContent = e.target.checked ? '\u542F\u7528' : '\u7981\u7528';
|
|
});
|
|
|
|
} else if (type === 'number') {
|
|
// \u6570\u5B57\u6EDA\u8F6E
|
|
const min = item && item.min !== undefined ? item.min : 1;
|
|
const max = item && item.max !== undefined ? item.max : 100;
|
|
const currentValue = value || min;
|
|
|
|
container.innerHTML = \`
|
|
<label>\u503C (\${min}-\${max})</label>
|
|
<div class="number-picker">
|
|
<div class="number-controls">
|
|
<button type="button" class="number-btn" onclick="adjustNumber(1)">\u25B2</button>
|
|
<button type="button" class="number-btn" onclick="adjustNumber(-1)">\u25BC</button>
|
|
</div>
|
|
<div class="number-display" id="num-value">\${currentValue}</div>
|
|
</div>
|
|
<div class="number-range">
|
|
<input type="range" id="num-slider" min="\${min}" max="\${max}" value="\${currentValue}"
|
|
oninput="updateNumberDisplay(this.value)">
|
|
</div>
|
|
\`;
|
|
|
|
} else if (type === 'select') {
|
|
// \u6807\u7B7E\u9009\u62E9
|
|
const options = item && item.options ? item.options : ['option1', 'option2', 'option3'];
|
|
const optionsInput = item ? '' : \`
|
|
<div class="form-group margin-bottom-15">
|
|
<label>\u53EF\u9009\u9879 (\u9017\u53F7\u5206\u9694)</label>
|
|
<input type="text" id="select-options" placeholder="\u4F8B\u5982: debug,info,warn,error"
|
|
value="\${options.join(',')}" onchange="updateTagOptions()">
|
|
</div>
|
|
\`;
|
|
|
|
container.innerHTML = \`
|
|
\${optionsInput}
|
|
<label>\u9009\u62E9\u503C</label>
|
|
<div class="tag-selector" id="tag-selector">
|
|
\${options.map(opt => \`
|
|
<div class="tag-option \${opt === value ? 'selected' : ''}"
|
|
data-value="\${opt}" onclick="selectTag(this)">
|
|
\${opt}
|
|
</div>
|
|
\`).join('')}
|
|
</div>
|
|
\`;
|
|
|
|
} else if (type === 'multi-select') {
|
|
// \u591A\u9009\u6807\u7B7E\uFF08\u53EF\u62D6\u52A8\u6392\u5E8F\uFF09
|
|
const options = item && item.options ? item.options : ['option1', 'option2', 'option3', 'option4'];
|
|
// \u786E\u4FDDvalue\u662F\u5B57\u7B26\u4E32\u7C7B\u578B\u540E\u518D\u8FDB\u884Csplit\u64CD\u4F5C
|
|
const stringValue = typeof value === 'string' ? value : String(value || '');
|
|
const selectedValues = stringValue ? stringValue.split(',').map(v => v.trim()).filter(v => v) : [];
|
|
|
|
// \u68C0\u67E5\u662F\u5426\u4E3A SOURCE_ORDER\uFF0C\u5982\u679C\u662F\u5219\u4E0D\u663E\u793A\u5408\u5E76\u6A21\u5F0F
|
|
const shouldShowMergeMode = currentKey === 'MERGE_SOURCE_PAIRS' || currentKey === 'PLATFORM_ORDER';
|
|
|
|
// \u6BCF\u6B21\u6E32\u67D3\u65F6\u91CD\u7F6E\u5408\u5E76\u6A21\u5F0F\u72B6\u6001
|
|
isMergeMode = false;
|
|
stagingTags = [];
|
|
|
|
const optionsInput = item ? '' : \`
|
|
<div class="form-group margin-bottom-15">
|
|
<label>\u53EF\u9009\u9879 (\u9017\u53F7\u5206\u9694)</label>
|
|
<input type="text" id="multi-options" placeholder="\u4F8B\u5982: auth,payment,analytics"
|
|
value="\${options.join(',')}" onchange="updateMultiOptions()">
|
|
</div>
|
|
\`;
|
|
|
|
container.innerHTML = \`
|
|
\${optionsInput}
|
|
<label>\u5DF2\u9009\u62E9 (\u62D6\u52A8\u8C03\u6574\u987A\u5E8F)</label>
|
|
<div class="multi-select-container">
|
|
<div class="selected-tags \${selectedValues.length === 0 ? 'empty' : ''}" id="selected-tags">
|
|
\${selectedValues.map(val => \`
|
|
<div class="selected-tag" draggable="true" data-value="\${val}">
|
|
<span class="tag-text">\${val}</span>
|
|
<button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>
|
|
</div>
|
|
\`).join('')}
|
|
</div>
|
|
|
|
\${shouldShowMergeMode ? \`
|
|
<div class="merge-mode-controls">
|
|
<div class="merge-mode-btn" id="merge-mode-toggle" onclick="toggleMergeMode()">
|
|
\u5F00\u542F\u5408\u5E76\u6A21\u5F0F
|
|
</div>
|
|
<div class="form-help" style="margin: 0; margin-left: 10px;">
|
|
\u5F00\u542F\u540E\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u5C06\u6DFB\u52A0\u5230\u6682\u5B58\u533A,\u7EC4\u5408\u540E\u70B9\u51FB \u221A \u786E\u8BA4
|
|
</div>
|
|
</div>
|
|
|
|
<div class="staging-area" id="staging-area">
|
|
<button type="button" class="confirm-merge-btn" onclick="confirmMergeGroup()" title="\u786E\u8BA4\u6DFB\u52A0\u8BE5\u7EC4">\u2713</button>
|
|
</div>
|
|
\` : ''}
|
|
|
|
<label>\u53EF\u9009\u9879 (\u70B9\u51FB\u6DFB\u52A0)</label>
|
|
<div class="available-tags" id="available-tags">
|
|
\${options.map(opt => {
|
|
return \`
|
|
<div class="available-tag"
|
|
data-value="\${opt}" onclick="addSelectedTag(this)">
|
|
\${opt}
|
|
</div>
|
|
\`;
|
|
}).join('')}
|
|
</div>
|
|
</div>
|
|
|
|
\${currentKey === 'MERGE_SOURCE_PAIRS' ? \`
|
|
<div style="margin-top: 15px; margin-bottom: 8px;">
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
|
|
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
|
|
</button>
|
|
</div>
|
|
<div id="recent-data-panel" class="recent-data-panel">
|
|
<div id="recent-data-list"></div>
|
|
</div>
|
|
\` : ''}
|
|
\`;
|
|
|
|
// \u8BBE\u7F6E\u62D6\u52A8\u4E8B\u4EF6
|
|
// \u7ACB\u5373\u6267\u884C\u4E00\u6B21\u72B6\u6001\u68C0\u67E5\uFF0C\u786E\u4FDD\u5DF2\u9009\u9879\u53D8\u7070
|
|
setTimeout(updateTagStates, 0);
|
|
setupDragAndDrop();
|
|
|
|
} else if (type === 'map') {
|
|
// \u6620\u5C04\u8868\u7C7B\u578B
|
|
const pairs = value ? value.split(';').map(pair => pair.trim()).filter(pair => pair) : [];
|
|
const mapItems = pairs.map(pair => {
|
|
if (pair.includes('->')) {
|
|
const [left, right] = pair.split('->').map(s => s.trim());
|
|
return { left, right };
|
|
}
|
|
return { left: pair, right: '' };
|
|
});
|
|
|
|
container.innerHTML = \`
|
|
<label>\u6620\u5C04\u914D\u7F6E</label>
|
|
<div class="map-container" id="map-container">
|
|
\${mapItems.map((item, index) => \`
|
|
<div class="map-item" data-index="\${index}">
|
|
<input type="text" class="map-input-left" placeholder="\u539F\u59CB\u503C" value="\${item.left}">
|
|
<span class="map-separator">-></span>
|
|
<input type="text" class="map-input-right" placeholder="\u6620\u5C04\u503C" value="\${item.right}">
|
|
<button type="button" class="btn btn-danger map-remove-btn" onclick="removeMapItem(this)">\u5220\u9664</button>
|
|
</div>
|
|
\`).join('')}
|
|
<div class="map-item-template" style="display: none;">
|
|
<input type="text" class="map-input-left" placeholder="\u539F\u59CB\u503C">
|
|
<span class="map-separator">-></span>
|
|
<input type="text" class="map-input-right" placeholder="\u6620\u5C04\u503C">
|
|
<button type="button" class="btn btn-danger map-remove-btn" onclick="removeMapItem(this)">\u5220\u9664</button>
|
|
</div>
|
|
</div>
|
|
<button type="button" class="btn btn-primary" onclick="addMapItem()">\u6DFB\u52A0\u6620\u5C04\u9879</button>
|
|
\`;
|
|
|
|
} else {
|
|
// \u6587\u672C\u8F93\u5165
|
|
const currentKey = document.getElementById('env-key') ? document.getElementById('env-key').value : '';
|
|
const isBilibiliCookie = currentKey === 'BILIBILI_COOKIE';
|
|
const isAiApiKey = currentKey === 'AI_API_KEY';
|
|
const isColorPool = currentKey === 'COLOR_POOL';
|
|
const isDanmuOffset = currentKey === 'DANMU_OFFSET';
|
|
const isCustomMergeRules = currentKey === 'CUSTOM_MERGE_RULES';
|
|
const offsetSources = item && item.sources ? item.sources : [];
|
|
|
|
if (isColorPool) {
|
|
// \u81EA\u5B9A\u4E49\u989C\u8272\u6C60\u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
const colors = parseColorPool(value);
|
|
|
|
container.innerHTML = \`
|
|
<label>\u989C\u8272\u6C60\u914D\u7F6E (CONVERT_COLOR \u4E3A color \u65F6\u751F\u6548)</label>
|
|
<div id="color-pool-display" class="color-pool-display">
|
|
\${renderColorItems(colors)}
|
|
</div>
|
|
<div class="color-pool-picker">
|
|
<div class="color-pool-picker-inner">
|
|
<div id="color-wheel" class="color-wheel">
|
|
<div class="color-wheel-center"></div>
|
|
<div id="wheel-dot" class="color-wheel-dot" style="top: 2px; left: 53px; background: hsl(0,100%,50%);"></div>
|
|
</div>
|
|
<div class="color-pool-preview">
|
|
<div id="color-preview-swatch" class="color-pool-preview-swatch" style="background: #ff0000;"></div>
|
|
<span id="color-preview-hex" class="color-pool-preview-hex">#ff0000</span>
|
|
</div>
|
|
<div class="color-pool-lightness">
|
|
<span>\u4EAE\u5EA6</span>
|
|
<input type="range" id="color-lightness" min="10" max="100" value="50">
|
|
</div>
|
|
<div class="color-pool-actions">
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="addColorToPool()">\u6DFB\u52A0\u5230\u989C\u8272\u6C60</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="addRandomColorToPool()">\u968F\u673A\u6DFB\u52A0</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="color-pool-actions">
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="showBatchColorDialog()">\u6279\u91CF\u6DFB\u52A0</button>
|
|
<div class="spacer"></div>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="resetColorPool()">\u6062\u590D\u9ED8\u8BA4</button>
|
|
</div>
|
|
<textarea id="text-value" style="display: none;">\${value}</textarea>
|
|
\`;
|
|
setTimeout(initColorWheel, 0);
|
|
} else if (isDanmuOffset) {
|
|
// DANMU_OFFSET \u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 10) : 3;
|
|
container.innerHTML = \`
|
|
<label>\u53D8\u91CF\u503C</label>
|
|
<textarea id="text-value" placeholder="\u683C\u5F0F\uFF1A\u5267\u540D:\u79D2 \u6216 \u5267\u540D/S01:\u79D2 \u6216 \u5267\u540D@\u6765\u6E90:\u79D2 \u6216 \u5267\u540D/S01/E01@\u6765\u6E90%:\u79D2" rows="\${rows}" class="text-monospace">\${value}</textarea>
|
|
<div style="margin-top: 8px; display: flex; gap: 10px;">
|
|
<button type="button" class="btn btn-primary btn-sm" id="offset-rule-toggle" onclick="toggleOffsetRulePanel()">
|
|
\u6DFB\u52A0\u89C4\u5219
|
|
</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
|
|
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
|
|
</button>
|
|
</div>
|
|
<div id="recent-data-panel" class="recent-data-panel">
|
|
<div class="form-help" style="margin: 0 0 8px 0;">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u53EF\u5FEB\u6377\u586B\u5165\u89C4\u5219\u8868\u5355\uFF1A</div>
|
|
<div id="recent-data-list"></div>
|
|
</div>
|
|
<div id="offset-rule-panel" class="offset-rule-panel">
|
|
<div class="form-help" style="margin: 0 0 8px 0;">\u5B63\u548C\u96C6\u4E0D\u586B\u5219\u5BF9\u6240\u6709\u5B63/\u96C6\u751F\u6548</div>
|
|
<div class="offset-form-row">
|
|
<div style="flex: 2; min-width: 100px;">
|
|
<label class="offset-label">\u5267\u540D *</label>
|
|
<input type="text" id="offset-anime" class="offset-input" placeholder="\u4F8B\u5982: overlord">
|
|
</div>
|
|
<div style="width: 65px;">
|
|
<label class="offset-label">\u5B63</label>
|
|
<input type="number" id="offset-season" class="offset-input" placeholder="" min="1" max="99">
|
|
</div>
|
|
<div style="width: 65px;">
|
|
<label class="offset-label">\u96C6</label>
|
|
<input type="number" id="offset-episode" class="offset-input" placeholder="" min="1" max="999">
|
|
</div>
|
|
<div style="width: 85px;">
|
|
<label class="offset-label">\u504F\u79FB\u79D2 *</label>
|
|
<input type="number" id="offset-seconds" class="offset-input" placeholder="90">
|
|
</div>
|
|
</div>
|
|
<div style="margin-bottom: 10px; display: flex; align-items: center; width: 100%;">
|
|
<label class="offset-label" style="display: flex; align-items: center; gap: 8px; cursor: pointer; margin: 0; white-space: nowrap;">
|
|
\u542F\u7528\u767E\u5206\u6BD4\u6A21\u5F0F\uFF08\u6309\u89C6\u9891\u65F6\u957F\u7F29\u653E\u5168\u90E8\u5F39\u5E55\u65F6\u95F4\uFF09
|
|
<input type="checkbox" id="offset-use-percent" style="width: 16px; height: 16px; margin: 0; flex-shrink: 0;">
|
|
</label>
|
|
</div>
|
|
\${offsetSources.length > 0 ? \`
|
|
<div style="margin-bottom: 10px;">
|
|
<label class="offset-label">\u6765\u6E90 (\u53EF\u9009\uFF0C\u4E0D\u9009\u5219\u5BF9\u6240\u6709\u6765\u6E90\u751F\u6548)</label>
|
|
<div id="offset-sources" class="offset-sources">
|
|
\${offsetSources.map(src => \`
|
|
<div class="offset-source-tag" data-value="\${src}" onclick="toggleOffsetSource(this)">
|
|
\${src}
|
|
</div>
|
|
\`).join('')}
|
|
</div>
|
|
</div>
|
|
\` : ''}
|
|
<div class="offset-actions">
|
|
<button type="button" class="btn btn-sm" onclick="toggleOffsetRulePanel()">\u53D6\u6D88</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="appendOffsetRule()">\u786E\u8BA4\u6DFB\u52A0</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
} else if (isAiApiKey) {
|
|
// AI API Key \u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
container.innerHTML = \`
|
|
<div class="ai-apikey-editor">
|
|
<label>API Key \u503C</label>
|
|
<textarea class="form-group" id="text-value" placeholder="\u8BF7\u8F93\u5165 AI API Key" rows="3">\${value}</textarea>
|
|
<div class="form-help">\u652F\u6301 OpenAI \u517C\u5BB9\u7684 API\uFF0C\u9700\u914D\u5408 AI_BASE_URL \u548C AI_MODEL \u914D\u7F6E\u4F7F\u7528</div>
|
|
|
|
<div class="ai-apikey-status" id="ai-apikey-status">
|
|
<span class="ai-status-icon">\u{1F50D}</span>
|
|
<span class="ai-status-text">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u6D4B\u8BD5\u8FDE\u901A\u6027</span>
|
|
</div>
|
|
<div class="ai-apikey-actions" style="margin-bottom: 15px;">
|
|
<button type="button" class="btn btn-primary btn-sm" id="ai-verify-btn" onclick="verifyAiConnection()">
|
|
\u{1F9EA} \u6D4B\u8BD5\u8FDE\u901A\u6027
|
|
</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
} else if (isBilibiliCookie) {
|
|
// Bilibili Cookie \u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 8) : 3;
|
|
container.innerHTML = \`
|
|
<div class="bili-cookie-editor">
|
|
<div class="bili-cookie-status" id="bili-cookie-status">
|
|
<span class="bili-status-text">\u68C0\u6D4B\u4E2D...</span>
|
|
</div>
|
|
|
|
<div class="bili-cookie-actions">
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="startBilibiliQRLogin()">
|
|
\u626B\u7801\u767B\u5F55
|
|
</button>
|
|
</div>
|
|
|
|
<label>Cookie \u503C</label>
|
|
<textarea class="form-group" id="text-value" placeholder="SESSDATA=xxx; bili_jct=xxx; DedeUserID=xxx;" rows="\${rows}">\${value}</textarea>
|
|
<div class="form-help">\u63A8\u8350\u4F7F\u7528\u626B\u7801\u767B\u5F55\u81EA\u52A8\u83B7\u53D6\uFF0C\u6216\u624B\u52A8\u7C98\u8D34\u5305\u542B SESSDATA \u548C bili_jct \u7684\u5B8C\u6574 Cookie</div>
|
|
</div>
|
|
\`;
|
|
|
|
// \u81EA\u52A8\u68C0\u6D4B Cookie \u72B6\u6001 + \u76D1\u542C\u8F93\u5165\u53D8\u5316\uFF08\u9632\u6296\uFF09
|
|
setTimeout(() => {
|
|
autoCheckBilibiliCookieStatus();
|
|
|
|
const inputEl = document.getElementById('text-value');
|
|
if (inputEl) {
|
|
let debounceTimer = null;
|
|
inputEl.addEventListener('input', () => {
|
|
if (debounceTimer) clearTimeout(debounceTimer);
|
|
debounceTimer = setTimeout(() => {
|
|
autoCheckBilibiliCookieStatus();
|
|
}, 600);
|
|
});
|
|
}
|
|
}, 120);
|
|
} else if (isCustomMergeRules) {
|
|
// CUSTOM_MERGE_RULES \u4E13\u7528\u7F16\u8F91\u754C\u9762
|
|
const rows = value && value.length > 50 ? Math.min(Math.max(Math.ceil(value.length / 50), 3), 10) : 3;
|
|
container.innerHTML = \`
|
|
<label>\u53D8\u91CF\u503C</label>
|
|
<textarea id="text-value" placeholder="\u683C\u5F0F\uFF1A\u526F\u6E90 -> \u4E3B\u6E90 | \u8DEF\u7531\u89C4\u5219 \u6216 \u526F\u6E90 \xD7 \u4E3B\u6E90" rows="\${rows}" class="text-monospace">\${value || ''}</textarea>
|
|
<div style="margin-top: 8px; display: flex; gap: 10px;">
|
|
<button type="button" class="btn btn-primary btn-sm" id="merge-rule-toggle" onclick="toggleMergeRulePanel()">
|
|
\u6DFB\u52A0\u89C4\u5219
|
|
</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="fetchAndShowRecentData()">
|
|
\u{1F4CA} \u67E5\u770B\u6700\u8FD1\u6570\u636E
|
|
</button>
|
|
</div>
|
|
<div id="recent-data-panel" class="recent-data-panel">
|
|
<div class="form-help" style="margin: 0 0 8px 0;">\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u53EF\u5FEB\u6377\u586B\u5165\u89C4\u5219\u8868\u5355\uFF1A</div>
|
|
<div id="recent-data-list"></div>
|
|
</div>
|
|
<div id="merge-rule-panel" class="offset-rule-panel">
|
|
<div class="offset-form-row">
|
|
<div style="flex: 1; min-width: 120px;">
|
|
<label class="offset-label">\u526F\u6E90\u5B9E\u4F53\uFF08\u526F\u6E90\u5267\u540D@\u6E90\uFF09</label>
|
|
<input type="text" id="merge-sec-entity" class="offset-input" placeholder="\u4F8B: \u6211\u63A8\u7684\u5B69\u5B50/S01@bahamut" onfocus="setMergeFocus('sec')">
|
|
</div>
|
|
<div style="width: 60px;">
|
|
<label class="offset-label" style="text-align: center; display: block;">\u5173\u7CFB</label>
|
|
<select id="merge-action" class="offset-input" onchange="onMergeActionChange()" style="cursor: pointer; padding: 6px; text-align: center; font-weight: bold; font-size: 14px;">
|
|
<option value="->">-></option>
|
|
<option value="\xD7">\xD7</option>
|
|
</select>
|
|
<div id="merge-action-hint" style="font-size: 11px; color: #666; text-align: center; margin-top: 4px;">\u5408\u5E76</div>
|
|
</div>
|
|
<div style="flex: 1; min-width: 120px;">
|
|
<label class="offset-label">\u4E3B\u6E90\u5B9E\u4F53\uFF08\u4E3B\u6E90\u5267\u540D@\u6E90\uFF09</label>
|
|
<input type="text" id="merge-prim-entity" class="offset-input" placeholder="\u4F8B: \u6211\u63A8\u7684\u5B69\u5B50/S03@dandan" onfocus="setMergeFocus('prim')">
|
|
</div>
|
|
</div>
|
|
<div class="offset-form-row" id="merge-route-row">
|
|
<div style="flex: 1;">
|
|
<label class="offset-label">\u96C6\u6570\u8DEF\u7531\u89C4\u5219 (\u9009\u586B\uFF0C\u53EF\u591A\u7EC4\u3002\u4F8B\u5982: E01>E01,E25~E35>E25~E35)</label>
|
|
<input type="text" id="merge-route-rule" class="offset-input" placeholder="\u7559\u7A7A\u5219\u4EA4\u7531\u7CFB\u7EDF\u81EA\u52A8\u8BA1\u7B97\u504F\u79FB">
|
|
</div>
|
|
</div>
|
|
<div style="margin-bottom: 10px;">
|
|
<label class="offset-label">\u5FEB\u901F\u8FFD\u52A0\u6765\u6E90\u81F3\u5F53\u524D\u805A\u7126\u7684\u8F93\u5165\u6846 (\u6CA1\u6709 @ \u5219\u8FFD\u52A0 @xxx\uFF0C\u5DF2\u5B58\u5728 @ \u5219\u8FFD\u52A0 &xxx \u5408\u5E76\u5199\u6CD5)</label>
|
|
<div class="offset-sources">
|
|
\${offsetSources.map(src => \`
|
|
<div class="offset-source-tag" onclick="appendSourceToMerge('\${src}')">\${src}</div>
|
|
\`).join('')}
|
|
</div>
|
|
</div>
|
|
<div class="offset-actions">
|
|
<button type="button" class="btn btn-sm" onclick="toggleMergeRulePanel()">\u53D6\u6D88</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="appendMergeRule()">\u786E\u8BA4\u6DFB\u52A0</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
} else if (value && value.length > 50) {
|
|
const rows = Math.min(Math.max(Math.ceil(value.length / 50), 3), 10);
|
|
container.innerHTML = \`
|
|
<label>\u53D8\u91CF\u503C *</label>
|
|
<textarea id="text-value" placeholder="\u4F8B\u5982: localhost" rows="\${rows}" class="text-monospace">\${value}</textarea>
|
|
\`;
|
|
} else {
|
|
container.innerHTML = \`
|
|
<label>\u53D8\u91CF\u503C *</label>
|
|
<input type="text" id="text-value" placeholder="\u4F8B\u5982: localhost" value="\${value}" required>
|
|
\`;
|
|
}
|
|
}
|
|
}
|
|
|
|
// ===== \u989C\u8272\u6C60\u64CD\u4F5C\u51FD\u6570 =====
|
|
|
|
// \u8272\u8F6E\u72B6\u6001
|
|
let wheelHue = 0;
|
|
let wheelLightness = 50;
|
|
let wheelCleanup = null;
|
|
|
|
// \u89E3\u6790\u989C\u8272\u6C60\u5B57\u7B26\u4E32\u4E3A\u5341\u8FDB\u5236\u6570\u7EC4
|
|
function parseColorPool(str) {
|
|
if (!str) return [];
|
|
return str.split(',').map(c => parseInt(c.trim(), 10)).filter(c => !isNaN(c) && c >= 0 && c <= 16777215);
|
|
}
|
|
|
|
// \u6E32\u67D3\u989C\u8272\u6C60\u8272\u5757 HTML
|
|
function renderColorItems(colors) {
|
|
if (colors.length === 0) return '<span class="color-pool-empty">\u672A\u914D\u7F6E\uFF0C\u5C06\u4F7F\u7528\u9ED8\u8BA4\u989C\u8272\u6C60</span>';
|
|
return colors.map((c, i) => \`
|
|
<div class="color-pool-item">
|
|
<span class="color-pool-swatch" style="background: #\${c.toString(16).padStart(6, '0')};"></span>
|
|
<span class="color-pool-value">\${c}</span>
|
|
<button type="button" class="color-pool-remove" onclick="removeColorFromPool(\${i})">×</button>
|
|
</div>
|
|
\`).join('');
|
|
}
|
|
|
|
// HSL -> RGB -> \u5341\u8FDB\u5236
|
|
function hslToDecimal(h, s, l) {
|
|
s /= 100;
|
|
l /= 100;
|
|
const k = n => (n + h / 30) % 12;
|
|
const a = s * Math.min(l, 1 - l);
|
|
const f = n => l - a * Math.max(-1, Math.min(k(n) - 3, 9 - k(n), 1));
|
|
const r = Math.round(f(0) * 255);
|
|
const g = Math.round(f(8) * 255);
|
|
const b = Math.round(f(4) * 255);
|
|
return (r << 16) | (g << 8) | b;
|
|
}
|
|
|
|
// \u66F4\u65B0\u8272\u8F6E\u9884\u89C8
|
|
function updateWheelPreview() {
|
|
const dec = hslToDecimal(wheelHue, 100, wheelLightness);
|
|
const hex = '#' + dec.toString(16).padStart(6, '0');
|
|
const swatch = document.getElementById('color-preview-swatch');
|
|
const hexLabel = document.getElementById('color-preview-hex');
|
|
const dot = document.getElementById('wheel-dot');
|
|
if (swatch) swatch.style.background = hex;
|
|
if (hexLabel) hexLabel.textContent = hex;
|
|
if (dot) dot.style.background = hex;
|
|
}
|
|
|
|
// \u521D\u59CB\u5316\u8272\u8F6E\u4EA4\u4E92
|
|
function initColorWheel() {
|
|
if (wheelCleanup) wheelCleanup();
|
|
|
|
const wheel = document.getElementById('color-wheel');
|
|
const slider = document.getElementById('color-lightness');
|
|
if (!wheel) return;
|
|
|
|
let dragging = false;
|
|
|
|
function handleWheelEvent(e) {
|
|
const rect = wheel.getBoundingClientRect();
|
|
const cx = rect.width / 2;
|
|
const cy = rect.height / 2;
|
|
const x = e.clientX - rect.left - cx;
|
|
const y = e.clientY - rect.top - cy;
|
|
const dist = Math.sqrt(x * x + y * y);
|
|
const outerR = rect.width / 2;
|
|
const innerR = outerR * 0.22;
|
|
if (dist < innerR || dist > outerR) return;
|
|
let angle = Math.atan2(y, x) * 180 / Math.PI + 90;
|
|
if (angle < 0) angle += 360;
|
|
wheelHue = Math.round(angle % 360);
|
|
const dot = document.getElementById('wheel-dot');
|
|
if (dot) {
|
|
const r = (innerR + outerR) / 2;
|
|
const rad = (wheelHue - 90) * Math.PI / 180;
|
|
dot.style.left = (cx + r * Math.cos(rad) - 7) + 'px';
|
|
dot.style.top = (cy + r * Math.sin(rad) - 7) + 'px';
|
|
}
|
|
updateWheelPreview();
|
|
}
|
|
|
|
const onMove = e => {
|
|
if (dragging) handleWheelEvent(e);
|
|
};
|
|
const onTouchMove = e => {
|
|
if (dragging) handleWheelEvent(e.touches[0]);
|
|
};
|
|
const onUp = () => {
|
|
dragging = false;
|
|
};
|
|
|
|
wheel.addEventListener('mousedown', e => {
|
|
dragging = true;
|
|
handleWheelEvent(e);
|
|
});
|
|
wheel.addEventListener('touchstart', e => {
|
|
dragging = true;
|
|
handleWheelEvent(e.touches[0]);
|
|
e.preventDefault();
|
|
}, { passive: false });
|
|
document.addEventListener('mousemove', onMove);
|
|
document.addEventListener('touchmove', onTouchMove, { passive: false });
|
|
document.addEventListener('mouseup', onUp);
|
|
document.addEventListener('touchend', onUp);
|
|
|
|
if (slider) {
|
|
slider.addEventListener('input', function() {
|
|
wheelLightness = parseInt(this.value, 10);
|
|
updateWheelPreview();
|
|
});
|
|
}
|
|
|
|
wheelCleanup = () => {
|
|
document.removeEventListener('mousemove', onMove);
|
|
document.removeEventListener('touchmove', onTouchMove);
|
|
document.removeEventListener('mouseup', onUp);
|
|
document.removeEventListener('touchend', onUp);
|
|
wheelCleanup = null;
|
|
};
|
|
|
|
updateWheelPreview();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u8FFD\u52A0\u989C\u8272\u503C
|
|
function appendColorToPool(decimal) {
|
|
const textarea = document.getElementById('text-value');
|
|
const current = textarea.value.trim();
|
|
textarea.value = current ? current + ',' + decimal : String(decimal);
|
|
syncColorPoolDisplay();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u4ECE\u8272\u8F6E\u6DFB\u52A0
|
|
function addColorToPool() {
|
|
appendColorToPool(hslToDecimal(wheelHue, 100, wheelLightness));
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u968F\u673A\u6DFB\u52A0\uFF08crypto \u771F\u968F\u673A\uFF09
|
|
function addRandomColorToPool() {
|
|
const arr = new Uint32Array(1);
|
|
crypto.getRandomValues(arr);
|
|
appendColorToPool(arr[0] % 16777216);
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u5220\u9664\u6307\u5B9A\u989C\u8272
|
|
function removeColorFromPool(index) {
|
|
const textarea = document.getElementById('text-value');
|
|
const colors = textarea.value.split(',').map(c => c.trim()).filter(c => c);
|
|
colors.splice(index, 1);
|
|
textarea.value = colors.join(',');
|
|
syncColorPoolDisplay();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u6062\u590D\u9ED8\u8BA4\uFF08\u6E05\u7A7A\u503C\uFF0C\u540E\u7AEF\u9ED8\u8BA4\u503C\u81EA\u52A8\u751F\u6548\uFF09
|
|
function resetColorPool() {
|
|
const textarea = document.getElementById('text-value');
|
|
textarea.value = '';
|
|
syncColorPoolDisplay();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u540C\u6B65\u8272\u5757\u5C55\u793A
|
|
function syncColorPoolDisplay() {
|
|
const textarea = document.getElementById('text-value');
|
|
const display = document.getElementById('color-pool-display');
|
|
if (!textarea || !display) return;
|
|
display.innerHTML = renderColorItems(parseColorPool(textarea.value));
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u6279\u91CF\u6DFB\u52A0\u5F39\u7A97
|
|
function showBatchColorDialog() {
|
|
const overlay = document.createElement('div');
|
|
overlay.id = 'batch-color-overlay';
|
|
overlay.className = 'batch-color-overlay';
|
|
overlay.innerHTML = \`
|
|
<div class="batch-color-dialog">
|
|
<div style="font-size: 15px; font-weight: 600; margin-bottom: 12px;">\u6279\u91CF\u6DFB\u52A0\u989C\u8272</div>
|
|
<div class="form-help" style="margin: 0 0 10px 0;">\u652F\u6301\u5341\u8FDB\u5236\uFF08\u5982 16777215\uFF09\u548C\u5341\u516D\u8FDB\u5236\uFF08\u5982 #ffffff\uFF09\uFF0C\u9017\u53F7\u5206\u9694</div>
|
|
<textarea id="batch-color-input" class="batch-color-input" placeholder="\u4F8B\u5982: #ff0000, 65280, #0000ff, 16776960" rows="4"></textarea>
|
|
<div id="batch-color-preview" class="batch-color-preview"></div>
|
|
<div class="batch-color-actions">
|
|
<button type="button" class="btn btn-sm" onclick="closeBatchColorDialog()">\u53D6\u6D88</button>
|
|
<button type="button" class="btn btn-primary btn-sm" onclick="confirmBatchColor()">\u786E\u8BA4\u6DFB\u52A0</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
document.body.appendChild(overlay);
|
|
overlay.addEventListener('click', function(e) {
|
|
if (e.target === overlay) closeBatchColorDialog();
|
|
});
|
|
const input = document.getElementById('batch-color-input');
|
|
if (input) input.addEventListener('input', updateBatchColorPreview);
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u5173\u95ED\u6279\u91CF\u5F39\u7A97
|
|
function closeBatchColorDialog() {
|
|
const overlay = document.getElementById('batch-color-overlay');
|
|
if (overlay) overlay.remove();
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u89E3\u6790\u5355\u4E2A\u989C\u8272\u503C\uFF08\u652F\u6301\u5341\u8FDB\u5236\u548C #hex\uFF09
|
|
function parseColorValue(raw) {
|
|
const s = raw.trim();
|
|
if (!s) return NaN;
|
|
if (s.startsWith('#')) {
|
|
const hex = s.slice(1);
|
|
if (/^[0-9a-fA-F]{3}$/.test(hex)) {
|
|
const full = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
return parseInt(full, 16);
|
|
}
|
|
if (/^[0-9a-fA-F]{6}$/.test(hex)) {
|
|
return parseInt(hex, 16);
|
|
}
|
|
return NaN;
|
|
}
|
|
const n = parseInt(s, 10);
|
|
if (isNaN(n) || n < 0 || n > 16777215) return NaN;
|
|
return n;
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u6279\u91CF\u9884\u89C8
|
|
function updateBatchColorPreview() {
|
|
const input = document.getElementById('batch-color-input');
|
|
const preview = document.getElementById('batch-color-preview');
|
|
if (!input || !preview) return;
|
|
const parts = input.value.split(',');
|
|
const html = parts.map(raw => {
|
|
const c = parseColorValue(raw);
|
|
if (isNaN(c)) return '';
|
|
return \`<span class="batch-color-preview-swatch" style="background: #\${c.toString(16).padStart(6, '0')};"></span>\`;
|
|
}).filter(Boolean).join('');
|
|
preview.innerHTML = html || '<span class="color-pool-empty">\u8F93\u5165\u989C\u8272\u540E\u9884\u89C8</span>';
|
|
}
|
|
|
|
// \u989C\u8272\u6C60 - \u786E\u8BA4\u6279\u91CF\u6DFB\u52A0
|
|
function confirmBatchColor() {
|
|
const input = document.getElementById('batch-color-input');
|
|
if (!input) return;
|
|
const parts = input.value.split(',');
|
|
const valid = parts.map(raw => parseColorValue(raw)).filter(c => !isNaN(c));
|
|
if (valid.length === 0) {
|
|
customAlert('\u672A\u8BC6\u522B\u5230\u6709\u6548\u989C\u8272\u503C');
|
|
return;
|
|
}
|
|
const textarea = document.getElementById('text-value');
|
|
const current = textarea.value.trim();
|
|
const newVal = valid.map(String).join(',');
|
|
textarea.value = current ? current + ',' + newVal : newVal;
|
|
syncColorPoolDisplay();
|
|
closeBatchColorDialog();
|
|
}
|
|
|
|
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u89C4\u5219\u9762\u677F
|
|
function toggleOffsetRulePanel() {
|
|
const panel = document.getElementById('offset-rule-panel');
|
|
if (panel) {
|
|
const isHidden = getComputedStyle(panel).display === 'none';
|
|
panel.style.display = isHidden ? 'block' : 'none';
|
|
const btn = document.getElementById('offset-rule-toggle');
|
|
if (btn) btn.textContent = isHidden ? '\u6536\u8D77' : '\u6DFB\u52A0\u89C4\u5219';
|
|
}
|
|
}
|
|
|
|
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u6765\u6E90\u9009\u4E2D\u72B6\u6001
|
|
function toggleOffsetSource(el) {
|
|
el.classList.toggle('selected');
|
|
}
|
|
|
|
// DANMU_OFFSET \u5FEB\u901F\u914D\u7F6E - \u786E\u8BA4\u6DFB\u52A0\u89C4\u5219
|
|
function appendOffsetRule() {
|
|
const anime = document.getElementById('offset-anime').value.trim();
|
|
const season = document.getElementById('offset-season').value.trim();
|
|
const episode = document.getElementById('offset-episode').value.trim();
|
|
const seconds = document.getElementById('offset-seconds').value.trim();
|
|
const usePercent = !!document.getElementById('offset-use-percent')?.checked;
|
|
|
|
if (!anime) {
|
|
customAlert('\u8BF7\u8F93\u5165\u5267\u540D');
|
|
return;
|
|
}
|
|
if (!seconds) {
|
|
customAlert('\u8BF7\u8F93\u5165\u504F\u79FB\u79D2\u6570');
|
|
return;
|
|
}
|
|
if (episode && !season) {
|
|
customAlert('\u6307\u5B9A\u96C6\u65F6\u9700\u8981\u540C\u65F6\u6307\u5B9A\u5B63');
|
|
return;
|
|
}
|
|
|
|
let path = anime;
|
|
if (season) {
|
|
path += '/S' + season.padStart(2, '0');
|
|
if (episode) {
|
|
path += '/E' + episode.padStart(2, '0');
|
|
}
|
|
}
|
|
|
|
const sourcesEl = document.getElementById('offset-sources');
|
|
if (sourcesEl) {
|
|
const selectedSources = Array.from(sourcesEl.querySelectorAll('.offset-source-tag.selected'))
|
|
.map(el => el.dataset.value);
|
|
if (selectedSources.length > 0) {
|
|
path += '@' + selectedSources.join('&');
|
|
}
|
|
}
|
|
|
|
if (usePercent) {
|
|
path += '%';
|
|
}
|
|
|
|
const rule = path + ':' + seconds;
|
|
const textarea = document.getElementById('text-value');
|
|
const current = textarea.value.trim();
|
|
textarea.value = current ? current + ',' + rule : rule;
|
|
|
|
document.getElementById('offset-anime').value = '';
|
|
document.getElementById('offset-season').value = '';
|
|
document.getElementById('offset-episode').value = '';
|
|
document.getElementById('offset-seconds').value = '';
|
|
const usePercentEl = document.getElementById('offset-use-percent');
|
|
if (usePercentEl) {
|
|
usePercentEl.checked = false;
|
|
}
|
|
if (sourcesEl) {
|
|
sourcesEl.querySelectorAll('.offset-source-tag.selected').forEach(el => {
|
|
el.classList.remove('selected');
|
|
});
|
|
}
|
|
toggleOffsetRulePanel();
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u7126\u70B9\u72B6\u6001\u8BB0\u5F55
|
|
let currentMergeFocus = 'sec';
|
|
|
|
function setMergeFocus(type) {
|
|
currentMergeFocus = type;
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5FEB\u6377\u8FFD\u52A0\u6765\u6E90
|
|
function appendSourceToMerge(source) {
|
|
const inputId = currentMergeFocus === 'sec' ? 'merge-sec-entity' : 'merge-prim-entity';
|
|
const inputEl = document.getElementById(inputId);
|
|
if (!inputEl) return;
|
|
|
|
let val = inputEl.value.trim();
|
|
if (val.includes('@')) {
|
|
val += '&' + source;
|
|
} else {
|
|
val += '@' + source;
|
|
}
|
|
inputEl.value = val;
|
|
inputEl.focus(); // \u4FDD\u6301\u7126\u70B9\uFF0C\u65B9\u4FBF\u7528\u6237\u8FDE\u7EED\u70B9\u51FB\u591A\u4E2A\u6765\u6E90
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u89C4\u5219\u9762\u677F
|
|
function toggleMergeRulePanel() {
|
|
const panel = document.getElementById('merge-rule-panel');
|
|
if (panel) {
|
|
const isHidden = getComputedStyle(panel).display === 'none';
|
|
panel.style.display = isHidden ? 'block' : 'none';
|
|
const btn = document.getElementById('merge-rule-toggle');
|
|
if (btn) btn.textContent = isHidden ? '\u6536\u8D77' : '\u6DFB\u52A0\u89C4\u5219';
|
|
}
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u5207\u6362\u64CD\u4F5C\u7B26\u8054\u52A8
|
|
function onMergeActionChange() {
|
|
const action = document.getElementById('merge-action').value;
|
|
const routeRow = document.getElementById('merge-route-row');
|
|
const hint = document.getElementById('merge-action-hint');
|
|
|
|
if (action === '\xD7') {
|
|
if (routeRow) routeRow.style.display = 'none';
|
|
if (hint) hint.textContent = '\u963B\u65AD';
|
|
} else {
|
|
if (routeRow) routeRow.style.display = 'flex';
|
|
if (hint) hint.textContent = '\u5408\u5E76';
|
|
}
|
|
}
|
|
|
|
// CUSTOM_MERGE_RULES \u5FEB\u901F\u914D\u7F6E - \u786E\u8BA4\u6DFB\u52A0\u89C4\u5219
|
|
function appendMergeRule() {
|
|
const secEntity = document.getElementById('merge-sec-entity').value.trim();
|
|
const action = document.getElementById('merge-action').value;
|
|
const primEntity = document.getElementById('merge-prim-entity').value.trim();
|
|
const routeRule = document.getElementById('merge-route-rule').value.trim();
|
|
|
|
if (!secEntity || !primEntity) {
|
|
customAlert('\u526F\u6E90\u5B9E\u4F53\u548C\u4E3B\u6E90\u5B9E\u4F53\u4E0D\u80FD\u4E3A\u7A7A');
|
|
return;
|
|
}
|
|
|
|
let rule = secEntity + ' ' + action + ' ' + primEntity;
|
|
if (action === '->' && routeRule) {
|
|
rule += ' | ' + routeRule;
|
|
}
|
|
|
|
const textarea = document.getElementById('text-value');
|
|
const current = textarea.value.trim();
|
|
|
|
if (current && !current.endsWith(';')) {
|
|
textarea.value = current + ';' + rule;
|
|
} else {
|
|
textarea.value = current ? current + rule : rule;
|
|
}
|
|
|
|
// \u6E05\u7A7A\u8868\u5355
|
|
document.getElementById('merge-sec-entity').value = '';
|
|
document.getElementById('merge-prim-entity').value = '';
|
|
document.getElementById('merge-route-rule').value = '';
|
|
|
|
toggleMergeRulePanel();
|
|
}
|
|
|
|
// \u8C03\u6574\u6570\u5B57
|
|
function adjustNumber(delta) {
|
|
const display = document.getElementById('num-value');
|
|
const slider = document.getElementById('num-slider');
|
|
let value = parseInt(display.textContent) + delta;
|
|
|
|
value = Math.max(parseInt(slider.min), Math.min(parseInt(slider.max), value));
|
|
|
|
display.textContent = value;
|
|
slider.value = value;
|
|
}
|
|
|
|
// \u66F4\u65B0\u6570\u5B57\u663E\u793A
|
|
function updateNumberDisplay(value) {
|
|
document.getElementById('num-value').textContent = value;
|
|
}
|
|
|
|
// \u9009\u62E9\u6807\u7B7E
|
|
function selectTag(element) {
|
|
document.querySelectorAll('.tag-option').forEach(el => el.classList.remove('selected'));
|
|
element.classList.add('selected');
|
|
}
|
|
|
|
// \u66F4\u65B0\u6807\u7B7E\u9009\u9879
|
|
function updateTagOptions() {
|
|
const input = document.getElementById('select-options');
|
|
const options = input.value.split(',').map(s => s.trim()).filter(s => s);
|
|
const container = document.getElementById('tag-selector');
|
|
|
|
container.innerHTML = options.map(opt => \`
|
|
<div class="tag-option" data-value="\${opt}" onclick="selectTag(this)">
|
|
\${opt}
|
|
</div>
|
|
\`).join('');
|
|
}
|
|
|
|
// \u7EDF\u4E00\u7684\u72B6\u6001\u68C0\u67E5\u51FD\u6570
|
|
function updateTagStates() {
|
|
// \u786E\u4FDD DOM \u5143\u7D20\u5B58\u5728\uFF0C\u9632\u6B62\u5728\u6E32\u67D3\u8FC7\u7A0B\u4E2D\u88AB\u8C03\u7528\u51FA\u9519
|
|
const keyInput = document.getElementById('env-key');
|
|
if (!keyInput) return;
|
|
|
|
const currentKey = keyInput.value;
|
|
const isMergeSourcePairs = currentKey === 'MERGE_SOURCE_PAIRS';
|
|
|
|
// 1. \u83B7\u53D6\u5F53\u524D\u6682\u5B58\u533A\u4E2D\u7684Token (\u9632\u6B62\u540C\u7EC4\u5185\u91CD\u590D)
|
|
const stagingTokens = new Set(stagingTags);
|
|
|
|
// 2. \u83B7\u53D6\u5DF2\u786E\u8BA4\u7684 Selected Tags (\u4EC5\u5728\u975E\u5408\u5E76\u6A21\u5F0F\u4E0B\u9700\u8981\u68C0\u67E5)
|
|
const selectedTagElements = Array.from(document.querySelectorAll('.selected-tag'));
|
|
|
|
// 3. \u66F4\u65B0\u6240\u6709\u53EF\u9009\u9879\u7684\u72B6\u6001
|
|
const availableTags = document.querySelectorAll('.available-tag');
|
|
availableTags.forEach(tag => {
|
|
const value = tag.dataset.value;
|
|
let shouldDisable = false;
|
|
|
|
if (isMergeMode) {
|
|
// [\u5408\u5E76\u6A21\u5F0F\u903B\u8F91]
|
|
// \u53EA\u8981\u4E0D\u5728\u5F53\u524D\u7684\u6682\u5B58\u533A\u4E2D\uFF0C\u5C31\u53EF\u4EE5\u9009\uFF08\u5141\u8BB8 bilibili&a \u548C bilibili&b\uFF09
|
|
// \u4E5F\u5C31\u662F\u8BF4\uFF0C\u6211\u4EEC\u5B8C\u5168\u4E0D\u68C0\u67E5 selectedTagElements
|
|
if (stagingTokens.has(value)) {
|
|
shouldDisable = true;
|
|
}
|
|
} else {
|
|
// [\u666E\u901A\u6A21\u5F0F\u903B\u8F91]
|
|
// \u53EA\u8981\u5DF2\u7ECF\u88AB\u9009\u4E86\uFF0C\u5C31\u7981\u7528 (\u7CBE\u51C6\u5339\u914D)
|
|
const isAlreadySelected = selectedTagElements.some(el => el.dataset.value === value);
|
|
if (isAlreadySelected) {
|
|
shouldDisable = true;
|
|
}
|
|
|
|
// \u7279\u6B8A\u60C5\u51B5\uFF1A\u5982\u679C\u662F MERGE_SOURCE_PAIRS \u4F46\u6CA1\u5F00\u5408\u5E76\u6A21\u5F0F\uFF0C\u4E14\u8FD8\u6CA1\u88AB\u9009\uFF0C\u4E5F\u7981\u7528\uFF08\u5F3A\u8FEB\u7528\u6237\u5F00\u5F00\u5173\uFF09
|
|
if (isMergeSourcePairs && !isAlreadySelected) {
|
|
shouldDisable = true;
|
|
}
|
|
}
|
|
|
|
if (shouldDisable) {
|
|
tag.classList.add('disabled');
|
|
} else {
|
|
tag.classList.remove('disabled');
|
|
}
|
|
});
|
|
}
|
|
|
|
// \u6DFB\u52A0\u5DF2\u9009\u6807\u7B7E
|
|
function addSelectedTag(element) {
|
|
const value = element.dataset.value;
|
|
|
|
if (isMergeMode) {
|
|
if (!stagingTags.includes(value)) {
|
|
stagingTags.push(value);
|
|
renderStagingArea();
|
|
updateTagStates(); // \u7ACB\u5373\u66F4\u65B0\u72B6\u6001 (\u8BE5\u9009\u9879\u53D8\u7070\uFF0C\u9632\u6B62\u540C\u7EC4\u91CD\u590D)
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (element.classList.contains('disabled')) return;
|
|
|
|
const container = document.getElementById('selected-tags');
|
|
|
|
// \u79FB\u9664empty\u7C7B
|
|
container.classList.remove('empty');
|
|
|
|
// \u521B\u5EFA\u65B0\u6807\u7B7E
|
|
const tag = document.createElement('div');
|
|
tag.className = 'selected-tag';
|
|
tag.draggable = true;
|
|
tag.dataset.value = value;
|
|
tag.innerHTML = \`
|
|
<span class="tag-text">\${value}</span>
|
|
<button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>
|
|
\`;
|
|
|
|
container.appendChild(tag);
|
|
updateTagStates(); // \u7ACB\u5373\u66F4\u65B0\u72B6\u6001
|
|
setupDragAndDrop();
|
|
}
|
|
|
|
// \u79FB\u9664\u5DF2\u9009\u6807\u7B7E
|
|
function removeSelectedTag(button) {
|
|
const tag = button.parentElement;
|
|
tag.remove();
|
|
|
|
const container = document.getElementById('selected-tags');
|
|
if (container.children.length === 0) {
|
|
container.classList.add('empty');
|
|
}
|
|
|
|
updateTagStates(); // \u79FB\u9664\u540E\u7ACB\u5373\u91CA\u653E\u72B6\u6001
|
|
setupDragAndDrop();
|
|
}
|
|
|
|
// \u66F4\u65B0\u591A\u9009\u9009\u9879
|
|
function updateMultiOptions() {
|
|
const input = document.getElementById('multi-options');
|
|
const options = input.value.split(',').map(s => s.trim()).filter(s => s);
|
|
|
|
const container = document.getElementById('available-tags');
|
|
container.innerHTML = options.map(opt => {
|
|
return \`
|
|
<div class="available-tag"
|
|
data-value="\${opt}" onclick="addSelectedTag(this)">
|
|
\${opt}
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
|
|
updateTagStates(); // \u521D\u59CB\u5316\u65F6\u66F4\u65B0\u72B6\u6001
|
|
}
|
|
|
|
// \u5207\u6362\u5408\u5E76\u6A21\u5F0F
|
|
function toggleMergeMode() {
|
|
isMergeMode = !isMergeMode;
|
|
const btn = document.getElementById('merge-mode-toggle');
|
|
const stagingArea = document.getElementById('staging-area');
|
|
|
|
if (isMergeMode) {
|
|
btn.classList.add('active');
|
|
btn.innerHTML = '\u5173\u95ED\u5408\u5E76\u6A21\u5F0F';
|
|
stagingArea.classList.add('active');
|
|
renderStagingArea();
|
|
} else {
|
|
btn.classList.remove('active');
|
|
btn.innerHTML = '\u5F00\u542F\u5408\u5E76\u6A21\u5F0F';
|
|
stagingArea.classList.remove('active');
|
|
stagingTags = [];
|
|
}
|
|
|
|
// \u5207\u6362\u6A21\u5F0F\u65F6\u7ACB\u5373\u5237\u65B0\u6240\u6709\u53EF\u9009\u9879\u72B6\u6001
|
|
updateTagStates();
|
|
}
|
|
|
|
// \u6E32\u67D3\u6682\u5B58\u533A
|
|
function renderStagingArea() {
|
|
const container = document.getElementById('staging-area');
|
|
const confirmBtn = container.querySelector('.confirm-merge-btn');
|
|
|
|
while (container.firstChild && container.firstChild !== confirmBtn) {
|
|
container.removeChild(container.firstChild);
|
|
}
|
|
|
|
if (stagingTags.length === 0) {
|
|
const hint = document.createElement('span');
|
|
hint.textContent = '\u8BF7\u70B9\u51FB\u4E0B\u65B9\u9009\u9879\u8FDB\u884C\u7EC4\u5408...';
|
|
hint.style.color = '#666';
|
|
hint.style.fontSize = '12px';
|
|
container.insertBefore(hint, confirmBtn);
|
|
confirmBtn.disabled = true;
|
|
} else {
|
|
stagingTags.forEach((tag, index) => {
|
|
if (index > 0) {
|
|
const sep = document.createElement('span');
|
|
sep.className = 'staging-separator';
|
|
sep.textContent = '&';
|
|
container.insertBefore(sep, confirmBtn);
|
|
}
|
|
const tagEl = document.createElement('div');
|
|
tagEl.className = 'staging-tag';
|
|
tagEl.draggable = true;
|
|
tagEl.dataset.value = tag;
|
|
tagEl.dataset.index = index;
|
|
tagEl.innerHTML = \`\${tag}<span class="remove-btn" onclick="removeFromStaging(\${index})">\xD7</span>\`;
|
|
container.insertBefore(tagEl, confirmBtn);
|
|
});
|
|
confirmBtn.disabled = false;
|
|
setupStagingDragAndDrop();
|
|
}
|
|
}
|
|
|
|
// \u4ECE\u6682\u5B58\u533A\u79FB\u9664
|
|
function removeFromStaging(index) {
|
|
stagingTags.splice(index, 1);
|
|
renderStagingArea();
|
|
updateTagStates(); // \u79FB\u9664\u540E\u5237\u65B0\u72B6\u6001
|
|
}
|
|
|
|
// \u786E\u8BA4\u6DFB\u52A0\u5408\u5E76\u7EC4
|
|
function confirmMergeGroup() {
|
|
if (stagingTags.length === 0) return;
|
|
const groupValue = stagingTags.join('&');
|
|
const container = document.getElementById('selected-tags');
|
|
container.classList.remove('empty');
|
|
|
|
const tag = document.createElement('div');
|
|
tag.className = 'selected-tag';
|
|
tag.draggable = true;
|
|
tag.dataset.value = groupValue;
|
|
tag.innerHTML = \`<span class="tag-text">\${groupValue}</span><button type="button" class="remove-btn" onclick="removeSelectedTag(this)">\xD7</button>\`;
|
|
|
|
container.appendChild(tag);
|
|
setupDragAndDrop();
|
|
|
|
stagingTags = []; // \u6E05\u7A7A\u6682\u5B58\u533A
|
|
renderStagingArea();
|
|
updateTagStates(); // \u5173\u952E\uFF1A\u786E\u8BA4\u540E\u7ACB\u5373\u91CD\u65B0\u8BA1\u7B97\u6240\u6709\u53EF\u9009\u9879\u7684\u7981\u7528\u72B6\u6001 (\u91CD\u7F6E\u4E3A\u53EF\u7528)
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u6682\u5B58\u533A\u62D6\u653E\u529F\u80FD
|
|
function setupStagingDragAndDrop() {
|
|
const container = document.getElementById('staging-area');
|
|
const tags = container.querySelectorAll('.staging-tag');
|
|
|
|
tags.forEach(tag => {
|
|
tag.addEventListener('dragstart', handleStagingDragStart);
|
|
tag.addEventListener('dragend', handleStagingDragEnd);
|
|
tag.addEventListener('dragover', handleStagingDragOver);
|
|
tag.addEventListener('drop', handleStagingDrop);
|
|
tag.addEventListener('dragenter', handleStagingDragEnter);
|
|
tag.addEventListener('dragleave', handleStagingDragLeave);
|
|
|
|
tag.addEventListener('touchstart', handleStagingTouchStart);
|
|
tag.addEventListener('touchmove', handleStagingTouchMove);
|
|
tag.addEventListener('touchend', handleStagingTouchEnd);
|
|
});
|
|
}
|
|
|
|
let stagingDraggedElement = null;
|
|
|
|
function handleStagingDragStart(e) {
|
|
stagingDraggedElement = this;
|
|
this.classList.add('dragging');
|
|
e.dataTransfer.effectAllowed = 'move';
|
|
}
|
|
|
|
function handleStagingDragEnd(e) {
|
|
this.classList.remove('dragging');
|
|
document.querySelectorAll('.staging-tag').forEach(tag => {
|
|
tag.classList.remove('drag-over');
|
|
});
|
|
}
|
|
|
|
function handleStagingDragOver(e) {
|
|
if (e.preventDefault) {
|
|
e.preventDefault();
|
|
}
|
|
e.dataTransfer.dropEffect = 'move';
|
|
return false;
|
|
}
|
|
|
|
function handleStagingDragEnter(e) {
|
|
if (this !== stagingDraggedElement) {
|
|
this.classList.add('drag-over');
|
|
}
|
|
}
|
|
|
|
function handleStagingDragLeave(e) {
|
|
this.classList.remove('drag-over');
|
|
}
|
|
|
|
function handleStagingDrop(e) {
|
|
if (e.stopPropagation) {
|
|
e.stopPropagation();
|
|
}
|
|
|
|
if (stagingDraggedElement !== this) {
|
|
const draggedIndex = parseInt(stagingDraggedElement.dataset.index);
|
|
const targetIndex = parseInt(this.dataset.index);
|
|
|
|
const [movedItem] = stagingTags.splice(draggedIndex, 1);
|
|
stagingTags.splice(targetIndex, 0, movedItem);
|
|
|
|
renderStagingArea();
|
|
}
|
|
|
|
this.classList.remove('drag-over');
|
|
return false;
|
|
}
|
|
|
|
function handleStagingTouchStart(e) {
|
|
if (e.target.classList.contains('remove-btn')) {
|
|
return;
|
|
}
|
|
|
|
e.preventDefault();
|
|
stagingDraggedElement = this;
|
|
this.classList.add('dragging');
|
|
|
|
this.style.transform = 'rotate(5deg)';
|
|
this.style.opacity = '0.8';
|
|
this.style.zIndex = '1000';
|
|
}
|
|
|
|
function handleStagingTouchMove(e) {
|
|
if (!stagingDraggedElement) return;
|
|
e.preventDefault();
|
|
|
|
const touch = e.touches[0];
|
|
const elementRect = stagingDraggedElement.getBoundingClientRect();
|
|
|
|
if (!document.getElementById('staging-touch-drag-ghost')) {
|
|
const ghostElement = stagingDraggedElement.cloneNode(true);
|
|
ghostElement.id = 'staging-touch-drag-ghost';
|
|
ghostElement.style.position = 'fixed';
|
|
ghostElement.style.left = '0';
|
|
ghostElement.style.top = '0';
|
|
ghostElement.style.pointerEvents = 'none';
|
|
ghostElement.style.zIndex = '9999';
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
ghostElement.style.opacity = '0.8';
|
|
ghostElement.style.boxSizing = 'border-box';
|
|
ghostElement.style.width = elementRect.width + 'px';
|
|
ghostElement.style.height = elementRect.height + 'px';
|
|
document.body.appendChild(ghostElement);
|
|
} else {
|
|
const ghostElement = document.getElementById('staging-touch-drag-ghost');
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
}
|
|
|
|
const container = document.getElementById('staging-area');
|
|
const tags = Array.from(container.querySelectorAll('.staging-tag')).filter(tag => tag !== stagingDraggedElement);
|
|
let targetElement = null;
|
|
|
|
for (const tag of tags) {
|
|
const rect = tag.getBoundingClientRect();
|
|
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
|
|
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
|
|
targetElement = tag;
|
|
break;
|
|
}
|
|
}
|
|
|
|
document.querySelectorAll('.staging-tag').forEach(tag => {
|
|
if (tag !== stagingDraggedElement) {
|
|
tag.classList.remove('drag-over');
|
|
}
|
|
});
|
|
|
|
if (targetElement) {
|
|
targetElement.classList.add('drag-over');
|
|
}
|
|
}
|
|
|
|
function handleStagingTouchEnd(e) {
|
|
if (!stagingDraggedElement) return;
|
|
e.preventDefault();
|
|
|
|
const ghostElement = document.getElementById('staging-touch-drag-ghost');
|
|
if (ghostElement) {
|
|
document.body.removeChild(ghostElement);
|
|
}
|
|
|
|
const touch = e.changedTouches[0];
|
|
const targetElement = document.elementFromPoint(touch.clientX, touch.clientY);
|
|
const targetTag = targetElement.closest('.staging-tag');
|
|
|
|
if (targetTag && targetTag !== stagingDraggedElement) {
|
|
const draggedIndex = parseInt(stagingDraggedElement.dataset.index);
|
|
const targetIndex = parseInt(targetTag.dataset.index);
|
|
|
|
const [movedItem] = stagingTags.splice(draggedIndex, 1);
|
|
stagingTags.splice(targetIndex, 0, movedItem);
|
|
|
|
renderStagingArea();
|
|
}
|
|
|
|
stagingDraggedElement.style.transform = '';
|
|
stagingDraggedElement.style.opacity = '';
|
|
stagingDraggedElement.style.zIndex = '';
|
|
stagingDraggedElement.classList.remove('dragging');
|
|
|
|
document.querySelectorAll('.staging-tag').forEach(tag => {
|
|
tag.classList.remove('drag-over');
|
|
});
|
|
|
|
stagingDraggedElement = null;
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u62D6\u653E\u529F\u80FD
|
|
let draggedElement = null;
|
|
let touchDragging = false;
|
|
|
|
// \u4E3A\u5220\u9664\u6309\u94AE\u6DFB\u52A0\u89E6\u6478\u4E8B\u4EF6\u76D1\u542C\u5668\uFF0C\u4EE5\u786E\u4FDD\u5176\u53EF\u4EE5\u88AB\u70B9\u51FB
|
|
function setupDragAndDrop() {
|
|
const container = document.getElementById('selected-tags');
|
|
const tags = container.querySelectorAll('.selected-tag');
|
|
|
|
tags.forEach(tag => {
|
|
// \u9F20\u6807\u62D6\u653E\u4E8B\u4EF6
|
|
tag.addEventListener('dragstart', handleDragStart);
|
|
tag.addEventListener('dragend', handleDragEnd);
|
|
tag.addEventListener('dragover', handleDragOver);
|
|
tag.addEventListener('drop', handleDrop);
|
|
tag.addEventListener('dragenter', handleDragEnter);
|
|
tag.addEventListener('dragleave', handleDragLeave);
|
|
|
|
// \u89E6\u6478\u62D6\u653E\u4E8B\u4EF6
|
|
tag.addEventListener('touchstart', handleTouchStart);
|
|
tag.addEventListener('touchmove', handleTouchMove);
|
|
tag.addEventListener('touchend', handleTouchEnd);
|
|
|
|
// \u786E\u4FDD\u5220\u9664\u6309\u94AE\u53EF\u4EE5\u88AB\u70B9\u51FB
|
|
const removeBtn = tag.querySelector('.remove-btn');
|
|
if (removeBtn) {
|
|
// \u963B\u6B62\u5220\u9664\u6309\u94AE\u4E0A\u7684\u89E6\u6478\u4E8B\u4EF6\u5192\u6CE1\u5230\u7236\u5143\u7D20
|
|
removeBtn.addEventListener('touchstart', function(e) {
|
|
e.stopPropagation();
|
|
});
|
|
|
|
removeBtn.addEventListener('touchend', function(e) {
|
|
e.stopPropagation();
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function handleDragStart(e) {
|
|
draggedElement = this;
|
|
this.classList.add('dragging');
|
|
e.dataTransfer.effectAllowed = 'move';
|
|
}
|
|
|
|
function handleDragEnd(e) {
|
|
this.classList.remove('dragging');
|
|
document.querySelectorAll('.selected-tag').forEach(tag => {
|
|
tag.classList.remove('drag-over');
|
|
});
|
|
}
|
|
|
|
function handleDragOver(e) {
|
|
if (e.preventDefault) {
|
|
e.preventDefault();
|
|
}
|
|
e.dataTransfer.dropEffect = 'move';
|
|
return false;
|
|
}
|
|
|
|
function handleDragEnter(e) {
|
|
if (this !== draggedElement) {
|
|
this.classList.add('drag-over');
|
|
}
|
|
}
|
|
|
|
function handleDragLeave(e) {
|
|
this.classList.remove('drag-over');
|
|
}
|
|
|
|
function handleDrop(e) {
|
|
if (e.stopPropagation) {
|
|
e.stopPropagation();
|
|
}
|
|
|
|
if (draggedElement !== this) {
|
|
const container = document.getElementById('selected-tags');
|
|
const allTags = Array.from(container.querySelectorAll('.selected-tag'));
|
|
const draggedIndex = allTags.indexOf(draggedElement);
|
|
const targetIndex = allTags.indexOf(this);
|
|
|
|
if (draggedIndex < targetIndex) {
|
|
this.parentNode.insertBefore(draggedElement, this.nextSibling);
|
|
} else {
|
|
this.parentNode.insertBefore(draggedElement, this);
|
|
}
|
|
}
|
|
|
|
this.classList.remove('drag-over');
|
|
return false;
|
|
}
|
|
|
|
// \u89E6\u6478\u62D6\u52A8\u4E8B\u4EF6\u5904\u7406
|
|
function handleTouchStart(e) {
|
|
// \u68C0\u67E5\u70B9\u51FB\u7684\u662F\u5426\u662F\u5220\u9664\u6309\u94AE
|
|
if (e.target.classList.contains('remove-btn')) {
|
|
// \u5982\u679C\u70B9\u51FB\u7684\u662F\u5220\u9664\u6309\u94AE\uFF0C\u5219\u4E0D\u6267\u884C\u62D6\u52A8\u64CD\u4F5C
|
|
return;
|
|
}
|
|
|
|
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
|
|
e.preventDefault();
|
|
|
|
// \u83B7\u53D6\u89E6\u6478\u70B9
|
|
const touch = e.touches[0];
|
|
|
|
// \u6A21\u62DF\u62D6\u52A8\u5F00\u59CB
|
|
draggedElement = this;
|
|
this.classList.add('dragging');
|
|
touchDragging = true;
|
|
|
|
// \u6DFB\u52A0\u62D6\u52A8\u6837\u5F0F
|
|
this.style.transform = 'rotate(5deg)';
|
|
this.style.opacity = '0.8';
|
|
this.style.zIndex = '1000';
|
|
|
|
// \u6DFB\u52A0\u89E6\u6478\u79FB\u52A8\u548C\u7ED3\u675F\u4E8B\u4EF6\u76D1\u542C\u5668\u5230\u6587\u6863
|
|
document.addEventListener('touchmove', handleTouchMove, { passive: false });
|
|
document.addEventListener('touchend', handleTouchEnd, { passive: false });
|
|
}
|
|
|
|
function handleTouchMove(e) {
|
|
if (!touchDragging || !draggedElement) return;
|
|
|
|
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
|
|
e.preventDefault();
|
|
|
|
// \u4F7F\u7528 requestAnimationFrame \u6765\u4F18\u5316\u6027\u80FD
|
|
if (window.requestAnimationFrame) {
|
|
window.requestAnimationFrame(() => {
|
|
// \u83B7\u53D6\u89E6\u6478\u70B9\u4F4D\u7F6E
|
|
const touch = e.touches[0];
|
|
|
|
// \u83B7\u53D6\u62D6\u52A8\u5143\u7D20\u7684\u5C3A\u5BF8
|
|
const elementRect = draggedElement.getBoundingClientRect();
|
|
|
|
// \u521B\u5EFA\u4E00\u4E2A\u4E34\u65F6\u7684\u62D6\u52A8\u5143\u7D20\uFF0C\u800C\u4E0D\u662F\u79FB\u52A8\u539F\u59CB\u5143\u7D20
|
|
if (!document.getElementById('touch-drag-ghost')) {
|
|
const ghostElement = draggedElement.cloneNode(true);
|
|
ghostElement.id = 'touch-drag-ghost';
|
|
ghostElement.style.position = 'fixed'; // \u4F7F\u7528 fixed \u800C\u4E0D\u662F absolute
|
|
ghostElement.style.left = '0';
|
|
ghostElement.style.top = '0';
|
|
ghostElement.style.pointerEvents = 'none'; // \u9632\u6B62\u5E72\u6270\u89E6\u6478\u4E8B\u4EF6
|
|
ghostElement.style.zIndex = '9999';
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
ghostElement.style.opacity = '0.8';
|
|
ghostElement.style.boxSizing = 'border-box'; // \u786E\u4FDD\u5C3A\u5BF8\u8BA1\u7B97\u6B63\u786E
|
|
ghostElement.style.width = elementRect.width + 'px'; // \u56FA\u5B9A\u5BBD\u5EA6
|
|
ghostElement.style.height = elementRect.height + 'px'; // \u56FA\u5B9A\u9AD8\u5EA6
|
|
document.body.appendChild(ghostElement);
|
|
} else {
|
|
const ghostElement = document.getElementById('touch-drag-ghost');
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
}
|
|
|
|
// \u68C0\u67E5\u4E0E\u5176\u4ED6\u5143\u7D20\u7684\u78B0\u649E
|
|
const container = document.getElementById('selected-tags');
|
|
const tags = Array.from(container.querySelectorAll('.selected-tag')).filter(tag => tag !== draggedElement);
|
|
let targetElement = null;
|
|
|
|
for (const tag of tags) {
|
|
const rect = tag.getBoundingClientRect();
|
|
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
|
|
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
|
|
targetElement = tag;
|
|
break;
|
|
}
|
|
}
|
|
|
|
// \u9AD8\u4EAE\u76EE\u6807\u5143\u7D20
|
|
document.querySelectorAll('.selected-tag').forEach(tag => {
|
|
if (tag !== draggedElement) {
|
|
tag.classList.remove('drag-over');
|
|
}
|
|
});
|
|
|
|
if (targetElement) {
|
|
targetElement.classList.add('drag-over');
|
|
}
|
|
});
|
|
} else {
|
|
// \u964D\u7EA7\u5904\u7406\uFF0C\u5982\u679C\u4E0D\u652F\u6301 requestAnimationFrame
|
|
const touch = e.touches[0];
|
|
|
|
// \u83B7\u53D6\u62D6\u52A8\u5143\u7D20\u7684\u5C3A\u5BF8
|
|
const elementRect = draggedElement.getBoundingClientRect();
|
|
|
|
// \u521B\u5EFA\u4E00\u4E2A\u4E34\u65F6\u7684\u62D6\u52A8\u5143\u7D20\uFF0C\u800C\u4E0D\u662F\u79FB\u52A8\u539F\u59CB\u5143\u7D20
|
|
if (!document.getElementById('touch-drag-ghost')) {
|
|
const ghostElement = draggedElement.cloneNode(true);
|
|
ghostElement.id = 'touch-drag-ghost';
|
|
ghostElement.style.position = 'fixed'; // \u4F7F\u7528 fixed \u800C\u4E0D\u662F absolute
|
|
ghostElement.style.left = '0';
|
|
ghostElement.style.top = '0';
|
|
ghostElement.style.pointerEvents = 'none'; // \u9632\u6B62\u5E72\u6270\u89E6\u6478\u4E8B\u4EF6
|
|
ghostElement.style.zIndex = '9999';
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
ghostElement.style.opacity = '0.8';
|
|
ghostElement.style.boxSizing = 'border-box'; // \u786E\u4FDD\u5C3A\u5BF8\u8BA1\u7B97\u6B63\u786E
|
|
ghostElement.style.width = elementRect.width + 'px'; // \u56FA\u5B9A\u5BBD\u5EA6
|
|
ghostElement.style.height = elementRect.height + 'px'; // \u56FA\u5B9A\u9AD8\u5EA6
|
|
document.body.appendChild(ghostElement);
|
|
} else {
|
|
const ghostElement = document.getElementById('touch-drag-ghost');
|
|
ghostElement.style.transform = 'translate(' + (touch.clientX - (elementRect.width / 2)) + 'px, ' + (touch.clientY - (elementRect.height / 2)) + 'px) rotate(5deg)';
|
|
}
|
|
|
|
// \u68C0\u67E5\u4E0E\u5176\u4ED6\u5143\u7D20\u7684\u78B0\u649E
|
|
const container = document.getElementById('selected-tags');
|
|
const tags = Array.from(container.querySelectorAll('.selected-tag')).filter(tag => tag !== draggedElement);
|
|
let targetElement = null;
|
|
|
|
for (const tag of tags) {
|
|
const rect = tag.getBoundingClientRect();
|
|
if (touch.clientX >= rect.left && touch.clientX <= rect.right &&
|
|
touch.clientY >= rect.top && touch.clientY <= rect.bottom) {
|
|
targetElement = tag;
|
|
break;
|
|
}
|
|
}
|
|
|
|
// \u9AD8\u4EAE\u76EE\u6807\u5143\u7D20
|
|
document.querySelectorAll('.selected-tag').forEach(tag => {
|
|
if (tag !== draggedElement) {
|
|
tag.classList.remove('drag-over');
|
|
}
|
|
});
|
|
|
|
if (targetElement) {
|
|
targetElement.classList.add('drag-over');
|
|
}
|
|
}
|
|
}
|
|
|
|
function handleTouchEnd(e) {
|
|
if (!touchDragging || !draggedElement) return;
|
|
|
|
// \u9632\u6B62\u9ED8\u8BA4\u7684\u89E6\u6478\u884C\u4E3A
|
|
e.preventDefault();
|
|
|
|
// \u79FB\u9664\u4E34\u65F6\u62D6\u52A8\u5143\u7D20
|
|
const ghostElement = document.getElementById('touch-drag-ghost');
|
|
if (ghostElement) {
|
|
document.body.removeChild(ghostElement);
|
|
}
|
|
|
|
// \u627E\u5230\u76EE\u6807\u5143\u7D20\uFF08\u5982\u679C\u6709\uFF09
|
|
const touch = e.changedTouches[0];
|
|
const targetElement = document.elementFromPoint(touch.clientX, touch.clientY);
|
|
|
|
const container = document.getElementById('selected-tags');
|
|
const targetTag = targetElement.closest('.selected-tag');
|
|
|
|
// \u5982\u679C\u76EE\u6807\u662F\u53E6\u4E00\u4E2A\u6807\u7B7E\uFF0C\u6267\u884C\u4EA4\u6362
|
|
if (targetTag && targetTag !== draggedElement && container.contains(targetTag)) {
|
|
const allTags = Array.from(container.querySelectorAll('.selected-tag'));
|
|
const draggedIndex = allTags.indexOf(draggedElement);
|
|
const targetIndex = allTags.indexOf(targetTag);
|
|
|
|
if (draggedIndex < targetIndex) {
|
|
targetTag.parentNode.insertBefore(draggedElement, targetTag.nextSibling);
|
|
} else {
|
|
targetTag.parentNode.insertBefore(draggedElement, targetTag);
|
|
}
|
|
}
|
|
|
|
// \u91CD\u7F6E\u5143\u7D20\u6837\u5F0F
|
|
draggedElement.style.transform = '';
|
|
draggedElement.style.opacity = '';
|
|
draggedElement.style.zIndex = '';
|
|
|
|
// \u79FB\u9664\u62D6\u52A8\u7C7B
|
|
draggedElement.classList.remove('dragging');
|
|
document.querySelectorAll('.selected-tag').forEach(tag => {
|
|
tag.classList.remove('drag-over');
|
|
});
|
|
|
|
// \u91CD\u7F6E\u53D8\u91CF
|
|
touchDragging = false;
|
|
draggedElement = null;
|
|
|
|
// \u79FB\u9664\u4E8B\u4EF6\u76D1\u542C\u5668
|
|
document.removeEventListener('touchmove', handleTouchMove);
|
|
document.removeEventListener('touchend', handleTouchEnd);
|
|
}
|
|
|
|
// \u663E\u793A\u52A0\u8F7D\u906E\u7F69
|
|
function showLoading(text, detail) {
|
|
document.getElementById('loading-text').textContent = text;
|
|
document.getElementById('loading-detail').textContent = detail;
|
|
document.getElementById('loading-overlay').classList.add('active');
|
|
document.getElementById('progress-container').classList.add('active');
|
|
updateProgress(0);
|
|
}
|
|
|
|
// \u9690\u85CF\u52A0\u8F7D\u906E\u7F69
|
|
function hideLoading() {
|
|
document.getElementById('loading-overlay').classList.remove('active');
|
|
setTimeout(() => {
|
|
document.getElementById('progress-container').classList.remove('active');
|
|
updateProgress(0);
|
|
}, 300);
|
|
}
|
|
|
|
// \u66F4\u65B0\u52A0\u8F7D\u6587\u672C
|
|
function updateLoadingText(text, detail) {
|
|
document.getElementById('loading-text').textContent = text;
|
|
document.getElementById('loading-detail').textContent = detail;
|
|
}
|
|
|
|
// \u66F4\u65B0\u8FDB\u5EA6\u6761
|
|
function updateProgress(percent) {
|
|
document.getElementById('progress-bar').style.width = percent + '%';
|
|
}
|
|
|
|
// \u6E32\u67D3\u73AF\u5883\u53D8\u91CF\u5217\u8868
|
|
function renderEnvList() {
|
|
const list = document.getElementById('env-list');
|
|
const items = envVariables[currentCategory] || [];
|
|
|
|
if (items.length === 0) {
|
|
list.innerHTML = '<p class="text-gray padding-20 text-center">\u6682\u65E0\u914D\u7F6E\u9879</p>';
|
|
return;
|
|
}
|
|
|
|
list.innerHTML = items.map((item, index) => {
|
|
const typeLabel = item.type === 'boolean' ? '\u5E03\u5C14' :
|
|
item.type === 'number' ? '\u6570\u5B57' :
|
|
item.type === 'select' ? '\u5355\u9009' :
|
|
item.type === 'map' ? '\u6620\u5C04' :
|
|
item.type === 'multi-select' ? '\u591A\u9009' : '\u6587\u672C';
|
|
const badgeClass = item.type === 'multi-select' ? 'multi' : '';
|
|
|
|
const escapedValue = escapeHtml(item.value);
|
|
|
|
return \`
|
|
<div class="env-item">
|
|
<div class="env-info">
|
|
<strong>\${item.key}<span class="value-type-badge \${badgeClass}">\${typeLabel}</span></strong>
|
|
<div class="text-dark-gray">\${escapedValue}</div>
|
|
<div class="text-gray font-size-12 margin-top-3">\${item.description || '\u65E0\u63CF\u8FF0'}</div>
|
|
</div>
|
|
<div class="env-actions">
|
|
<button class="btn btn-primary" onclick="editEnv(\${index})">\u7F16\u8F91</button>
|
|
<button class="btn btn-danger" onclick="deleteEnv(\${index})">\u5220\u9664</button>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
}
|
|
|
|
// \u7F16\u8F91\u73AF\u5883\u53D8\u91CF
|
|
function editEnv(index) {
|
|
const item = envVariables[currentCategory][index];
|
|
const editButton = event.target; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u7F16\u8F91\u6309\u94AE
|
|
|
|
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = editButton.innerHTML;
|
|
editButton.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
editButton.disabled = true;
|
|
|
|
editingKey = index;
|
|
document.getElementById('modal-title').textContent = '\u7F16\u8F91\u914D\u7F6E\u9879';
|
|
document.getElementById('env-category').value = currentCategory;
|
|
document.getElementById('env-key').value = item.key;
|
|
document.getElementById('env-description').value = item.description || '';
|
|
document.getElementById('value-type').value = item.type || 'text';
|
|
|
|
// \u8BBE\u7F6E\u5B57\u6BB5\u4E3A\u53EA\u8BFB\uFF08\u7F16\u8F91\u6A21\u5F0F\u4E0B\uFF09
|
|
document.getElementById('env-category').disabled = true;
|
|
document.getElementById('env-key').readOnly = true;
|
|
document.getElementById('value-type').disabled = true;
|
|
document.getElementById('env-description').readOnly = true;
|
|
|
|
// \u6E32\u67D3\u5BF9\u5E94\u7684\u503C\u8F93\u5165\u63A7\u4EF6
|
|
renderValueInput(item);
|
|
|
|
document.getElementById('env-modal').classList.add('active');
|
|
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001\uFF08\u5728\u5B9E\u9645\u573A\u666F\u4E2D\uFF0C\u8FD9\u4F1A\u5728\u7F16\u8F91\u5B8C\u6210\u540E\u53D1\u751F\uFF0C\u6BD4\u5982\u5728\u4FDD\u5B58\u540E\u6216\u53D6\u6D88\u540E\uFF09
|
|
// \u4E3A\u4E86\u6F14\u793A\uFF0C\u8FD9\u91CC\u7ACB\u5373\u6062\u590D\u6309\u94AE\u72B6\u6001\uFF0C\u5B9E\u9645\u4F7F\u7528\u4E2D\u5E94\u8BE5\u5728\u9002\u5F53\u7684\u5730\u65B9\u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
editButton.innerHTML = originalText;
|
|
editButton.disabled = false;
|
|
}
|
|
|
|
// \u5220\u9664\u73AF\u5883\u53D8\u91CF
|
|
function deleteEnv(index) {
|
|
customConfirm('\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u914D\u7F6E\u9879\u5417?', '\u5220\u9664\u786E\u8BA4').then(confirmed => {
|
|
if (confirmed) {
|
|
const item = envVariables[currentCategory][index];
|
|
const key = item.key;
|
|
const deleteButton = event.target; // \u83B7\u53D6\u5F53\u524D\u70B9\u51FB\u7684\u5220\u9664\u6309\u94AE
|
|
|
|
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = deleteButton.innerHTML;
|
|
deleteButton.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
deleteButton.disabled = true;
|
|
|
|
// \u8C03\u7528API\u5220\u9664\u73AF\u5883\u53D8\u91CF
|
|
fetch(buildApiUrl('/api/env/del'), {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({ key })
|
|
})
|
|
.then(response => response.json())
|
|
.then(result => {
|
|
if (result.success) {
|
|
// \u4ECE\u672C\u5730\u6570\u636E\u4E2D\u5220\u9664
|
|
envVariables[currentCategory].splice(index, 1);
|
|
renderEnvList();
|
|
renderPreview();
|
|
addLog(\`\u5220\u9664\u914D\u7F6E\u9879: \${key}\`, 'warn');
|
|
} else {
|
|
addLog(\`\u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${result.message}\`, 'error');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
addLog(\`\u5220\u9664\u914D\u7F6E\u9879\u5931\u8D25: \${error.message}\`, 'error');
|
|
})
|
|
.finally(() => {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
deleteButton.innerHTML = originalText;
|
|
deleteButton.disabled = false;
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
// \u8868\u5355\u63D0\u4EA4
|
|
document.getElementById('env-form').addEventListener('submit', async function(e) {
|
|
e.preventDefault();
|
|
|
|
const category = document.getElementById('env-category').value;
|
|
const key = document.getElementById('env-key').value.trim();
|
|
const description = document.getElementById('env-description').value.trim();
|
|
const type = document.getElementById('value-type').value;
|
|
const existingItem = editingKey !== null && envVariables[currentCategory]
|
|
? envVariables[currentCategory][editingKey]
|
|
: null;
|
|
|
|
// \u6839\u636E\u7C7B\u578B\u83B7\u53D6\u503C
|
|
let value, itemData;
|
|
|
|
if (type === 'boolean') {
|
|
value = document.getElementById('bool-value').checked ? 'true' : 'false';
|
|
itemData = { key, value, description, type };
|
|
} else if (type === 'number') {
|
|
value = document.getElementById('num-value').textContent;
|
|
const min = parseInt(document.getElementById('num-slider').min);
|
|
const max = parseInt(document.getElementById('num-slider').max);
|
|
itemData = { key, value, description, type, min, max };
|
|
} else if (type === 'select') {
|
|
const selected = document.querySelector('.tag-option.selected');
|
|
value = selected ? selected.dataset.value : '';
|
|
const options = Array.from(document.querySelectorAll('.tag-option')).map(el => el.dataset.value);
|
|
itemData = { key, value, description, type, options };
|
|
} else if (type === 'multi-select') {
|
|
// \u5982\u679C\u5F00\u542F\u4E86\u5408\u5E76\u6A21\u5F0F\uFF0C\u4E14\u6682\u5B58\u533A\u8FD8\u6709\u5185\u5BB9\uFF0C\u81EA\u52A8\u5C06\u5176\u89C6\u4E3A\u786E\u8BA4\u6DFB\u52A0
|
|
if (isMergeMode && stagingTags && stagingTags.length > 0) {
|
|
confirmMergeGroup();
|
|
}
|
|
|
|
const selectedTags = Array.from(document.querySelectorAll('.selected-tag'))
|
|
.map(el => el.dataset.value);
|
|
value = selectedTags.join(',');
|
|
const options = Array.from(document.querySelectorAll('.available-tag')).map(el => el.dataset.value);
|
|
itemData = { key, value, description, type, options };
|
|
} else if (type === 'map') {
|
|
// \u83B7\u53D6\u6620\u5C04\u8868\u503C
|
|
const mapItems = document.querySelectorAll('#map-container .map-item');
|
|
const pairs = [];
|
|
mapItems.forEach(item => {
|
|
const leftInput = item.querySelector('.map-input-left');
|
|
const rightInput = item.querySelector('.map-input-right');
|
|
const leftValue = leftInput.value.trim();
|
|
const rightValue = rightInput.value.trim();
|
|
if (leftValue && rightValue) {
|
|
pairs.push(leftValue + '->' + rightValue);
|
|
}
|
|
});
|
|
value = pairs.join(';');
|
|
itemData = { key, value, description, type };
|
|
} else {
|
|
value = document.getElementById('text-value').value.trim();
|
|
itemData = { key, value, description, type };
|
|
}
|
|
|
|
// \u8C03\u7528API\u66F4\u65B0\u73AF\u5883\u53D8\u91CF - \u5148\u5C1D\u8BD5set\u63A5\u53E3\uFF0C\u5931\u8D25\u5219\u8C03\u7528add\u63A5\u53E3
|
|
try {
|
|
// \u9996\u5148\u5C1D\u8BD5\u4F7F\u7528set\u63A5\u53E3\u66F4\u65B0
|
|
let response = await fetch(buildApiUrl('/api/env/set'), {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({ key, value })
|
|
});
|
|
|
|
let result = await response.json();
|
|
|
|
if (!result.success) {
|
|
// \u5982\u679Cset\u63A5\u53E3\u5931\u8D25\uFF0C\u5C1D\u8BD5\u4F7F\u7528add\u63A5\u53E3
|
|
response = await fetch(buildApiUrl('/api/env/add'), {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({ key, value })
|
|
});
|
|
|
|
result = await response.json();
|
|
}
|
|
|
|
if (result.success) {
|
|
// \u66F4\u65B0\u672C\u5730\u6570\u636E
|
|
if (!envVariables[category]) {
|
|
envVariables[category] = [];
|
|
}
|
|
|
|
if (editingKey !== null) {
|
|
envVariables[currentCategory][editingKey] = {
|
|
...(existingItem || {}),
|
|
...itemData
|
|
};
|
|
addLog(\`\u66F4\u65B0\u914D\u7F6E\u9879: \${key} = \${value}\`, 'success');
|
|
} else {
|
|
envVariables[category].push(itemData);
|
|
addLog(\`\u6DFB\u52A0\u914D\u7F6E\u9879: \${key} = \${value}\`, 'success');
|
|
}
|
|
|
|
if (category !== currentCategory) {
|
|
currentCategory = category;
|
|
document.querySelectorAll('.category-btn').forEach((btn, i) => {
|
|
btn.classList.toggle('active', ['api', 'source', 'match', 'danmu', 'cache', 'system'][i] === category);
|
|
});
|
|
}
|
|
|
|
renderEnvList();
|
|
renderPreview();
|
|
closeModal();
|
|
} else {
|
|
addLog(\`\u64CD\u4F5C\u5931\u8D25: \${result.message}\`, 'error');
|
|
customAlert(result.message + '\uFF0C\u8BF7\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u662F\u5426\u6B63\u786E');
|
|
}
|
|
} catch (error) {
|
|
addLog(\`\u66F4\u65B0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: \${error.message}\`, 'error');
|
|
customAlert(error.message + '\uFF0C\u8BF7\u68C0\u67E5\u90E8\u7F72\u5E73\u53F0\u76F8\u5173\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u662F\u5426\u6B63\u786E');
|
|
}
|
|
});
|
|
|
|
// \u6DFB\u52A0\u6620\u5C04\u9879
|
|
function addMapItem() {
|
|
const container = document.getElementById('map-container');
|
|
const template = document.querySelector('.map-item-template');
|
|
const newItem = template.cloneNode(true);
|
|
newItem.style.display = 'flex';
|
|
newItem.classList.remove('map-item-template');
|
|
newItem.classList.add('map-item');
|
|
const index = container.querySelectorAll('.map-item').length;
|
|
newItem.setAttribute('data-index', index);
|
|
container.appendChild(newItem);
|
|
}
|
|
|
|
// \u5220\u9664\u6620\u5C04\u9879
|
|
function removeMapItem(button) {
|
|
const item = button.closest('.map-item');
|
|
if (item) {
|
|
item.remove();
|
|
}
|
|
}
|
|
/* ========================================
|
|
Bilibili Cookie \u626B\u7801\u767B\u5F55\u529F\u80FD
|
|
======================================== */
|
|
let biliQRCheckInterval = null;
|
|
let biliBiliQRKey = null;
|
|
|
|
async function startBilibiliQRLogin() {
|
|
// \u521B\u5EFA\u626B\u7801\u767B\u5F55\u6A21\u6001\u6846
|
|
if (!document.getElementById('bili-qr-modal')) {
|
|
const modalHTML = \`
|
|
<div class="modal" id="bili-qr-modal">
|
|
<div class="modal-content" style="max-width: 400px;">
|
|
<div class="modal-header">
|
|
<h3>\u626B\u7801\u767B\u5F55 Bilibili</h3>
|
|
<button class="close-btn" onclick="closeBiliQRModal()">\xD7</button>
|
|
</div>
|
|
<div class="modal-body" style="text-align: center;">
|
|
<div id="bili-qr-container">
|
|
<div class="loading-spinner" id="bili-qr-loading"></div>
|
|
<p id="bili-qr-status">\u6B63\u5728\u751F\u6210\u4E8C\u7EF4\u7801...</p>
|
|
<div id="bili-qr-code" style="display: none;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
document.body.insertAdjacentHTML('beforeend', modalHTML);
|
|
}
|
|
|
|
const modal = document.getElementById('bili-qr-modal');
|
|
const qrCode = document.getElementById('bili-qr-code');
|
|
const qrLoading = document.getElementById('bili-qr-loading');
|
|
const qrStatus = document.getElementById('bili-qr-status');
|
|
|
|
modal.classList.add('active');
|
|
qrCode.style.display = 'none';
|
|
qrCode.innerHTML = '';
|
|
qrLoading.style.display = 'block';
|
|
qrStatus.textContent = '\u6B63\u5728\u751F\u6210\u4E8C\u7EF4\u7801...';
|
|
|
|
if (biliQRCheckInterval) {
|
|
clearInterval(biliQRCheckInterval);
|
|
}
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/cookie/qr/generate', true), {
|
|
method: 'POST'
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.success && result.data) {
|
|
biliBiliQRKey = result.data.qrcode_key;
|
|
const qrUrl = result.data.url;
|
|
|
|
qrCode.innerHTML = '<img src="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=' + encodeURIComponent(qrUrl) + '" alt="\u4E8C\u7EF4\u7801">';
|
|
qrCode.style.display = 'block';
|
|
qrLoading.style.display = 'none';
|
|
qrStatus.textContent = '\u8BF7\u4F7F\u7528 Bilibili APP \u626B\u63CF';
|
|
|
|
startBiliQRCheck();
|
|
} else {
|
|
throw new Error(result.message || '\u751F\u6210\u4E8C\u7EF4\u7801\u5931\u8D25');
|
|
}
|
|
} catch (error) {
|
|
qrLoading.style.display = 'none';
|
|
qrStatus.textContent = error.message;
|
|
}
|
|
}
|
|
|
|
function startBiliQRCheck() {
|
|
if (!biliBiliQRKey) return;
|
|
|
|
const qrStatus = document.getElementById('bili-qr-status');
|
|
|
|
biliQRCheckInterval = setInterval(async () => {
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/cookie/qr/check', true), {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({ qrcode_key: biliBiliQRKey })
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.success && result.data) {
|
|
const code = result.data.code;
|
|
|
|
switch (code) {
|
|
case 86101:
|
|
qrStatus.textContent = '\u7B49\u5F85\u626B\u7801...';
|
|
break;
|
|
case 86090:
|
|
qrStatus.textContent = '\u5DF2\u626B\u7801\uFF0C\u8BF7\u786E\u8BA4';
|
|
break;
|
|
case 86038:
|
|
qrStatus.textContent = '\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F';
|
|
clearInterval(biliQRCheckInterval);
|
|
break;
|
|
case 0:
|
|
qrStatus.textContent = '\u767B\u5F55\u6210\u529F\uFF01';
|
|
clearInterval(biliQRCheckInterval);
|
|
|
|
if (result.data.cookie) {
|
|
fillBilibiliCookie(result.data.cookie);
|
|
}
|
|
|
|
setTimeout(() => {
|
|
closeBiliQRModal();
|
|
}, 1000);
|
|
break;
|
|
}
|
|
}
|
|
} catch (error) {
|
|
console.error('\u68C0\u67E5\u626B\u7801\u72B6\u6001\u5931\u8D25:', error);
|
|
}
|
|
}, 2000);
|
|
}
|
|
|
|
function fillBilibiliCookie(cookie) {
|
|
const textInput = document.getElementById('text-value');
|
|
if (textInput) {
|
|
textInput.value = cookie;
|
|
textInput.dispatchEvent(new Event('input', { bubbles: true }));
|
|
|
|
textInput.style.borderColor = 'var(--success-color, #28a745)';
|
|
setTimeout(() => {
|
|
textInput.style.borderColor = '';
|
|
// \u586B\u5165\u540E\u89E6\u53D1\u68C0\u6D4B\u4E00\u6B21\uFF08\u4F1A\u63D0\u793A\u7528\u6237\u4FDD\u5B58\uFF09
|
|
autoCheckBilibiliCookieStatus();
|
|
}, 2000);
|
|
}
|
|
}
|
|
|
|
function closeBiliQRModal() {
|
|
const modal = document.getElementById('bili-qr-modal');
|
|
if (modal) {
|
|
modal.classList.remove('active');
|
|
}
|
|
|
|
if (biliQRCheckInterval) {
|
|
clearInterval(biliQRCheckInterval);
|
|
}
|
|
}
|
|
|
|
async function autoCheckBilibiliCookieStatus() {
|
|
const textInput = document.getElementById('text-value');
|
|
const statusEl = document.getElementById('bili-cookie-status');
|
|
|
|
if (!textInput || !statusEl) return;
|
|
|
|
const cookie = textInput.value.trim();
|
|
|
|
// \u5982\u679C\u8F93\u5165\u6846\u4E3A\u7A7A,\u63D0\u793A\u672A\u914D\u7F6E
|
|
if (!cookie) {
|
|
statusEl.innerHTML = '<span class="bili-status-text">\u672A\u914D\u7F6E</span>';
|
|
return;
|
|
}
|
|
|
|
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u4E2D...</span>';
|
|
|
|
// \u8131\u654F\u540E\u7684 *...* \u65E0\u6CD5\u76F4\u63A5\u6821\u9A8C\uFF0C\u540E\u7AEF\u4F1A\u81EA\u52A8\u6539\u4E3A\u6821\u9A8C\u201C\u5DF2\u4FDD\u5B58\u201D\u7684 Cookie
|
|
const isMasked = /^[*]+$/.test(cookie);
|
|
const payload = isMasked ? {} : { cookie };
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/cookie/verify', true), {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(payload)
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result && result.success && result.data) {
|
|
if (result.data.isValid) {
|
|
const uname = result.data.uname || '\u5DF2\u767B\u5F55';
|
|
const expiresAt = result.data.expiresAt;
|
|
const now = Math.floor(Date.now() / 1000);
|
|
|
|
let leftText = '';
|
|
if (typeof expiresAt === 'number' && expiresAt > now) {
|
|
const daysLeft = Math.ceil((expiresAt - now) / (24 * 60 * 60));
|
|
leftText = \` (\u5269\u4F59 \${daysLeft} \u5929)\`;
|
|
}
|
|
|
|
// \u7528\u6237\u624B\u52A8\u8F93\u5165/\u626B\u7801\u586B\u5165\u7684 Cookie \u2192 \u63D0\u793A\u4FDD\u5B58
|
|
if (!isMasked) {
|
|
statusEl.innerHTML = \`<span class="bili-status-text">\${uname}\${leftText} \xB7 \u8BF7\u70B9\u51FB\u4FDD\u5B58\u6309\u94AE\uFF08Vercel\u7B49\u5E73\u53F0\u9700\u91CD\u65B0\u90E8\u7F72\u540E\u751F\u6548\uFF09</span>\`;
|
|
} else {
|
|
// \u8131\u654F\u663E\u793A\u65F6\u53EA\u5C55\u793A\u5F53\u524D\u5DF2\u4FDD\u5B58 Cookie \u7684\u72B6\u6001
|
|
statusEl.innerHTML = \`<span class="bili-status-text">\${uname}\${leftText}</span>\`;
|
|
}
|
|
} else {
|
|
const err = result.data.error || 'Cookie\u65E0\u6548\u6216\u5DF2\u5931\u6548';
|
|
statusEl.innerHTML = \`<span class="bili-status-text">\${err}\uFF0C\u8BF7\u91CD\u65B0\u626B\u7801\u767B\u5F55\u5E76\u4FDD\u5B58</span>\`;
|
|
}
|
|
} else {
|
|
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u5931\u8D25</span>';
|
|
}
|
|
} catch (error) {
|
|
statusEl.innerHTML = '<span class="bili-status-text">\u68C0\u6D4B\u5931\u8D25</span>';
|
|
}
|
|
}
|
|
// \u663E\u793A Bilibili Cookie \u4FDD\u5B58\u63D0\u793A
|
|
function showBilibiliCookieSaveHint(text) {
|
|
const statusEl = document.getElementById('bili-cookie-status');
|
|
if (!statusEl) return;
|
|
|
|
const msg = text || '\u8BF7\u70B9\u51FB\u4FDD\u5B58\u6309\u94AE,Vercel\u7B49\u5E73\u53F0\u9700\u91CD\u65B0\u90E8\u7F72\u540E\u751F\u6548';
|
|
statusEl.innerHTML = \`<span class="bili-status-text">\${msg}</span>\`;
|
|
}
|
|
|
|
/* ========================================
|
|
AI API Key \u8FDE\u901A\u6027\u6D4B\u8BD5\u529F\u80FD
|
|
======================================== */
|
|
async function verifyAiConnection() {
|
|
const statusEl = document.getElementById('ai-apikey-status');
|
|
const btn = document.getElementById('ai-verify-btn');
|
|
const textInput = document.getElementById('text-value');
|
|
|
|
if (!statusEl || !textInput) return;
|
|
|
|
const apiKey = textInput.value.trim();
|
|
|
|
// \u5982\u679C\u8F93\u5165\u6846\u4E3A\u7A7A\uFF0C\u63D0\u793A\u672A\u914D\u7F6E
|
|
if (!apiKey) {
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u26A0\uFE0F</span><span class="ai-status-text">\u8BF7\u5148\u8F93\u5165 API Key</span>';
|
|
return;
|
|
}
|
|
|
|
// \u8BBE\u7F6E\u6309\u94AE\u4E3A\u52A0\u8F7D\u72B6\u6001
|
|
const originalText = btn.innerHTML;
|
|
btn.innerHTML = '<span class="loading-spinner-small"></span>';
|
|
btn.disabled = true;
|
|
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u{1F50D}</span><span class="ai-status-text">\u6B63\u5728\u6D4B\u8BD5\u8FDE\u901A\u6027...</span>';
|
|
|
|
// \u68C0\u67E5\u662F\u5426\u4E3A\u8131\u654F\u540E\u7684 *...*
|
|
const isMasked = /^[*]+$/.test(apiKey);
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/ai/verify', true), {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(isMasked ? {} : { 'aiApiKey': apiKey })
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.ok) {
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u2705</span><span class="ai-status-text">' + (result.message || 'AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u6210\u529F') + '</span>';
|
|
statusEl.style.color = 'var(--success-color, #28a745)';
|
|
} else {
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u274C</span><span class="ai-status-text">' + (result.message || '\u8FDE\u901A\u6027\u6D4B\u8BD5\u5931\u8D25') + '</span>';
|
|
statusEl.style.color = 'var(--danger-color, #dc3545)';
|
|
}
|
|
} catch (error) {
|
|
statusEl.innerHTML = '<span class="ai-status-icon">\u26A0\uFE0F</span><span class="ai-status-text">\u6D4B\u8BD5\u8BF7\u6C42\u5931\u8D25: ' + error.message + '</span>';
|
|
statusEl.style.color = 'var(--warning-color, #ffc107)';
|
|
} finally {
|
|
// \u6062\u590D\u6309\u94AE\u72B6\u6001
|
|
btn.innerHTML = originalText;
|
|
btn.disabled = false;
|
|
}
|
|
}
|
|
|
|
/* ========================================
|
|
\u6700\u8FD1\u6570\u636E\u4E0Eanimes\u7F13\u5B58\u9762\u677F\u529F\u80FD
|
|
======================================== */
|
|
|
|
// \u7EDF\u4E00\u5207\u6362\u5361\u7247\u5185\u7684\u6298\u53E0\u533A\u57DF
|
|
function toggleCardSection(btnEl, targetSelector, openText, closeText) {
|
|
if (!btnEl) return;
|
|
const card = btnEl.closest('.anime-cache-card');
|
|
if (!card) return;
|
|
const container = card.querySelector(targetSelector);
|
|
if (!container) return;
|
|
|
|
const isHidden = window.getComputedStyle(container).display === 'none';
|
|
|
|
if (isHidden) {
|
|
container.style.display = 'flex';
|
|
btnEl.innerHTML = closeText;
|
|
btnEl.classList.add('active');
|
|
} else {
|
|
container.style.display = 'none';
|
|
btnEl.innerHTML = openText;
|
|
btnEl.classList.remove('active');
|
|
}
|
|
}
|
|
|
|
// \u5207\u6362\u5B50\u8282\u70B9\u5185\u7684\u6620\u5C04\u8BE6\u60C5
|
|
function toggleMapping(btnEl) {
|
|
if (!btnEl) return;
|
|
const parentItem = btnEl.closest('.anime-cache-child-item');
|
|
if (!parentItem) return;
|
|
const container = parentItem.querySelector('.child-mapping-container');
|
|
if (!container) return;
|
|
|
|
const isHidden = window.getComputedStyle(container).display === 'none';
|
|
if (isHidden) {
|
|
container.style.display = 'flex';
|
|
btnEl.innerHTML = '\u{1F4CA} \u6536\u8D77\u6620\u5C04\u8BE6\u60C5';
|
|
btnEl.classList.add('active');
|
|
} else {
|
|
container.style.display = 'none';
|
|
btnEl.innerHTML = '\u{1F4CA} \u5C55\u5F00\u6620\u5C04\u8BE6\u60C5';
|
|
btnEl.classList.remove('active');
|
|
}
|
|
}
|
|
|
|
// \u5FEB\u6377\u6570\u636E\u9762\u677F\u4E1A\u52A1\u903B\u8F91
|
|
async function fetchAndShowRecentData() {
|
|
const panel = document.getElementById('recent-data-panel');
|
|
const listContainer = document.getElementById('recent-data-list');
|
|
|
|
if (!panel || !listContainer) return;
|
|
|
|
if (window.getComputedStyle(panel).display !== 'none') {
|
|
panel.style.display = 'none';
|
|
return;
|
|
}
|
|
|
|
panel.style.display = 'block';
|
|
listContainer.innerHTML = '<span class="loading-spinner-small"></span> \u6570\u636E\u52A0\u8F7D\u4E2D...';
|
|
|
|
try {
|
|
const response = await fetch(buildApiUrl('/api/cache/animes', true));
|
|
const result = await response.json();
|
|
|
|
if (result.success && result.data && result.data.length > 0) {
|
|
renderAnimeCachePanel(result.data, listContainer);
|
|
} else {
|
|
listContainer.innerHTML = '<div class="text-gray font-size-12" style="padding: 10px 0;">\u7F13\u5B58\u4E2D\u6682\u65E0\u756A\u5267\u6570\u636E\uFF0C\u8BF7\u5148\u901A\u8FC7\u5BA2\u6237\u7AEF\u8BF7\u6C42\u5F39\u5E55\u63A5\u53E3\u4EE5\u751F\u6210\u7F13\u5B58\u3002</div>';
|
|
}
|
|
} catch (error) {
|
|
listContainer.innerHTML = \`<div class="text-red font-size-12">\u8BF7\u6C42\u5931\u8D25: \${error.message}</div>\`;
|
|
}
|
|
}
|
|
|
|
// \u6E32\u67D3animes\u7F13\u5B58\u9762\u677F (\u542B\u96C6\u6570\u89E3\u6790\u4E0E\u6620\u5C04\u8BE6\u60C5)
|
|
function renderAnimeCachePanel(data, listContainer) {
|
|
const keyInput = document.getElementById('env-key');
|
|
|
|
if (!listContainer || !keyInput) return;
|
|
|
|
const currentKey = keyInput.value;
|
|
|
|
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u751F\u6210\u64CD\u4F5C\u6309\u94AE
|
|
const generateButtons = (title, source) => {
|
|
if (currentKey === 'CUSTOM_MERGE_RULES') {
|
|
return \`
|
|
<button type="button" class="btn btn-sm btn-xs" onclick="fillMergeEntity('sec', '\${title}', '\${source}')">\u8BBE\u4E3A\u526F</button>
|
|
<button type="button" class="btn btn-sm btn-primary btn-xs" onclick="fillMergeEntity('prim', '\${title}', '\${source}')">\u8BBE\u4E3A\u4E3B</button>
|
|
\`;
|
|
} else if (currentKey === 'DANMU_OFFSET') {
|
|
return \`
|
|
<button type="button" class="btn btn-sm btn-primary btn-xs" onclick="fillOffsetEntity('\${title}', '\${source}')">\u586B\u5165</button>
|
|
\`;
|
|
}
|
|
return '';
|
|
};
|
|
|
|
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u6E05\u6D17\u6807\u9898
|
|
const cleanTitleStr = (rawTitle) => rawTitle.replace(/\\s*from\\s+.*$/i, '').trim().replace(/'/g, ''');
|
|
|
|
let html = '<div class="anime-cache-list">';
|
|
|
|
data.forEach(item => {
|
|
const cleanTitle = cleanTitleStr(item.animeTitle);
|
|
const coverStyle = item.imageUrl ? \`background-image: url('\${item.imageUrl}');\` : '';
|
|
|
|
// 1. \u6784\u5EFA\u5408\u5E76\u5B50\u6E90\u6A21\u5757
|
|
let childrenHtml = '';
|
|
let childrenCount = 0;
|
|
if (item.mergedChildren && item.mergedChildren.length > 0) {
|
|
childrenCount = item.mergedChildren.length;
|
|
const childItems = item.mergedChildren.map(child => {
|
|
const childCleanTitle = cleanTitleStr(child.animeTitle);
|
|
|
|
const childCoverStyle = child.imageUrl ? \`background-image: url('\${child.imageUrl}');\` : '';
|
|
|
|
// \u89E3\u6790\u6620\u5C04\u6570\u636E\u5E76\u6309\u5339\u914D\u72B6\u6001\u6392\u5E8F
|
|
let mappingHtml = '';
|
|
if (item.links && item.links.length > 0) {
|
|
const parsedRows = [];
|
|
|
|
item.links.forEach((link, idx) => {
|
|
const urlStr = String(link.url || '');
|
|
const hasMainMatch = urlStr.includes(item.source + ':') || !urlStr.includes(':');
|
|
const hasChildMatch = urlStr.includes(child.source + ':');
|
|
|
|
if (!hasMainMatch && !hasChildMatch) return;
|
|
|
|
let mainSide = '(\u4E3B\u6E90\u8D8A\u754C)';
|
|
if (hasMainMatch) {
|
|
const cleanMainEpTitle = (link.title || '\u672A\u77E5\u5267\u96C6').replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"');
|
|
mainSide = \`\u3010\${item.source}\u3011\${cleanMainEpTitle}\`;
|
|
}
|
|
|
|
let childSide = '(\u526F\u6E90\u7F3A\u5931)';
|
|
let childNum = NaN;
|
|
|
|
if (hasChildMatch) {
|
|
const regex = new RegExp(child.source + ':([^$]+)');
|
|
const match = urlStr.match(regex);
|
|
let childTitleStr = '(\u6E90ID\u672A\u77E5)';
|
|
|
|
if (match) {
|
|
const childId = match[1];
|
|
childTitleStr = \`(\u6E90ID: \${childId})\`;
|
|
|
|
if (child.links && child.links.length > 0) {
|
|
const childLink = child.links.find(l => String(l.url) === String(childId));
|
|
if (childLink && childLink.title) {
|
|
childTitleStr = childLink.title.replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"');
|
|
}
|
|
}
|
|
} else {
|
|
childTitleStr = (link.title || '').replace(/^\u3010.*?\u3011\\s*/, '').replace(/'/g, ''').replace(/"/g, '"');
|
|
}
|
|
childSide = \`\u3010\${child.source}\u3011\${childTitleStr}\`;
|
|
|
|
const numMatch = childTitleStr.match(/\\d+/);
|
|
if (numMatch) {
|
|
childNum = parseInt(numMatch[0], 10);
|
|
}
|
|
}
|
|
|
|
let rowHtml = '';
|
|
if (hasMainMatch && hasChildMatch) {
|
|
rowHtml = \`<div class="mapping-row"><span class="mapping-status success">\u2713 \u5339\u914D</span> <span class="mapping-text">\${mainSide} \u2194 \${childSide}</span></div>\`;
|
|
} else {
|
|
rowHtml = \`<div class="mapping-row"><span class="mapping-status warning">\u2717 \u843D\u5355</span> <span class="mapping-text">\${mainSide} \u2194 \${childSide}</span></div>\`;
|
|
}
|
|
|
|
parsedRows.push({
|
|
originalIndex: idx,
|
|
hasChildMatch: hasChildMatch,
|
|
childNum: childNum,
|
|
html: rowHtml
|
|
});
|
|
});
|
|
|
|
const matchedRows = parsedRows.filter(r => r.hasChildMatch).sort((a, b) => {
|
|
if (!isNaN(a.childNum) && !isNaN(b.childNum)) {
|
|
return a.childNum - b.childNum;
|
|
}
|
|
return a.originalIndex - b.originalIndex;
|
|
});
|
|
|
|
const lonelyRows = parsedRows.filter(r => !r.hasChildMatch).sort((a, b) => a.originalIndex - b.originalIndex);
|
|
|
|
const finalRows = [...matchedRows, ...lonelyRows];
|
|
const mappingRowsHtml = finalRows.map(r => r.html).join('');
|
|
|
|
if (mappingRowsHtml) {
|
|
mappingHtml = \`
|
|
<div class="child-mapping-toggle" onclick="toggleMapping(this)">\u{1F4CA} \u5C55\u5F00\u6620\u5C04\u8BE6\u60C5</div>
|
|
<div class="child-mapping-container">
|
|
\${mappingRowsHtml}
|
|
</div>
|
|
\`;
|
|
}
|
|
}
|
|
|
|
return \`
|
|
<div class="anime-cache-child-item">
|
|
<div class="anime-cache-child-main">
|
|
<div class="anime-cache-child-cover" style="\${childCoverStyle}"></div>
|
|
<div class="anime-cache-child-info">
|
|
<div class="anime-cache-child-title" title="\${child.animeTitle}">\${childCleanTitle}</div>
|
|
<div class="anime-cache-meta">[\${child.source}] (\${child.episodes}\u96C6)</div>
|
|
</div>
|
|
<div class="anime-cache-child-actions">
|
|
\${generateButtons(childCleanTitle, child.source)}
|
|
</div>
|
|
</div>
|
|
\${mappingHtml}
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
|
|
childrenHtml = \`
|
|
<div class="merged-children-container">
|
|
\${childItems}
|
|
</div>
|
|
\`;
|
|
}
|
|
|
|
// 2. \u6784\u5EFA\u5267\u96C6\u53C2\u8003\u5217\u8868\u6A21\u5757
|
|
let episodesHtml = '';
|
|
let episodesCount = 0;
|
|
if (item.links && item.links.length > 0) {
|
|
episodesCount = item.links.length;
|
|
const epItems = item.links.map(link => {
|
|
const safeTitle = link.title ? link.title.replace(/'/g, ''').replace(/"/g, '"') : '\u672A\u77E5\u5267\u96C6';
|
|
return \`
|
|
<div class="anime-cache-child-item" style="padding: 6px;">
|
|
<div class="anime-cache-child-main">
|
|
<div class="anime-cache-child-info">
|
|
<div class="anime-cache-child-title" title="\${safeTitle}">\${safeTitle}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
\`;
|
|
}).join('');
|
|
|
|
episodesHtml = \`
|
|
<div class="episodes-list-container">
|
|
\${epItems}
|
|
</div>
|
|
\`;
|
|
}
|
|
|
|
// 3. \u6784\u5EFA\u5361\u7247\u5E95\u90E8\u4E13\u5C5E\u5207\u6362\u680F (Tab Bar)
|
|
let footerHtml = '';
|
|
if (childrenCount > 0 || episodesCount > 0) {
|
|
let badges = '';
|
|
if (episodesCount > 0) {
|
|
badges += \`<div class="cache-badge badge-episodes" onclick="toggleCardSection(this, '.episodes-list-container', '\u{1F4FA} \${episodesCount} \u4E2A\u5267\u96C6', '\u{1F4FA} \u6536\u8D77\u5267\u96C6')">\u{1F4FA} \${episodesCount} \u4E2A\u5267\u96C6</div>\`;
|
|
}
|
|
if (childrenCount > 0) {
|
|
badges += \`<div class="cache-badge badge-sources" onclick="toggleCardSection(this, '.merged-children-container', '\u{1F517} \${childrenCount} \u4E2A\u88AB\u5408\u5E76\u6E90', '\u{1F517} \u6536\u8D77\u88AB\u5408\u5E76\u6E90')">\u{1F517} \${childrenCount} \u4E2A\u88AB\u5408\u5E76\u6E90</div>\`;
|
|
}
|
|
footerHtml = \`<div class="anime-cache-footer">\${badges}</div>\`;
|
|
}
|
|
|
|
// 4. \u7EC4\u88C5\u5B8C\u6574\u5361\u7247
|
|
html += \`
|
|
<div class="anime-cache-card">
|
|
<div class="anime-cache-card-body">
|
|
<div class="anime-cache-cover" style="\${coverStyle}"></div>
|
|
<div class="anime-cache-info">
|
|
<div class="anime-cache-title" title="\${item.animeTitle}">\${cleanTitle}</div>
|
|
<div class="anime-cache-meta">[\${item.source}] (\${item.episodes}\u96C6)</div>
|
|
</div>
|
|
<div class="anime-cache-actions">
|
|
\${generateButtons(cleanTitle, item.source)}
|
|
</div>
|
|
</div>
|
|
\${footerHtml}
|
|
\${childrenHtml}
|
|
\${episodesHtml}
|
|
</div>
|
|
\`;
|
|
});
|
|
|
|
html += '</div>';
|
|
listContainer.innerHTML = html;
|
|
}
|
|
|
|
/* ========================================
|
|
\u8868\u5355\u586B\u5145\u5FEB\u6377\u64CD\u4F5C\u529F\u80FD
|
|
======================================== */
|
|
|
|
// \u5185\u90E8\u8F85\u52A9\u51FD\u6570\uFF1A\u8F93\u5165\u6846\u89C6\u89C9\u53CD\u9988\u7EDF\u4E00\u5904\u7406
|
|
function applyInputFeedback(inputEl) {
|
|
if (!inputEl) return;
|
|
const oldBorder = inputEl.style.borderColor;
|
|
inputEl.style.borderColor = '#28a745';
|
|
setTimeout(() => inputEl.style.borderColor = oldBorder, 800);
|
|
inputEl.focus();
|
|
}
|
|
|
|
// \u8868\u5355\u586B\u5145\u903B\u8F91\uFF1A\u5408\u5E76\u6620\u5C04\u8868
|
|
function fillMergeEntity(type, title, source) {
|
|
const panel = document.getElementById('merge-rule-panel');
|
|
if (panel && window.getComputedStyle(panel).display === 'none') {
|
|
toggleMergeRulePanel();
|
|
}
|
|
|
|
const inputId = type === 'sec' ? 'merge-sec-entity' : 'merge-prim-entity';
|
|
const inputEl = document.getElementById(inputId);
|
|
|
|
if (inputEl) {
|
|
inputEl.value = \`\${title}@\${source}\`;
|
|
applyInputFeedback(inputEl);
|
|
setMergeFocus(type);
|
|
}
|
|
}
|
|
|
|
// \u8868\u5355\u586B\u5145\u903B\u8F91\uFF1A\u5F39\u5E55\u504F\u79FB
|
|
function fillOffsetEntity(title, source) {
|
|
const panel = document.getElementById('offset-rule-panel');
|
|
if (panel && window.getComputedStyle(panel).display === 'none') {
|
|
toggleOffsetRulePanel();
|
|
}
|
|
|
|
// \u89C6\u56FE\u5C42\u6570\u636E\u6E05\u6D17\uFF1A\u53BB\u9664\u5E74\u4EFD\u548C\u7C7B\u578B\u540E\u7F00
|
|
const cleanTitle = title
|
|
.replace(/[\\u200B-\\u200F\\uFEFF]/g, '')
|
|
.replace(/\\s*[\uFF08(\u3014\\[]\\s*[0-9\uFF10-\uFF19]{4}\\s*\u5E74?\\s*[\uFF09)\u3015\\]]/g, '')
|
|
.replace(/(.+?)\\s*\u3010[^\u3011]+\u3011$/, '$1')
|
|
.trim();
|
|
|
|
const inputEl = document.getElementById('offset-anime');
|
|
|
|
if (inputEl) {
|
|
inputEl.value = cleanTitle;
|
|
|
|
// \u57FA\u4E8E data-value \u5C5E\u6027\u5339\u914D\u5E76\u9009\u4E2D\u5BF9\u5E94\u6765\u6E90\u6807\u7B7E
|
|
const sourceTags = document.querySelectorAll('#offset-sources .offset-source-tag');
|
|
if (sourceTags.length > 0) {
|
|
sourceTags.forEach(el => el.classList.remove('selected'));
|
|
const targetTag = Array.from(sourceTags).find(el => el.dataset.value === source);
|
|
if (targetTag) targetTag.classList.add('selected');
|
|
}
|
|
|
|
applyInputFeedback(inputEl);
|
|
}
|
|
}
|
|
`;var zst=`
|
|
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>LogVar\u5F39\u5E55API</title>
|
|
<link rel="icon" type="image/jpg" href="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg">
|
|
<link rel="apple-touch-icon" href="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg">
|
|
<style>${Mst}</style>
|
|
<style>${Wst}</style>
|
|
<style>${$st}</style>
|
|
<style>${Fst}</style>
|
|
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<!-- \u8FDB\u5EA6\u6761 -->
|
|
<div class="progress-container" id="progress-container">
|
|
<div class="progress-bar" id="progress-bar"></div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="header-left">
|
|
<div class="logo-title-container">
|
|
<div class="logo"><img src="https://i.mji.rip/2025/09/27/eedc7b701c0fa5c1f7c175b22f441ad9.jpeg" width="500"/></div>
|
|
<h1>LogVar\u5F39\u5E55API</h1>
|
|
</div>
|
|
<div class="version-info">
|
|
<span class="version-badge">\u5F53\u524D\u7248\u672C: <span id="current-version">v${O.version}</span></span>
|
|
<span class="update-badge" id="update-badge">
|
|
\u6700\u65B0\u7248\u672C: <span id="latest-version">\u52A0\u8F7D\u4E2D...</span>
|
|
</span>
|
|
<span class="api-endpoint-badge">
|
|
API\u7AEF\u70B9: <span id="api-endpoint" title="\u70B9\u51FB\u590D\u5236API\u7AEF\u70B9" style="cursor: pointer; color: var(--success-color); font-weight: bold;" onclick="copyApiEndpoint()">\u52A0\u8F7D\u4E2D...</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="nav-buttons">
|
|
<button class="nav-btn active" onclick="switchSection('preview', event)">\u914D\u7F6E\u9884\u89C8</button>
|
|
<button class="nav-btn" onclick="switchSection('logs', event)">\u65E5\u5FD7\u67E5\u770B</button>
|
|
<button class="nav-btn" onclick="switchSection('api', event)">\u63A5\u53E3\u8C03\u8BD5</button>
|
|
<button class="nav-btn" onclick="switchSection('push', event)">\u63A8\u9001\u5F39\u5E55</button>
|
|
<button class="nav-btn" onclick="switchSection('request-records', event)">\u8BF7\u6C42\u8BB0\u5F55</button>
|
|
<button class="nav-btn" onclick="switchSection('env', event)" id="env-nav-btn">\u7CFB\u7EDF\u914D\u7F6E</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="content">
|
|
<!-- \u914D\u7F6E\u9884\u89C8 -->
|
|
<div class="section active" id="preview-section">
|
|
<h2>\u914D\u7F6E\u9884\u89C8</h2>
|
|
|
|
<div id="proxy-config-container" style="display: none; background: rgba(255, 204, 0, 0.08); border: 1px solid rgba(255, 204, 0, 0.2); padding: 24px; border-radius: 16px; margin-bottom: 24px;">
|
|
<h3 style="color: #997a00; margin-top: 0; font-size: 16px; margin-bottom: 12px;">\u83B7\u53D6\u914D\u7F6E\u5931\u8D25</h3>
|
|
<p style="color: #997a00; margin-bottom: 16px; font-size: 14px; opacity: 0.9;">
|
|
\u68C0\u6D4B\u5230\u65E0\u6CD5\u83B7\u53D6\u914D\u7F6E\u3002\u5982\u679C\u60A8\u4F7F\u7528\u4E86\u590D\u6742\u7684\u53CD\u5411\u4EE3\u7406\uFF1A\u4F8B\u5982\u5C06 <code>http://{ip}:9321/</code> \u4EE3\u7406\u5230\u4E86 <code>http://{ip}:9321/danmu_api/</code>\uFF0C\u8BF7\u5728\u6B64\u5904\u624B\u52A8\u8F93\u5165\u5B8C\u6574\u7684\u53CD\u4EE3\u540E\u94FE\u63A5\uFF08\u4E0D\u5305\u542BTOKEN\u548CADMIN_TOKEN\u7684\uFF09
|
|
</p>
|
|
<div style="display: flex; gap: 10px; flex-wrap: wrap;">
|
|
<input type="text" id="custom-base-url" placeholder="\u4F8B\u5982: http://192.168.8.1:2333/danmu_api/ (\u7559\u7A7A\u4FDD\u5B58\u5373\u6062\u590D\u9ED8\u8BA4)" style="flex: 1; min-width: 200px; padding: 12px; border: 1px solid rgba(0,0,0,0.1); border-radius: 12px;">
|
|
<button class="btn btn-primary" onclick="saveBaseUrl()">\u4FDD\u5B58\u5E76\u5237\u65B0</button>
|
|
</div>
|
|
<p style="color: var(--text-secondary); font-size: 12px; margin-top: 10px; opacity: 0.8;">* \u8BBE\u7F6E\u5C06\u4FDD\u5B58\u5728\u6D4F\u89C8\u5668\u672C\u5730\u5B58\u50A8\u4E2D\uFF0C\u6E05\u9664\u7F51\u9875\u7684\u2018\u672C\u5730\u5B58\u50A8\u7A7A\u95F4\u2019\u6216\u8005\u8F93\u5165\u6846\u4E2D\u7559\u7A7A\u5E76\u4FDD\u5B58\u53EF\u6062\u590D\u9ED8\u8BA4</p>
|
|
</div>
|
|
|
|
<div class="env-categories">
|
|
<button class="category-btn active" onclick="switchPreviewCategory('api', event)">API\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('source', event)">\u6E90\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('match', event)">\u5339\u914D\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('danmu', event)">\u5F39\u5E55\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('cache', event)">\u7F13\u5B58\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchPreviewCategory('system', event)">\u7CFB\u7EDF\u914D\u7F6E</button>
|
|
</div>
|
|
|
|
<p style="color: var(--text-secondary); margin-bottom: 20px; font-size: 14px;">\u5F53\u524D\u751F\u6548\u7684\u73AF\u5883\u53D8\u91CF\u914D\u7F6E</p>
|
|
<div class="preview-area" id="preview-area"></div>
|
|
</div>
|
|
|
|
<!-- \u65E5\u5FD7\u67E5\u770B -->
|
|
<div class="section" id="logs-section">
|
|
<h2>\u65E5\u5FD7\u67E5\u770B</h2>
|
|
<div class="log-controls">
|
|
<div>
|
|
<button class="btn btn-primary" onclick="refreshLogs()">\u5237\u65B0\u65E5\u5FD7</button>
|
|
<button class="btn btn-danger" onclick="clearLogs()">\u6E05\u7406\u65E5\u5FD7</button>
|
|
</div>
|
|
<span style="color: var(--text-secondary); font-size: 13px;">\u5B9E\u65F6\u65E5\u5FD7\u76D1\u63A7</span>
|
|
</div>
|
|
<div class="log-container" id="log-container"></div>
|
|
</div>
|
|
|
|
<!-- \u63A5\u53E3\u8C03\u8BD5 -->
|
|
<div class="section" id="api-section">
|
|
<h2>\u63A5\u53E3\u8C03\u8BD5</h2>
|
|
<div class="api-top-tabs">
|
|
<button class="api-top-tab active" onclick="switchApiTopTab('debug', event)">\u63A5\u53E3\u8C03\u8BD5</button>
|
|
<button class="api-top-tab" onclick="switchApiTopTab('danmu-test', event)">\u5F39\u5E55\u6D4B\u8BD5</button>
|
|
</div>
|
|
|
|
<div class="api-tab-content active" id="api-debug-content">
|
|
<div class="api-selector">
|
|
<div class="form-group">
|
|
<label>\u9009\u62E9\u63A5\u53E3</label>
|
|
<select id="api-select" onchange="loadApiParams()">
|
|
<option value="">-- \u8BF7\u9009\u62E9\u63A5\u53E3 --</option>
|
|
<option value="searchAnime">\u641C\u7D22\u52A8\u6F2B - /api/v2/search/anime</option>
|
|
<option value="searchEpisodes">\u641C\u7D22\u5267\u96C6 - /api/v2/search/episodes</option>
|
|
<option value="matchAnime">\u5339\u914D\u52A8\u6F2B - /api/v2/match</option>
|
|
<option value="getBangumi">\u83B7\u53D6\u756A\u5267\u8BE6\u60C5 - /api/v2/bangumi/:animeId</option>
|
|
<option value="getComment">\u83B7\u53D6\u5F39\u5E55 - /api/v2/comment/:commentId</option>
|
|
<option value="getSegmentComment">\u83B7\u53D6\u5206\u7247\u5F39\u5E55 - /api/v2/segmentcomment</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="api-params" id="api-params" style="display: none;">
|
|
<h3 style="margin-bottom: 15px;">\u63A5\u53E3\u53C2\u6570</h3>
|
|
<div id="params-form"></div>
|
|
<button class="btn btn-success" onclick="testApi()">\u53D1\u9001\u8BF7\u6C42</button>
|
|
</div>
|
|
<div id="api-response-container" style="display: none;">
|
|
<h3 style="margin: 20px 0 10px;">\u54CD\u5E94\u7ED3\u679C</h3>
|
|
<div class="api-response" id="api-response"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="api-tab-content" id="danmu-test-content">
|
|
<div class="danmu-test-tabs">
|
|
<button class="danmu-test-tab active" onclick="switchDanmuTestTab('auto', event)">\u81EA\u52A8\u5339\u914D\u6D4B\u8BD5</button>
|
|
<button class="danmu-test-tab" onclick="switchDanmuTestTab('manual', event)">\u624B\u52A8\u5339\u914D\u6D4B\u8BD5</button>
|
|
</div>
|
|
|
|
<div class="danmu-test-panel active" id="auto-match-panel">
|
|
<p style="color: #666; margin-bottom: 15px;">\u6A21\u62DF\u64AD\u653E\u5668\u81EA\u52A8\u5339\u914D\u6D41\u7A0B\uFF1A\u8F93\u5165\u6587\u4EF6\u540D \u2192 \u5339\u914D\u5267\u96C6 \u2192 \u83B7\u53D6\u5F39\u5E55</p>
|
|
<div class="form-group" style="margin-bottom: 15px;">
|
|
<label>\u6587\u4EF6\u540D</label>
|
|
<div style="display:flex;gap:10px;margin-top:5px;">
|
|
<input type="text" id="auto-match-filename" placeholder="\u793A\u4F8B: \u751F\u4E07\u7269 S02E08, \u65E0\u5FE7\u6E21.S02E08.2160p.WEB-DL" style="flex:1;">
|
|
<button class="btn btn-success" id="auto-match-btn" onclick="autoMatchTest()">\u5F00\u59CB\u5339\u914D</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="danmu-test-panel" id="manual-match-panel">
|
|
<p style="color: #666; margin-bottom: 15px;">\u6A21\u62DF\u64AD\u653E\u5668\u624B\u52A8\u641C\u7D22\u6D41\u7A0B\uFF1A\u641C\u7D22\u52A8\u6F2B \u2192 \u9009\u62E9\u756A\u5267 \u2192 \u9009\u62E9\u5267\u96C6 \u2192 \u83B7\u53D6\u5F39\u5E55</p>
|
|
<div class="form-group" style="margin-bottom: 15px;">
|
|
<label>\u641C\u7D22\u5173\u952E\u5B57</label>
|
|
<div style="display:flex;gap:10px;margin-top:5px;">
|
|
<input type="text" id="manual-search-keyword" placeholder="\u8BF7\u8F93\u5165\u52A8\u6F2B\u540D\u79F0" style="flex:1;">
|
|
<button class="btn btn-primary" id="manual-search-btn" onclick="manualSearchAnime()">\u641C\u7D22</button>
|
|
</div>
|
|
</div>
|
|
<div id="manual-anime-list" style="display:none;"></div>
|
|
<div id="manual-episode-list" style="display:none;"></div>
|
|
</div>
|
|
|
|
<div id="danmu-result-area" style="display:none;"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u63A8\u9001\u5F39\u5E55 -->
|
|
<div class="section" id="push-section">
|
|
<h2>\u63A8\u9001\u5F39\u5E55</h2>
|
|
<p style="color: var(--text-secondary); margin-bottom: 24px; font-size: 13px;">\u652F\u6301OK\u5F71\u89C6\u7B49\u64AD\u653E\u5668\uFF0C\u4E24\u7AEF\u9700\u8981\u5728\u540C\u4E00\u5C40\u57DF\u7F51\u6216\u4F7F\u7528\u516C\u7F51ip\uFF0C\u63A8\u9001\u5730\u5740\u683C\u5F0F\u5982 http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=</p>
|
|
<div class="push-controls" style="margin-bottom: 24px;">
|
|
<div class="form-group" style="margin-bottom: 20px;">
|
|
<label>\u63A8\u9001\u5730\u5740</label>
|
|
<input type="text" id="push-url" placeholder="\u8BF7\u8F93\u5165\u63A8\u9001\u5730\u5740\uFF0C\u4F8B\u5982: http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=">
|
|
</div>
|
|
<div class="form-group" style="margin-bottom: 20px;">
|
|
<label>\u641C\u7D22\u5173\u952E\u5B57</label>
|
|
<div style="margin-top: 8px; display: flex; gap: 10px;">
|
|
<input type="text" id="push-search-keyword" placeholder="\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57" style="flex: 1;">
|
|
<button class="btn btn-primary" onclick="searchAnimeForPush()" style="width: auto; padding: 0 24px;">\u641C\u7D22</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="push-anime-list" class="anime-list" style="display: none;"></div>
|
|
<div id="push-episode-list" class="episode-list" style="display: none; margin-top: 24px;"></div>
|
|
</div>
|
|
|
|
<!-- \u8BF7\u6C42\u8BB0\u5F55 -->
|
|
<div class="section" id="request-records-section">
|
|
<h2>\u8BF7\u6C42\u8BB0\u5F55</h2>
|
|
<div class="log-controls">
|
|
<div>
|
|
<button class="btn btn-primary" id="refresh-request-records">\u{1F504} \u5237\u65B0\u8BB0\u5F55</button>
|
|
<span id="total-requests-today" style="color: #ff5722; margin-left: 15px; vertical-align: middle; font-size: 1.2em; font-weight: bold;"></span>
|
|
</div>
|
|
<span style="color: #666;">\u4E91\u670D\u52A1\u90E8\u7F72\u9700\u8981\u914D\u7F6Eredis</span>
|
|
</div>
|
|
<div class="request-records-container" id="request-records-list"></div>
|
|
</div>
|
|
|
|
<!-- \u7CFB\u7EDF\u914D\u7F6E -->
|
|
<div class="section" id="env-section">
|
|
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px;">
|
|
<div>
|
|
<h2 style="margin: 0;">\u73AF\u5883\u53D8\u91CF\u914D\u7F6E</h2>
|
|
<p style="margin: 8px 0 0 0; color: var(--text-secondary); font-size: 13px;">vercel/netlify/edgeone\u5E73\u53F0\u4FEE\u6539\u53D8\u91CF\u540E\u9700\u8981\u91CD\u65B0\u90E8\u7F72</p>
|
|
</div>
|
|
<div style="display: flex; gap: 12px; flex-wrap: wrap;">
|
|
<button class="btn btn-danger" onclick="showClearCacheModal()" title="\u6E05\u7406\u7CFB\u7EDF\u7F13\u5B58">
|
|
\u6E05\u7406\u7F13\u5B58
|
|
</button>
|
|
<button class="btn btn-success" onclick="showDeploySystemModal()" title="\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF">
|
|
\u91CD\u65B0\u90E8\u7F72
|
|
</button>
|
|
</div>
|
|
|
|
<!-- \u6E05\u7406\u7F13\u5B58\u786E\u8BA4\u6A21\u6001\u6846 -->
|
|
<div class="modal" id="clear-cache-modal">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h3>\u786E\u8BA4\u6E05\u7406\u7F13\u5B58</h3>
|
|
<button class="close-btn" onclick="hideClearCacheModal()">×</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p style="margin-bottom: 20px;">\u786E\u5B9A\u8981\u6E05\u7406\u6240\u6709\u7F13\u5B58\u5417\uFF1F\u8FD9\u5C06\u6E05\u9664\uFF1A</p>
|
|
<ul class="confirmation-list">
|
|
<li>\u52A8\u6F2B\u641C\u7D22\u7F13\u5B58 (animes)</li>
|
|
<li>\u5267\u96C6ID\u7F13\u5B58 (episodeIds)</li>
|
|
<li>\u5267\u96C6\u7F16\u53F7\u7F13\u5B58 (episodeNum)</li>
|
|
<li>\u6700\u540E\u9009\u62E9\u6620\u5C04\u7F13\u5B58 (lastSelectMap)</li>
|
|
<li>\u52A8\u753B\u5143\u6570\u636E\u7F13\u5B58 (Bangumi Data)</li>
|
|
<li>\u641C\u7D22\u7ED3\u679C\u7F13\u5B58</li>
|
|
<li>\u5F39\u5E55\u5185\u5BB9\u7F13\u5B58</li>
|
|
<li>\u8BF7\u6C42\u5386\u53F2\u8BB0\u5F55</li>
|
|
</ul>
|
|
<p style="color: var(--text-secondary); margin-top: 20px; font-size: 13px;">\u6E05\u7406\u540E\u53EF\u80FD\u9700\u8981\u91CD\u65B0\u767B\u5F55</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-success" onclick="confirmClearCache()">\u786E\u8BA4\u6E05\u7406</button>
|
|
<button class="btn btn-danger" onclick="hideClearCacheModal()">\u53D6\u6D88</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u91CD\u65B0\u90E8\u7F72\u786E\u8BA4\u6A21\u6001\u6846 -->
|
|
<div class="modal" id="deploy-system-modal">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h3>\u786E\u8BA4\u91CD\u65B0\u90E8\u7F72</h3>
|
|
<button class="close-btn" onclick="hideDeploySystemModal()">×</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p style="margin-bottom: 20px;">\u786E\u5B9A\u8981\u91CD\u65B0\u90E8\u7F72\u7CFB\u7EDF\u5417\uFF1F</p>
|
|
<div class="warning-box" style="background: rgba(255, 204, 0, 0.08); border-left: 4px solid #FFCC00;">
|
|
<p style="margin: 0; font-weight: bold;">\u90E8\u7F72\u8FC7\u7A0B\u4E2D\uFF1A</p>
|
|
<ul class="confirmation-list">
|
|
<li>\u7CFB\u7EDF\u5C06\u77ED\u6682\u4E0D\u53EF\u7528</li>
|
|
<li>\u6240\u6709\u914D\u7F6E\u5C06\u91CD\u65B0\u52A0\u8F7D</li>
|
|
<li>\u670D\u52A1\u5C06\u81EA\u52A8\u91CD\u542F</li>
|
|
</ul>
|
|
<p style="margin-top: 10px; font-size: 13px;">\u9884\u8BA1\u8017\u65F6\uFF1A30-90\u79D2</p>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-success" onclick="confirmDeploySystem()">\u786E\u8BA4\u90E8\u7F72</button>
|
|
<button class="btn btn-danger" onclick="hideDeploySystemModal()">\u53D6\u6D88</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="env-categories">
|
|
<button class="category-btn active" onclick="switchCategory('api', event)">API\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('source', event)">\u6E90\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('match', event)">\u5339\u914D\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('danmu', event)">\u5F39\u5E55\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('cache', event)">\u7F13\u5B58\u914D\u7F6E</button>
|
|
<button class="category-btn" onclick="switchCategory('system', event)">\u7CFB\u7EDF\u914D\u7F6E</button>
|
|
</div>
|
|
|
|
<div class="env-list" id="env-list"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u52A0\u8F7D\u906E\u7F69\u5C42 -->
|
|
<div class="loading-overlay" id="loading-overlay">
|
|
<div class="loading-content">
|
|
<div class="loading-spinner"></div>
|
|
<div class="loading-text" id="loading-text">\u6B63\u5728\u5904\u7406...</div>
|
|
<div class="loading-detail" id="loading-detail">\u8BF7\u7A0D\u5019</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u7F16\u8F91\u6A21\u6001\u6846 -->
|
|
<div class="modal" id="env-modal">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h3 id="modal-title">\u7F16\u8F91\u914D\u7F6E\u9879</h3>
|
|
<button class="close-btn" onclick="closeModal()">×</button>
|
|
</div>
|
|
<form id="env-form">
|
|
<div class="form-group">
|
|
<label>\u53D8\u91CF\u7C7B\u522B</label>
|
|
<select id="env-category" disabled>
|
|
<option value="api">API\u914D\u7F6E</option>
|
|
<option value="source">\u6E90\u914D\u7F6E</option>
|
|
<option value="match">\u5339\u914D\u914D\u7F6E</option>
|
|
<option value="danmu">\u5F39\u5E55\u914D\u7F6E</option>
|
|
<option value="cache">\u7F13\u5B58\u914D\u7F6E</option>
|
|
<option value="system">\u7CFB\u7EDF\u914D\u7F6E</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>\u53D8\u91CF\u540D</label>
|
|
<input type="text" id="env-key" placeholder="\u4F8B\u5982: DB_HOST" required readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>\u503C\u7C7B\u578B</label>
|
|
<select id="value-type" onchange="renderValueInput()" disabled>
|
|
<option value="text">\u6587\u672C</option>
|
|
<option value="boolean">\u5E03\u5C14\u503C</option>
|
|
<option value="number">\u6570\u5B57 (1-100)</option>
|
|
<option value="select">\u5355\u9009</option>
|
|
<option value="multi-select">\u591A\u9009 (\u53EF\u6392\u5E8F)</option>
|
|
<option value="map">\u6620\u5C04</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group" id="value-input-container">
|
|
<!-- \u52A8\u6001\u6E32\u67D3\u7684\u503C\u8F93\u5165\u63A7\u4EF6 -->
|
|
</div>
|
|
<div class="form-group">
|
|
<label>\u63CF\u8FF0</label>
|
|
<textarea id="env-description" placeholder="\u914D\u7F6E\u9879\u8BF4\u660E" readonly></textarea>
|
|
</div>
|
|
<div style="display: flex; gap: 10px;">
|
|
<button type="submit" class="btn btn-success" style="flex: 1;">\u4FDD\u5B58</button>
|
|
<button type="button" class="btn btn-danger" onclick="closeModal()" style="flex: 1;">\u53D6\u6D88</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- \u9879\u76EE\u58F0\u660E -->
|
|
<footer class="footer">
|
|
<p class="footer-text">
|
|
\u4E00\u4E2A\u4EBA\u4EBA\u90FD\u80FD\u90E8\u7F72\u7684\u57FA\u4E8E js \u7684\u5F39\u5E55 API \u670D\u52A1\u5668\uFF0C\u652F\u6301\u7231\u4F18\u817E\u8292\u54D4\u54AA\u4EBA\u97E9\u5DF4\u72D0\u4E50\u897F\u57CB\u5E06\u5F39\u5E55\u76F4\u63A5\u83B7\u53D6\uFF0C\u517C\u5BB9\u5F39\u5F39play\u7684\u641C\u7D22\u3001\u8BE6\u60C5\u67E5\u8BE2\u548C\u5F39\u5E55\u83B7\u53D6\u63A5\u53E3\u89C4\u8303\uFF0C\u5E76\u63D0\u4F9B\u65E5\u5FD7\u8BB0\u5F55\uFF0C\u652F\u6301vercel/netlify/edgeone/cloudflare/docker/hf\u7B49\u90E8\u7F72\u65B9\u5F0F\uFF0C\u4E0D\u7528\u63D0\u524D\u4E0B\u8F7D\u5F39\u5E55\uFF0C\u6CA1\u6709nas\u6216\u5C0F\u9E21\u4E5F\u80FD\u4E00\u952E\u90E8\u7F72\u3002
|
|
</p>
|
|
<p class="footer-text">\u672C\u9879\u76EE\u4EC5\u4E3A\u4E2A\u4EBA\u5B66\u4E60\u7231\u597D\u5F00\u53D1\uFF0C\u4EE3\u7801\u5F00\u6E90\u3002\u5982\u6709\u4EFB\u4F55\u4FB5\u6743\u884C\u4E3A\uFF0C\u8BF7\u8054\u7CFB\u672C\u4EBA\u5220\u9664\u3002</p>
|
|
<p class="footer-text">\u672C\u9879\u76EE\u5B8C\u5168\u514D\u8D39\uFF0C\u4E0D\u6536\u53D6\u4EFB\u4F55\u8D39\u7528\uFF0C\u8BF7\u52FF\u4E0A\u5F53\u53D7\u9A97\u3002</p>
|
|
<p class="footer-links">
|
|
<a href="https://t.me/ddjdd_bot" target="_blank" class="footer-link tg-link">
|
|
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
|
|
TG MSG ROBOT
|
|
</a>
|
|
<a href="https://t.me/logvar_danmu_group" target="_blank" class="footer-link tg-link">
|
|
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
|
|
TG GROUP
|
|
</a>
|
|
<a href="https://t.me/logvar_danmu_channel" target="_blank" class="footer-link tg-link">
|
|
<svg class="tg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>
|
|
TG CHANNEL
|
|
</a>
|
|
<a href="https://github.com/huangxd-/danmu_api" target="_blank" class="footer-link github-link">
|
|
<img src="https://upload.wikimedia.org/wikipedia/commons/9/91/Octicons-mark-github.svg" alt="GitHub" class="github-icon">
|
|
GitHub Repo
|
|
</a>
|
|
</p>
|
|
<p>\u6709\u95EE\u9898\u63D0issue\u6216\u79C1\u4FE1\u673A\u5668\u4EBA\u90FDok</p>
|
|
</footer>
|
|
|
|
<script>
|
|
${Ust}
|
|
${qst}
|
|
${jst}
|
|
${Hst}
|
|
${Qst}
|
|
${Gst}
|
|
${Vst}
|
|
</script>
|
|
</body>
|
|
</html>
|
|
`;St();var ya=class{static async getHandler(e){switch(e?.toLowerCase()){case"cloudflare":let{CloudflareHandler:r}=await Promise.resolve().then(()=>(Yst(),Kst));return new r;case"vercel":let{VercelHandler:n}=await Promise.resolve().then(()=>(Xst(),Jst));return new n;case"netlify":let{NetlifyHandler:s}=await Promise.resolve().then(()=>(eit(),Zst));return new s;case"edgeone":let{EdgeoneHandler:i}=await Promise.resolve().then(()=>(rit(),tit));return new i;case"huggingface":let{HuggingfaceHandler:a}=await Promise.resolve().then(()=>(sit(),nit));return new a;case"node":let{NodeHandler:o}=await import(["./node-handler",".js"].join(""));return new o;default:let{NodeHandler:c}=await import(["./node-handler",".js"].join(""));return new c}}static getSupportedPlatforms(){return["cloudflare","vercel","netlify","edgeone","huggingface","node"]}};function Yie(){return new Response(zst.replace("globals.currentToken",O.currentToken),{headers:{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}})}function y4(t=!1){let e=O.envVarConfig,r={api:[],source:[],match:[],danmu:[],cache:[],system:[]},n={...O.accessedEnvVars,localCacheValid:O.localCacheValid,redisValid:O.redisValid,localRedisValid:O.localRedisValid,aiValid:O.aiValid,deployPlatform:O.deployPlatform};Object.keys(n).forEach(o=>{let c=e[o]||{category:"system",type:"text",description:"\u672A\u5206\u7C7B\u914D\u7F6E\u9879"},u=c.category||"system";r[u].push({key:o,value:n[o].value||n[o],type:n[o].type||c.type||"text",description:c.description||"\u65E0\u63CF\u8FF0",options:n[o].options||c.options})});let i=(O.adminToken||"").trim()!=="",a={...O.originalEnvVars};return(!t||O.currentToken!==O.adminToken)&&Object.keys(a).forEach(o=>{(O.currentToken!==O.token||o!=="TOKEN")&&o in n&&/^\*+$/.test(n[o])&&(a[o]=n[o])}),Be({message:"Welcome to the LogVar Danmu API server",version:O.VERSION,envs:n,categorizedEnvVars:r,envVarConfig:e,originalEnvVars:a,hasAdminToken:i,repository:"https://github.com/huangxd-/danmu_api.git",description:"\u4E00\u4E2A\u4EBA\u4EBA\u90FD\u80FD\u90E8\u7F72\u7684\u57FA\u4E8E js \u7684\u5F39\u5E55 API \u670D\u52A1\u5668\uFF0C\u652F\u6301\u7231\u4F18\u817E\u8292\u54D4\u54AA\u4EBA\u97E9\u5DF4\u72D0\u4E50\u897F\u57CB\u5E06\u5F39\u5E55\u76F4\u63A5\u83B7\u53D6\uFF0C\u517C\u5BB9\u5F39\u5F39play\u7684\u641C\u7D22\u3001\u8BE6\u60C5\u67E5\u8BE2\u548C\u5F39\u5E55\u83B7\u53D6\u63A5\u53E3\u89C4\u8303\uFF0C\u5E76\u63D0\u4F9B\u65E5\u5FD7\u8BB0\u5F55\uFF0C\u652F\u6301vercel/netlify/edgeone/cloudflare/docker/hf\u7B49\u90E8\u7F72\u65B9\u5F0F\uFF0C\u4E0D\u7528\u63D0\u524D\u4E0B\u8F7D\u5F39\u5E55\uFF0C\u6CA1\u6709nas\u6216\u5C0F\u9E21\u4E5F\u80FD\u4E00\u952E\u90E8\u7F72\u3002",notice:"\u672C\u9879\u76EE\u4EC5\u4E3A\u4E2A\u4EBA\u5B66\u4E60\u7231\u597D\u5F00\u53D1\uFF0C\u4EE3\u7801\u5F00\u6E90\u3002\u5982\u6709\u4EFB\u4F55\u4FB5\u6743\u884C\u4E3A\uFF0C\u8BF7\u8054\u7CFB\u672C\u4EBA\u5220\u9664\u3002\u6709\u95EE\u9898\u63D0issue\u6216\u79C1\u4FE1\u673A\u5668\u4EBA\u90FDok\uFF0CTG MSG ROBOT: [https://t.me/ddjdd_bot]; \u63A8\u8350\u52A0\u4E92\u52A9\u7FA4\u54A8\u8BE2\uFF0CTG GROUP: [https://t.me/logvar_danmu_group]; \u5173\u6CE8\u9891\u9053\u83B7\u53D6\u6700\u65B0\u66F4\u65B0\u5185\u5BB9\uFF0CTG CHANNEL: [https://t.me/logvar_danmu_channel]\u3002"})}async function iit(){try{let t=O.deployPlatform;if(_("info",`[system] [Server] Deployment request received for platform: ${t}`),t.toLowerCase()==="node")return _("info","[system] [Server] Node/Docker deployment - no redeployment needed, config changes take effect automatically"),Be({success:!0,message:"Node/Docker deployment - configuration changes take effect automatically"},200);let e=await ya.getHandler(t);return e?await e.deploy()?(_("info",`[system] [Server] Deployment triggered successfully for platform: ${t}`),Be({success:!0,message:"Deployment triggered successfully"},200)):(_("error",`[system] [Server] Failed to trigger deployment for platform: ${t}`),Be({success:!1,message:"Failed to trigger deployment"},500)):(_("error",`[system] [Server] No handler found for platform: ${t}`),Be({success:!1,message:`No handler found for platform: ${t}`},400))}catch(t){return _("error",`[system] [Server] Deployment error: ${t.message}`),Be({success:!1,message:`Deployment failed: ${t.message}`},500)}}function ait(){let t=O.logBuffer.map(r=>`[${r.timestamp}] ${r.level}: ${N5e(r.message)}`).join(`
|
|
`),e=t;return O.currentToken!==O.adminToken&&(e=t.replace(/(client\s+ip:\s*)([^\n\r]*)/gi,(r,n,s)=>{let i=s.replace(/[^.\s\n\r]/g,"*");return n+i})),new Response(e,{headers:{"Content-Type":"text/plain; charset=utf-8"}})}function oit(){return O.logBuffer=[],Be({success:!0,message:"Logs cleared"},200)}async function cit(){try{O.animes=[],O.episodeIds=[],O.episodeNum=10001,O.lastSelectMap=new Map,O.reqRecords=[],O.todayReqNum=0,O.searchCache=new Map,O.commentCache=new Map,O.requestHistory=new Map;try{nWe(!0),O.useBangumiData&&JL(O.deployPlatform,!1).catch(t=>{_("warn",`[system] [Server] Bangumi-Data background reload failed: ${t.message}`)})}catch(t){_("error",`[system] [Server] Failed to clear Bangumi-Data cache: ${t.message}`)}_("info","[system] [Server] Memory cache cleared successfully");try{if(O.localCacheValid){let{updateLocalCaches:t}=await Promise.resolve().then(()=>($n(),V8e));await t(),_("info","[system] [Server] Local cache cleared successfully")}}catch(t){_("warn",`[system] [Server] Local cache may not be available: ${t.message}`)}try{if(O.redisValid){let{updateRedisCaches:t}=await Promise.resolve().then(()=>(kL(),L8e));await t(),_("info","[system] [Server] Redis cache cleared successfully")}}catch(t){_("warn",`[system] [Server] Redis may not be available: ${t.message}`)}try{if(O.localRedisValid){let{updateLocalRedisCaches:t}=await Promise.resolve().then(()=>(UT(),JB));await t(),_("info","[system] [Server] LocalRedis cache cleared successfully")}}catch(t){_("warn",`[system] [Server] LocalRedis may not be available: ${t.message}`)}return _("info","[system] [Server] All caches cleared successfully"),Be({success:!0,message:"Cache cleared successfully",clearedItems:{animes:0,episodeIds:0,episodeNum:10001,lastSelectMap:0,searchCache:0,commentCache:0,requestHistory:0,reqRecords:0,todayReqNum:0}},200)}catch(t){return _("error",`[system] [Server] Cache clear failed: ${t.message}`),Be({success:!1,message:`Cache clear failed: ${t.message}`},500)}}function nhr(t){let e=t.indexOf("?");if(e===-1)return t;let r=t.slice(0,e),s=t.slice(e+1).replace(/([^&=]+)=([^&]*)/g,(i,a)=>`${a}=***`);return`${r}?${s}`}function Kie(t){if(t==null)return t;if(Array.isArray(t))return t.map(Kie);if(typeof t=="object"){let e={};for(let r of Object.keys(t))e[r]=Kie(t[r]);return e}return"***"}function uit(){let t=[...O.reqRecords].reverse(),e=O.todayReqNum||0;return O.currentToken!==O.adminToken&&(t=t.map(r=>{let n={...r};return n.clientIp&&(n.clientIp=n.clientIp.replace(/[^.]/g,"*")),typeof n.interface=="string"&&(n.interface=nhr(n.interface)),n.params!=null&&(n.params=Kie(n.params)),n})),Be({records:t,todayReqNum:e},200)}function lit(){try{let t=[...O.animes||[]].reverse(),e=new Map;t.forEach(n=>{n?.source&&n?.animeId&&e.set(`${n.source}_${n.animeId}`,n)});let r=t.filter(n=>!n.isHiddenChild).map(n=>{let s=typeof n.toJson=="function"?n.toJson():{...n},{links:i=[],mergedChildren:a=[],...o}=s;return{...o,episodes:o.episodeCount||o.episodes||1,links:i,mergedChildren:a.map(c=>{let u=e.get(`${c.source}_${c.animeId}`),l=typeof u?.toJson=="function"?u.toJson():u,d=l?.links?.length>0?l.links:c.links||[];return{...c,episodes:c.episodeCount||c.episodes||1,links:d}})}});return Be({success:!0,data:r},200)}catch(t){return _("error",`[system] [Server] Fetch cache animes failed: ${t.message}`),Be({success:!1,message:`\u83B7\u53D6\u7F13\u5B58\u5931\u8D25: ${t.message}`},500)}}ar();St();Pt();async function dit(t){try{let{key:e,value:r}=await t.json();if(!e)return Be({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let n=O.deployPlatform;return await(await ya.getHandler(n)).setEnv(e,r)?Be({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u8BBE\u7F6E\u6210\u529F`}):Be({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u8BBE\u7F6E\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Be({success:!1,message:`\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function fit(t){try{let{key:e,value:r}=await t.json();if(!e)return Be({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let n=O.deployPlatform;return await(await ya.getHandler(n)).addEnv(e,r)?Be({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u6DFB\u52A0\u6210\u529F`}):Be({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u6DFB\u52A0\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u6DFB\u52A0\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Be({success:!1,message:`\u6DFB\u52A0\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function pit(t){try{let{key:e}=await t.json();if(!e)return Be({success:!1,message:"\u7F3A\u5C11\u73AF\u5883\u53D8\u91CF\u540D\u79F0"},400);let r=O.deployPlatform;return await(await ya.getHandler(r)).delEnv(e)?Be({success:!0,message:`\u73AF\u5883\u53D8\u91CF ${e} \u5220\u9664\u6210\u529F`}):Be({success:!1,message:`\u73AF\u5883\u53D8\u91CF ${e} \u5220\u9664\u5931\u8D25`},500)}catch(e){return _("error","[system] [Server] \u5220\u9664\u73AF\u5883\u53D8\u91CF\u5931\u8D25:",e),Be({success:!1,message:`\u5220\u9664\u73AF\u5883\u53D8\u91CF\u5931\u8D25: ${e.message}`},500)}}async function mit(t){try{let e=await t.json(),r=e.aiBaseUrl||O.aiBaseUrl||"https://api.openai.com/v1",n=e.aiModel||O.aiModel||"gpt-4o",s=e.aiApiKey||O.aiApiKey;if(!s)return Be({success:!1,ok:!1,message:"AI_API_KEY \u672A\u914D\u7F6E"},400);let a=await new ff({baseURL:r,model:n,apiKey:s,systemPrompt:"\u56DE\u7B54\u5C3D\u91CF\u7B80\u6D01"}).verify();return a.ok?Be({success:!0,ok:!0,message:"AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u6210\u529F"}):Be({success:!1,ok:!1,message:`AI \u670D\u52A1\u8FDE\u901A\u6027\u6D4B\u8BD5\u5931\u8D25: ${a.error}`},200)}catch(e){return _("error","[system] [Server] AI \u8FDE\u901A\u6027\u9A8C\u8BC1\u5931\u8D25:",e),Be({success:!1,ok:!1,message:`AI \u8FDE\u901A\u6027\u9A8C\u8BC1\u5931\u8D25: ${e.message}`},500)}}hs();ar();St();Pt();var hit=new Map;function git(){try{if(O&&typeof O.bilibliCookie=="string"&&O.bilibliCookie)return O.bilibliCookie}catch{}try{if(O&&O.env&&typeof O.env.BILIBILI_COOKIE=="string"&&O.env.BILIBILI_COOKIE)return O.env.BILIBILI_COOKIE}catch{}return typeof process<"u"&&process.env&&typeof process.env.BILIBILI_COOKIE=="string"&&process.env.BILIBILI_COOKIE?process.env.BILIBILI_COOKIE:""}function shr(t){try{let e=t.match(/SESSDATA=([^;]+)/);if(!e)return Math.floor(Date.now()/1e3)+30*24*60*60;let r=e[1],n=decodeURIComponent(r),s=Math.floor(Date.now()/1e3),i=(n.match(/\d{10,}/g)||[]).map(c=>Number(c)).filter(c=>Number.isFinite(c)),a=10*365*24*60*60,o=i.filter(c=>c>s&&c<s+a);if(o.length>0)return Math.max(...o);if(n.includes(",")){let c=n.split(",");if(c.length>1){let u=parseInt(c[1],10);if(!isNaN(u)&&u>s)return u}}}catch{}return Math.floor(Date.now()/1e3)+30*24*60*60}async function Ait(t){if(!t)return{isValid:!1,error:"\u7F3A\u5C11Cookie"};if(!t.includes("SESSDATA")||!t.includes("bili_jct"))return{isValid:!1,error:"Cookie\u683C\u5F0F\u4E0D\u5B8C\u6574\uFF08\u9700\u8981\u5305\u542B SESSDATA \u548C bili_jct\uFF09"};try{let e=await fetch("https://api.bilibili.com/x/web-interface/nav",{method:"GET",headers:{Cookie:t,"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/",Origin:"https://www.bilibili.com",Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"}});if(!e.ok){let n=await e.text().catch(()=>"");return{isValid:!1,error:`\u9A8C\u8BC1\u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${e.status}${n?" - "+n.slice(0,80):""}`}}let r;try{r=await e.json()}catch(n){let s=await e.text().catch(()=>"");return{isValid:!1,error:`\u9A8C\u8BC1\u54CD\u5E94\u89E3\u6790\u5931\u8D25\uFF1A${s?s.slice(0,80):n.message}`}}return r?.code===0&&r?.data?.isLogin?{isValid:!0,data:{uname:r.data.uname,mid:r.data.mid,face:r.data.face}}:r?.code===0&&r?.data&&r.data.isLogin===!1?{isValid:!1,error:"\u8D26\u53F7\u672A\u767B\u5F55\uFF08Cookie \u5DF2\u5931\u6548\uFF09"}:{isValid:!1,error:r?.message||"Cookie\u65E0\u6548\u6216\u5DF2\u8FC7\u671F"}}catch(e){return{isValid:!1,error:"\u9A8C\u8BC1\u8BF7\u6C42\u5931\u8D25: "+e.message}}}async function yit(t,e="saved"){if(!t)return{success:!0,data:{isValid:!1,checked:e,error:"\u672A\u914D\u7F6ECookie"}};let r=await Ait(t);return r.isValid?{success:!0,data:{isValid:!0,checked:e,uname:r.data?.uname||"\u672A\u77E5\u7528\u6237",expiresAt:shr(t)}}:{success:!0,data:{isValid:!1,checked:e,error:r.error||"Cookie\u65E0\u6548\u6216\u5DF2\u5931\u6548"}}}async function xit(){try{let t=git(),e=await yit(t,"saved");return Be(e)}catch(t){return Be({success:!1,message:t.message},500)}}async function bit(t){try{let e={};try{e=await t.json()}catch{e={}}let r=typeof e.cookie=="string"?e.cookie.trim():"",n=!r||/^\*+$/.test(r),s=n?git():r,a=await yit(s,n?"saved":"input");return Be(a)}catch(e){return Be({success:!1,message:e.message},500)}}async function Eit(){try{let e=await(await fetch("https://passport.bilibili.com/x/passport-login/web/qrcode/generate",{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/"}})).json();return e.code!==0?Be({success:!1,message:e.message||"\u751F\u6210\u4E8C\u7EF4\u7801\u5931\u8D25"},500):(hit.set(e.data.qrcode_key,{createTime:Date.now(),status:"generated"}),Be({success:!0,data:e.data}))}catch(t){return Be({success:!1,message:t.message},500)}}function ihr(t){let e=new Map,r=[];try{if(t?.headers&&typeof t.headers.getSetCookie=="function")r=t.headers.getSetCookie()||[];else{let u=t?.headers?.get?.("set-cookie");u&&(r=[u])}}catch{r=[]}for(let u of r){if(!u||typeof u!="string")continue;let l=u.split(";")[0],d=l.indexOf("=");if(d<=0)continue;let f=l.slice(0,d).trim(),p=l.slice(d+1).trim();f&&e.set(f,p)}let n=e.get("SESSDATA"),s=e.get("bili_jct"),i=e.get("DedeUserID"),a=e.get("DedeUserID__ckMd5"),o=e.get("sid");if(!n)return null;let c=[`SESSDATA=${n}`];return s&&c.push(`bili_jct=${s}`),i&&c.push(`DedeUserID=${i}`),a&&c.push(`DedeUserID__ckMd5=${a}`),o&&c.push(`sid=${o}`),c.join("; ")}async function _it(t){let e=null;try{let r=await t.json();if(e=r.qrcodeKey||r.qrcode_key,!e)return Be({success:!1,message:"\u7F3A\u5C11qrcodeKey\u53C2\u6570"},400);let n=await fetch(`https://passport.bilibili.com/x/passport-login/web/qrcode/poll?qrcode_key=${e}`,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Referer:"https://www.bilibili.com/"}}),s=await n.json(),i=null;if(s?.data?.code===0&&(i=ihr(n),!i&&s?.data?.url))try{let o=new URL(s.data.url),c=new URLSearchParams(o.search),u=decodeURIComponent(c.get("SESSDATA")||""),l=decodeURIComponent(c.get("bili_jct")||""),d=decodeURIComponent(c.get("DedeUserID")||"");if(u){let f=[`SESSDATA=${u}`];l&&f.push(`bili_jct=${l}`),d&&f.push(`DedeUserID=${d}`),i=f.join("; ")}}catch{}let a={success:!0,data:{code:s?.data?.code,message:s?.data?.message||""}};return i&&(a.data.cookie=i),Be(a)}catch(r){return Be({success:!1,message:r.message},500)}finally{e&&hit.delete(e)}}async function Sit(t){try{let r=((await t.json()).cookie||"").trim();if(!r)return Be({success:!1,message:"\u7F3A\u5C11cookie\u53C2\u6570"},400);if(!r.includes("SESSDATA")||!r.includes("bili_jct"))return Be({success:!1,message:"Cookie\u683C\u5F0F\u4E0D\u6B63\u786E"},400);let n=await Ait(r);if(!n.isValid)return Be({success:!1,message:"Cookie\u9A8C\u8BC1\u5931\u8D25: "+(n.error||"\u65E0\u6548")},400);let s=O.deployPlatform,i=await ya.getHandler(s);return i?await i.setEnv("BILIBILI_COOKIE",r)?Be({success:!0,data:{uname:n.data?.uname},message:"Cookie\u4FDD\u5B58\u6210\u529F"}):Be({success:!1,message:"Cookie\u4FDD\u5B58\u5931\u8D25\uFF1A\u73AF\u5883\u53D8\u91CF\u5199\u5165\u5931\u8D25"},500):Be({success:!1,message:`Cookie\u4FDD\u5B58\u5931\u8D25\uFF1A\u4E0D\u652F\u6301\u7684\u90E8\u7F72\u5E73\u53F0 ${s||"unknown"}`},400)}catch(e){return Be({success:!1,message:e.message},500)}}var gt;async function Cit(t,e,r,n,s){gt=Kh.init(e);let i=new URL(t.url),a=i.pathname,o=t.method,c=a.includes("/search")||a.includes("/match")||a.includes("/danmaku");if(gt.useBangumiData&&await JL(r,c,s),gt.deployPlatform=r,r==="node"){await cK(a,r);let{judgeLocalRedisValid:h}=await Promise.resolve().then(()=>(UT(),JB));await h(a)}if(await Vz(a),!gt.aiValid&>.aiBaseUrl&>.aiModel&>.aiApiKey&&a!=="/favicon.ico"&&a!=="/robots.txt"&&(await new ff({baseURL:gt.aiBaseUrl,model:gt.aiModel,apiKey:gt.aiApiKey,systemPrompt:"\u56DE\u7B54\u5C3D\u91CF\u7B80\u6D01"}).verify()).ok&&(gt.aiValid=!0),_("info",`[system] [Server] request url: ${JSON.stringify(i)}`),_("info",`[system] [Server] request path: ${a}`),_("info",`[system] [Server] client ip: ${n}`),gt.ipBlacklist?.length&>.ipBlacklist.some(A=>ahr(A,n)))return _("warn",`[Utils] [IP Blacklist] Blocked request from IP: ${n}`),Be({errorCode:403,success:!1,errorMessage:"Forbidden"},403);let u=a.split("/").filter(Boolean),l=["api","v1","v2","search","match","bangumi","comment","danmaku"],d=u[0]||"",f=gt.token==="87654321",p=d===gt.token||d===gt.adminToken;if(gt.currentToken=p?d:f&&(d==="87654321"||l.includes(d))?d==="87654321"?d:"87654321":"",r==="node"&>.localCacheValid&&a!=="/favicon.ico"&&a!=="/robots.txt"&&await oK(),gt.redisValid&&a!=="/favicon.ico"&&a!=="/robots.txt"&&await Gz(),r==="node"&>.localRedisValid&&a!=="/favicon.ico"&&a!=="/robots.txt"){let{getLocalRedisCaches:h}=await Promise.resolve().then(()=>(UT(),JB));await h()}if(["/api/v2/search/anime","/api/v2/match","/api/v2/search/episodes","/api/v2/fongmi/danmaku","/danmaku","/api/v2/bangumi","/api/v2/comment","/api/v2/segmentcomment"].some(h=>a.includes(h))){let h=gt.reqRecords.length>0?gt.reqRecords[gt.reqRecords.length-1]:null,A=new Date().toDateString();if(h){let v=new Date(h.timestamp).toDateString();_("info",`[system] [Server] currentDate: ${A}`),_("info",`[system] [Server] lastDate: ${v}`),v!==A?gt.todayReqNum=1:gt.todayReqNum++}else gt.todayReqNum=1;let g=t.url,b=g.indexOf("/api/v2");b!==-1&&(g=g.substring(b));let y=null;if(o==="POST"||o==="PUT"||o==="PATCH")try{let v=t.clone();if((v.headers.get("content-type")||"").includes("application/json"))y=await v.json();else{let R=await v.text();R&&(y=JSON.parse(R))}}catch{y=null}let x={interface:g,params:y,timestamp:new Date().toISOString(),method:o,clientIp:n};gt.reqRecords.push(x),gt.reqRecords.length>gt.MAX_RECORDS&&(gt.reqRecords=gt.reqRecords.slice(-gt.MAX_RECORDS))}if(a==="/"&&o==="GET")return Yie();if(a==="/favicon.ico"||a==="/robots.txt"||o==="OPTIONS")return new Response(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, User-Agent"}});if(gt.token==="87654321"){if(u.length>0){if(u[0]==="87654321"||u[0]===gt.adminToken)a="/"+u.slice(1).join("/");else if(!l.includes(u[0]))return a==="/api/config"&&o==="GET"?y4(!1):(_("error",`[system] [Server] Invalid token in path: ${a}`),Be({errorCode:401,success:!1,errorMessage:"Unauthorized"},401))}}else{if(u.length<1||u[0]!==gt.token&&u[0]!==gt.adminToken)return a==="/api/config"&&o==="GET"?y4(!1):(_("error",`[system] [Server] Invalid or missing token in path: ${a}`),Be({errorCode:401,success:!1,errorMessage:"Unauthorized"},401));a="/"+u.slice(1).join("/")}if(a.endsWith("/danmaku/api/v2/fongmi/danmaku")&&(_("info",`[Path Fix] Collapsed nested danmaku path: "${a}" -> "/danmaku"`),a="/danmaku"),a==="/api/config"&&o==="GET")return y4(!0);if(a==="/api/reqrecords"&&o==="GET")return uit();if(_("info",`[system] [Server] ${a}`),a!=="/"&&a!=="/danmaku"&&a!=="/api/logs"&&!a.startsWith("/api/env")&&!a.startsWith("/api/deploy")&&!a.startsWith("/api/cache")&&!a.startsWith("/api/cookie")&&!a.startsWith("/api/config")&&!a.startsWith("/api/ai")){_("info",`[Path Check] Starting path normalization for: "${a}"`);let h=a;for(a=a.replace(/\/+/g,"/");a.startsWith("/api/v2/api/v2/");)_("info","[Path Check] Found redundant /api/v2 prefix. Cleaning..."),a=a.substring(7);a!==h?_("info",`[Path Check] Path after cleanup: "${a}"`):_("info","[Path Check] Path after cleanup: No cleanup needed.");let A=a;!a.startsWith("/api/v2")&&a!=="/"&&!a.startsWith("/api/logs")&&!a.startsWith("/api/env")&&!a.startsWith("/api/cache")&&!a.startsWith("/api/cookie")&&!a.startsWith("/api/config")&&!a.startsWith("/api/ai")&&(a.startsWith("/v2/")||a==="/v2"?(_("info","[Path Check] Path is missing /api prefix. Adding /api..."),a="/api"+a):a.startsWith("/api/")||a==="/api"?(_("info","[Path Check] Path is missing /v2 prefix. Adding /v2..."),a="/api/v2"+a.substring(4)):(_("info","[Path Check] Path is missing /api/v2 prefix. Adding /api/v2..."),a="/api/v2"+(a.startsWith("/")?a:"/"+a))),a===A&&_("info","[Path Check] Prefix Check: No prefix addition needed."),_("info",`[Path Check] Final normalized path: "${a}"`)}if(a==="/"&&o==="GET")return Yie();if(a==="/api/v2/search/anime"&&o==="GET")return sE(i);if(a==="/api/v2/search/episodes"&&o==="GET")return Pst(i);if(a==="/api/v2/fongmi/danmaku"&&(o==="GET"||o==="POST"))return jie(i,t);if(a==="/danmaku"&&(o==="GET"||o==="POST"))return jie(i,t);if(a==="/api/v2/match"&&o==="POST")return Ost(i,t,n);if(a.startsWith("/api/v2/bangumi/")&&o==="GET")return $ie(a);if((a.startsWith("/api/v2/comment")||a.startsWith("/api/v2/extcomment"))&&o==="GET"){let h=i.searchParams.get("format"),A=i.searchParams.get("url"),g=i.searchParams.get("segmentflag"),b=i.searchParams.get("duration"),y=g==="true"||g==="1",x=b==="true"||b==="1";if(A){if(df(A)!==null)return _("info",`[Utils] [Rate Limit] Cache hit for URL: ${A}, skipping rate limit check`),qie(A,h,y,x);if(gt.rateLimitMaxRequests>0){let w=Date.now(),N=60*1e3;jL(w),gt.requestHistory.has(n)||gt.requestHistory.set(n,[]);let L=gt.requestHistory.get(n).filter(M=>w-M<=N);if(L.length>=gt.rateLimitMaxRequests)return _("warn",`[Utils] [Rate Limit] IP ${n} exceeded rate limit (${L.length}/${gt.rateLimitMaxRequests} requests in 1 minute)`),Be({errorCode:429,success:!1,errorMessage:"Too many requests, please try again later"},429);L.push(w),gt.requestHistory.set(n,L),_("info",`[Utils] [Rate Limit] IP ${n} request count: ${L.length}/${gt.rateLimitMaxRequests}`)}return qie(A,h,y,x)}if(!a.startsWith("/api/v2/comment/"))return _("error","[system] [Server] Missing commentId or url parameter"),Be({errorCode:400,success:!1,errorMessage:"Missing commentId or url parameter"},400);let v=parseInt(a.split("/").pop()),C=BC(v);if(C&&df(C)!==null)return _("info",`[Utils] [Rate Limit] Cache hit for URL: ${C}, skipping rate limit check`),Uie(a,h,y,n,x);if(gt.rateLimitMaxRequests>0){let R=Date.now(),w=60*1e3;jL(R),gt.requestHistory.has(n)||gt.requestHistory.set(n,[]);let P=gt.requestHistory.get(n).filter(L=>R-L<=w);if(P.length>=gt.rateLimitMaxRequests)return _("warn",`[Utils] [Rate Limit] IP ${n} exceeded rate limit (${P.length}/${gt.rateLimitMaxRequests} requests in 1 minute)`),Be({errorCode:429,success:!1,errorMessage:"Too many requests, please try again later"},429);P.push(R),gt.requestHistory.set(n,P),_("info",`[Utils] [Rate Limit] IP ${n} request count: ${P.length}/${gt.rateLimitMaxRequests}`)}return Uie(a,h,y,n,x)}if(a.startsWith("/api/v2/segmentcomment")&&o==="POST")try{let h=i.searchParams.get("format"),A=await t.json(),g;try{g=pb.fromJson(A)}catch{return _("error","[system] [Server] Invalid JSON in request body for segment"),Be({errorCode:400,success:!1,errorMessage:"Invalid JSON in request body"},400)}return Dst(g,h)}catch(h){return _("error",`[system] [Server] Error processing segmentcomment request: ${h.message}`),Be({errorCode:500,success:!1,errorMessage:"Internal server error"},500)}return a==="/api/logs"&&o==="GET"?ait():a==="/api/logs/clear"&&o==="POST"?oit():a==="/api/env/set"&&o==="POST"?dit(t):a==="/api/env/add"&&o==="POST"?fit(t):a==="/api/env/del"&&o==="POST"?pit(t):a==="/api/deploy"&&o==="POST"?iit():a==="/api/cache/animes"&&o==="GET"?lit():a==="/api/cache/clear"&&o==="POST"?cit():a==="/api/cookie/status"&&o==="GET"?xit():a==="/api/cookie/qr/generate"&&o==="POST"?Eit():a==="/api/cookie/qr/check"&&o==="POST"?_it(t):a==="/api/cookie/verify"&&o==="POST"?bit(t):a==="/api/cookie/save"&&o==="POST"?Sit(t):a==="/api/ai/verify"&&o==="POST"?mit(t):Be({message:"Not found"},404)}function ahr(t,e){return!t||!e||e==="unknown"?!1:t.type==="exact"?t.value===e:t.type==="regex"?t.value.test(e):t.type==="cidr"?ohr(e,t.ip,t.prefix):!1}function ohr(t,e,r){if(t.includes(":")||e.includes(":")){let o=vit(t),c=vit(e);if(!o||!c||r<0||r>128)return!1;let u=Math.floor(r/8),l=r%8;for(let d=0;d<u;d++)if(o[d]!==c[d])return!1;if(l>0){let d=255<<8-l&255;return(o[u]&d)===(c[u]&d)}return!0}let s=Jie(t),i=Jie(e);if(s===null||i===null||r<0||r>32)return!1;let a=r===0?0:4294967295<<32-r>>>0;return(s&a)===(i&a)}function Jie(t){let e=t.split(".");if(e.length!==4)return null;let r=e.map(n=>Number(n));return r.some(n=>Number.isNaN(n)||n<0||n>255)?null:(r[0]<<24>>>0)+(r[1]<<16)+(r[2]<<8)+r[3]}function vit(t){if(!t||typeof t!="string"||!t.includes(":"))return null;let r=t.trim().split("::");if(r.length>2)return null;let n=r[0]?r[0].split(":").filter(Boolean):[],s=r[1]?r[1].split(":").filter(Boolean):[],i=c=>{if(c.length===0)return c;let u=c[c.length-1];if(!u.includes("."))return c;let l=Jie(u);if(l===null)return null;let d=(l>>>16&65535).toString(16),f=(l&65535).toString(16);return[...c.slice(0,-1),d,f]};if(n=i(n),s=i(s),!n||!s)return null;if(r.length===1){if(n.length!==8)return null}else{let c=n.length+s.length;if(c>8)return null;let u=8-c;s=new Array(u).fill("0").concat(s)}let a=n.concat(s);if(a.length!==8)return null;let o=[];for(let c of a){if(!/^[0-9a-fA-F]{1,4}$/.test(c))return null;let u=parseInt(c,16);o.push(u>>8&255,u&255)}return o}var wu=null,oE=9321,x4=0,Ug=null,Iit=!1,aE={...process.env,ADMIN_TOKEN:"douer"},b4=!1,gw=null,Rc=null,Tn={overrides:{},deletedKeys:[]};function Ei(...t){}function Aw(...t){}function Nit(){return x4>0}function chr(){try{let byEval=eval("1 + 1")===2,byFunction=Function("return 2 + 2")()===4;return byEval&&byFunction}catch{return!1}}function Zie(){return{overrides:{},deletedKeys:[]}}function Oit(){let t=String(process.env.DANMU_ENV_STORE_FILE||"").trim();if(t)return t;let e=String(process.env.NODE_PATH||"").trim()||process.cwd();return sae.default.resolve(e,"danmu_env_overrides.json")}function uhr(t){let e=Zie();if(!t||typeof t!="object")return e;let r=Array.isArray(t.deletedKeys)?t.deletedKeys.map(s=>String(s||"").trim()).filter(s=>s):[];e.deletedKeys=Array.from(new Set(r));let n=new Set(e.deletedKeys);return t.overrides&&typeof t.overrides=="object"&&!Array.isArray(t.overrides)&&Object.entries(t.overrides).forEach(([s,i])=>{let a=String(s||"").trim();!a||n.has(a)||(e.overrides[a]=i==null?"":String(i))}),e}function lhr(){Rc=Oit();try{if(!yw.default.existsSync(Rc)){Tn=Zie(),Ei("loadPersistedEnvStore()",{loaded:!1,reason:"store file not found",path:Rc});return}let t=yw.default.readFileSync(Rc,"utf8"),e=t?JSON.parse(t):{};Tn=uhr(e),Ei("loadPersistedEnvStore()",{loaded:!0,path:Rc,overrides:Object.keys(Tn.overrides).length,deleted:Tn.deletedKeys.length})}catch(t){Tn=Zie(),Aw("loadPersistedEnvStore() failed",{message:t?.message||String(t),stack:t?.stack||"",path:Rc})}}function dhr(){try{Rc||(Rc=Oit());let t=sae.default.dirname(Rc);yw.default.mkdirSync(t,{recursive:!0});let e={version:1,updatedAt:new Date().toISOString(),overrides:Tn.overrides,deletedKeys:Tn.deletedKeys};return yw.default.writeFileSync(Rc,JSON.stringify(e,null,2),"utf8"),!0}catch(t){return Aw("savePersistedEnvStore() failed",{message:t?.message||String(t),stack:t?.stack||"",path:Rc||""}),!1}}function eae(){let t={...process.env};return Object.entries(Tn.overrides).forEach(([e,r])=>{t[e]=r}),Tn.deletedKeys.forEach(e=>{delete t[e]}),fhr(t)}function fhr(t){let e=t||{},r=String(e.TOKEN||"").trim();e.TOKEN=r||"87654321";let n=String(e.SOURCE_ORDER||"").trim();e.SOURCE_ORDER=n||"tencent,youku,iqiyi,imgo,bilibili,dandan,renren,hanjutv";let s=String(e.STRICT_TITLE_MATCH||"").trim();e.STRICT_TITLE_MATCH=s||"true";let i=String(e.RATE_LIMIT_MAX_REQUESTS||"").trim();e.RATE_LIMIT_MAX_REQUESTS=i||"0";let a=String(e.ADMIN_TOKEN||"").trim();return e.ADMIN_TOKEN=a||"douer",e}function phr(t){return t==null?null:Array.isArray(t)?t.map(e=>String(e)).join(","):typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):null}function mhr(t,e){if(!t||typeof t!="object"||!t.originalEnvVars||typeof t.originalEnvVars!="object")return t;let r=t.originalEnvVars,n=t.envs&&typeof t.envs=="object"?t.envs:{};return Object.keys(r).forEach(s=>{let i=r[s];if(!(i==null||String(i).trim()===""))return;if(s==="TOKEN"){r[s]=String(e.TOKEN||"87654321");return}if(s==="ADMIN_TOKEN"){r[s]=String(e.ADMIN_TOKEN||"");return}let o=e[s];if(o!=null&&String(o).trim()!==""){r[s]=String(o);return}if(!Object.prototype.hasOwnProperty.call(n,s))return;let c=n[s];if(typeof c=="string"&&/^\*+$/.test(c))return;let u=phr(c);u!==null&&u!==""&&(r[s]=u)}),t}function Xie(t,e,r=!1){let n=String(t||"").trim();if(!n)return!1;let s=Object.prototype.hasOwnProperty.call(process.env,n),i=process.env[n],a=Object.prototype.hasOwnProperty.call(Tn.overrides,n),o=Tn.overrides[n],c=Tn.deletedKeys.includes(n);if(r)delete process.env[n],delete Tn.overrides[n],Tn.deletedKeys.includes(n)||Tn.deletedKeys.push(n);else{let u=e==null?"":String(e);process.env[n]=u,Tn.overrides[n]=u,Tn.deletedKeys=Tn.deletedKeys.filter(l=>l!==n)}return dhr()?(aE=eae(),!0):(a?Tn.overrides[n]=o:delete Tn.overrides[n],c&&!Tn.deletedKeys.includes(n)&&Tn.deletedKeys.push(n),c||(Tn.deletedKeys=Tn.deletedKeys.filter(u=>u!==n)),s?process.env[n]=i:delete process.env[n],aE=eae(),!1)}var hhr={async setEnv(t,e){return Xie(t,e,!1)?(Ei("memoryNodeEnvHandler.setEnv()",{key:String(t||"")}),!0):!1},async addEnv(t,e){return Xie(t,e,!1)?(Ei("memoryNodeEnvHandler.addEnv()",{key:String(t||"")}),!0):!1},async delEnv(t){return Xie(t,"",!0)?(Ei("memoryNodeEnvHandler.delEnv()",{key:String(t||"")}),!0):!1}};function ghr(){b4||(gw=ya.getHandler,ya.getHandler=async function(e){let r=String(e||"").toLowerCase();return!r||r==="node"?hhr:gw.call(ya,e)},b4=!0,Ei("installNodeEnvHotReloadPatch()",{patched:!0}))}function Ahr(){!b4||!gw||(ya.getHandler=gw,gw=null,b4=!1,Ei("uninstallNodeEnvHotReloadPatch()",{patched:!1}))}function yhr(t){return t==null?Buffer.alloc(0):Buffer.isBuffer(t)?t:t instanceof ArrayBuffer?Buffer.from(t):ArrayBuffer.isView(t)?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(String(t),"utf8")}async function xhr(t){if(!t||typeof t.getReader!="function")return Buffer.from(String(t??""),"utf8");let e=t.getReader(),r=[];try{for(;;){let{done:n,value:s}=await e.read();if(n)break;if(s!=null){if(Buffer.isBuffer(s)){r.push(s);continue}if(s instanceof Uint8Array){r.push(Buffer.from(s));continue}if(s instanceof ArrayBuffer){r.push(Buffer.from(s));continue}if(ArrayBuffer.isView(s)){r.push(Buffer.from(s.buffer,s.byteOffset,s.byteLength));continue}r.push(Buffer.from(String(s),"utf8"))}}}finally{typeof e.releaseLock=="function"&&e.releaseLock()}return r.length?Buffer.concat(r):Buffer.alloc(0)}async function bhr(t){if(t==null)return Buffer.alloc(0);if(Buffer.isBuffer(t))return t;if(t instanceof ArrayBuffer)return Buffer.from(t);if(ArrayBuffer.isView(t))return Buffer.from(t.buffer,t.byteOffset,t.byteLength);if(typeof t=="string")return Buffer.from(t,"utf8");if(typeof Blob=="function"&&t instanceof Blob){let e=await t.arrayBuffer();return Buffer.from(e)}return typeof t.getReader=="function"?xhr(t):Buffer.from(String(t),"utf8")}var xw=class{constructor(e=void 0){if(this._map=new Map,!!e){if(typeof e.forEach=="function"){e.forEach((r,n)=>this.set(n,r));return}if(Array.isArray(e)){e.forEach(([r,n])=>this.set(r,n));return}typeof e=="object"&&Object.entries(e).forEach(([r,n])=>this.set(r,n))}}set(e,r){this._map.set(String(e).toLowerCase(),String(r))}get(e){let r=this._map.get(String(e).toLowerCase());return r===void 0?null:r}has(e){return this._map.has(String(e).toLowerCase())}delete(e){this._map.delete(String(e).toLowerCase())}forEach(e,r=void 0){for(let[n,s]of this._map.entries())e.call(r,s,n,this)}entries(){return this._map.entries()}[Symbol.iterator](){return this._map[Symbol.iterator]()}},tae=class t{constructor(e,r={}){this.url=String(e||""),this.method=String(r.method||"GET").toUpperCase();let n=globalThis.Headers||xw;this.headers=r.headers instanceof n?r.headers:new n(r.headers||{}),this._bodyBuffer=yhr(r.body)}clone(){return new t(this.url,{method:this.method,headers:Object.fromEntries(this.headers.entries()),body:this._bodyBuffer})}async text(){return this._bodyBuffer.toString("utf8")}async json(){let e=await this.text();return e?JSON.parse(e):null}async arrayBuffer(){return this._bodyBuffer.buffer.slice(this._bodyBuffer.byteOffset,this._bodyBuffer.byteOffset+this._bodyBuffer.byteLength)}},rae=class{constructor(e=null,r={}){let n=globalThis.Headers||xw;this.status=Number(r.status||200),this.statusText=String(r.statusText||""),this.headers=r.headers instanceof n?r.headers:new n(r.headers||{}),this.ok=this.status>=200&&this.status<300,this.body=e,this.bodyUsed=!1,this._bodyBuffer=null,this._bodyBufferPromise=null}async _ensureBodyBuffer(){return this._bodyBuffer?this._bodyBuffer:(this._bodyBufferPromise||(this._bodyBufferPromise=bhr(this.body).then(e=>(this._bodyBuffer=e,this.bodyUsed=!0,e))),this._bodyBufferPromise)}async text(){return(await this._ensureBodyBuffer()).toString("utf8")}async json(){let e=await this.text();return e?JSON.parse(e):null}async arrayBuffer(){let e=await this._ensureBodyBuffer();return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}};function Ehr(){Iit||(typeof globalThis.Headers!="function"&&(globalThis.Headers=xw),typeof globalThis.Response!="function"&&(globalThis.Response=rae),typeof globalThis.Request!="function"&&(globalThis.Request=tae),Iit=!0,Ei("installWebApiPolyfills()",{hasFetch:typeof globalThis.fetch=="function",hasRequest:typeof globalThis.Request=="function",hasHeaders:typeof globalThis.Headers=="function",hasResponse:typeof globalThis.Response=="function"}))}async function Tit(t,e={}){let r=await Ae({url:t,method:e.method||"GET",headers:e.headers||{},data:e.body,signal:e.signal,responseType:"arraybuffer",validateStatus:()=>!0,timeout:1e4}),n=Buffer.from(r.data),s={};return Object.entries(r.headers||{}).forEach(([i,a])=>{s[i]=String(a)}),{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText||"",headers:new Headers(s),url:String(t),async text(){return n.toString("utf8")},async json(){return JSON.parse(n.toString("utf8"))},async arrayBuffer(){return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)}}}function _hr(){Ei("installPatches()",{hasFetch:typeof globalThis.fetch=="function"}),Ug=globalThis.fetch,globalThis.fetch=function(e,r){return x4>0?Tit(e,r):typeof Ug=="function"?Ug(e,r):Tit(e,r)}}function nae(){if(Ei("uninstallPatches()",{hasOriginalFetch:!!Ug}),typeof Ug=="function")globalThis.fetch=Ug;else try{delete globalThis.fetch}catch{globalThis.fetch=void 0}Ug=null}function Pit(t=9321){if(oE=t,Ehr(),ghr(),lhr(),aE=eae(),Ei("loadDanmuEnv()",{source:"process.env + persisted store",adminTokenFallback:aE.ADMIN_TOKEN==="douer",persistedEnvStorePath:Rc,persistedOverrides:Object.keys(Tn.overrides).length,persistedDeletedKeys:Tn.deletedKeys.length}),Ei("start()",{port:t,alreadyRunning:!!wu,node:process.version,platform:`${process.platform}/${process.arch}`,v8:process.versions?.v8,dynamicCode:chr()}),!wu){_hr();try{wu=Rit.default.createServer(async(e,r)=>{x4++;let n=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,s=Date.now();Ei(`[${n}] inbound`,{method:e.method,url:e.url,host:e.headers.host,remote:e.socket?.remoteAddress||"unknown"});try{let i=`http://${e.headers.host||`127.0.0.1:${t}`}${e.url}`,a=(()=>{try{return new URL(i).pathname||""}catch{return String(e.url||"")}})(),o=e.method==="GET"&&a.endsWith("/api/config"),c;(e.method==="POST"||e.method==="PUT")&&(c=await new Promise(p=>{let m="";e.on("data",h=>m+=h),e.on("end",()=>p(m))}));let u=new Request(i,{method:e.method,headers:Object.fromEntries(Object.entries(e.headers).map(([p,m])=>[p,String(m)])),body:c||void 0}),l={...aE},d=await Cit(u,l,"node",e.socket?.remoteAddress||"unknown");Ei(`[${n}] worker done`,{status:d.status}),r.statusCode=d.status,d.headers.forEach((p,m)=>{let h=m.toLowerCase();h!=="content-encoding"&&h!=="content-length"&&r.setHeader(m,p)});let f;if(o){let p=await d.text();try{let m=JSON.parse(p),h=mhr(m,l);f=Buffer.from(JSON.stringify(h),"utf8")}catch{f=Buffer.from(p||"","utf8")}}else f=Buffer.from(await d.arrayBuffer());r.setHeader("Content-Length",f.length),r.end(f)}catch(i){Aw(`[${n}] request failed`,{message:i?.message||String(i),stack:i?.stack||""}),r.statusCode=500,r.end("Internal Server Error")}finally{Ei(`[${n}] complete`,{costMs:Date.now()-s}),x4--}}),wu.listen(t,"0.0.0.0",()=>{let e=wu?.address?.();Ei("listen ok",{address:e})}),wu.on("error",e=>{Aw("server error",{message:e?.message||String(e),code:e?.code}),console.warn(`[danmu] \u5185\u7F6E\u5F39\u5E55\u670D\u52A1\u542F\u52A8\u5931\u8D25: ${e.message}`),nae(),wu=null})}catch(e){Aw("start() failed",{message:e?.message||String(e),stack:e?.stack||""}),console.warn(`[danmu] \u5185\u7F6E\u5F39\u5E55\u670D\u52A1\u542F\u52A8\u5931\u8D25: ${e.message}`),nae()}}}function Dit(){Ei("stop()",{hasServer:!!wu,port:oE}),wu&&(wu.close(),wu=null),Ahr(),nae()}function zcn(){return oE}function wit(t){let e=String(t||"").trim().toLowerCase();return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function Shr(t){let e=String(t||"").trim();if(!e)return"";try{return new URL(e).hostname||""}catch{try{return new URL(`http://${e}`).hostname||""}catch{return e.replace(/^\w+:\/\//,"").split("/")[0].split(":")[0].trim()}}}function vhr(t){let e=Shr(t);if(e&&!wit(e))return e;let r=String(D0()||"").trim();return r&&!wit(r)?r:"127.0.0.1"}function Chr(t){let e=Number.parseInt(String(t??""),10);return Number.isFinite(e)&&e>0?e:oE}function iae(t,e=oE){let r=vhr(t),n=Chr(e);return`http://${r}:${n}`}function aae(t,e=oE){let r=iae(t,e),n=String(Ihr()||"").trim();return n?`${r}/${encodeURIComponent(n)}`:r}function Ihr(){return String(aE?.ADMIN_TOKEN||"").trim()||"douer"}function whr(t){return bw.default.enc.Utf8.stringify(bw.default.enc.Base64.parse(t))}function kit(t){return bw.default.enc.Base64.stringify(bw.default.enc.Utf8.parse(t))}function Wit(t){return String(t||"").split(",")[0].trim()}function Lit(t){return Wit(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function Bit(t){let e=String(t||"").trim().toLowerCase().split(":")[0];return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function E4(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=Lit(t?.headers?.["x-forwarded-host"])||Lit(t?.headers?.host),s=Wit(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http",a=s||String(t?.protocol||"").trim()||i;if(n&&!Bit(n))return`${a}://${n}`;let o=String(D0()||"").trim(),c=Number.parseInt(String(t?.server?.address?.()?.port||""),10);return o&&!Bit(o)?Number.isFinite(c)&&c>0?`${a}://${o}:${c}`:`${a}://${o}`:e}async function Rhr(t,e){return{}}async function Nhr(t,e){return{class:[{type_id:"setting",type_name:`${E4(t)}/website`}]}}async function Ohr(t,e){let r=E4(t),n=r+t.server.prefix+"/proxy",s=aae(r);return{page:1,pagecount:1,limit:1,total:1,list:[{vod_id:"openInternalWebsite",vod_name:"\u901A\u7528\u914D\u7F6E",vod_pic:n+"/"+kit(`${r}/website`)},{vod_id:"builtinDanmuApiQr",vod_name:"\u5F39\u5E55\u670D\u52A1",vod_pic:n+"/"+kit(s)}]}}async function Phr(t,e){if(t.body.id==="openInternalWebsite"){let r=E4(t);return await t.server.messageToDart({action:"openInternalWebview",opt:{url:`${r}/website`}}),{list:[{vod_name:"",vod_content:""}]}}if(t.body.id==="builtinDanmuApiQr"){let r=E4(t);return await t.server.messageToDart({action:"openInternalWebview",opt:{url:aae(r)}}),{list:[{vod_name:"",vod_content:""}]}}return{list:[{vod_name:"",vod_content:""}]}}async function Dhr(t,e){let r=t.params.img,n=whr(r),s=await Mit.default.toBuffer(n,{width:120,height:120,margin:15});e.send(s)}var $it={meta:{key:"baseset",name:"\u300C\u8BBE\u300D\u914D\u7F6E",type:3},api:async t=>{t.post("/init",Rhr),t.post("/home",Nhr),t.post("/category",Ohr),t.post("/detail",Phr),t.get("/proxy/:img",Dhr)}};var khr=["https://666.666291.xyz","https://www.muou.asia","https://www.muou.site"],oae=async t=>(await t.db.getObjectDefault("/muou",{}))?.urls||t.config.muou?.urls||khr,Lhr=async(t,e)=>{await t.db.push("/muou/urls",e)},Bhr=async t=>{await t.db.delete("/muou/urls")};async function cae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await oae(e.server)})}),t.put("/urls",async(e,r)=>{await Lhr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Bhr(e.server),r.send({code:0})})}var uae,_4=t=>{if(!uae){let e=Date.now();uae=new Promise(async r=>{let n=await oae(t),s=await Xn(n);console.log("\u6728\u5076\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return uae};async function lae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Mhr(t,e){let r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EAA\u5F55"},{type_id:"29",type_name:"\u7EFC\u827A"},{type_id:"25",type_name:"115"}],n={};return n[1]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u8B66\u532A",v:"\u8B66\u532A"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u52A8\u753B",v:"\u52A8\u753B"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u67AA\u6218",v:"\u67AA\u6218"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u60CA\u609A",v:"\u60CA\u609A"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u6587\u827A",v:"\u6587\u827A"},{n:"\u5FAE\u7535\u5F71",v:"\u5FAE\u7535\u5F71"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u519C\u6751",v:"\u519C\u6751"},{n:"\u513F\u7AE5",v:"\u513F\u7AE5"},{n:"\u7F51\u7EDC\u7535\u5F71",v:"\u7F51\u7EDC\u7535\u5F71"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[2]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u9752\u6625\u5076\u50CF",v:"\u9752\u6625\u5076\u50CF"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u4E61\u6751",v:"\u4E61\u6751"},{n:"\u60C5\u666F",v:"\u60C5\u666F"},{n:"\u5546\u6218",v:"\u5546\u6218"},{n:"\u7F51\u5267",v:"\u7F51\u5267"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u5185\u5730",v:"\u5185\u5730"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65B0\u52A0\u5761",v:"\u65B0\u52A0\u5761"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[3]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[4]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[29]=[{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],n[25]=[{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}]},{key:"by",name:"",init:"time",value:[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}]}],{class:r,filters:n}}async function Whr(t,e){let r=await _4(t.server),n=t.body.id,s=t.body.page,i=t.body.filters||{},a=s||1;a==0&&(a=1);let o=r+"/index.php/vod/show";i.area&&(o+=`/area/${i.area}`),i.by&&(o+=`/by/${i.by}`),i.class&&(o+=`/class/${i.class}`),o+=`/id/${n}/page/${a}`,i.year&&(o+=`/year/${i.year}`),o+=".html";let c=await lae(o,Gr),u=Me(c),l=u("#main .module-item"),d=[];for(var f of l){let h=u(f).find(".module-item-pic a").attr("href"),A=u(f).find(".module-item-pic img").attr("alt"),g=u(f).find(".module-item-pic img").attr("data-src"),b=u(f).find(".module-item-text").text();d.push({vod_id:h,vod_name:A,vod_pic:g,vod_remarks:b})}let m=u("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(a)+1:parseInt(a);return{page:parseInt(a),pagecount:m,limit:72,total:72*m,list:d}}async function $hr(t,e){let r=await _4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await lae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function Fhr(t,e){let r=await _4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await lae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Fit={meta:{key:"muou",name:"\u300C\u76D8\u300D\u6728\u5076",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Mhr),t.post("/category",Whr),t.post("/detail",$hr),t.post("/play",Or),t.post("/search",Fhr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:_4};var Uhr=["http://xiaocge.fun","http://xiaocgege.shop"],dae=async t=>(await t.db.getObjectDefault("/labi",{}))?.urls||t.config.labi?.urls||Uhr,qhr=async(t,e)=>{await t.db.push("/labi/urls",e)},jhr=async t=>{await t.db.delete("/labi/urls")};async function fae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await dae(e.server)})}),t.put("/urls",async(e,r)=>{await qhr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await jhr(e.server),r.send({code:0})})}var pae,S4=t=>{if(!pae){let e=Date.now();pae=new Promise(async r=>{let n=await dae(t),s=await Xn(n);console.log("\u8721\u7B14\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return pae};async function mae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Hhr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"24",type_name:"4K"},{type_id:"29",type_name:"\u81FB\u5F69"},{type_id:"5",type_name:"\u77ED\u5267"}],filters:{}}}async function Qhr(t,e){let r=await S4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await mae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Ghr(t,e){let r=await S4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await mae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function Vhr(t,e){let r=await S4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await mae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Uit={meta:{key:"labi",name:"\u300C\u76D8\u300D\u8721\u7B14",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Hhr),t.post("/category",Qhr),t.post("/detail",Ghr),t.post("/play",Or),t.post("/search",Vhr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:S4};var zhr=["http://shandian.blog","http://sd.sduc.site"],hae=async t=>(await t.db.getObjectDefault("/shandian",{}))?.urls||t.config.shandian?.urls||zhr,Khr=async(t,e)=>{await t.db.push("/shandian/urls",e)},Yhr=async t=>{await t.db.delete("/shandian/urls")};async function gae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await hae(e.server)})}),t.put("/urls",async(e,r)=>{await Khr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Yhr(e.server),r.send({code:0})})}var Aae,v4=t=>{if(!Aae){let e=Date.now();Aae=new Promise(async r=>{let n=await hae(t),s=await Xn(n);console.log("\u95EA\u7535\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Aae};async function yae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Jhr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"30",type_name:"\u77ED\u5267"}],filters:{}}}async function Xhr(t,e){let r=await v4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await yae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Zhr(t,e){let r=await v4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await yae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function egr(t,e){let r=await v4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await yae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var qit={meta:{key:"shandian",name:"\u300C\u76D8\u300D\u95EA\u7535",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Jhr),t.post("/category",Xhr),t.post("/detail",Zhr),t.post("/play",Or),t.post("/search",egr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:v4};var tgr=["https://woog.nxog.eu.org"],xae=async t=>(await t.db.getObjectDefault("/ouge",{}))?.urls||t.config.ouge?.urls||tgr,rgr=async(t,e)=>{await t.db.push("/ouge/urls",e)},ngr=async t=>{await t.db.delete("/ouge/urls")};async function bae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await xae(e.server)})}),t.put("/urls",async(e,r)=>{await rgr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await ngr(e.server),r.send({code:0})})}var Eae,C4=t=>{if(!Eae){let e=Date.now();Eae=new Promise(async r=>{let n=await xae(t),s=await Xn(n);console.log("\u6B27\u54E5\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Eae};async function _ae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function sgr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"21",type_name:"\u7EFC\u5408"}],filters:{}}}async function igr(t,e){let r=await C4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await _ae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function agr(t,e){let r=await C4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await _ae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function ogr(t,e){let r=await C4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await _ae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var jit={meta:{key:"ouge",name:"\u300C\u76D8\u300D\u6B27\u6B4C",type:3},api:async t=>{t.post("/init",qr),t.post("/home",sgr),t.post("/category",igr),t.post("/detail",agr),t.post("/play",Or),t.post("/search",ogr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:C4};var cgr=["https://www.wexwp.cc","https://www.erxiaozhan.top","https://www.2xiaopan.top","https://www.2xiaozhan.top"],Sae=async t=>(await t.db.getObjectDefault("/erxiao",{}))?.urls||t.config.erxiao?.urls||cgr,ugr=async(t,e)=>{await t.db.push("/erxiao/urls",e)},lgr=async t=>{await t.db.delete("/erxiao/urls")};async function vae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await Sae(e.server)})}),t.put("/urls",async(e,r)=>{await ugr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await lgr(e.server),r.send({code:0})})}var Cae,I4=t=>{if(!Cae){let e=Date.now();Cae=new Promise(async r=>{let n=await Sae(t),s=await Xn(n);console.log("\u4E8C\u5C0F\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Cae};async function Iae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function dgr(t,e){return{class:[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"22",type_name:"\u771F\u5F69"},{type_id:"21",type_name:"\u7EFC\u827A"}],filters:{}}}async function fgr(t,e){let r=await I4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await Iae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function pgr(t,e){let r=await I4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await Iae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function mgr(t,e){let r=await I4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await Iae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Hit={meta:{key:"erxiao",name:"\u300C\u76D8\u300D\u4E8C\u5C0F",type:3},api:async t=>{t.post("/init",qr),t.post("/home",dgr),t.post("/category",fgr),t.post("/detail",pgr),t.post("/play",Or),t.post("/search",mgr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:I4};var hgr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",ggr="https://img.icons8.com/color/48/video.png",Agr="https://img.icons8.com/color/48/file.png",ygr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],xgr=[".srt",".ass",".scc",".stl",".ttml"];async function bgr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Qit(t){return t?.dir===!0||t?.dir===1||t?.type==="dir"||t?.type==="folder"}function Git(t){let e=String(t?.file_name||"").toLowerCase();return t?.obj_category==="video"||ygr.some(r=>e.endsWith(r))}function Egr(t){let e=String(t?.file_name||"").toLowerCase();return xgr.some(r=>e.endsWith(r))}function _gr(t,e){return`folder@@@${t}@@@${e}`}function Sgr(t){let e=["own","",t.fid,"",t.subtitle?t.subtitle.fid:"",t.subtitle&&t.subtitle.share_fid_token||""];return`file@@@${t.file_name}@@@${e.join("*")}`}async function vgr(t,e,r=1){let n=[],s=[],i=await mLe(t,e||"0",r);i.forEach(o=>{let c=Qit(o),u=o.file===!0||o.file===1||o.type==="file";if(!c){if(u&&Git(o)){if(Number(o.size||0)<1024*1024*5)return;n.push(o);return}u&&Egr(o)&&s.push(o)}}),s.length>0&&n.forEach(o=>{let c=ml({name:o.file_name},s.map(u=>({...u,name:u.file_name})));c.bestMatch&&(o.subtitle=c.bestMatch.target)});let a=[];return i.forEach(o=>{let c=Qit(o);if(!c&&!Git(o))return;let u=String(o.file_name||"\u672A\u77E5").trim()||"\u672A\u77E5",l=Agr;c?l=hgr:l=ggr,a.push({vod_id:c?_gr(u,o.fid):Sgr(o),vod_name:u,vod_pic:l,vod_remarks:c?"\u76EE\u5F55":ji(Number(o.size||0)),...c?{cate:{id:o.fid,name:u}}:{},ratio:1.33})}),{rawCount:i.length,list:a}}async function Cgr(t,e){return await kv(t),{}}async function Igr(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684\u5938\u514B\u7F51\u76D8"}]}}async function Tgr(t,e){let r=String(t.body.id||"0");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"0");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await vgr(t,r==="0"?"0":r,n);return{page:n,pagecount:s>=200?n+1:n,limit:200,total:9999,list:i}}async function wgr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await bgr("quark","\u5938\u514B");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function Rgr(t,e){return await vk(t,e)}async function Ngr(t,e){return{page:1,pagecount:1,list:[]}}async function Ogr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Vit={meta:{key:"myquark",name:"\u300C\u76D8\u300D\u5938\u514B",type:3},api:async t=>{t.post("/init",Cgr),t.post("/home",Igr),t.post("/category",Tgr),t.post("/detail",wgr),t.post("/play",Rgr),t.post("/search",Ngr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Sk),t.get("/test",Ogr)}};var Pgr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",Dgr="https://img.icons8.com/color/48/video.png",kgr="https://img.icons8.com/color/48/file.png",Lgr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],Bgr=[".srt",".ass",".scc",".stl",".ttml"];async function Mgr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Wgr(t){return t?.type==="folder"}function zit(t){let e=`.${String(t?.file_extension||"").toLowerCase()}`;return t?.category==="video"||Lgr.includes(e)}function $gr(t,e){return`folder@@@${t}@@@${e}`}function Fgr(t){return`file@@@${t.name}@@@own*${t.file_id}*${t.subtitle?t.subtitle.file_id:""}`}async function Ugr(t,e){let r=[],n=[],s=[],i="";do{let o=await eLe(t,e||"root",i);s.push(...Array.isArray(o.items)?o.items:[]),i=String(o.next_marker||"")}while(i);s.forEach(o=>{if(o.type==="file"&&zit(o)){if(Number(o.size||0)<1024*1024*5)return;r.push(o);return}let c=String(o.file_extension||"").toLowerCase();o.type==="file"&&Bgr.some(u=>c.endsWith(u))&&n.push(o)}),n.length>0&&r.forEach(o=>{let c=ml(o,n);c.bestMatch&&(o.subtitle=c.bestMatch.target)});let a=[];return s.forEach(o=>{let c=Wgr(o);if(!c&&!zit(o))return;let u=String(o.name||"\u672A\u77E5").trim()||"\u672A\u77E5",l=kgr;c?l=Pgr:l=Dgr,a.push({vod_id:c?$gr(u,o.file_id):Fgr(o),vod_name:u,vod_pic:l,vod_remarks:c?"\u76EE\u5F55":ji(Number(o.size||0)),...c?{cate:{id:o.file_id,name:u}}:{},ratio:1.33})}),a}async function qgr(t,e){return await Dv(t),{}}async function jgr(t,e){return{class:[{type_id:"root",type_name:"\u6211\u7684\u963F\u91CC\u7F51\u76D8"}]}}async function Hgr(t,e){let r=String(t.body.id||"root");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"root");let n=Number.parseInt(t.body.page,10)||1,s=await Ugr(t,r||"root");return{page:n,pagecount:1,limit:s.length,total:s.length,list:s}}async function Qgr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await Mgr("ali","\u963F\u91CC");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function Ggr(t,e){return await xk(t,e)}async function Vgr(t,e){return{page:1,pagecount:1,list:[]}}async function zgr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Kit={meta:{key:"myali",name:"\u300C\u76D8\u300D\u963F\u91CC",type:3},api:async t=>{t.post("/init",qgr),t.post("/home",jgr),t.post("/category",Hgr),t.post("/detail",Qgr),t.post("/play",Ggr),t.post("/search",Vgr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",yk),t.get("/test",zgr)}};var Jit="https://img.icons8.com/fluency/96/folder-invoices--v1.png",Kgr="https://img.icons8.com/color/48/video.png",Ygr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"],T4=100,Jgr=5,Xgr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36";async function Yit(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Zgr(t){if(Number(t?.mediaType)===3)return!0;let e=String(t?.name||t?.fileName||"").toLowerCase();return Ygr.some(r=>e.endsWith(r))}function Tae(t){return String(t?.name||t?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5"}function wae(t){return String(t?.id||t?.fileId||t?.folderId||t?.fileID||t?.fId||"")}function eAr(t){return Number(t?.size||t?.fileSize||0)}function tAr(t,e){return`folder@@@${t}@@@${e}`}function rAr(t){return`file@@@${Tae(t)}@@@own*${wae(t)}`}function nAr(t){return String(t?.vod_id||"").startsWith("file@@@")}function sAr(t){let e=String(t?.vod_id||"").split("@@@"),r=e[1]||t?.vod_name||"\u89C6\u9891\u64AD\u653E",n=e[2]||"";return n?`${r}$${n}`:""}function Rae(t,e=4,r=4){let n=String(t||"").trim();return n?n.length<=e+r+1?n:`${n.slice(0,e)}...${n.slice(-r)}`:""}function iAr(t){return Rae(t,36,10)}async function Xit(t,e="-11",r=1){await rb(t);let n=await rf.listOwnFiles(e,r,T4),s=[];return(n.folderList||[]).forEach(i=>{let a=wae(i);if(!a)return;let o=Tae(i);s.push({vod_id:tAr(o,a),vod_name:o,vod_pic:Jit,vod_remarks:"\u76EE\u5F55",cate:{id:a,name:o},ratio:1.33})}),(n.fileList||[]).forEach(i=>{if(!wae(i)||!Zgr(i))return;let a=Tae(i);s.push({vod_id:rAr(i),vod_name:a,vod_pic:Kgr,vod_remarks:ji(eAr(i)),ratio:1.33})}),{rawCount:Number(n.count||0),list:s}}async function aAr(t,e){return await rb(t),{}}async function oAr(t,e){return{class:[{type_id:"-11",type_name:"\u6211\u7684\u5929\u7FFC\u4E91\u76D8"}]}}async function cAr(t,e){let r=String(t.body.id||"-11");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"-11");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await Xit(t,r||"-11",n);return{page:n,pagecount:s>=T4?n+1:n,limit:T4,total:9999,list:i}}async function uAr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@")){let o=r.split("@@@"),c=o[1]||"\u76EE\u5F55",u=o[2]||"-11",l=[],d=1;for(;d<=Jgr;){let{rawCount:f,list:p}=await Xit(t,u,d);if(l.push(...p.filter(nAr)),f<T4)break;d+=1}if(l.length>0){let f=await Yit("tianyi","\u5929\u7FFC");return{list:[{vod_id:r,vod_name:c,vod_pic:Jit,vod_remarks:`${l.length}\u4E2A\u89C6\u9891`,vod_content:`\u76EE\u5F55: ${c}`,vod_play_from:f,vod_play_url:l.map(sAr).filter(Boolean).join("#")}]}}return{list:[{vod_id:r,vod_name:c,vod_remarks:"\u76EE\u5F55",vod_content:"\u5F53\u524D\u76EE\u5F55\u6CA1\u6709\u53EF\u64AD\u653E\u89C6\u9891"}]}}let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await Yit("tianyi","\u5929\u7FFC");return{list:[{vod_id:r,vod_name:s,vod_remarks:"",vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function lAr(t,e){await rb(t);let r=Date.now(),n=String(t.body.id||""),s=n.split("*"),i=Rae(n,8,6),a=Rae(s[1],4,4);if(console.log("[mytianyi][play] request",{rawId:i,source:s[0]||"",fileId:a}),s[0]!=="own"||!s[1])return console.warn("[mytianyi][play] invalid params",{rawId:i,source:s[0]||"",hasFileId:!!s[1]}),{parse:0,url:"",msg:"\u5929\u7FFC\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let o=await rf.getOwnDownload(s[1]),c=String(o?.url||"").trim();return c?(console.log("[mytianyi][play] success",{fileId:a,hasCookie:!!o?.cookie,resCode:o?.data?.res_code,urlPreview:iAr(c),costMs:Date.now()-r}),{parse:0,url:["\u539F\u753B",c],header:{"User-Agent":Xgr}}):(console.warn("[mytianyi][play] empty download url",{fileId:a,hasCookie:!!o?.cookie,resCode:o?.data?.res_code,resMsg:o?.data?.res_message||"",costMs:Date.now()-r}),{parse:0,url:"",msg:"\u5929\u7FFC\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"})}catch(o){return console.error("[mytianyi][play] failed",{fileId:a,rawId:i,costMs:Date.now()-r,message:String(o?.message||o),stack:String(o?.stack||"").split(`
|
|
`).slice(0,2).join(" | ")}),{parse:0,url:"",msg:`\u5929\u7FFC\u63A5\u53E3\u5F02\u5E38: ${o?.message||o}`}}}async function dAr(t,e){return{page:1,pagecount:1,list:[]}}async function fAr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Zit={meta:{key:"mytianyi",name:"\u300C\u76D8\u300D\u5929\u7FFC",type:3},api:async t=>{t.post("/init",aAr),t.post("/home",oAr),t.post("/category",cAr),t.post("/detail",uAr),t.post("/play",lAr),t.post("/search",dAr),t.get("/test",fAr)}};var pAr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",mAr="https://img.icons8.com/color/48/video.png",hAr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function gAr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function AAr(t){return encodeURIComponent(String(t||""))}function yAr(t){return Number(t?.isdir)===1||Number(t?.category)===6}function xAr(t){if(Number(t?.category)===1)return!0;let e=String(t?.server_filename||t?.path||"").toLowerCase();return hAr.some(r=>e.endsWith(r))}function eat(t){return String(t?.server_filename||t?.path?.split("/").pop()||"\u672A\u77E5").trim()||"\u672A\u77E5"}function bAr(t,e){return`folder@@@${t}@@@${e}`}function EAr(t){let e=eat(t),r=String(t?.fs_id||t?.fsid||""),n=String(t?.path||"");return`file@@@${e}@@@own*${r}*${AAr(n)}`}async function _Ar(t,e="/",r=1){let{list:n,rawCount:s}=await Z6e(t,e||"/",r);return{rawCount:s,list:n.reduce((i,a)=>{let o=yAr(a);if(!o&&!xAr(a))return i;let c=eat(a);return i.push({vod_id:o?bAr(c,String(a?.path||"/")):EAr(a),vod_name:c,vod_pic:o?pAr:mAr,vod_remarks:o?"\u76EE\u5F55":ji(Number(a?.size||0)),...o?{cate:{id:String(a?.path||"/"),name:c}}:{},ratio:1.33}),i},[])}}async function SAr(t,e){return await ib(t),{}}async function vAr(t,e){return{class:[{type_id:"/",type_name:"\u6211\u7684\u767E\u5EA6\u7F51\u76D8"}]}}async function CAr(t,e){let r=String(t.body.id||"/");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"/");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,list:i}=await _Ar(t,r||"/",n);return{page:n,pagecount:s>=200?n+1:n,limit:200,total:9999,list:i}}async function IAr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@"))return{list:[{vod_id:r,vod_name:r.split("@@@")[1]||"\u76EE\u5F55",vod_remarks:"\u76EE\u5F55"}]};let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await gAr("baidu","\u767E\u5EA6");return{list:[{vod_id:r,vod_name:s,vod_remarks:"",vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function TAr(t,e){return await lL(t,e)}async function wAr(t,e){return{page:1,pagecount:1,list:[]}}async function RAr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var tat={meta:{key:"mybaidu",name:"\u300C\u76D8\u300D\u767E\u5EA6",type:3},api:async t=>{t.post("/init",SAr),t.post("/home",vAr),t.post("/category",CAr),t.post("/detail",IAr),t.post("/play",TAr),t.post("/search",wAr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",dL),t.get("/test",RAr)}};var NAr="115Drive",rat="https://img.icons8.com/fluency/96/folder-invoices--v1.png",OAr="https://img.icons8.com/color/48/video.png",PAr={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 115Browser/36.0.0 Chromium/125.0",Referer:"https://webapi.115.com/bridge_2.0.html?namespace=Core.DataAccess&api=UDataAPI&_t=v5","X-Requested-With":"XMLHttpRequest",Origin:"https://115.com"};async function DAr(t,e="0",r=1){let n=await P0(t);if(!n)return{list:[],count:0};let s=Number.parseInt(r,10)||1,i=115,a=(s-1)*i,o=`https://webapi.115.com/files?aid=1&cid=${encodeURIComponent(e)}&o=user_ptime&asc=0&offset=${a}&show_dir=1&limit=${i}&code=&scid=&snap=0&natsort=1&record_open_time=1&source=&format=json`;try{let u=(await he.get(o,{headers:{...PAr,Cookie:n}}))?.data;if(u?.state)return{list:Array.isArray(u.data)?u.data:[],count:Number.parseInt(u.count,10)||0}}catch(c){console.error("[my115] list error:",c.message)}return{list:[],count:0}}function kAr(t){return encodeURIComponent(String(t||""))}function LAr(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function BAr(t,e,r){return`LOCAL###${t}###${kAr(e)}###${r}`}function nat(t){let e=String(t||"");if(!e.startsWith("LOCAL###"))return{id:e,name:"115\u8D44\u6E90",value:e,kind:"file",isOwn:!1};let r=e.split("###");if(r.length>=4&&["dir","file"].includes(r[1]))return{id:e,kind:r[1],name:LAr(r[2])||"115\u8D44\u6E90",value:r.slice(3).join("###"),isOwn:!0};let[,n="115\u8D44\u6E90",s=""]=r;return{id:e,name:n,value:s,kind:/^\d+$/.test(s)?"dir":"file",isOwn:!0}}function MAr(t){let e=Number(t.fc)===0,r=String(t.n||t.name||"\u672A\u77E5").trim()||"\u672A\u77E5",n=String(e?t.cid||"":t.pc||t.pick_code||"");return{vod_id:BAr(e?"dir":"file",r,n),vod_name:r,vod_pic:e?rat:OAr,vod_remarks:e?"\u76EE\u5F55":ji(Number(t.s||t.size||0)),...e?{cate:{id:n,name:r}}:{},ratio:1.33}}async function WAr(t,e){return{}}async function $Ar(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684115\u7F51\u76D8"}]}}async function FAr(t,e){let r=String(t.body.id||"0");r.startsWith("LOCAL###")&&(r=nat(r).value||"0");let n=Number.parseInt(t.body.page,10)||1,{list:s,count:i}=await DAr(t.server,r,n);return{page:n,pagecount:Math.max(1,Math.ceil(i/115)),limit:115,total:i,list:s.map(MAr)}}async function UAr(t,e){return{list:(Array.isArray(t.body.id)?t.body.id:[t.body.id]).map(s=>{let i=nat(s);return i.isOwn?i.kind==="dir"?{vod_id:i.id,vod_name:i.name||"\u76EE\u5F55",vod_pic:rat,vod_remarks:"\u76EE\u5F55",vod_content:`\u76EE\u5F55: ${i.name||"115\u8D44\u6E90"}`}:{vod_id:i.id,vod_name:i.name,vod_content:`\u6587\u4EF6\u540D: ${i.name}`,vod_play_from:NAr,vod_play_url:`OWN$${i.value}`}:{vod_id:i.id,vod_name:"115\u8D44\u6E90"}})}}async function qAr(t,e){let r=String(t.body.id||"").trim(),n=r.startsWith("OWN$")?r.slice(4):r;return n?await cL(t.server,n):{parse:0,url:"",msg:"115 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"}}async function jAr(t,e){return{page:1,pagecount:1,list:[]}}async function HAr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var sat={meta:{key:"my115",name:"\u300C\u76D8\u300D115",type:3},api:async t=>{t.post("/init",WAr),t.post("/home",$Ar),t.post("/category",FAr),t.post("/detail",UAr),t.post("/play",qAr),t.post("/search",jAr),t.get("/test",HAr)}};var QAr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",GAr="https://img.icons8.com/color/48/video.png",VAr=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function zAr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function KAr(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function YAr(t){return t?.data??t??{}}function JAr(t){let e=YAr(t);return[e.InfoList,e.infoList,e.list,t?.InfoList,t?.infoList,t?.list].find(n=>Array.isArray(n))||[]}function Oae(t){return String(t?.FileName||t?.file_name||t?.name||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Nae(t){return String(t?.FileId||t?.fileId||t?.file_id||"")}function iat(t){return Number(t?.Size||t?.size||0)}function XAr(t){return String(t?.S3KeyFlag||t?.s3KeyFlag||"")}function ZAr(t){return String(t?.Etag||t?.etag||"")}function eyr(t){return Number(t?.Category)===0||Number(t?.Type)===1||t?.type==="folder"}function tyr(t){let e=Oae(t).toLowerCase();return Number(t?.Category)===2||VAr.some(r=>e.endsWith(r))}function ryr(t,e){return`folder@@@${t}@@@${e}`}function nyr(t){let e=Oae(t),r=["own",Nae(t),XAr(t),String(iat(t)),ZAr(t),encodeURIComponent(e)];return`file@@@${e}@@@${r.join("*")}`}async function syr(t,e="0"){await sb(t);let r=await O0.getrootmyfile(e||"0"),n=JAr(r),s=[];return n.forEach(i=>{let a=eyr(i);if(!a&&!tyr(i))return;let o=Oae(i);s.push({vod_id:a?ryr(o,Nae(i)):nyr(i),vod_name:o,vod_pic:a?QAr:GAr,vod_remarks:a?"\u76EE\u5F55":ji(iat(i)),...a?{cate:{id:Nae(i),name:o}}:{},ratio:1.33})}),s}async function iyr(t,e){return await sb(t),{}}async function ayr(t,e){return{class:[{type_id:"0",type_name:"\u6211\u7684123\u7F51\u76D8"}]}}async function oyr(t,e){let r=String(t.body.id||"0");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||"0");let n=Number.parseInt(t.body.page,10)||1,s=await syr(t,r||"0");return{page:n,pagecount:1,limit:s.length,total:s.length,list:s}}async function cyr(t,e){let r=String(t.body.id||""),n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await zAr("123","123");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function uyr(t,e){let r=String(t.body.id||"").split("*");if(r[0]!=="own"||r.length<5)return{parse:0,url:"",msg:"123 \u64AD\u653E\u53C2\u6570\u9519\u8BEF"};await sb(t);try{let n=await O0.getmyDownload(r[1],r[2],r[3],r[4],KAr(r[5]||""));return n?{parse:0,url:["\u539F\u753B",n]}:{parse:0,url:"",msg:"123 \u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(n){return{parse:0,url:"",msg:`123 \u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function lyr(t,e){return{page:1,pagecount:1,list:[]}}async function dyr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var aat={meta:{key:"my123",name:"\u300C\u76D8\u300D123",type:3},api:async t=>{t.post("/init",iyr),t.post("/home",ayr),t.post("/category",oyr),t.post("/detail",cyr),t.post("/play",uyr),t.post("/search",lyr),t.get("/test",dyr)}};var uat="https://pan1.me";function oat(t,e){return Object.prototype.hasOwnProperty.call(t||{},e)}function lat(t){return String(t||"").trim().replace(/\/+$/,"")||uat}var dat=async(t,e,r)=>{let n=await t.db.getObjectDefault("/123ypzysq",{});if(oat(n,e))return n[e];let s=t.config?.["123ypzysq"]||{};return oat(s,e)?s[e]:r},fyr=async t=>lat(await dat(t,"url",uat)),pyr=async t=>String(await dat(t,"cookie","")||"").trim(),Pae=async t=>({url:await fyr(t),cookie:await pyr(t)}),cat=async(t,e,r)=>{await t.db.push(`/123ypzysq/${e}`,r)},myr=async t=>{await t.db.delete("/123ypzysq")};async function Dae(t){t.get("/config",async(e,r)=>{r.send({code:0,data:await Pae(e.server)})}),t.put("/config",async(e,r)=>{let n=e.body||{};await cat(e.server,"url",lat(n.url)),await cat(e.server,"cookie",String(n.cookie||"").trim()),r.send({code:0})}),t.delete("/config",async(e,r)=>{await myr(e.server),r.send({code:0})})}var w4="https://pan1.me",hyr=["CATPAW_123YPZYSQ_COOKIE","PAN1_ME_COOKIE","YPZYSQ_COOKIE"],gyr="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Ayr=/https?:\/\/[A-Za-z0-9._~:/?#[\]@!$&'()*+,;=%-]+/g,yyr=/(?:www\.)?(?:123684\.com|123865\.com|123912\.com|123pan\.com|123pan\.cn|123592\.com)/i,hat=[{type_id:"2",type_name:"\u7535\u5F71"},{type_id:"48",type_name:"\u7535\u89C6\u5267"},{type_id:"37",type_name:"\u52A8\u6F2B"},{type_id:"52",type_name:"\u7EFC\u827A"},{type_id:"56",type_name:"4K\u539F\u76D8"}],fat=["\u54C8\u54C8\uFF0C\u4E0D\u9519\u54E6\uFF01","\u4E0D\u9519\u7684\u5E16\u5B50\uFF01","\u975E\u5E38\u68D2\uFF01\uFF01\uFF01","\u611F\u8C22\u5206\u4EAB,\u592A\u68D2\u4E86\uFF01","\u8FD9\u4E0D\u6B63\u662F\u6211\u82E6\u82E6\u5BFB\u627E\u7684\u8D44\u6E90\u5417\uFF01","\u597D\u4EBA\u4E00\u80CE\u751F\u5341\u4E2A\uFF01","\u770B\u5B8C\u697C\u4E3B\u7684\u8FD9\u4E2A\u5E16\u5B50\u4EE5\u540E\uFF0C\u6211\u7684\u5FC3\u4E45\u4E45\u4E0D\u80FD\u5E73\u9759\uFF0C\u9707\u64BC\u554A\uFF01","\u4E3A\u4EC0\u4E48\u4F1A\u6709\u5982\u6B64\u597D\u7684\u5E16\u5B50\uFF01","\u864E\u8EAF\u4E00\u9707\uFF0C\u4E09\u5206\u8D70\u4EBA\u3002","\u6E2F\uFF0C\u662F\u4E00\u79CD\u7F8E\u5FB7\u3002","\u6D41\u6C13\u5E76\u4E0D\u53EF\u6015\uFF0C\u53EF\u6015\u7684\u662F\u6D41\u6C13\u6709\u6587\u5316\u3002","\u597D\u4EBA\u4E00\u80CE\u751F10086\u4E2A"];function Qf(t){return String(t||"").replace(/\s+/g," ").trim()}async function kae(t){let e=await Pae(t.server).catch(()=>({url:w4,cookie:""})),r=String(e.url||w4).trim().replace(/\/+$/,""),n=hyr.map(s=>process.env[s]).find(Boolean);return{baseUrl:r||w4,cookie:String(e.cookie||n||"").trim()}}function xyr(t,e=!1){let r={"User-Agent":gyr,Referer:t.baseUrl,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8"};return e&&(r.Origin=t.baseUrl,r["X-Requested-With"]="XMLHttpRequest",r["Content-Type"]="application/x-www-form-urlencoded"),t.cookie&&(r.Cookie=t.cookie),r}function gat(t,e=w4){let r=String(t||"").trim();return r?new URL(r,e).toString():""}async function Ew(t,e,r,n={}){let s=await he.request({url:gat(t,r.baseUrl),method:n.method||"GET",headers:xyr(r,n.ajax),data:n.data||void 0});return String(s?.data||"")}function Aat(t){let e=String(t||"");return e.match(/thread-(\d+)/)?.[1]||e.match(/^\d+$/)?.[0]||""}function yat(t){let e=Me(t),r=[];return e("li.media.thread.tap").each((n,s)=>{let i=e(s),a=i.find('a[href*="thread-"]').first(),o=Qf(a.text()),c=i.attr("data-tid")||Aat(a.attr("href"));if(!o||!c)return;let u=Qf(i.find(".date.text-grey").text()),l=i.find("a.badge.badge-pill.badge-dark").map((d,f)=>Qf(e(f).text())).get().filter(Boolean).join(" / ");r.push({vod_id:c,vod_name:o,vod_remarks:[l,u].filter(Boolean).join(" \xB7 "),topRightRemarks:l})}),{$:e,list:r}}function xat(t,e,r,n){let s=String(n||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=r==="search"?new RegExp(`search-${s}-(\\d+)\\.htm`):new RegExp(`forum-${s}-(\\d+)\\.htm`),a=Number.parseInt(e,10)||1;return t("a[href]").each((o,c)=>{let u=String(t(c).attr("href")||""),l=Number.parseInt(u.match(i)?.[1]||"",10);Number.isFinite(l)&&(a=Math.max(a,l))}),a}function byr(){return fat[Math.floor(Math.random()*fat.length)]}async function Eyr(t,e,r){if(r.cookie)try{let n=new URLSearchParams({doctype:"1",return_html:"1",quotepid:"0",message:byr()}).toString();await Ew(`/?post-create-${t}-1.htm`,e,r,{method:"POST",ajax:!0,data:n}),await new Promise(s=>setTimeout(s,500))}catch(n){console.warn("[123ypzysq] \u81EA\u52A8\u56DE\u590D\u5931\u8D25:",n?.message||n)}}function pat(t){return Qf(t).match(/(?:æå–ç |访问ç |密ç |code)[::\s]*([A-Za-z0-9]{4})/i)?.[1]||""}function _yr(t){return String(t||"").replace(/&/g,"&").replace(/[)\])】,,。;;\s]+$/g,"").trim()}function Syr(t,e){try{let r=new URL(t);return r.searchParams.has("pwd")||r.searchParams.set("pwd",e),r.toString()}catch{let n=t.includes("?")?"&":"?";return`${t}${n}pwd=${encodeURIComponent(e)}`}}function mat(t,e){let r=_yr(t);return yyr.test(r)?e?Syr(r,e):r:""}function vyr(t){let e=t(".alert.alert-success").length?t(".alert.alert-success"):t(".post, .message, body"),r=new Set;return e.each((n,s)=>{let i=t(s),a=i.text(),o=pat(a);i.find("a[href]").each((c,u)=>{let l=t(u).attr("href"),d=pat(t(u).parent().text())||o,f=mat(l,d);f&&r.add(f)});for(let c of i.html()?.match(Ayr)||[]){let u=mat(c,o);u&&r.add(u)}}),[...r]}function Cyr(t,e,r){let n={vod_id:e,vod_name:Qf(t(".movie-title").first().text())||Qf(t("h1, h2, .title").first().text())||"123\u4E91\u76D8\u8D44\u6E90",vod_pic:gat(t(".movie-poster img").first().attr("src")||"",r),vod_content:Qf(t(".plot-content").first().text())};return t(".detail-label").each((s,i)=>{let a=Qf(t(i).text()),o=Qf(t(i).next().text());o&&(a.includes("\u5E74\u4EFD")&&(n.vod_year=o),a.includes("\u7C7B\u578B")&&(n.vod_type=o),a.includes("\u5BFC\u6F14")&&(n.vod_director=o),a.includes("\u4E3B\u6F14")&&(n.vod_actor=o))}),n}async function Iyr(t,e){return await qr(t,e),{}}async function Tyr(t,e){return{class:hat}}async function wyr(t,e){let r=String(t.body.id||hat[0].type_id),n=Number.parseInt(t.body.page,10)||1,s=await kae(t),i=await Ew(`/?forum-${r}-${n}.htm`,t,s),{$:a,list:o}=yat(i);return{page:n,pagecount:xat(a,n,"forum",r),limit:o.length,total:o.length,list:o}}async function Ryr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[],s=await kae(t);for(let i of r){let a=Aat(i);if(!a)continue;let o=await Ew(`/?thread-${a}.htm`,t,s),c=Me(o);c(".alert.alert-warning").text().includes("\u8BF7\u56DE\u590D\u540E\u518D\u67E5\u770B")&&(await Eyr(a,t,s),o=await Ew(`/?thread-${a}.htm`,t,s),c=Me(o));let u=Cyr(c,a,s.baseUrl),l=vyr(c),d=l.length>0?await Rr(l,t):null;d?.froms&&d?.urls&&(u.vod_play_from=d.froms,u.vod_play_url=d.urls,u.vod_links=d.links),!u.vod_content&&l.length>0&&(u.vod_content=`\u5171\u53D1\u73B0${l.length}\u4E2A123\u7F51\u76D8\u94FE\u63A5`),n.push(u)}return{list:n}}async function Nyr(t,e){let r=String(t.body.wd||"").trim(),n=Number.parseInt(t.body.page,10)||1;if(!r)return{page:n,pagecount:1,list:[]};let s=encodeURIComponent(r),i=await kae(t),a=await Ew(`/?search-${s}-${n}.htm`,t,i),{$:o,list:c}=yat(a);return{page:n,pagecount:xat(o,n,"search",s),limit:c.length,total:c.length,list:c}}async function Oyr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/home`);if(n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return s=await t.server.inject().post(`${r}/search`).payload({wd:"\u4ED9\u9006",page:1}),n.search=s.json(),n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var bat={meta:{key:"123ypzysq",name:"\u300C\u76D8\u300D123\u793E\u533A",type:3},api:async t=>{t.post("/init",Iyr),t.post("/home",Tyr),t.post("/category",wyr),t.post("/detail",Ryr),t.post("/play",Or),t.post("/search",Nyr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr),t.get("/test",Oyr)}};var Pyr="https://img.icons8.com/fluency/96/folder-invoices--v1.png",Dyr="https://img.icons8.com/color/48/video.png",Eat=[".mp4",".mkv",".webm",".avi",".wmv",".flv",".mov",".mpeg",".mpg",".m4v",".ts",".m2ts",".3gp",".rm",".rmvb",".iso"];async function kyr(t,e){let r=globalThis.getPanName?await globalThis.getPanName(t):"";return String(r||e)}function Lyr(t){return Number(t?.resType||0)===2}function Byr(t){if(Number(t?.resType||0)!==1)return!1;let e=String(t?.ext||"").toLowerCase(),r=String(t?.mineType||"").toLowerCase(),n=String(t?.fileName||"").toLowerCase();return Number(t?.fileType||0)===2||r.startsWith("video/")||Eat.includes(e)||Eat.some(s=>n.endsWith(s))}function _at(t){return String(t?.fileName||"\u672A\u77E5").trim()||"\u672A\u77E5"}function Lae(t){return String(t?.fileId||"")}function Myr(t){return Number(t?.fileSize||t?.size||0)}function Wyr(t,e){return`folder@@@${t}@@@${e}`}function $yr(t){return`file@@@${_at(t)}@@@own*${Lae(t)}`}async function Fyr(t,e=""){let r=await g5e(t,e||""),n=Array.isArray(r?.list)?r.list:[],s=[];return n.forEach(i=>{let a=Lyr(i);if(!a&&!Byr(i))return;let o=_at(i);s.push({vod_id:a?Wyr(o,Lae(i)):$yr(i),vod_name:o,vod_pic:a?Pyr:String(i?.thumbnail||"").trim()||Dyr,vod_remarks:a?"\u76EE\u5F55":ji(Myr(i)),...a?{cate:{id:Lae(i),name:o}}:{},ratio:1.33})}),{rawCount:n.length,total:Number(r?.total||n.length),list:s}}async function Uyr(t,e){return await lC(t),{}}async function qyr(t,e){return{class:[{type_id:"root",type_name:"\u6211\u7684\u5149\u9E2D"}]}}async function jyr(t,e){let r=String(t.body.id||"root");r.startsWith("folder@@@")&&(r=r.split("@@@")[2]||""),r==="root"&&(r="");let n=Number.parseInt(t.body.page,10)||1,{rawCount:s,total:i,list:a}=await Fyr(t,r||"");return{page:n,pagecount:1,limit:s,total:Math.max(i,s),list:a}}async function Hyr(t,e){let r=String(t.body.id||"");if(r.startsWith("folder@@@"))return{list:[{vod_id:r,vod_name:r.split("@@@")[1]||"\u76EE\u5F55"}]};let n=r.split("@@@"),s=n[1]||"\u89C6\u9891\u64AD\u653E",i=n[2]||"",a=await kyr("guangyapan","\u5149\u9E2D");return{list:[{vod_id:r,vod_name:s,vod_content:`\u6587\u4EF6\u540D: ${s}`,vod_play_from:a,vod_play_url:`${a}$${i}`}]}}async function Qyr(t,e){let r=String(t.body.id||"").split("*");if(r[0]!=="own"||!r[1])return{parse:0,url:"",msg:"\u5149\u9E2D\u64AD\u653E\u53C2\u6570\u9519\u8BEF"};try{let n=await A5e(t,r[1]);return n?.url?{parse:0,url:["\u539F\u753B",n.url]}:{parse:0,url:"",msg:n?.msg||"\u5149\u9E2D\u672A\u8FD4\u56DE\u4E0B\u8F7D\u5730\u5740"}}catch(n){return{parse:0,url:"",msg:`\u5149\u9E2D\u63A5\u53E3\u5F02\u5E38: ${n?.message||n}`}}}async function Gyr(t,e){return{page:1,pagecount:1,list:[]}}async function Vyr(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home?.class?.length){s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1,filter:!0,filters:{}}),n.category=s.json();let i=n.category?.list?.find(a=>!a.cate)||n.category?.list?.[0];i?.vod_id&&(s=await t.server.inject().post(`${r}/detail`).payload({id:i.vod_id}),n.detail=s.json())}return n}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Sat={meta:{key:"myguangyapan",name:"\u300C\u76D8\u300D\u5149\u9E2D",type:3},api:async t=>{t.post("/init",Uyr),t.post("/home",qyr),t.post("/category",jyr),t.post("/detail",Hyr),t.post("/play",Qyr),t.post("/search",Gyr),t.get("/test",Vyr)}};var zyr=["http://103.217.192.130:16969"],Bae=async t=>(await t.db.getObjectDefault("/huban",{}))?.urls||t.config.huban?.urls||zyr,Kyr=async(t,e)=>{await t.db.push("/huban/urls",e)},Yyr=async t=>{await t.db.delete("/huban/urls")};async function Mae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await Bae(e.server)})}),t.put("/urls",async(e,r)=>{await Kyr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Yyr(e.server),r.send({code:0})})}var Wae,R4=t=>{if(!Wae){let e=Date.now();Wae=new Promise(async r=>{let n=await Bae(t),s=await Xn(n);console.log("\u864E\u6591\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return Wae};async function $ae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Jyr(t,e){return{class:[{type_id:"1",type_name:"\u98CE"},{type_id:"2",type_name:"\u82B1"},{type_id:"3",type_name:"\u96EA"},{type_id:"4",type_name:"\u6708"},{type_id:"5",type_name:"\u7CBE"},{type_id:"6",type_name:"\u77ED"},{type_id:"30",type_name:"115"}],filters:{}}}async function Xyr(t,e){let r=await R4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await $ae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Zyr(t,e){let r=await R4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await $ae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function exr(t,e){let r=await R4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await $ae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var vat={meta:{key:"huban",name:"\u300C\u76D8\u300D\u864E\u6591",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Jyr),t.post("/category",Xyr),t.post("/detail",Zyr),t.post("/play",Or),t.post("/search",exr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:R4};var txr=["http://103.217.192.184:12512"],Fae=async t=>(await t.db.getObjectDefault("/xiaoban",{}))?.urls||t.config.xiaoban?.urls||txr,rxr=async(t,e)=>{await t.db.push("/xiaoban/urls",e)},nxr=async t=>{await t.db.delete("/xiaoban/urls")};async function Uae(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await Fae(e.server)})}),t.put("/urls",async(e,r)=>{await rxr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await nxr(e.server),r.send({code:0})})}var qae,N4=t=>{if(!qae){let e=Date.now();qae=new Promise(async r=>{let n=await Fae(t),s=await Xn(n);console.log("\u5C0F\u6591\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return qae};async function jae(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function sxr(t,e){return{class:[{type_id:"1",type_name:"\u6885"},{type_id:"2",type_name:"\u5170"},{type_id:"3",type_name:"\u7AF9"},{type_id:"4",type_name:"\u83CA"},{type_id:"6",type_name:"\u77ED"},{type_id:"5",type_name:"\u7CBE"}],filters:{}}}async function ixr(t,e){let r=await N4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await jae(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function axr(t,e){let r=await N4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await jae(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function oxr(t,e){let r=await N4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await jae(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Cat={meta:{key:"xiaoban",name:"\u300C\u76D8\u300D\u5C0F\u6591",type:3},api:async t=>{t.post("/init",qr),t.post("/home",sxr),t.post("/category",ixr),t.post("/detail",axr),t.post("/play",Or),t.post("/search",oxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:N4};var Tat=Re(require("vm"),1),Qae=class{add(e,r,n){if(typeof arguments[0]!="string")for(let s in arguments[0])this.add(s,arguments[0][s],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(s){this[s]=this[s]||[],r&&this[s][n?"unshift":"push"](r)},this)}run(e,r){this[e]=this[e]||[],this[e].forEach(function(n){n.call(r&&r.context?r.context:r,r)})}},Gae=class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(r=>{if(typeof r!="object"||!r.name||!r.init)throw new Error("Invalid JSEP plugin format");this.registered[r.name]||(r.init(this.jsep),this.registered[r.name]=r)})}},uo=class t{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+t.version}static addUnaryOp(e){return t.max_unop_len=Math.max(e.length,t.max_unop_len),t.unary_ops[e]=1,t}static addBinaryOp(e,r,n){return t.max_binop_len=Math.max(e.length,t.max_binop_len),t.binary_ops[e]=r,n?t.right_associative.add(e):t.right_associative.delete(e),t}static addIdentifierChar(e){return t.additional_identifier_chars.add(e),t}static addLiteral(e,r){return t.literals[e]=r,t}static removeUnaryOp(e){return delete t.unary_ops[e],e.length===t.max_unop_len&&(t.max_unop_len=t.getMaxKeyLen(t.unary_ops)),t}static removeAllUnaryOps(){return t.unary_ops={},t.max_unop_len=0,t}static removeIdentifierChar(e){return t.additional_identifier_chars.delete(e),t}static removeBinaryOp(e){return delete t.binary_ops[e],e.length===t.max_binop_len&&(t.max_binop_len=t.getMaxKeyLen(t.binary_ops)),t.right_associative.delete(e),t}static removeAllBinaryOps(){return t.binary_ops={},t.max_binop_len=0,t}static removeLiteral(e){return delete t.literals[e],t}static removeAllLiterals(){return t.literals={},t}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new t(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(r=>r.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return t.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!t.binary_ops[String.fromCharCode(e)]||t.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return t.isIdentifierStart(e)||t.isDecimalDigit(e)}throwError(e){let r=new Error(e+" at character "+this.index);throw r.index=this.index,r.description=e,r}runHook(e,r){if(t.hooks[e]){let n={context:this,node:r};return t.hooks.run(e,n),n.node}return r}searchHook(e){if(t.hooks[e]){let r={context:this};return t.hooks[e].find(function(n){return n.call(r.context,r),r.node}),r.node}}gobbleSpaces(){let e=this.code;for(;e===t.SPACE_CODE||e===t.TAB_CODE||e===t.LF_CODE||e===t.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),r=e.length===1?e[0]:{type:t.COMPOUND,body:e};return this.runHook("after-all",r)}gobbleExpressions(e){let r=[],n,s;for(;this.index<this.expr.length;)if(n=this.code,n===t.SEMCOL_CODE||n===t.COMMA_CODE)this.index++;else if(s=this.gobbleExpression())r.push(s);else if(this.index<this.expr.length){if(n===e)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,t.max_binop_len),r=e.length;for(;r>0;){if(t.binary_ops.hasOwnProperty(e)&&(!t.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!t.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=r,e;e=e.substr(0,--r)}return!1}gobbleBinaryExpression(){let e,r,n,s,i,a,o,c,u;if(a=this.gobbleToken(),!a||(r=this.gobbleBinaryOp(),!r))return a;for(i={value:r,prec:t.binaryPrecedence(r),right_a:t.right_associative.has(r)},o=this.gobbleToken(),o||this.throwError("Expected expression after "+r),s=[a,i,o];r=this.gobbleBinaryOp();){if(n=t.binaryPrecedence(r),n===0){this.index-=r.length;break}i={value:r,prec:n,right_a:t.right_associative.has(r)},u=r;let l=d=>i.right_a&&d.right_a?n>d.prec:n<=d.prec;for(;s.length>2&&l(s[s.length-2]);)o=s.pop(),r=s.pop().value,a=s.pop(),e={type:t.BINARY_EXP,operator:r,left:a,right:o},s.push(e);e=this.gobbleToken(),e||this.throwError("Expected expression after "+u),s.push(i,e)}for(c=s.length-1,e=s[c];c>1;)e={type:t.BINARY_EXP,operator:s[c-1].value,left:s[c-2],right:e},c-=2;return e}gobbleToken(){let e,r,n,s;if(this.gobbleSpaces(),s=this.searchHook("gobble-token"),s)return this.runHook("after-token",s);if(e=this.code,t.isDecimalDigit(e)||e===t.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===t.SQUOTE_CODE||e===t.DQUOTE_CODE)s=this.gobbleStringLiteral();else if(e===t.OBRACK_CODE)s=this.gobbleArray();else{for(r=this.expr.substr(this.index,t.max_unop_len),n=r.length;n>0;){if(t.unary_ops.hasOwnProperty(r)&&(!t.isIdentifierStart(this.code)||this.index+r.length<this.expr.length&&!t.isIdentifierPart(this.expr.charCodeAt(this.index+r.length)))){this.index+=n;let i=this.gobbleToken();return i||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:t.UNARY_EXP,operator:r,argument:i,prefix:!0})}r=r.substr(0,--n)}t.isIdentifierStart(e)?(s=this.gobbleIdentifier(),t.literals.hasOwnProperty(s.name)?s={type:t.LITERAL,value:t.literals[s.name],raw:s.name}:s.name===t.this_str&&(s={type:t.THIS_EXP})):e===t.OPAREN_CODE&&(s=this.gobbleGroup())}return s?(s=this.gobbleTokenProperty(s),this.runHook("after-token",s)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let r=this.code;for(;r===t.PERIOD_CODE||r===t.OBRACK_CODE||r===t.OPAREN_CODE||r===t.QUMARK_CODE;){let n;if(r===t.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==t.PERIOD_CODE)break;n=!0,this.index+=2,this.gobbleSpaces(),r=this.code}this.index++,r===t.OBRACK_CODE?(e={type:t.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()},e.property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),r=this.code,r!==t.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):r===t.OPAREN_CODE?e={type:t.CALL_EXP,arguments:this.gobbleArguments(t.CPAREN_CODE),callee:e}:(r===t.PERIOD_CODE||n)&&(n&&this.index--,this.gobbleSpaces(),e={type:t.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),n&&(e.optional=!0),this.gobbleSpaces(),r=this.code}return e}gobbleNumericLiteral(){let e="",r,n;for(;t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===t.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(r=this.char,r==="e"||r==="E"){for(e+=this.expr.charAt(this.index++),r=this.char,(r==="+"||r==="-")&&(e+=this.expr.charAt(this.index++));t.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);t.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return n=this.code,t.isIdentifierStart(n)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(n===t.PERIOD_CODE||e.length===1&&e.charCodeAt(0)===t.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:t.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",r=this.index,n=this.expr.charAt(this.index++),s=!1;for(;this.index<this.expr.length;){let i=this.expr.charAt(this.index++);if(i===n){s=!0;break}else if(i==="\\")switch(i=this.expr.charAt(this.index++),i){case"n":e+=`
|
|
`;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=i}else e+=i}return s||this.throwError('Unclosed quote after "'+e+'"'),{type:t.LITERAL,value:e,raw:this.expr.substring(r,this.index)}}gobbleIdentifier(){let e=this.code,r=this.index;for(t.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(e=this.code,t.isIdentifierPart(e));)this.index++;return{type:t.IDENTIFIER,name:this.expr.slice(r,this.index)}}gobbleArguments(e){let r=[],n=!1,s=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let i=this.code;if(i===e){n=!0,this.index++,e===t.CPAREN_CODE&&s&&s>=r.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}else if(i===t.COMMA_CODE){if(this.index++,s++,s!==r.length){if(e===t.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===t.CBRACK_CODE)for(let a=r.length;a<s;a++)r.push(null)}}else if(r.length!==s&&s!==0)this.throwError("Expected comma");else{let a=this.gobbleExpression();(!a||a.type===t.COMPOUND)&&this.throwError("Expected comma"),r.push(a)}}return n||this.throwError("Expected "+String.fromCharCode(e)),r}gobbleGroup(){this.index++;let e=this.gobbleExpressions(t.CPAREN_CODE);if(this.code===t.CPAREN_CODE)return this.index++,e.length===1?e[0]:e.length?{type:t.SEQUENCE_EXP,expressions:e}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:t.ARRAY_EXP,elements:this.gobbleArguments(t.CBRACK_CODE)}}},cxr=new Qae;Object.assign(uo,{hooks:cxr,plugins:new Gae(uo),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});uo.max_unop_len=uo.getMaxKeyLen(uo.unary_ops);uo.max_binop_len=uo.getMaxKeyLen(uo.binary_ops);var Gf=t=>new uo(t).parse(),uxr=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(uo).filter(t=>!uxr.includes(t)&&Gf[t]===void 0).forEach(t=>{Gf[t]=uo[t]});Gf.Jsep=uo;var lxr="ConditionalExpression",dxr={name:"ternary",init(t){t.hooks.add("after-expression",function(r){if(r.node&&this.code===t.QUMARK_CODE){this.index++;let n=r.node,s=this.gobbleExpression();if(s||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===t.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),r.node={type:lxr,test:n,consequent:s,alternate:i},n.operator&&t.binary_ops[n.operator]<=.9){let a=n;for(;a.right.operator&&t.binary_ops[a.right.operator]<=.9;)a=a.right;r.node.test=a.right,a.right=r.node,r.node=n}}else this.throwError("Expected :")}})}};Gf.plugins.register(dxr);var Iat=47,fxr=92,pxr={name:"regex",init(t){t.hooks.add("gobble-token",function(r){if(this.code===Iat){let n=++this.index,s=!1;for(;this.index<this.expr.length;){if(this.code===Iat&&!s){let i=this.expr.slice(n,this.index),a="";for(;++this.index<this.expr.length;){let c=this.code;if(c>=97&&c<=122||c>=65&&c<=90||c>=48&&c<=57)a+=this.char;else break}let o;try{o=new RegExp(i,a)}catch(c){this.throwError(c.message)}return r.node={type:t.LITERAL,value:o,raw:this.expr.slice(n-1,this.index)},r.node=this.gobbleTokenProperty(r.node),r.node}this.code===t.OBRACK_CODE?s=!0:s&&this.code===t.CBRACK_CODE&&(s=!1),this.index+=this.code===fxr?2:1}this.throwError("Unclosed Regex")}})}},Hae=43,mxr=45,cE={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[Hae,mxr],assignmentPrecedence:.9,init(t){let e=[t.IDENTIFIER,t.MEMBER_EXP];cE.assignmentOperators.forEach(n=>t.addBinaryOp(n,cE.assignmentPrecedence,!0)),t.hooks.add("gobble-token",function(s){let i=this.code;cE.updateOperators.some(a=>a===i&&a===this.expr.charCodeAt(this.index+1))&&(this.index+=2,s.node={type:"UpdateExpression",operator:i===Hae?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},(!s.node.argument||!e.includes(s.node.argument.type))&&this.throwError(`Unexpected ${s.node.operator}`))}),t.hooks.add("after-token",function(s){if(s.node){let i=this.code;cE.updateOperators.some(a=>a===i&&a===this.expr.charCodeAt(this.index+1))&&(e.includes(s.node.type)||this.throwError(`Unexpected ${s.node.operator}`),this.index+=2,s.node={type:"UpdateExpression",operator:i===Hae?"++":"--",argument:s.node,prefix:!1})}}),t.hooks.add("after-expression",function(s){s.node&&r(s.node)});function r(n){cE.assignmentOperators.has(n.operator)?(n.type="AssignmentExpression",r(n.left),r(n.right)):n.operator||Object.values(n).forEach(s=>{s&&typeof s=="object"&&r(s)})}}};Gf.plugins.register(pxr,cE);Gf.addUnaryOp("typeof");Gf.addLiteral("null",null);Gf.addLiteral("undefined",void 0);var hxr=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),cn={evalAst(t,e){switch(t.type){case"BinaryExpression":case"LogicalExpression":return cn.evalBinaryExpression(t,e);case"Compound":return cn.evalCompound(t,e);case"ConditionalExpression":return cn.evalConditionalExpression(t,e);case"Identifier":return cn.evalIdentifier(t,e);case"Literal":return cn.evalLiteral(t,e);case"MemberExpression":return cn.evalMemberExpression(t,e);case"UnaryExpression":return cn.evalUnaryExpression(t,e);case"ArrayExpression":return cn.evalArrayExpression(t,e);case"CallExpression":return cn.evalCallExpression(t,e);case"AssignmentExpression":return cn.evalAssignmentExpression(t,e);default:throw SyntaxError("Unexpected expression",t)}},evalBinaryExpression(t,e){return{"||":(n,s)=>n||s(),"&&":(n,s)=>n&&s(),"|":(n,s)=>n|s(),"^":(n,s)=>n^s(),"&":(n,s)=>n&s(),"==":(n,s)=>n==s(),"!=":(n,s)=>n!=s(),"===":(n,s)=>n===s(),"!==":(n,s)=>n!==s(),"<":(n,s)=>n<s(),">":(n,s)=>n>s(),"<=":(n,s)=>n<=s(),">=":(n,s)=>n>=s(),"<<":(n,s)=>n<<s(),">>":(n,s)=>n>>s(),">>>":(n,s)=>n>>>s(),"+":(n,s)=>n+s(),"-":(n,s)=>n-s(),"*":(n,s)=>n*s(),"/":(n,s)=>n/s(),"%":(n,s)=>n%s()}[t.operator](cn.evalAst(t.left,e),()=>cn.evalAst(t.right,e))},evalCompound(t,e){let r;for(let n=0;n<t.body.length;n++){t.body[n].type==="Identifier"&&["var","let","const"].includes(t.body[n].name)&&t.body[n+1]&&t.body[n+1].type==="AssignmentExpression"&&(n+=1);let s=t.body[n];r=cn.evalAst(s,e)}return r},evalConditionalExpression(t,e){return cn.evalAst(t.test,e)?cn.evalAst(t.consequent,e):cn.evalAst(t.alternate,e)},evalIdentifier(t,e){if(Object.hasOwn(e,t.name))return e[t.name];throw ReferenceError(`${t.name} is not defined`)},evalLiteral(t){return t.value},evalMemberExpression(t,e){let r=String(t.computed?cn.evalAst(t.property):t.property.name),n=cn.evalAst(t.object,e);if(n==null)throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);if(!Object.hasOwn(n,r)&&hxr.has(r))throw TypeError(`Cannot read properties of ${n} (reading '${r}')`);let s=n[r];return typeof s=="function"?s.bind(n):s},evalUnaryExpression(t,e){return{"-":n=>-cn.evalAst(n,e),"!":n=>!cn.evalAst(n,e),"~":n=>~cn.evalAst(n,e),"+":n=>+cn.evalAst(n,e),typeof:n=>typeof cn.evalAst(n,e)}[t.operator](t.argument)},evalArrayExpression(t,e){return t.elements.map(r=>cn.evalAst(r,e))},evalCallExpression(t,e){let r=t.arguments.map(s=>cn.evalAst(s,e));return cn.evalAst(t.callee,e)(...r)},evalAssignmentExpression(t,e){if(t.left.type!=="Identifier")throw SyntaxError("Invalid left-hand side in assignment");let r=t.left.name,n=cn.evalAst(t.right,e);return e[r]=n,e[r]}},Vae=class{constructor(e){this.code=e,this.ast=Gf(this.code)}runInNewContext(e){let r=Object.assign(Object.create(null),e);return cn.evalAst(this.ast,r)}};function X0(t,e){return t=t.slice(),t.push(e),t}function zae(t,e){return e=e.slice(),e.unshift(t),e}var Kae=class extends Error{constructor(e){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=e,this.name="NewError"}};function Ur(t,e,r,n,s){if(!(this instanceof Ur))try{return new Ur(t,e,r,n,s)}catch(a){if(!a.avoidNew)throw a;return a.value}typeof t=="string"&&(s=n,n=r,r=e,e=t,t=null);let i=t&&typeof t=="object";if(t=t||{},this.json=t.json||r,this.path=t.path||e,this.resultType=t.resultType||"value",this.flatten=t.flatten||!1,this.wrap=Object.hasOwn(t,"wrap")?t.wrap:!0,this.sandbox=t.sandbox||{},this.eval=t.eval===void 0?"safe":t.eval,this.ignoreEvalErrors=typeof t.ignoreEvalErrors>"u"?!1:t.ignoreEvalErrors,this.parent=t.parent||null,this.parentProperty=t.parentProperty||null,this.callback=t.callback||n||null,this.otherTypeCallback=t.otherTypeCallback||s||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},t.autostart!==!1){let a={path:i?t.path:e};i?"json"in t&&(a.json=t.json):a.json=r;let o=this.evaluate(a);if(!o||typeof o!="object")throw new Kae(o);return o}}Ur.prototype.evaluate=function(t,e,r,n){let s=this.parent,i=this.parentProperty,{flatten:a,wrap:o}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=n||this.otherTypeCallback,e=e||this.json,t=t||this.path,t&&typeof t=="object"&&!Array.isArray(t)){if(!t.path&&t.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(t,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:e}=t),a=Object.hasOwn(t,"flatten")?t.flatten:a,this.currResultType=Object.hasOwn(t,"resultType")?t.resultType:this.currResultType,this.currSandbox=Object.hasOwn(t,"sandbox")?t.sandbox:this.currSandbox,o=Object.hasOwn(t,"wrap")?t.wrap:o,this.currEval=Object.hasOwn(t,"eval")?t.eval:this.currEval,r=Object.hasOwn(t,"callback")?t.callback:r,this.currOtherTypeCallback=Object.hasOwn(t,"otherTypeCallback")?t.otherTypeCallback:this.currOtherTypeCallback,s=Object.hasOwn(t,"parent")?t.parent:s,i=Object.hasOwn(t,"parentProperty")?t.parentProperty:i,t=t.path}if(s=s||null,i=i||null,Array.isArray(t)&&(t=Ur.toPathString(t)),!t&&t!==""||!e)return;let c=Ur.toPathArray(t);c[0]==="$"&&c.length>1&&c.shift(),this._hasParentSelector=null;let u=this._trace(c,e,["$"],s,i,r).filter(function(l){return l&&!l.isParentSelector});return u.length?!o&&u.length===1&&!u[0].hasArrExpr?this._getPreferredOutput(u[0]):u.reduce((l,d)=>{let f=this._getPreferredOutput(d);return a&&Array.isArray(f)?l=l.concat(f):l.push(f),l},[]):o?[]:void 0};Ur.prototype._getPreferredOutput=function(t){let e=this.currResultType;switch(e){case"all":{let r=Array.isArray(t.path)?t.path:Ur.toPathArray(t.path);return t.pointer=Ur.toPointer(r),t.path=typeof t.path=="string"?t.path:Ur.toPathString(t.path),t}case"value":case"parent":case"parentProperty":return t[e];case"path":return Ur.toPathString(t[e]);case"pointer":return Ur.toPointer(t.path);default:throw new TypeError("Unknown result type")}};Ur.prototype._handleCallback=function(t,e,r){if(e){let n=this._getPreferredOutput(t);t.path=typeof t.path=="string"?t.path:Ur.toPathString(t.path),e(n,r,t)}};Ur.prototype._trace=function(t,e,r,n,s,i,a,o){let c;if(!t.length)return c={path:r,value:e,parent:n,parentProperty:s,hasArrExpr:a},this._handleCallback(c,i,"value"),c;let u=t[0],l=t.slice(1),d=[];function f(p){Array.isArray(p)?p.forEach(m=>{d.push(m)}):d.push(p)}if((typeof u!="string"||o)&&e&&Object.hasOwn(e,u))f(this._trace(l,e[u],X0(r,u),e,u,i,a));else if(u==="*")this._walk(e,p=>{f(this._trace(l,e[p],X0(r,p),e,p,i,!0,!0))});else if(u==="..")f(this._trace(l,e,r,n,s,i,a)),this._walk(e,p=>{typeof e[p]=="object"&&f(this._trace(t.slice(),e[p],X0(r,p),e,p,i,!0))});else{if(u==="^")return this._hasParentSelector=!0,{path:r.slice(0,-1),expr:l,isParentSelector:!0};if(u==="~")return c={path:X0(r,u),value:s,parent:n,parentProperty:null},this._handleCallback(c,i,"property"),c;if(u==="$")f(this._trace(l,e,r,null,null,i,a));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(u))f(this._slice(u,l,e,r,n,s,i));else if(u.indexOf("?(")===0){if(this.currEval===!1)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");let p=u.replace(/^\?\((.*?)\)$/u,"$1"),m=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(p);m?this._walk(e,h=>{let A=[m[2]],g=m[1]?e[h][m[1]]:e[h];this._trace(A,g,r,n,s,i,!0).length>0&&f(this._trace(l,e[h],X0(r,h),e,h,i,!0))}):this._walk(e,h=>{this._eval(p,e[h],h,r,n,s)&&f(this._trace(l,e[h],X0(r,h),e,h,i,!0))})}else if(u[0]==="("){if(this.currEval===!1)throw new Error("Eval [(expr)] prevented in JSONPath expression.");f(this._trace(zae(this._eval(u,e,r.at(-1),r.slice(0,-1),n,s),l),e,r,n,s,i,a))}else if(u[0]==="@"){let p=!1,m=u.slice(1,-2);switch(m){case"scalar":(!e||!["object","function"].includes(typeof e))&&(p=!0);break;case"boolean":case"string":case"undefined":case"function":typeof e===m&&(p=!0);break;case"integer":Number.isFinite(e)&&!(e%1)&&(p=!0);break;case"number":Number.isFinite(e)&&(p=!0);break;case"nonFinite":typeof e=="number"&&!Number.isFinite(e)&&(p=!0);break;case"object":e&&typeof e===m&&(p=!0);break;case"array":Array.isArray(e)&&(p=!0);break;case"other":p=this.currOtherTypeCallback(e,r,n,s);break;case"null":e===null&&(p=!0);break;default:throw new TypeError("Unknown value type "+m)}if(p)return c={path:r,value:e,parent:n,parentProperty:s},this._handleCallback(c,i,"value"),c}else if(u[0]==="`"&&e&&Object.hasOwn(e,u.slice(1))){let p=u.slice(1);f(this._trace(l,e[p],X0(r,p),e,p,i,a,!0))}else if(u.includes(",")){let p=u.split(",");for(let m of p)f(this._trace(zae(m,l),e,r,n,s,i,!0))}else!o&&e&&Object.hasOwn(e,u)&&f(this._trace(l,e[u],X0(r,u),e,u,i,a,!0))}if(this._hasParentSelector)for(let p=0;p<d.length;p++){let m=d[p];if(m&&m.isParentSelector){let h=this._trace(m.expr,e,m.path,n,s,i,a);if(Array.isArray(h)){d[p]=h[0];let A=h.length;for(let g=1;g<A;g++)p++,d.splice(p,0,h[g])}else d[p]=h}}return d};Ur.prototype._walk=function(t,e){if(Array.isArray(t)){let r=t.length;for(let n=0;n<r;n++)e(n)}else t&&typeof t=="object"&&Object.keys(t).forEach(r=>{e(r)})};Ur.prototype._slice=function(t,e,r,n,s,i,a){if(!Array.isArray(r))return;let o=r.length,c=t.split(":"),u=c[2]&&Number.parseInt(c[2])||1,l=c[0]&&Number.parseInt(c[0])||0,d=c[1]&&Number.parseInt(c[1])||o;l=l<0?Math.max(0,l+o):Math.min(o,l),d=d<0?Math.max(0,d+o):Math.min(o,d);let f=[];for(let p=l;p<d;p+=u)this._trace(zae(p,e),r,n,s,i,a,!0).forEach(h=>{f.push(h)});return f};Ur.prototype._eval=function(t,e,r,n,s,i){this.currSandbox._$_parentProperty=i,this.currSandbox._$_parent=s,this.currSandbox._$_property=r,this.currSandbox._$_root=this.json,this.currSandbox._$_v=e;let a=t.includes("@path");a&&(this.currSandbox._$_path=Ur.toPathString(n.concat([r])));let o=this.currEval+"Script:"+t;if(!Ur.cache[o]){let c=t.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(a&&(c=c.replaceAll("@path","_$_path")),this.currEval==="safe"||this.currEval===!0||this.currEval===void 0)Ur.cache[o]=new this.safeVm.Script(c);else if(this.currEval==="native")Ur.cache[o]=new this.vm.Script(c);else if(typeof this.currEval=="function"&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){let u=this.currEval;Ur.cache[o]=new u(c)}else if(typeof this.currEval=="function")Ur.cache[o]={runInNewContext:u=>this.currEval(c,u)};else throw new TypeError(`Unknown "eval" property "${this.currEval}"`)}try{return Ur.cache[o].runInNewContext(this.currSandbox)}catch(c){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+c.message+": "+t)}};Ur.cache={};Ur.toPathString=function(t){let e=t,r=e.length,n="$";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(e[s])||(n+=/^[0-9*]+$/u.test(e[s])?"["+e[s]+"]":"['"+e[s]+"']");return n};Ur.toPointer=function(t){let e=t,r=e.length,n="";for(let s=1;s<r;s++)/^(~|\^|@.*?\(\))$/u.test(e[s])||(n+="/"+e[s].toString().replaceAll("~","~0").replaceAll("/","~1"));return n};Ur.toPathArray=function(t){let{cache:e}=Ur;if(e[t])return e[t].concat();let r=[],s=t.replaceAll(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu,";$&;").replaceAll(/[['](\??\(.*?\))[\]'](?!.\])/gu,function(i,a){return"[#"+(r.push(a)-1)+"]"}).replaceAll(/\[['"]([^'\]]*)['"]\]/gu,function(i,a){return"['"+a.replaceAll(".","%@%").replaceAll("~","%%@@%%")+"']"}).replaceAll("~",";~;").replaceAll(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu,";").replaceAll("%@%",".").replaceAll("%%@@%%","~").replaceAll(/(?:;)?(\^+)(?:;)?/gu,function(i,a){return";"+a.split("").join(";")+";"}).replaceAll(/;;;|;;/gu,";..;").replaceAll(/;$|'?\]|'$/gu,"").split(";").map(function(i){let a=i.match(/#(\d+)/u);return!a||!a[1]?i:r[a[1]]});return e[t]=s,e[t].concat()};Ur.prototype.safeVm={Script:Vae};Ur.prototype.vm=Tat.default;var wat=(t,e)=>(t=t||"",e=e||"",resolve(t,e)),Rat={query(t,e){return Ur.JSONPath({path:e,json:t})}},Yae=!0,Nat=":eq|:lt|:gt|:first|:last|:not|:even|:odd|:has|:contains|:matches|:empty|^body$|^#",gxr="(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)",Axr="^(ftp|magnet|thunder|ws):",Jae=class{constructor(e=""){this.MY_URL=e,this.pdfh_html="",this.pdfa_html="",this.pdfh_doc=null,this.pdfa_doc=null}test(e,r){return!!new RegExp(e,"mi").exec(r)}contains(e,r){return e.indexOf(r)!==-1}parseHikerToJq(e,r=!1){if(this.contains(e,"&&")){let n=e.split("&&"),s=[];for(let i=0;i<n.length;i++){let a=n[i].split(" "),o=a[a.length-1];this.test(Nat,o)||!r&&i>=n.length-1?s.push(n[i]):s.push(`${n[i]}:eq(0)`)}e=s.join(" ")}else{let n=e.split(" "),s=n[n.length-1];!this.test(Nat,s)&&r&&(e=`${e}:eq(0)`)}return e}getParseInfo(e){let r=[],n=0,s=e;if(this.contains(e,":eq")){s=e.split(":eq")[0];let i=e.split(":eq")[1];this.contains(s,"--")?(r=s.split("--").slice(1),s=s.split("--")[0]):this.contains(i,"--")&&(r=i.split("--").slice(1),i=i.split("--")[0]);try{n=parseInt(i.split("(")[1].split(")")[0])}catch{}}else this.contains(e,"--")&&(s=e.split("--")[0],r=e.split("--").slice(1));return{nparse_rule:s,nparse_index:n,excludes:r}}reorderAdjacentLtAndGt(e){let r=/:gt\((\d+)\):lt\((\d+)\)/,n;for(;(n=r.exec(e))!==null;){let s=`:lt(${n[2]}):gt(${n[1]})`;e=e.substring(0,n.index)+s+e.substring(n.index+n[0].length),r.lastIndex=n.index}return e}parseOneRule(e,r,n){let{nparse_rule:s,nparse_index:i,excludes:a}=this.getParseInfo(r);if(s=this.reorderAdjacentLtAndGt(s),n?n=n.find(s):n=e(s),this.contains(r,":eq")&&(n=n.eq(i)),a.length>0&&n){n=n.clone();for(let o of a)n.find(o).remove()}return n}parseText(e){return e=e.replace(/[\s]+/gm,`
|
|
`),e=e.replace(/\n+/g,`
|
|
`).replace(/^\s+/,""),e=e.replace(/\n/g," "),e}pdfa(e,r){if(!e||!r)return[];r=this.parseHikerToJq(r);let n=Me(e);Yae&&this.pdfa_html!==e&&(this.pdfa_html=e,this.pdfa_doc=n);let s=r.split(" "),i=null;for(let o of s)if(i=this.parseOneRule(n,o,i),!i)return[];return(i?.toArray()??[]).map(o=>{let c=`${n(o)}`;return c||""})}pdfl(e,r,n,s,i){if(!e||!r)return[];r=this.parseHikerToJq(r,!1);let a=[],o=Me(e),c=r.split(" "),u=null;for(let l of c)if(u=this.parseOneRule(o,l,u),!u)return[];return u.each((l,d)=>{a.push(`${o(d)}`)}),a}pdfh(e,r,n=""){if(!e||!r)return"";let s=Me(e);if(typeof Yae<"u"&&Yae&&this.pdfa_html!==e&&(this.pdfa_html=e,this.pdfa_doc=s),r==="body&&Text"||r==="Text")return this.parseText(s.text());if(r==="body&&Html"||r==="Html")return s.html();let i;if(this.contains(r,"&&")){let c=r.split("&&");i=c.pop(),r=c.join("&&")}r=this.parseHikerToJq(r,!0);let a=r.split(" "),o=null;for(let c of a)if(o=this.parseOneRule(s,c,o),!o)return"";if(i)switch(i){case"Text":o=o?this.parseText(o.text()):"";break;case"Html":o=o?o.html():"";break;default:let c=o.clone(),u=i.split("||");for(let l of u){if(o=c?.attr(l)||"",this.contains(l.toLowerCase(),"style")&&this.contains(o,"url("))try{o=o.match(/url\((.*?)\)/)[1],o=o.replace(/^['"]|['"]$/g,"")}catch{}if(o&&n&&this.test(gxr,l)&&!this.test(Axr,o)&&(o=o.includes("http")?o.slice(o.indexOf("http")):wat(n,o)),o)break}}else o=`${o}`;return o}pd(e,r,n=""){return n||(n=this.MY_URL),this.pdfh(e,r,n)}pq(e){return Me(e)}pjfh(e,r,n=!1){if(!e||!r)return"";try{e=typeof e=="string"?JSON.parse(e):e}catch{return console.log("\u5B57\u7B26\u4E32\u8F6C JSON \u5931\u8D25"),""}r.startsWith("$.")||(r="$."+r);let s="",i=r.split("||");for(let a of i){let o=Rat.query(e,a);if(s=Array.isArray(o)?o[0]||"":o||"",n&&s&&(s=wat(this.MY_URL,s)),s)break}return s}pj(e,r){return this.pjfh(e,r,!0)}pjfa(e,r){if(!e||!r)return[];try{e=typeof e=="string"?JSON.parse(e):e}catch{return[]}r.startsWith("$.")||(r="$."+r);let n=Rat.query(e,r);return Array.isArray(n)&&Array.isArray(n[0])&&n.length===1?n[0]:n||[]}},Oat=Jae;async function yxr(t){try{return await Ae.request(typeof t=="string"?t:{url:t.url,method:t.method||"GET",headers:t.headers||{"User-Agent":oDe},data:t.data||"",responseType:t.responseType||""})}catch(e){return e.response}}async function Pat(t){return(await he.get(t,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"}})).data}var Xae="https://www.91panta.cn",Zae=t=>new Oat().pq(t),Dat=[{type_id:"39765285016165",type_name:"\u7535\u5F71"},{type_id:"39765284616164",type_name:"\u7535\u89C6\u5267"},{type_id:"39724839640293",type_name:"\u7EFC\u827A"},{type_id:"39724838540291",type_name:"\u52A8\u6F2B"},{type_id:"44732560408431",type_name:"\u77ED\u5267"},{type_id:"39956600861068",type_name:"\u7EAA\u5F55\u7247"}],xxr=Dat.map(t=>t.type_name.trim());async function bxr(t,e){return{class:Dat,filters:{}}}async function Exr(t,e){let r=t.body.id,s=t.body.page||1;s==0&&(s=1);let i=await Pat(`${Xae}/?tagId=${r}&page=${s}`),a=Zae(i),o=[];a(".topicList .topicItem").each((d,f)=>{let p=a(f).find("h2 a:first")[0];if(!p||!p.children||!p.children[0]||!p.attribs)return;let m=p.children[0].data;if(!m)return;let h=a(f).find(".tm-m-photos-thumb li:first")[0]?.attribs["data-src"];o.push({vod_name:m.split(" ")[0],vod_id:p.attribs.href,vod_pic:h?`https://www.91panta.cn/${h}`:"https://www.91panta.cn/favicon.ico"})});let c=a(".topicPage .pg")[0],u=o.length,l=1;if(c){let d=a(c).find(".count")[0];if(d&&d.children&&d.children[0]){let p=d.children[0].data.match(/\d+/);p&&(u=p[0])}let f=a(c).find(".last")[0];if(f&&f.attribs&&f.attribs.title){let p=f.attribs.title.match(/\d+/);p&&(l=p[0])}}return{page:parseInt(s),pagecount:l?parseInt(l):1,limit:o.length,total:u?parseInt(u):o.length,list:o}}async function _xr(t,e){let r=await Pat(`${Xae}/${t.body.id}`),n=Zae(r),s=n(".title")[0];if(!s||!s.children||!s.children[0])return{list:[]};let i={vod_name:s.children[0].data.trim(),vod_id:`/${t.body.id}`,vod_content:n("div.topicContent p:nth-child(1)").text().replace(/\s+/g,"")},a=n(".topicContent").html(),o=a.match(/<a\s+(?:[^>]*?\s+)?href=["'](https:\/\/(?:caiyun|yun)\.139\.com\/[^"']*)["'][^>]*>/gi);if(!o||o.length===0)if(o=a.match(/<span\s+style="color:\s*#0070C0;\s*">https:\/\/(?:caiyun|yun)\.139\.com\/[^<]*<\/span>/gi),o&&o.length>0){let c=o[0].match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^<]*/);o=c?c[0]:null}else{let c=a.match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^<\s]*/);o=c?c[0]:null}else{let c=o[0].match(/https:\/\/(?:caiyun|yun)\.139\.com\/[^"']*/);o=c?c[0]:null}if(o){let c=await Rr(o,t);c&&c.froms&&c.urls&&(i.vod_play_from=c.froms,i.vod_play_url=c.urls,i.vod_links=c.links)}return{list:[i]}}async function Sxr(t,e){let r=t.body.page||1,n=t.body.wd,s=(await yxr(`${Xae}/search?keyword=${encodeURIComponent(decodeURIComponent(n))}&page=${r}`)).data,i=Zae(s),a=[];return i(".topicList .topicItem").each((o,c)=>{let u=i(c).find(".tag")[0],l=u?i(u).html().trim():null;if(u&&xxr.includes(l)){let d=i(c).find(".title a:first")[0];if(!d||!d.attribs)return;let f=i(c).find(".tm-m-photos-thumb li:first")[0]?.attribs["data-src"],p=i(d).html().replace(/<[^>]*>/g,"").replace(/\s+/g,"");a.push({vod_name:p,vod_id:d.attribs.href,vod_remarks:"",vod_pic:f?`https://www.91panta.cn/${f}`:"https://www.91panta.cn/favicon.ico"})}}),{page:r,pagecount:1,list:a}}var kat={meta:{key:"panta",name:"\u300C\u76D8\u300D\u76D8Ta",type:3},api:async t=>{t.post("/init",qr),t.post("/home",bxr),t.post("/category",Exr),t.post("/detail",_xr),t.post("/play",Or),t.post("/search",Sxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var vxr=["https://wogg.xxooo.cf","https://www.wogg.net"],eoe=async t=>(await t.db.getObjectDefault("/wanou",{}))?.urls||t.config.wanou?.urls||vxr,Cxr=async(t,e)=>{await t.db.push("/wanou/urls",e)},Ixr=async t=>{await t.db.delete("/wanou/urls")};async function toe(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await eoe(e.server)})}),t.put("/urls",async(e,r)=>{await Cxr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Ixr(e.server),r.send({code:0})})}var roe,D4=t=>{if(!roe){let e=Date.now();roe=new Promise(async r=>{let n=await eoe(t),s=await Xn(n);console.log("\u73A9\u5076\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return roe};async function O4(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Txr(t,e){return await qr(t,e),{}}async function wxr(t,e){let r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"44",type_name:"\u81FB\u5F69"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"46",type_name:"\u7EAA\u5F55"},{type_id:"6",type_name:"\u77ED\u5267"},{type_id:"5",type_name:"\u97F3\u4E50"}],n=[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2018",v:"2018"},{n:"2017",v:"2017"},{n:"2016",v:"2016"},{n:"2015",v:"2015"},{n:"2014",v:"2014"},{n:"2013",v:"2013"},{n:"2012",v:"2012"},{n:"2011",v:"2011"},{n:"2010",v:"2010"}],s=[{n:"\u65F6\u95F4",v:"time"},{n:"\u4EBA\u6C14",v:"hits"},{n:"\u8BC4\u5206",v:"score"}],i=[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u8B66\u532A",v:"\u8B66\u532A"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u67AA\u6218",v:"\u67AA\u6218"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u60CA\u609A",v:"\u60CA\u609A"},{n:"\u7ECF\u5178",v:"\u7ECF\u5178"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u6587\u827A",v:"\u6587\u827A"},{n:"\u5FAE\u7535\u5F71",v:"\u5FAE\u7535\u5F71"},{n:"\u5386\u53F2",v:"\u5386\u53F2"}],a=[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u9999\u6E2F",v:"\u4E2D\u56FD\u9999\u6E2F"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}],o={};return o[1]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[2]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[3]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u60C5\u611F",v:"\u60C5\u611F"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u70ED\u8840",v:"\u70ED\u8840"},{n:"\u63A8\u7406",v:"\u63A8\u7406"},{n:"\u641E\u7B11",v:"\u641E\u7B11"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u841D\u8389",v:"\u841D\u8389"},{n:"\u6821\u56ED",v:"\u6821\u56ED"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u673A\u6218",v:"\u673A\u6218"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u5C11\u5E74",v:"\u5C11\u5E74"},{n:"\u5C11\u5973",v:"\u5C11\u5973"},{n:"\u793E\u4F1A",v:"\u793E\u4F1A"},{n:"\u539F\u521B",v:"\u539F\u521B"},{n:"\u4EB2\u5B50",v:"\u4EB2\u5B50"},{n:"\u76CA\u667A",v:"\u76CA\u667A"},{n:"\u52B1\u5FD7",v:"\u52B1\u5FD7"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[44]=[{key:"class",name:"",init:"",value:i},{key:"area",name:"",init:"",value:a},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[4]=[{key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[46]=[{key:"year",name:"",init:"",value:n},{key:"by",name:"",init:"time",value:s}],o[6]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7537\u9891",v:"\u7537\u9891"},{n:"\u5973\u9891",v:"\u5973\u9891"},{n:"\u90FD\u5E02",v:"\u90FD\u5E02"},{n:"\u751C\u5BA0",v:"\u751C\u5BA0"},{n:"\u5E74\u4EE3",v:"\u5E74\u4EE3"},{n:"\u7A7F\u8D8A",v:"\u7A7F\u8D8A"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u4EB2\u60C5",v:"\u4EB2\u60C5"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u840C\u5B9D",v:"\u840C\u5B9D"},{n:"\u91CD\u751F",v:"\u91CD\u751F"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u9006\u88AD",v:"\u9006\u88AD"},{n:"\u8650\u604B",v:"\u8650\u604B"},{n:"\u9274\u5B9D",v:"\u9274\u5B9D"},{n:"\u590D\u4EC7",v:"\u590D\u4EC7"},{n:"\u4FEE\u4ED9",v:"\u4FEE\u4ED9"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"}]},{key:"by",name:"",init:"time",value:s}],o[5]=[{key:"by",name:"",init:"time",value:s}],{class:r,filters:o}}function Rxr(t,e){let r=String(e||"").trim();if(!r)return"";if(/^https?:\/\//i.test(r)){if(/^https?:\/\/[^/]*gimg\d*\.baidu\.com\/gimg\//i.test(r)){let n=r.lastIndexOf("src=");if(n!==-1&&r.slice(n+4).includes("data:image/"))return""}return r}return r.startsWith("/img.php?url=")?r.slice(13):r.startsWith("/db.php?url=")?new URL(r,`${String(t||"").replace(/\/+$/,"")}/`).toString():new URL(r.replace(/^\/+/,""),`${String(t||"").replace(/\/+$/,"")}/`).toString()}function P4(t,e){return Rxr(t,e?.attribs?.["data-src"]||e?.attribs?.src||"")}function Nxr(t){let e=Array.isArray(t)?t:t.split("-");for(let r=1;r<e.length;r++)if(e[r]!="")return r;return-1}async function Oxr(t,e){let r=await D4(t.server),n=t.body.id,s=t.body.page,i=t.body.filters||{},a=s||1;if(a==0&&(a=1),n.startsWith("s-")){let o=["","","","","","","","","","",a,"","",""],c=n.split("-");o[parseInt(c[1])]=c[2];let u=await O4(`${r}/index.php/vodsearch/${o.join("-")}.html`),l=Me(u),d=l("div.module-items > div.module-search-item").map((f,p)=>{let m=l(p).find("div.video-info-header h3 a")[0];return{vod_id:m.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:m.attribs.title,vod_pic:P4(r,l(p).find("div.module-item-pic img")[0]),vod_remarks:l(p).find("a.video-serial").text()}}).get();return{page:a,pagecount:d.length<10?a:a+1,list:d}}else{let o=[n,"","","","","","","",a,"","",""];i.area&&(o[1]=i.area),i.by&&(o[2]=i.by),i.class&&(o[3]=i.class),i.year&&(o[11]=i.year);let c=`${r}/index.php/vodshow/${o.join("-")}.html`,u=await O4(c),l=Me(u),d=l("div.module-items > div.module-item").map((f,p)=>{let m=l(p).find("div.video-name a")[0];return{vod_id:m.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:m.attribs.title,vod_pic:P4(r,l(p).find("div.module-item-pic img")[0]),vod_remarks:l(p).find("div.module-item-text").text()}}).get();return{page:a,pagecount:d.length<70?a:a+1,list:d}}}async function Pxr(t,e){let r=await D4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await O4(`${r}/index.php/voddetail/${i}.html`),o=Me(a),c=[],u=[],l="";o("div.video-info-items a[href*=/vodsearch/]").each((m,h)=>{let A=h.attribs.href.match(/vodsearch\/(.*).html/)[1].split("-"),g=o(h).text().trim(),b=Nxr(A);if(b===5){let y={id:"s-5-"+decodeURIComponent(A[5].toString()),name:g};c.push(`[a=cr:${JSON.stringify(y)}/]${g}[/a]`)}else if(b===1){let y={id:"s-1-"+decodeURIComponent(A[1].toString()),name:g};u.push(`[a=cr:${JSON.stringify(y)}/]${g}[/a]`)}else b===13&&(l=g)});let d={vod_name:o(".page-title")[0].children[0].data,vod_pic:P4(r,o(".mobile-play .lazyload")[0]||o(".module-item-pic img")[0]),vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||"",vod_year:l,vod_actor:u.join(", "),vod_director:c.join(", "),vod_content:o("div.video-info-content p[style*=none]")[0].children[0].data.trim()},f=o("div.module-row-info p").map((m,h)=>h.children[0].data).get(),p=await Rr(f,t);p&&(d.vod_play_from=p.froms,d.vod_play_url=p.urls,d.vod_links=p.links),s.push(d)}return{list:s}}async function Dxr(t,e){let r=await D4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await O4(`${r}/index.php/vodsearch/-------------.html?wd=${s}`),o=Me(a),c=o("div.module-items > div.module-search-item").map((u,l)=>{let d=o(l).find("div.video-info-header h3 a")[0];return{vod_id:d.attribs.href.match(/voddetail\/(.*).html/)[1],vod_name:d.attribs.title,vod_pic:P4(r,o(l).find("div.module-item-pic img")[0]),vod_remarks:o(l).find("a.video-serial").text()}}).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}async function kxr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);if(s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filter:!0,filters:{}}),s.category=i.json(),r(i.json()),s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()),s.detail.list&&s.detail.list.length>0))){s.play=[];for(let a of s.detail.list){let o=a.vod_play_from.split("$$$"),c=a.vod_play_url.split("$$$");for(let u=0;u<o.length;u++){let l=o[u],d=c[u].split("#");for(let f=0;f<d.length&&f<2;f++)i=await t.server.inject().post(`${n}/play`).payload({flag:l,id:d[f].split("$")[1]}),s.play.push(i.json())}}}return i=await t.server.inject().post(`${n}/search`).payload({wd:"\u7231",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Lat={meta:{key:"wanou",name:"\u300C\u76D8\u300D\u73A9\u5076",type:3},api:async t=>{t.post("/init",Txr),t.post("/home",wxr),t.post("/category",Oxr),t.post("/detail",Pxr),t.post("/play",Or),t.post("/search",Dxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr),t.get("/test",kxr)},check:D4};var Lxr=["http://www.miqk.cc","https://mihdr.top","https://www.mihdr.top","https://zhizhen1.top"],noe=async t=>(await t.db.getObjectDefault("/zhizhen",{}))?.urls||t.config.zhizhen?.urls||Lxr,Bxr=async(t,e)=>{await t.db.push("/zhizhen/urls",e)},Mxr=async t=>{await t.db.delete("/zhizhen/urls")};async function soe(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await noe(e.server)})}),t.put("/urls",async(e,r)=>{await Bxr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await Mxr(e.server),r.send({code:0})})}var ioe,k4=t=>{if(!ioe){let e=Date.now();ioe=new Promise(async r=>{let n=await noe(t),s=await Xn(n);console.log("\u81F3\u81FB\u57DF\u540D",s,`${Date.now()-e}ms`),r(s)})}return ioe};async function aoe(t){return(await he.get(t,{headers:{"User-Agent":Gr}})).data}async function Wxr(t,e){return{class:[{type_id:"26",type_name:"\u4E25\u9009"},{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"},{type_id:"5",type_name:"\u77ED\u5267"},{type_id:"24",type_name:"\u8001\u5267"}],filters:{}}}async function $xr(t,e){let r=await k4(t.server),n=t.body.id,s=t.body.page,i=s||1;i==0&&(i=1);let a=r+`/index.php/vod/show/id/${n}/page/${s}.html`,o=await aoe(a,Gr),c=Me(o),u=c("#main .module-item"),l=[];for(var d of u){let m=c(d).find(".module-item-pic a").attr("href"),h=c(d).find(".module-item-pic img").attr("alt"),A=c(d).find(".module-item-pic img").attr("data-src"),g=c(d).find(".module-item-text").text();l.push({vod_id:m,vod_name:h,vod_pic:A,vod_remarks:g})}let p=c("#page > a:contains(\u4E0B\u4E00\u9875)").length>0?parseInt(i)+1:parseInt(i);return{page:parseInt(i),pagecount:p,limit:72,total:72*p,list:l}}async function Fxr(t,e){let r=await k4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=await aoe(r+i),o=Me(a),c={vod_id:i,vod_name:o(".page-title")[0].children[0].data,vod_pic:o(o(".mobile-play")).find(".lazyload")[0].attribs["data-src"],vod_remarks:o('.video-info-itemtitle:contains("\u5907\u6CE8")').next(".video-info-item").first().text().trim()||""},u=o(".video-info-itemtitle");for(let f of u){let p=o(f).text(),h=o(f).next().find("a").map((A,g)=>{let b=o(g).text().trim();return b||null}).get().filter(Boolean).join(", ");p.includes("\u5267\u60C5")?c.vod_content=o(f).next().find("p").text().trim():p.includes("\u5BFC\u6F14")?c.vod_director=h.trim():p.includes("\u4E3B\u6F14")&&(c.vod_actor=h.trim())}let l=o("div.module-row-info p").map((f,p)=>p.children[0].data).get(),d=await Rr(l,t);d&&(c.vod_play_from=d.froms,c.vod_play_url=d.urls,c.vod_links=d.links),s.push(c)}return{list:s}}async function Uxr(t,e){let r=await k4(t.server),n=t.body.page,s=t.body.wd,i=n||1;i==0&&(i=1);let a=await aoe(`${r}/index.php/vod/search/wd/${s}.html`),o=Me(a),c=o(".module-search-item").map((u,l)=>({vod_id:o(l).find(".video-serial")[0].attribs.href,vod_name:o(l).find(".video-serial")[0].attribs.title,vod_pic:o(l).find(".module-item-pic > img")[0].attribs["data-src"],vod_remarks:o(o(l).find(".video-serial")[0]).text()})).get();return{page:i,pagecount:c.length<10?i:i+1,list:c}}var Bat={meta:{key:"zhizhen",name:"\u300C\u76D8\u300D\u81F3\u81FB",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Wxr),t.post("/category",$xr),t.post("/detail",Fxr),t.post("/play",Or),t.post("/search",Uxr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)},check:k4};var L4=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Mat=t=>String(t??"").split(",").map(e=>e.trim()).filter(e=>e),Wat=t=>(Array.isArray(t)?t:[]).map(e=>String(e||"").trim()).filter(e=>e),Fat="douerpan,zyfb123",qxr={douerpan:"\u8C46\u513F\u76D8",zyfb123:"\u8C46\u513F123"},ooe=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgchannel",{});if(L4(n,e))return n[e];let s=t.config?.tgchannel||{};return L4(s,e)?s[e]:r},$at=t=>{if(!t||typeof t!="object"||Array.isArray(t))return{};let e={};for(let[r,n]of Object.entries(t))typeof n=="string"&&n.trim()!==""&&(e[r]=n);return e},B4=t=>ooe(t,"url","https://t.me"),coe=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(Object.prototype.hasOwnProperty.call(e,"count"))return e.count;let r=t.config?.tgchannel||{};return Object.prototype.hasOwnProperty.call(r,"count")?r.count:""},uoe=t=>ooe(t,"channelUsername",Fat),loe=t=>ooe(t,"homeChannelUsername",Fat),M4=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(Object.prototype.hasOwnProperty.call(e,"pic"))return e.pic;let r=t.config?.tgchannel||{};return Object.prototype.hasOwnProperty.call(r,"pic")?r.pic:!0},W4=async t=>{let e=await t.db.getObjectDefault("/tgchannel",{});if(L4(e,"channelNameMap"))return $at(e.channelNameMap);let r=t.config?.tgchannel||{};return L4(r,"channelNameMap")?$at(r.channelNameMap):qxr},uE=async(t,e,r)=>{await t.db.push(`/tgchannel/${e}`,r)},jxr=async t=>{await t.db.delete("/tgchannel")};async function doe(t){t.get("/config",async(e,r)=>{let n=await B4(e.server),s=await coe(e.server),i=await uoe(e.server),a=await loe(e.server),o=await M4(e.server),c=await W4(e.server),u=s===""||s===null||typeof s>"u"?"":Number(s);r.send({code:0,data:{url:n,count:u,channelUsername:Mat(i),homeChannelUsername:Mat(a),pic:o,channelNameMap:c}})}),t.put("/config",async(e,r)=>{await uE(e.server,"url",e.body.url),await uE(e.server,"count",e.body.count),await uE(e.server,"channelUsername",Wat(e.body.channelUsername).join(",")),await uE(e.server,"homeChannelUsername",Wat(e.body.homeChannelUsername).join(",")),await uE(e.server,"pic",e.body.pic),await uE(e.server,"channelNameMap",e.body.channelNameMap||{}),r.send({code:0})}),t.delete("/config",async(e,r)=>{await jxr(e.server),r.send({code:0})})}function Hxr(t){let e=t.attr("style"),r=/background-image:url\('([^']+)'\)/.exec(e);if(r&&r.length>1)return r[1]}function jat(t){return t=t.replace(/https?:\/\/[^\s]+/gi,""),t=t.split(/åç§°[:|:]/)?.[1]||t,t=t.split(`
|
|
`)?.[0]||t,t=t.trim(),t=t.replace(/^[^\u4e00-\u9fa5A-Za-z0-9\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»]+/,"").trim(),t=t.replace(/^(电视剧|动漫|电影|综艺|纪录片|动画)[\s||]+/,"").trim(),/^[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»]/.test(t)?(t=t.replace(/^[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»][^\)\]\})】》ã€ã€ã€•〗〉﹞]]*[\)\]\})】》ã€ã€ã€•〗〉﹞]]/,"").trim(),t=t.replace(/[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»].*$/,"").trim()):t=t.replace(/[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»].*$/,"").trim(),t=t.replace(/((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*\d+\s*集)|((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*[一二三四五å…七八ä¹å百åƒä¸‡äº¿]+\s*集)|(\d+\s*集\s*å…¨)|([一二三四五å…七八ä¹å百åƒä¸‡äº¿]+\s*集\s*å…¨)|((?:更至|æ›´)\s*(?:EP)?\s*\d+)|((?:æ›´æ–°\s*)?EP\d+集)|(æ›´æ–°\d+集)|(S\d+\s*E\d+(?:已更新)?)/g,"").trim(),t=t.replace(/\s*\d+\s*\+\s*\d+\s*帧\s*/g,"").replace(/\s*4[Kk]\s*(DV|HDR10|SDR10|臻彩|æœæ¯”)?\s*(高ç 率|50帧|10bit)?\s*/g,"").replace(/\s*\d+[pP]\s*/g,"").replace(/\s*(æœæ¯”视界|æœæ¯”音效|WEB-60fpsMAX|WEB-|DV|HDR10|HDR|SDR|臻彩|æœæ¯”|高ç 率|ä¸ç 率|50帧|25帧|60帧|10bit|10BIT|纯净版|完结|全景声|超高ç 率|EDR|æ ‡ç |Vivid|三维è彩声|txb|æºç |剧版|æ— å°æ ‡|ATVP|IQ|Friday|多国å—幕|åŒè¯|简ä¸|æ—¥è¯|æ— æŸ|特别版|软å—幕|补链接|MAX|ä¸ç |音效|高ç |å°é…|国è¯|环绕声|è“光原盘|臻享超高清|首æ’|ç‚¹æ˜ |Viu|10B|硬å—幕)\s*/g,"").replace(/\s*内å°[^\s]*\s*/g,"").replace(/\s*——\s*/g," ").replace(/\s*\d{4}å¹´?\s*/g,"").replace(/\s*大å°\s*\d+\.?\d*\s*[KMGT]B\s*/g,"").replace(/\d+\.?\d*\s*[KMGT]B/g,"").replace(/\s*å·²?æ›´æ–°\s*/g,"").replace(/\s*\+\s*/g," ").replace(/\s+/g," ").trim(),t=t.split(/,|,/)?.[0],t?.trim()}var Qxr={"User-Agent":"MoZhao"};function foe(t){return nf().some(e=>e.validator(t))}function Hat(t,e=()=>!0){let r=[];for(let n of t){let s=n.attribs?.href;s&&e(s)&&r.push(s)}return r}function _w(t){return Hat(t,foe)}function $4(t){return Hat(t,F4)}function Vf(t){return[...new Set((t||[]).filter(Boolean))]}function Gxr(t){return String(t||"").trim().replace(/&/g,"&").replace(/[\)\]\}>)】》ã€ã€ã€•〗〉﹞]ã€ã€‚,,;ï¼›!?ï¼ï¼Ÿ]+$/g,"")}function Vxr(t){let e=String(t||"");return Vf([/https?:\/\/[^\s"'<>]+/gi,/magnet:\?[^\s"'<>]+/gi,/ed2k:\/\/\|file\|.+?\|\d+\|[a-f0-9]{32}\|\//gi,/ed2k:\/\/[^\s"'<>]+/gi].flatMap(n=>e.match(n)||[]).map(Gxr))}function zxr(t,e){let r=t(e).find(".tgme_widget_message_date").attr("href");if(Gat(r))return r;let n=e.attribs?.["data-post"];return n?`https://t.me/${n}`:""}function poe(t){let e=[],r=Vxr(t);for(let n of r)foe(n)&&e.push(n);return e}function Qat(t){let e=[],r=t.match(/https?:\/\/[^\s]+/gi);if(r)for(let n of r)F4(n)&&e.push(n);return e}var Gat=t=>/t.me\/.*\/.*/.test(t),F4=t=>/https?:\/\/(?:telegra\.ph|graph\.org)\//i.test(String(t||"")),Vat=t=>nf().find(e=>e.validator(t)),zat=(t,e)=>!e||typeof e!="object"?t:e[t]||t,Kat=t=>String(t||"").split(",").map(e=>e.trim()).filter(Boolean);async function moe(t){let e=await Ae.get(t,{timeout:5e3,headers:Qxr});return Me(e.data)}async function Kxr(t){let e=await moe(t),r=e(".tl_article").text()||e("body").text()||"";return{links:Vf([...poe(r),..._w(e("a"))])}}async function Yat(t){let e=Vf((t||[]).filter(F4));if(!e.length)return[];let r=await Promise.all(e.map(async n=>{try{return(await Kxr(n)).links}catch(s){return console.error("[tgchannel] parse telegra failed",n,s?.message||s),[]}}));return Vf(r.flat())}async function Yxr(t){let e=await moe(t),r=e(".tgme_widget_message"),n=[];for(let s of r){let i=s.attribs["data-post"],a=Hxr(e(s).find(".tgme_widget_message_photo_wrap"));e("br").replaceWith(`
|
|
`);let o=e(s).find(".tgme_widget_message_text").text(),c=jat(o),u=o,l=Vf([...poe(o),..._w(e(s).find(".tgme_widget_message_text a")),..._w(e(s).find(".tgme_widget_message_inline_button"))]),d=Vf([...$4(e(s).find(".tgme_widget_message_text a")),...$4(e(s).find(".tgme_widget_message_inline_button")),...Qat(o)]),f=[...l],p=f.length?[...f]:d.length?[...d]:[];if(!p.length){let m=zxr(e,s);m&&p.push(m)}p.length&&n.push({id:p.join("|"),title:c,description:u,cover:a,messageId:Number(i.split("/")[1]),panLinks:f})}return n}async function Jxr(t){let e=await moe(t),r=e('meta[property="og:description"]').attr("content"),n=e('meta[property="og:image"]').attr("content"),s=jat(r),i=Vf([...poe(r||""),..._w(e(".tgme_widget_message_text a")),..._w(e(".tgme_widget_message_inline_button"))]),a=Vf([...Qat(r||""),...$4(e(".tgme_widget_message_text a")),...$4(e(".tgme_widget_message_inline_button"))]),o=i.length?[]:await Yat(a),c=Vf([...i,...o]);return{title:s,description:r,cover:n,links:c}}async function Xxr(t,e){return await qr(t,e),{}}async function Zxr(t){let e=await loe(t.server),r=await W4(t.server);return{class:Kat(e).map(n=>({type_id:n,type_name:zat(n,r)}))}}var Uat={},qat={},hoe={};async function Jat(t){let e=await B4(t.server),r=await M4(t.server),n=t.body.id,s=t.body.page;s||(s=1);try{let i=await Yxr(`${e}/s/${n}${s>1?`?before=${qat[n]}`:""}`);qat[n]=i[0].messageId,s===1&&(Uat[n]=i[i.length-1].messageId),i.reverse();let a=i.map(o=>{let c,u="";return o.panLinks.length&&o.panLinks.forEach(l=>{let d=Vat(l);d&&(u+=u?`|${d.name}`:d.name,c||(c=d.pic))}),c||(c="https://telegram.org/img/apple-touch-icon.png"),{vod_name:o.title,vod_id:o.id,vod_pic:r&&o.cover||c,vod_remarks:u,rawData:o}});return a.forEach(o=>{o.vod_name&&o.vod_id&&(hoe[o.vod_id]=o.vod_name)}),{page:s,pagecount:Math.ceil(Uat[n]/a.length),list:a}}catch(i){return console.error(i),{page:s,pagecount:1,list:[]}}}async function ebr(t,e){let r=await B4(t.server),n=Array.isArray(t.body.id)?t.body.id:[t.body.id],s=[];for(let i of n){let a=i.split("|"),o=hoe[i]||"";if(a.length===1&&Gat(a[0])){let l=await Jxr(i.replace("https://t.me",r));!o&&l.title&&(o=l.title),a=l.links}else!a.some(foe)&&a.some(F4)&&(a=await Yat(a));let c=await Rr(a,t),u={vod_id:i,vod_name:o};c&&(u.vod_play_from=c.froms,u.vod_play_url=c.urls,u.vod_links=c.links),s.push(u)}return{list:s}}async function tbr(t,e){let r=await coe(t.server),n=await uoe(t.server),s=await M4(t.server),i=await W4(t.server),a=t.body.wd,o=Number(r),c=Number.isFinite(o)?Math.floor(o):0,u=c>0,l=Kat(n);if(!l.length)return{page:1,pagecount:1,list:[]};let d=await Promise.all(l.map(p=>Jat({body:{id:`${p}?q=${encodeURIComponent(a)}`},server:t.server}))),f=[];return d.forEach((p,m)=>{let h=p.list.filter(g=>g.rawData.panLinks.length);(u?h.slice(0,c):h).forEach(g=>{let b="",y;g.rawData.panLinks.forEach(x=>{let v=Vat(x);v&&(b+=b?`|${v.name}`:v.name),y||(y=v.pic)}),f.push({vod_id:g.vod_id,vod_name:g.vod_name,vod_pic:s&&g.vod_pic||y,vod_remarks:`${b}:${zat(l[m],i)}`}),g.vod_name&&g.vod_id&&(hoe[g.vod_id]=g.vod_name)})}),{page:1,pagecount:1,list:f}}var Xat={meta:{key:"tgchannel",name:"\u300C\u76D8\u300DTG\u641C",type:3},api:async t=>{t.post("/init",Xxr),t.post("/home",Zxr),t.post("/category",Jat),t.post("/detail",ebr),t.post("/play",Or),t.post("/search",tbr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var U4=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),rbr=t=>String(t??"").split(",").map(e=>e.trim()).filter(e=>e),nbr=t=>(Array.isArray(t)?t:[]).map(e=>String(e||"").trim()).filter(e=>e),eot=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgsou",{});if(U4(n,e))return n[e];let s=t.config?.tgsou||{};return U4(s,e)?s[e]:r},Zat=t=>{if(!t||typeof t!="object"||Array.isArray(t))return{};let e={};for(let[r,n]of Object.entries(t))typeof n=="string"&&n.trim()!==""&&(e[r]=n);return e},goe=t=>eot(t,"url","https://tgsou.252035.xyz"),Aoe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{});if(Object.prototype.hasOwnProperty.call(e,"count"))return e.count;let r=t.config?.tgsou||{};return Object.prototype.hasOwnProperty.call(r,"count")?r.count:""},yoe=t=>eot(t,"channelUsername",""),xoe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{});if(Object.prototype.hasOwnProperty.call(e,"pic"))return e.pic;let r=t.config?.tgsou||{};return Object.prototype.hasOwnProperty.call(r,"pic")?r.pic:!0},boe=async t=>{let e=await t.db.getObjectDefault("/tgsou",{}),r={};if(U4(e,"channelNameMap"))r=Zat(e.channelNameMap);else{let n=t.config?.tgsou||{};U4(n,"channelNameMap")&&(r=Zat(n.channelNameMap))}return r},Sw=async(t,e,r)=>{await t.db.push(`/tgsou/${e}`,r)};async function Eoe(t){t.get("/config",async(e,r)=>{let n=await goe(e.server),s=await Aoe(e.server),i=await yoe(e.server),a=await xoe(e.server),o=await boe(e.server),c=s===""||s===null||typeof s>"u"?"":Number(s);r.send({code:0,data:{url:n,count:c,channelUsername:rbr(i),pic:a,channelNameMap:o}})}),t.put("/config",async(e,r)=>{await Sw(e.server,"url",e.body.url),await Sw(e.server,"count",e.body.count),await Sw(e.server,"channelUsername",nbr(e.body.channelUsername).join(",")),await Sw(e.server,"pic",e.body.pic),await Sw(e.server,"channelNameMap",e.body.channelNameMap||{}),r.send({code:0})})}var tot={};async function sbr(t,e){return await qr(t,e),{}}async function ibr(t,e){return{class:[]}}var abr=(t,e)=>!e||typeof e!="object"?t:e[t]||t;function obr(t){return t&&(t=t.replace(/https?:\/\/[^\s]+/gi,""),t=t.split(/åç§°[:|:]/)?.[1]||t,t=t.split(`
|
|
`)?.[0]||t,t=t.trim(),t=t.replace(/^[^\u4e00-\u9fa5A-Za-z0-9\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»]+/,"").trim(),t=t.replace(/^(电视剧|动漫|电影|综艺|纪录片|动画)[\s||]+/,"").trim(),/^[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»]/.test(t)?(t=t.replace(/^[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»][^\)\]\})】》ã€ã€ã€•〗〉﹞]]*[\)\]\})】》ã€ã€ã€•〗〉﹞]]/,"").trim(),t=t.replace(/[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»].*$/,"").trim()):t=t.replace(/[\(\[\{(ã€ã€Šã€Œã€Žã€”〖〈ï¹ï¼»].*$/,"").trim(),t=t.replace(/((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*\d+\s*集)|((?:更新至|å…¨|第|å…±)\s*(?:第)?\s*[一二三四五å…七八ä¹å百åƒä¸‡äº¿]+\s*集)|(\d+\s*集\s*å…¨)|([一二三四五å…七八ä¹å百åƒä¸‡äº¿]+\s*集\s*å…¨)|((?:更至|æ›´)\s*(?:EP)?\s*\d+)|((?:æ›´æ–°\s*)?EP\d+集)|(æ›´æ–°\d+集)|(S\d+\s*E\d+(?:已更新)?)/g,"").trim(),t=t.replace(/\s*\d+\s*\+\s*\d+\s*帧\s*/g,"").replace(/\s*4[Kk]\s*(DV|HDR10|SDR10|臻彩|æœæ¯”)?\s*(高ç 率|50帧|10bit)?\s*/g,"").replace(/\s*\d+[pP]\s*/g,"").replace(/\s*(æœæ¯”视界|æœæ¯”音效|WEB-60fpsMAX|WEB-|DV|HDR10|HDR|SDR|臻彩|æœæ¯”|高ç 率|ä¸ç 率|50帧|25帧|60帧|10bit|10BIT|纯净版|完结|全景声|超高ç 率|EDR|æ ‡ç |Vivid|三维è彩声|txb|æºç |剧版|æ— å°æ ‡|ATVP|IQ|Friday|多国å—幕|åŒè¯|简ä¸|æ—¥è¯|æ— æŸ|特别版|软å—幕|补链接|MAX|ä¸ç |音效|高ç |å°é…|国è¯|环绕声|è“光原盘|臻享超高清|首æ’|ç‚¹æ˜ |Viu|10B|硬å—幕)\s*/g,"").replace(/\s*内å°[^\s]*\s*/g,"").replace(/\s*——\s*/g," ").replace(/\s*\d{4}å¹´?\s*/g,"").replace(/\s*大å°\s*\d+\.?\d*\s*[KMGT]B\s*/g,"").replace(/\d+\.?\d*\s*[KMGT]B/g,"").replace(/\s*å·²?æ›´æ–°\s*/g,"").replace(/\s*\+\s*/g," ").replace(/\s+/g," ").trim(),t=t.split(/,|,/)?.[0],t?.trim())}async function cbr(t,e){return{page:1,pagecount:1,list:[]}}async function ubr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=s.includes("|")?s.split("|"):[s],a=await Rr(i,t),o={};o.vod_name=tot[s]||"",a&&(o.vod_play_from=a.froms,o.vod_play_url=a.urls,o.vod_links=a.links),n.push(o)}return{list:n}}async function lbr(t,e){let r=await goe(t.server),n=await Aoe(t.server),s=await yoe(t.server),i=await xoe(t.server),a=await boe(t.server),o=t.body.wd,c=Number(n),u=Number.isFinite(c)?Math.floor(c):0,l=u>0,d=new URL(r);d.searchParams.set("pic",String(i)),l&&d.searchParams.set("count",String(u)),d.searchParams.set("channelUsername",s),d.searchParams.set("keyword",o||"");let f=await Ae.get(d.toString()),p=new Map;for(let h of f.data.results){let[A,g]=h.split("$$$");if(!g)continue;let b=g.split("##");for(let y=0;y<b.length&&(!l||y<=u);y++){let[x,v]=b[y].split("$$"),[C,R]=x.split("@"),w=nf().find(N=>N.validator(C));if(w){let N=obr(v)||o,P=!!R,L=P?/^https?:\/\//i.test(R)?R:`${r}/down?id=${R}&channelUsername=${A}`:w.pic,M=P?L:C;p.has(M)||p.set(M,{links:[],panInfos:[],pic:L,group:A,title:N});let k=p.get(M),B=C?.replace(/\s+/g,"");k.links.includes(B)||(k.links.push(B),k.panInfos.push(w))}}}let m=[];for(let[h,A]of p.entries()){let g=[...new Set(A.panInfos.map(b=>b.name))].join("/");m.push({vod_id:A.links.join("|"),vod_name:A.title,vod_pic:A.pic,vod_remarks:`${g}:${abr(A.group,a)}`}),A.title&&A.links.length&&(tot[A.links.join("|")]=A.title)}return{page:1,pagecount:1,list:m}}var rot={meta:{key:"tgsou",name:"\u300C\u76D8\u300DTG\u641C\xB2",type:3},api:async t=>{t.post("/init",sbr),t.post("/home",ibr),t.post("/category",cbr),t.post("/detail",ubr),t.post("/play",Or),t.post("/search",lbr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var not=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),dbr="http://127.0.0.1:8080",iot=async(t,e,r)=>{let n=await t.db.getObjectDefault("/tgfilebot",{});if(not(n,e))return n[e];let s=t.config?.tgfilebot||{};return not(s,e)?s[e]:r},_oe=t=>iot(t,"url",dbr),Soe=t=>iot(t,"password",""),sot=async(t,e,r)=>{await t.db.push(`/tgfilebot/${e}`,r)},fbr=async t=>{await t.db.delete("/tgfilebot")};async function voe(t){t.get("/config",async(e,r)=>{let n=await _oe(e.server),s=await Soe(e.server);r.send({code:0,data:{url:n,password:s}})}),t.put("/config",async(e,r)=>{await sot(e.server,"url",e.body.url||""),await sot(e.server,"password",e.body.password||""),r.send({code:0})}),t.delete("/config",async(e,r)=>{await fbr(e.server),r.send({code:0})})}var pbr="http://127.0.0.1:8080",oot="",vw=20,mbr=30;async function hbr(t,e){return{}}function gbr(t){for(t=String(t||"").trim();t.endsWith("/");)t=t.slice(0,-1);return t}function ns(t){return String(t||"").replace(/\s+/g," ").trim()}function cot(t){return ns(t).replace(/[$#]/g," ")}function Coe(t){return ns(t).replace(/^>+\s*/,"").replace(/^\*\*(.*?)\*\*$/,"$1").replace(/^__(.*?)__$/,"$1").replace(/^`(.*?)`$/,"$1").replace(/^\[(.*?)\]\([^)]*\)$/,"$1").replace(/^[-•]\s*/,"").replace(/^\*\s+/,"").trim()}function uot(t){let e=String(t||"").replace(/\r\n/g,`
|
|
`).split(`
|
|
`);for(let r of e){let n=ns(r);if(n&&!/^(主演|类型|制片国家|è¯è¨€|ä¸Šæ˜ æ—¥æœŸ|片长|åˆå|导演|编剧)\s*[::]/.test(Coe(n)))return n}return""}function lot(t){return String(t||"").replace(/[ï¼-ï¼™]/g,e=>String(e.charCodeAt(0)-65296))}function Abr(t){let e=String(t||"").replace(/两/g,"\u4E8C");if(!e)return 0;if(/^\d+$/.test(e))return Number(e);let r={\u96F6:0,"\u3007":0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9},n={\u5341:10,\u767E:100,\u5343:1e3,\u4E07:1e4},s=0,i=0,a=0;for(let o of e){if(r[o]!==void 0){a=r[o];continue}let c=n[o];if(!c)return 0;c===1e4?(i=(i+a)*c,s+=i,i=0):i+=(a||1)*c,a=0}return s+i+a}function H4(t){let e=ns(t).replace(/\.[a-z0-9]{2,5}$/i,""),r=e.match(/(?:^|[^0-9ï¼-ï¼™])(?:第\s*)?([0-9ï¼-ï¼™]{1,4})\s*(?:集|話|è¯|回|期)(?:\D|$)/);return r?"\u7B2C"+lot(r[1]).replace(/^0+/,"")+"\u96C6":(r=e.match(/^0*([1-9][0-9]{0,3})(?=[\s._\-ã€\[((]|$)/),r?"\u7B2C"+r[1]+"\u96C6":"")}function aot(t){let e=lot(ns(t)),r=e.match(/第\s*([0-9]{1,4}|[零〇一二三四五å…七八ä¹å百åƒä¸‡ä¸¤]{1,8})\s*(?:集|話|è¯|回|期)/);return r?Abr(r[1].replace(/^0+/,"")):(r=e.match(/^0*([1-9][0-9]{0,3})(?=[\s._\-ã€\[((]|$)/),r?Number(r[1]):0)}function dot(t,e){let r=Coe(uot(t));if(!r)return{name:"",remark:""};let n=r.match(/^[ã€\[]\s*([^】\]]+?)\s*[】\]]/);if(n)return{name:ns(n[1]),remark:H4(e)};let s=r.startsWith("#")?r.replace(/^#+\s*/,"").trim():r;if(!s)return{name:"",remark:""};if(!r.startsWith("#"))return{name:ns(s),remark:H4(e)};let i=s.match(/^(.*?)\s*(第\s*[0-9ï¼-9零〇一二三四五å…七八ä¹å百åƒä¸‡ä¸¤]+\s*(?:集|話|è¯|回|期))(?:\s|$)/);return i?{name:ns(i[1]),remark:ns(i[2]).replace(/\s+/g,"")}:{name:ns(s),remark:H4(e)}}function qg(t){if(!t)return[];if(Array.isArray(t))return t;if(typeof t[Symbol.iterator]=="function"&&typeof t!="string")return[...t].filter(e=>e!=null);if(typeof t.length=="number"&&typeof t!="string"){let e=[];for(let r=0;r<t.length;r++)t[r]!==void 0&&t[r]!==null&&e.push(t[r]);return e}return typeof t=="object"?Object.keys(t).filter(e=>/^\d+$/.test(e)).sort((e,r)=>Number(e)-Number(r)).map(e=>t[e]).filter(e=>e!=null):[]}function Ioe(t){return encodeURIComponent(JSON.stringify(t||{}))}function jg(t){return t?JSON.parse(decodeURIComponent(String(t))):{}}function Q4(t){if(t=Number(t||0),!t||t<0)return"";let e=["B","KB","MB","GB","TB"],r=t,n=0;for(;r>=1024&&n<e.length-1;)r/=1024,n++;let s=n===0||r>=100?0:r>=10?1:2;return`${r.toFixed(s)} ${e[n]}`}function ybr(t){if(t=Number(t||0),!t)return"";let e=new Date(t*1e3),r=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0");return`${r}-${n} ${s}:${i}`}function q4(t,e){let r=0;for(let n of e)t.indexOf(n)>=0&&r++;return r}function fot(t){let e=String(t&&t.text||""),r=String(t&&t.name||""),n=(e+`
|
|
`+r).toLowerCase();if(!n.trim())return!1;let i=q4(n,["@duguan","\u8D4C\u9986","\u6D3B\u52A8\u9891\u9053","\u9996\u5B58","\u6D41\u6C34","\u6CE8\u518C\u9001","\u65B0\u7528\u6237\u6CE8\u518C","\u5173\u95EDvpn","\u5A31\u4E50\u57CE","\u5A31\u4E50\u5E73\u53F0","\u8D4C\u573A","\u535A\u5F69","\u767E\u5BB6\u4E50","\u516D\u5408\u5F69","\u9001\u5F69\u91D1","\u5F69\u91D1","\u6295\u6CE8","\u5145\u503C","\u63D0\u6B3E","\u63D0\u73B0","\u4E0A\u5206","\u4E0B\u5206","\u8FD4\u6C34","\u4F63\u91D1","\u76D8\u53E3","\u9A8C\u8D44","\u5B98\u65B9\u5BA2\u670D","\u798F\u5229\u9891\u9053","\u6CE8\u518C\u7F51\u5740","\u62C5\u4FDD\u57DF\u540D"]),a=q4(n,["\u6CE8\u518C","\u9996\u5B58","\u9996\u5145","\u5145\u503C","\u5B58\u6B3E","\u6D41\u6C34","\u8FD4\u6C34","\u4E0B\u6CE8","\u6295\u6CE8","\u4E0A\u5206","\u4E0B\u5206","\u5F69\u91D1","\u9001\u5F69\u91D1","\u4F63\u91D1","\u6551\u63F4\u91D1","\u63D0\u6B3E","\u63D0\u73B0","\u51FA\u6B3E","\u9886\u53D6"]),o=q4(n,["\u6D3B\u52A8\u9891\u9053","\u5E73\u53F0","\u4FE1\u8A89\u5E73\u53F0","\u5A31\u4E50\u57CE","\u5A31\u4E50\u5E73\u53F0","\u8D4C\u573A","\u535A\u5F69","\u767E\u5BB6\u4E50","\u516D\u5408\u5F69","\u89C6\u8BAF","\u771F\u4EBA","\u76D8\u53E3","\u72D7\u5E84","pg\u96C6\u56E2","pg\u5A31\u4E50\u57CE","pg\u76F4\u8425","\u6C47\u65FA","\u8C6A\u535A\u5A31\u4E50","\u9A8C\u8D44","vpn","\u6D4F\u89C8\u5668\u75284g\u7F51\u7EDC"]),c=q4(n,["\u5B98\u65B9\u5BA2\u670D","\u798F\u5229\u9891\u9053","\u6CE8\u518C\u7F51\u5740","\u62C5\u4FDD\u57DF\u540D","\u603B\u7FA4","\u5BA2\u670D","\u9891\u9053","bot","http://","https://"]),u=(n.match(/@[a-z0-9_]{4,}/g)||[]).length,l=(n.match(/[a-z0-9][a-z0-9-]+\.(?:com|net|cc|top|vip|app)\b/g)||[]).length,d=(n.match(/注册/g)||[]).length>=3;return i>=2||a>0&&o>0||a>=2&&(c>0||u>=2||l>0)||o>=2&&(c>0||u>=2||l>0)||d}async function xbr(t){let e=process.env.TGFILEBOT_URL||await _oe(t),r=process.env.TGFILEBOT_PASSWORD||process.env.TGFILEBOT_KEY||await Soe(t);return{url:gbr(e)||pbr,password:String(r||"").trim()}}async function pot(t,e,r={}){let n=await xbr(t),s=new URL(e,n.url+"/"),i={...r};n.password&&(i.key=n.password);for(let[a,o]of Object.entries(i))o==null||o===""||s.searchParams.set(a,String(o));return s.toString()}async function V4(t,e,r={},n=3e4){let s=await pot(t,e,r),i=await Ae.get(s,{timeout:n,validateStatus:()=>!0});if(i.status<200||i.status>=300)throw new Error(`TGFileBot ${e} HTTP ${i.status}`);return typeof i.data=="string"?JSON.parse(i.data):i.data||{}}function bbr(t){let e=ns(t);return e?e.startsWith("#")?[e]:[e,"#"+e]:[]}function j4(t){return Coe(t).replace(/^#+\s*/,"").replace(/[\s._\-::,,.。!ï¼??ã€/\\|()[\]ã€ã€‘()《》<>〈〉"'“â€â€˜â€™Â·]/g,"").toLowerCase()}function Ebr(t){return String(t||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _br(t,e){let r=ns(e).replace(/^#+\s*/,"");return r?new RegExp("(^|\\s)#"+Ebr(r)+"(?=\\s|$|#)").test(String(t||"")):!1}function G4(t){try{return jg(t&&t.vod_id)}catch{return{}}}function Sbr(t,e){let r=G4(t),n=j4(ns(e).replace(/^#+\s*/,""));if(!n)return 0;let s=j4(r.name||t&&t.vod_name||""),i=j4(uot(r.text||"")),a=j4(r.text||"");return s===n?100:i===n?98:_br(r.text||"",e)?95:s.startsWith(n)?80:i.startsWith(n)?75:s.indexOf(n)>=0?60:i.indexOf(n)>=0?50:a.indexOf(n)>=0?10:0}function vbr(t,e){return t.map((r,n)=>{let s=G4(r);return{video:r,index:n,score:Sbr(r,e),date:Number(s.date||0)}}).sort((r,n)=>n.score!==r.score?n.score-r.score:n.date!==r.date?n.date-r.date:r.index-n.index).map(r=>r.video)}function Cbr(t,e){let r=new Set(t.map(n=>{let s=G4(n);return`${s.cid||""}:${s.mid||""}`}));for(let n of e){let s=G4(n),i=`${s.cid||""}:${s.mid||""}`;i!==":"&&r.has(i)||(i!==":"&&r.add(i),t.push(n))}return t}function Ibr(t,e=""){let r=dot(t?.text||t?.name,t?.name),n=r.name||ns(t?.name)||`Telegram ${t?.mid||""}`.trim(),s=r.remark||ns(t?.remark),i={cid:t?.cid,mid:t?.mid,reply_mid:t?.reply_mid||0,name:n,remark:s,text:t?.text||"",size:t?.size||0,date:t?.date||0,channel:e||""};return{vod_id:Ioe(i),vod_name:n,type_name:e||"",vod_pic:t?.pic||t?.cover||t?.thumb||oot,vod_remarks:i.remark||"",topRightRemarks:Q4(t?.size)||""}}function mot(t){let e=[];for(let r of qg(t)){let n=r&&r.channel?r.channel:"",s=qg(r&&r.item);for(let i of s)!i||fot(i)||e.push(Ibr(i,n))}return e.sort((r,n)=>{try{return Number(jg(n.vod_id).date||0)-Number(jg(r.vod_id).date||0)}catch{return 0}}),e}function Tbr(t){if(!t||!t.cid)return!1;if(t.reply_mid)return!0;let e=String(t.text||"");return e.trim()?/(剧集选择|评论区|评论|留言|回å¤|comment=|t\.me\/[a-z0-9_]+\/\d+\?comment=|t\.me\/c\/\d+\/\d+\?comment=)/i.test(e):!1}function hot(t,e){return`${cot(t)}$${Ioe(wbr(e))}`}function wbr(t){return{cid:t?.cid,mid:t?.mid,reply_mid:t?.reply_mid||0,name:t?.name||"",remark:t?.remark||"",size:t?.size||0,date:t?.date||0,channel:t?.channel||""}}function Rbr(t){let e=String(t||""),r=e.indexOf("$");return r<0?{title:e,token:""}:{title:e.slice(0,r),token:e.slice(r+1)}}function Nbr(t){let e=Rbr(t);try{let r=jg(e.token),n=aot(r.remark||"");if(n>0)return n}catch{}return aot(e.title)}function Obr(t){return t.map((e,r)=>({item:e,index:r,episode:Nbr(e)})).sort((e,r)=>{let n=e.episode>0,s=r.episode>0;return n&&s&&e.episode!==r.episode?e.episode-r.episode:n!==s?n?-1:1:e.index-r.index}).map(e=>e.item)}function got(t,e){let r=cot(t),n=Q4(e);return!n||r.indexOf(n)>=0?r:`${r} ${n}`}function Pbr(t){return t&&t.items?qg(t.items):t&&t.item?[t]:qg(t)}function Dbr(t,e,r){let n=new Set;for(let s of t){let i=String(s).split("$").slice(1).join("$");try{let a=jg(i);n.add(`${a.cid||""}:${a.mid||""}`)}catch{}}for(let s of qg(r)){let i=qg(s&&s.item);for(let a of i){if(!a||!a.cid||!a.mid||fot(a))continue;let o=`${a.cid}:${a.mid}`;if(n.has(o))continue;let c=dot(a.text||e.text||a.name,a.name),u=c.name||e.name,l=c.remark||H4(a.name)||"",d={...e,cid:a.cid,mid:a.mid,reply_mid:a.reply_mid||0,name:u,remark:l,size:a.size||0,date:a.date||e.date||0,text:a.text||e.text||""},f=l||ns(a.name)||e.remark||e.name;n.add(o),t.push(hot(got(f,a.size),d))}}return t}async function kbr(t,e){try{let r=await V4(t.server,"/channels",{},12e3);return{class:qg(r.channels).map(s=>{let i=ns(s&&s.id);return i?{type_id:i,type_name:ns(s.name)||i}:null}).filter(Boolean)}}catch(r){return console.error("[tgfilebot] channels failed",r?.message||r),{class:[]}}}async function Lbr(t,e){let r=Math.max(Number.parseInt(t.body?.page||"1",10)||1,1),n=ns(t.body?.id||"all")||"all",s=await V4(t.server,"/latest",{channel:n,page:r,limit:vw}),i=mot(s.items);return{page:r,pagecount:s.more?r+1:r,limit:vw,total:s.total||i.length,list:i}}async function Bbr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r.filter(Boolean)){let i=jg(s),a=Ioe(i),o=ns(i.name)||`Telegram ${i.mid||""}`.trim(),c=[hot(got(i.remark||o,i.size),i)];try{let l=i.reply_mid||i.mid;if(i.cid&&l&&Tbr(i)){let d=await V4(t.server,"/replies",{cid:i.cid,mid:l,limit:mbr},2e4);Dbr(c,i,Pbr(d))}}catch(l){console.error("[tgfilebot] replies skipped",l?.message||l)}let u=[i.remark?`Remark: ${i.remark}`:"",i.channel?`Channel: ${i.channel}`:"",i.cid?`CID: ${i.cid}`:"",i.mid?`MID: ${i.mid}`:"",i.size?`Size: ${Q4(i.size)}`:"",i.date?`Date: ${ybr(i.date)}`:"",ns(i.text||"")].filter(Boolean).join(`
|
|
`);n.push({vod_id:a,vod_name:o,type_name:i.channel||"",vod_pic:i.pic||oot,vod_remarks:i.remark||"",topRightRemarks:Q4(i.size)||"",vod_content:u,vod_play_from:"TGFileBot",vod_play_url:Obr(c).join("#")})}return{list:n}}async function Mbr(t,e){let r=jg(t.body?.id);return!r.cid||!r.mid?{parse:0,url:""}:{parse:0,url:await pot(t.server,"/stream",{cid:r.cid,mid:r.mid,cate:"user"})}}async function Wbr(t,e){let r=ns(t.body?.wd||""),n=Math.max(Number.parseInt(t.body?.page||"1",10)||1,1);if(!r)return{page:n,pagecount:n,list:[]};let s=[];for(let i of bbr(r))try{let a=await V4(t.server,"/search",{keywords:i,page:n,limit:vw},2e4);s=Cbr(s,mot(a.items))}catch(a){console.error("[tgfilebot] search variant failed",i,a?.message||a)}return s=vbr(s,r),{page:n,pagecount:s.length>=vw?n+1:n,limit:vw,total:s.length,list:s}}var Aot={meta:{key:"tgfilebot",name:"\u300C\u76F4\u300DTGFileBot",type:3},api:async t=>{t.post("/init",hbr),t.post("/home",kbr),t.post("/category",Lbr),t.post("/detail",Bbr),t.post("/play",Mbr),t.post("/search",Wbr)}};var xot=Re(Cv(),1),Toe=Re(Jn(),1),Hg="https://frodo.douban.com",oi={},yot=t=>`Rexxar-Core/0.1.3 api-client/1 com.douban.frodo/7.9.0(216) Android/28 product/Xiaomi11 rom/android network/wifi udid/${t} platform/mobile com.douban.frodo/7.9.0(216) Rexxar/1.2.151 platform/mobile 1.2.151`;async function bot(t){if(oi.id&&oi.ua)return oi;let e=t.server.prefix+"/device";return oi=await t.server.db.getObjectDefault(e,{}),oi.id?oi.ua||(oi.ua=yot(oi.id),await t.server.db.push(e,oi)):(oi.id=Th(40).toLowerCase(),oi.ua=yot(oi.id),await t.server.db.push(e,oi)),oi}function Qg(t){t+=`&udid=${oi.id}&uuid=${oi.id}&&rom=android&apikey=0dad551ec0f84ed02907ff5c42e8ec70&s=rexxar_new&channel=Yingyongbao_Market&timezone=Asia/Shanghai&device_id=${oi.id}&os_rom=android&apple=c52fbb99b908be4d026954cc4374f16d&mooncake=0f607264fc6318a92b9e13c65db7cd3c&sugar=0`;let e=new URL(t),r=(0,xot.default)().unix().toString(),n=Toe.default.HmacSHA1("GET&"+encodeURIComponent(e.pathname)+"&"+r,"bf7dddc7c9cfe6f7"),s=Toe.default.enc.Base64.stringify(n);return t+"&_sig="+encodeURIComponent(s)+"&_ts="+r}async function Gg(t,e){return(await he.get(t,{headers:{"User-Agent":e||oi.ua}})).data}async function $br(t,e){return await bot(t),{}}async function Fbr(t,e){let r=[{type_id:"t1",type_name:"\u70ED\u64AD"},{type_id:"t2",type_name:"\u7247\u5E93"},{type_id:"t250",type_name:"Top250"},{type_id:"t3",type_name:"\u699C\u5355",ratio:1},{type_id:"t4",type_name:"\u7247\u5355",ratio:1}],n={};return n.t1=[{key:"u",name:"",init:"movie/hot_gaia",value:[{n:"\u7535\u5F71",v:"movie/hot_gaia"},{n:"\u7535\u89C6\u5267",v:"subject_collection/tv_hot/items"},{n:"\u56FD\u4EA7\u5267",v:"subject_collection/tv_domestic/items"},{n:"\u7F8E\u5267",v:"subject_collection/tv_american/items"},{n:"\u65E5\u5267",v:"subject_collection/tv_japanese/items"},{n:"\u97E9\u5267",v:"subject_collection/tv_korean/items"},{n:"\u52A8\u6F2B",v:"subject_collection/tv_animation/items"},{n:"\u7EFC\u827A",v:"subject_collection/show_hot/items"}]}],n.t4=[{key:"type",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7535\u5F71",v:"movie"},{n:"\u7535\u89C6\u5267",v:"tv"}]},{key:"cate",name:"",init:"all",value:[{n:"\u5168\u90E8",v:"all"},{n:"\u8C46\u74E3\u7247\u5355",v:"official"},{n:"\u7CBE\u9009",v:"selected"},{n:"\u7ECF\u5178",v:"classical"},{n:"\u83B7\u5956",v:"prize"},{n:"\u9AD8\u5206",v:"high_score"},{n:"\u699C\u5355",v:"movie_list"},{n:"\u51B7\u95E8\u4F73\u7247",v:"dark_horse"},{n:"\u4E3B\u9898",v:"topic"},{n:"\u5BFC\u6F14",v:"director"},{n:"\u6F14\u5458",v:"actor"},{n:"\u7CFB\u5217",v:"series"}]}],n.t2=[{key:"form",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u7535\u5F71",v:"\u7535\u5F71"},{n:"\u7535\u89C6\u5267",v:"\u7535\u89C6\u5267"},{n:"\u52A8\u6F2B",v:"\u52A8\u753B"},{n:"\u7EFC\u827A",v:"\u7EFC\u827A"},{n:"\u7EAA\u5F55\u7247",v:"\u7EAA\u5F55\u7247"},{n:"\u77ED\u7247",v:"\u77ED\u7247"}]},{key:"genre",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5267\u60C5",v:"\u5267\u60C5"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u52A8\u4F5C",v:"\u52A8\u4F5C"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u72AF\u7F6A",v:"\u72AF\u7F6A"},{n:"\u6218\u4E89",v:"\u6218\u4E89"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"},{n:"\u9752\u6625",v:"\u9752\u6625"},{n:"\u540C\u6027",v:"\u540C\u6027"},{n:"\u97F3\u4E50",v:"\u97F3\u4E50"},{n:"\u6B4C\u821E",v:"\u6B4C\u821E"},{n:"\u5386\u53F2",v:"\u5386\u53F2"},{n:"\u5192\u9669",v:"\u5192\u9669"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u4F20\u8BB0",v:"\u4F20\u8BB0"},{n:"\u8FD0\u52A8",v:"\u8FD0\u52A8"},{n:"\u897F\u90E8",v:"\u897F\u90E8"},{n:"\u707E\u96BE",v:"\u707E\u96BE"}]},{key:"region",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u4E2D\u56FD\u5927\u9646",v:"\u4E2D\u56FD\u5927\u9646"},{n:"\u4E2D\u56FD\u9999\u6E2F",v:"\u4E2D\u56FD\u9999\u6E2F"},{n:"\u4E2D\u56FD\u53F0\u6E7E",v:"\u4E2D\u56FD\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u5370\u5EA6",v:"\u5370\u5EA6"},{n:"\u6CD5\u56FD",v:"\u6CD5\u56FD"},{n:"\u5FB7\u56FD",v:"\u5FB7\u56FD"},{n:"\u897F\u73ED\u7259",v:"\u897F\u73ED\u7259"},{n:"\u6CF0\u56FD",v:"\u6CF0\u56FD"},{n:"\u610F\u5927\u5229",v:"\u610F\u5927\u5229"},{n:"\u52A0\u62FF\u5927",v:"\u52A0\u62FF\u5927"},{n:"\u6FB3\u5927\u5229\u4E9A",v:"\u6FB3\u5927\u5229\u4E9A"},{n:"\u4FC4\u7F57\u65AF",v:"\u4FC4\u7F57\u65AF"},{n:"\u745E\u5178",v:"\u745E\u5178"},{n:"\u4E39\u9EA6",v:"\u4E39\u9EA6"},{n:"\u5DF4\u897F",v:"\u5DF4\u897F"},{n:"\u58A8\u897F\u54E5",v:"\u58A8\u897F\u54E5"}]},{key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"},{n:"2019",v:"2019"},{n:"2010\u5E74\u4EE3",v:"2010\u5E74\u4EE3"},{n:"2000\u5E74\u4EE3",v:"2000\u5E74\u4EE3"},{n:"90\u5E74\u4EE3",v:"90\u5E74\u4EE3"},{n:"80\u5E74\u4EE3",v:"80\u5E74\u4EE3"},{n:"70\u5E74\u4EE3",v:"70\u5E74\u4EE3"},{n:"60\u5E74\u4EE3",v:"60\u5E74\u4EE3"},{n:"\u66F4\u65E9",v:"\u66F4\u65E9"}]},{key:"sort",name:"",init:"U",value:[{n:"\u70ED\u5EA6",v:"U"},{n:"\u8BC4\u5206",v:"S"},{n:"\u65F6\u95F4",v:"R"}]}],{class:r,filters:n}}async function Ubr(t,e){await bot(t);let r=t.body.id,n=t.body.page,s=t.body.filters,i=n||1;if(i==0&&(i=1),r=="t1"){let a=Qg(`${Hg}/api/v2/${s.u||"movie/hot_gaia"}?area=\u5168\u90E8&sort=recommend&playable=0&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.items||o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r=="t250"){let a=Qg(`${Hg}/api/v2/subject_collection/movie_top250/items?area=\u5168\u90E8&sort=recommend&playable=0&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.items||o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r=="t2"){let a=s.form||"",o=s.genre||"",c=s.region||"",u=s.year||"",l=s.sort||"U",d=a,f=o,p="movie";d==="\u52A8\u753B"&&(d="\u7535\u89C6\u5267",f||(f="\u52A8\u753B")),(d==="\u7535\u89C6\u5267"||d==="\u7EFC\u827A")&&(p="tv");let m={};f&&(m.\u7C7B\u578B=f),d&&(m.\u5F62\u5F0F=d),c&&(m.\u5730\u533A=c);let h=[];a&&h.push(a),o&&h.push(o),c&&h.push(c),u&&h.push(u);let A=new URLSearchParams({refresh:"0",start:((i-1)*30).toString(),count:"30",selected_categories:JSON.stringify(m),uncollect:"false",score_range:"0,10"});l&&A.append("sort",l),h.length>0&&A.append("tags",h.join(","));let g=`https://m.douban.com/rexxar/api/v2/${p}/recommend?${A.toString()}`,y=(await he.get(g,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Referer:"https://m.douban.com/"}})).data,x=y&&y.items?y.items:[],v=[];for(let C of x)if(C&&(C.type==="movie"||C.type==="tv")){let R="";if(C.rating&&typeof C.rating.value<"u"){let w=C.rating.value;R=typeof w=="number"?w.toFixed(1):w.toString()}v.push({vod_id:C.id||"",vod_name:C.title||"",vod_pic:C.pic&&(C.pic.normal||C.pic.large)||"",vod_remarks:R?"\u8BC4\u5206:"+R:""})}return{page:parseInt(i),pagecount:i<10?i+1:i,list:v}}else if(r=="t3"){let a=Qg(`${Hg}/api/v2/movie/category_ranks?count=30&category=recent_hot`),o=await Gg(a),c=[];for(let u of o.selected_collections)c.push({vod_id:"cr_"+u.id,vod_name:u.short_name||u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});a=Qg(`${Hg}/api/v2/tv/category_ranks?count=30&category=recent_hot`),o=await Gg(a);for(let u of o.selected_collections)c.push({vod_id:"cr_"+u.id,vod_name:u.short_name||u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});return{page:1,pagecount:1,list:c}}else if(r=="t4"){let a=Qg(`${Hg}/api/v2/skynet/new_playlists?subject_type=${s.type||""}&category=${s.cate||"all"}&loc_id=0&start=${(i-1)*30}&count=30`),o=await Gg(a),c=[];for(let u of o.data[0].items)c.push({vod_id:u.owner?"dl_"+u.id:"cr_"+u.id,vod_name:u.title,vod_pic:u.cover_url,vod_remarks:"",cate:{}});return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r.startsWith("cr_")){let a=Qg(`${Hg}/api/v2/subject_collection/${r.substring(3)}/items?start=${(i-1)*30}&count=30&updated_at=&items_only=1`),o=await Gg(a),c=[];for(let u of o.subject_collection_items){let l=(u.rating&&u.rating.value||"").toString();c.push({vod_id:u.id,vod_name:u.title,vod_pic:u.pic.normal||u.pic.large,vod_remarks:l.length>0?"\u8BC4\u5206:"+l:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}else if(r.startsWith("dl_")){let a=Qg(`${Hg}/api/v2/doulist/${r.substring(3)}/posts?start=${(i-1)*30}&count=30&updated_at=&items_only=1`),o=await Gg(a),c=[];for(let u of o.items){let l=u.content.subject;if(!l)continue;let d=(l.rating&&l.rating.value||"").toString();c.push({vod_id:l.id,vod_name:l.title,vod_pic:l.pic.normal||l.pic.large,vod_remarks:d.length>0?"\u8BC4\u5206:"+d:""})}return{page:parseInt(i),pagecount:Math.ceil(o.total/30),list:c}}}async function qbr(t,e){return{}}async function jbr(t,e){return{}}async function Hbr(t,e){return{}}async function Qbr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);if(s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filter:!0,filters:{}}),s.category=i.json(),r(i.json()),s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()),s.detail.list&&s.detail.list.length>0))){s.play=[];for(let a of s.detail.list){let o=a.vod_play_from.split("$$$"),c=a.vod_play_url.split("$$$");for(let u=0;u<o.length;u++){let l=o[u],d=c[u].split("#");for(let f=0;f<d.length&&f<2;f++)i=await t.server.inject().post(`${n}/play`).payload({flag:l,id:d[f].split("$")[1]}),s.play.push(i.json())}}}return i=await t.server.inject().post(`${n}/search`).payload({wd:"\u7231",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Eot={meta:{key:"douban",name:"\u300C\u8350\u300D\u8C46\u74E3",type:3,indexs:1},api:async t=>{t.post("/init",$br),t.post("/home",Fbr),t.post("/category",Ubr),t.post("/detail",qbr),t.post("/play",jbr),t.post("/search",Hbr),t.get("/test",Qbr)}};function Gbr(t){let e=String(t||"").split("#")[0]||"",r=e.indexOf("$");return r>0?e.slice(0,r).trim():""}async function Vbr(t,e){return{}}async function zbr(t,e){return"true"}async function Kbr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i={vod_id:s,vod_content:"",vod_name:s,vod_pic:"https://pic.rmb.bdstatic.com/bjh/1d0b02d0f57f0a42201f92caba5107ed.jpeg"},a=await Rr(s,t);if(a){i.vod_play_from=a.froms,i.vod_play_url=a.urls;let o=Gbr(i.vod_play_url);o&&(i.vod_name=o)}n.push(i)}return{list:n}}async function Ybr(t,e){try{let r=function(a){a.statusCode&&a.statusCode==500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/support`).payload({clip:"https://xx.xx/1.m3u8"});return s.support=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/detail`).payload({id:"https://xx.xx/1.m3u8"}),s.detail=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/play`).payload({flag:"xx",id:"https://xx.xx/1.m3u8"}),s.play=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var _ot={meta:{key:"push",name:"\u63A8\u9001",type:4},api:async t=>{t.post("/init",Vbr),t.post("/support",zbr),t.post("/detail",Kbr),t.post("/play",Or),t.get("/test",Ybr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var K4=async(t,e,r)=>(await t.db.getObjectDefault("/pansou",{}))?.[e]||t.config.pansou?.[e]||r,woe=async t=>K4(t,"url","https://pan.199333.xyz"),Roe=async t=>{let e=await K4(t,"channels","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},Noe=async t=>{let e=await K4(t,"plugins","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},Ooe=async t=>{let e=await K4(t,"cloudTypes","");return e?e.split(",").map(r=>r.trim()).filter(r=>r):[]},z4=async(t,e,r)=>{await t.db.push(`/pansou/${e}`,r)},Jbr=async t=>{await t.db.delete("/pansou")};async function Poe(t){t.get("/config",async(e,r)=>{let n=await woe(e.server),s=await Roe(e.server),i=await Noe(e.server),a=await Ooe(e.server);r.send({code:0,data:{url:n,channels:s,plugins:i,cloudTypes:a}})}),t.put("/config",async(e,r)=>{await z4(e.server,"url",e.body.url||""),await z4(e.server,"channels",Array.isArray(e.body.channels)?e.body.channels.join(","):""),await z4(e.server,"plugins",Array.isArray(e.body.plugins)?e.body.plugins.join(","):""),await z4(e.server,"cloudTypes",Array.isArray(e.body.cloudTypes)?e.body.cloudTypes.join(","):""),r.send({code:0})}),t.delete("/config",async(e,r)=>{await Jbr(e.server),r.send({code:0})})}var vot={},Doe="pansou_group@@@",Xbr=5*60*1e3,Zbr=30,lE=new Map,eEr={ali:"aliyun",aliyun:"aliyun",alipan:"aliyun",a189:"tianyi",189:"tianyi",tianyi:"tianyi",yidong:"mobile",mobile:"mobile",a139:"mobile",cmcc:"mobile",123:"123",pan123:"123","123pan":"123",a115:"115",pan115:"115",thunder:"xunlei"},tEr={aliyun:"ali",mobile:"yidong",123:"123",115:"115"};function Vg(t){let e=String(t||"").trim().toLowerCase();return eEr[e]||e}function Sot(t){return[...new Set((t||[]).map(Vg).filter(Boolean))]}function rEr(t,e,r=""){let n=[t,e,r].map(s=>encodeURIComponent(s||""));return`${Doe}${n.join("@@@")}`}function Cot(t,e=!1){let r=String(t||"").trim();if(!r)return null;if(r.startsWith(Doe)){let n=r.slice(Doe.length).split("@@@");return n.length<2?null:{cloudType:decodeURIComponent(n[0]||""),keyword:decodeURIComponent(n[1]||""),searchToken:decodeURIComponent(n[2]||"")}}if(e&&r.includes("|")){let n=r.indexOf("|");return{cloudType:r.slice(0,n),keyword:r.slice(n+1),searchToken:""}}return null}function Iot(t){let e=Vg(t),r=tEr[e]||e;return nf().find(n=>n.key===r||Vg(n.key)===e)}function Tot(t){return String(t?.url||t?.URL||"").replace(/\s+/g,"")}function wot(t,e=null){let r=Vg(t),n=e||Iot(r);return{key:r,name:n?.name||r,pic:n?.pic||""}}async function koe(t){return{apiUrl:await woe(t),channels:await Roe(t),plugins:await Noe(t),cloudTypes:await Ooe(t)}}function nEr(t,e,r=""){let n={kw:t};return e.channels.length>0&&(n.channels=e.channels),e.plugins.length>0&&(n.plugins=e.plugins),r?n.cloud_types=Sot([r]):e.cloudTypes.length>0&&(n.cloud_types=Sot(e.cloudTypes)),n}function sEr(){return`${Date.now().toString(36)}${Math.random().toString(36).slice(2,10)}`}function iEr(t){let e=lE.get(t);return e?e.expiresAt<=Date.now()?(lE.delete(t),null):e.mergedByType:null}function aEr(t){if(!t||typeof t!="object")return"";let e=sEr();for(lE.set(e,{mergedByType:t,expiresAt:Date.now()+Xbr});lE.size>Zbr;){let r=lE.keys().next().value;lE.delete(r)}return e}function oEr(t){return t?t.startsWith("tg:")?t.substring(3):t.startsWith("plugin:")?t.substring(7):t:null}function cEr(t){return t?t.replace(/^(åç§°[::])/,"").replace(/\s+/g," ").trim():""}function uEr(t,e,r=""){let n=Vg(r),s=new Map;for(let[a,o]of Object.entries(t))if(!(n&&Vg(a)!==n)&&Array.isArray(o))for(let c of o){let u=Tot(c);if(!u)continue;let l=nf().find(A=>A.validator(u));if(!l)continue;let d=wot(a,l),f=c.images&&Array.isArray(c.images)&&c.images.length>0,p=f?c.images[0]:d.pic,m=f?p:u;s.has(m)||s.set(m,{links:[],panInfos:[],sources:[],pic:p,title:cEr(c.note||e)});let h=s.get(m);if(!h.links.includes(u)&&(h.links.push(u),h.panInfos.push(d),c.source)){let A=oEr(c.source);A&&!h.sources.includes(A)&&h.sources.push(A)}}let i=[];for(let[,a]of s.entries()){let o=[...new Set(a.panInfos.map(u=>u.name))].join("/"),c=a.sources.length>0?`:${a.sources[0]}`:"";i.push({vod_id:a.links.join("|"),vod_name:a.title,vod_pic:a.pic,vod_remarks:`${o}${c}`})}return i}function lEr(t,e,r=""){let n=new Map;for(let[s,i]of Object.entries(t||{})){if(!Array.isArray(i))continue;let a=String(s||"").trim(),o=Vg(a);if(!o)continue;let c=Iot(o),u=wot(o,c);for(let l of i){let d=Tot(l);d&&(n.has(o)||n.set(o,{cloudType:o,requestCloudType:a||o,name:u.name,pic:u.pic,links:new Set}),n.get(o).links.add(d))}}return[...n.values()].map(s=>{let i=rEr(s.requestCloudType,e,r);return{vod_id:i,vod_name:s.name||s.cloudType,vod_pic:s.pic||"",vod_remarks:`${s.links.size}\u6761\u7ED3\u679C`,vod_tag:"folder",type_id:"pan_category",type_name:"\u7F51\u76D8\u5206\u7C7B",panType:s.cloudType,cate:{id:i,name:s.name||s.cloudType}}})}async function Rot(t,e,r="",n=null){n=n||await koe(t);let s=nEr(e,n,r);return Ae.post(`${n.apiUrl}/api/search`,s)}function dEr(t){t.forEach(e=>{e.vod_name&&e.vod_id&&(vot[e.vod_id]=e.vod_name)})}async function fEr(t,e){return await qr(t,e),{}}async function pEr(t,e){return{class:[]}}async function mEr(t,e){let r=Cot(t.body?.id||t.body?.type_id||t.body?.categoryId,!0);return r?.cloudType&&r?.keyword?gEr(t,r.keyword,r.cloudType,r.searchToken):{page:1,pagecount:1,list:[]}}async function hEr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){if(Cot(s))continue;let i=s.includes("|")?s.split("|"):[s],a=await Rr(i,t),o={};o.vod_name=vot[s]||"",a&&(o.vod_play_from=a.froms,o.vod_play_url=a.urls,o.vod_links=a.links),n.push(o)}return{list:n}}async function gEr(t,e,r,n=""){try{let s=String(e||"").trim(),i=parseInt(t.body?.page||"1",10)||1;if(!s)return{page:i,pagecount:1,list:[]};if(i>1)return{page:i,pagecount:1,list:[]};let a=await koe(t.server),o=n?iEr(n):null;if(o||(o=(await Rot(t.server,s,r,a)).data?.data?.merged_by_type),o){let c=uEr(o,s,r);return dEr(c),{page:1,pagecount:1,list:c}}}catch(s){console.error("PanSou category search error:",s)}return{page:1,pagecount:1,list:[]}}async function AEr(t,e){try{let r=String(t.body.wd||"").trim(),n=parseInt(t.body?.page||"1",10)||1;if(!r)return{page:n,pagecount:1,list:[]};if(n>1)return{page:n,pagecount:1,list:[]};let s=await koe(t.server),i=await Rot(t.server,r,"",s);if(i.data&&i.data.data&&i.data.data.merged_by_type){let a=i.data.data.merged_by_type,o=aEr(a);return{page:1,pagecount:1,list:lEr(a,r,o)}}return{page:1,pagecount:1,list:[]}}catch(r){return console.error("PanSou search error:",r),{page:1,pagecount:1,list:[]}}}var Not={meta:{key:"pansou",name:"\u300C\u76D8\u300DPanSou",type:3},api:async t=>{t.post("/init",fEr),t.post("/home",pEr),t.post("/category",mEr),t.post("/detail",hEr),t.post("/play",Or),t.post("/search",AEr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var dE=async t=>{let e=await t.db.getObjectDefault("/live2vod",{});return{sources:e?.sources||t.config.live2vod?.sources||[],showMode:e?.showMode||t.config.live2vod?.showMode||"groups",def_pic:e?.def_pic||t.config.live2vod?.def_pic||"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/hipy-server/master/app/static/img/lives.jpg"}},Loe=async(t,e)=>{await t.db.push("/live2vod",e)},yEr=async t=>{await t.db.delete("/live2vod")};async function Boe(t){t.get("/config",async(e,r)=>{r.send({code:0,data:await dE(e.server)})}),t.put("/config",async(e,r)=>{await Loe(e.server,e.body),r.send({code:0})}),t.delete("/config",async(e,r)=>{await yEr(e.server),r.send({code:0})}),t.get("/sources",async(e,r)=>{let n=await dE(e.server);r.send({code:0,data:n.sources||[]})}),t.post("/sources",async(e,r)=>{let{name:n,url:s,img:i}=e.body;if(!n||!s){r.code(400).send({code:1,msg:"\u540D\u79F0\u548CURL\u4E0D\u80FD\u4E3A\u7A7A"});return}let a=await dE(e.server);a.sources=a.sources||[],a.sources.push({name:n,url:s,img:i||""}),await Loe(e.server,a),r.send({code:0})}),t.delete("/sources/:index",async(e,r)=>{let n=parseInt(e.params.index),s=await dE(e.server);s.sources&&n>=0&&n<s.sources.length?(s.sources.splice(n,1),await Loe(e.server,s),r.send({code:0})):r.code(404).send({code:1,msg:"\u7D22\u5F15\u65E0\u6548"})})}var Bo={sources:[],def_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/hipy-server/master/app/static/img/lives.jpg"},Cw={},Y4={};async function xEr(t){return(await he(t,{method:"get",headers:{"User-Agent":"okhttp/3.14.9"},timeout:1e4})).data}function bEr(t){let e=t.split(`
|
|
`),r={},n=[],s=null;return e.forEach(i=>{if(i=i.trim(),i.startsWith("#EXTINF:")){let a=i.replace(/'/g,'"'),o="\u672A\u77E5\u9891\u9053",c="";try{let l=a.match(/group-title="(.*?)"/);l&&(o=l[1].trim())}catch{}try{let l=a.match(/tvg-logo="(.*?)"/);l&&(c=l[1].trim())}catch{}s={name:i.split(",").slice(-1)[0].trim(),logo:c,group:o}}else if(i.startsWith("http")&&s){let a=s.group;r[a]||(r[a]=[],n.push(a)),r[a].push({name:s.name,url:i,logo:s.logo}),s=null}}),{groups:r,groupNames:n}}function EEr(t){let e=t.split(`
|
|
`),r={},n=[],s="";return e.forEach(i=>{if(i=i.trim(),!!i){if(/,#/.test(i))s=i.split(",")[0].trim(),r[s]||(r[s]=[],n.push(s));else if(i.includes(",")&&s){let a=i.split(",");a.length>=2&&a[1].trim().startsWith("http")&&r[s].push({name:a[0].trim(),url:a[1].trim(),logo:""})}}}),{groups:r,groupNames:n}}async function J4(t){if(Cw[t])return Cw[t];let e=await xEr(t),r;/#EXTM3U/.test(e)?r=bEr(e):r=EEr(e);for(let n of Object.keys(r.groups)){let s=r.groups[n],i=new Map;s.forEach(a=>{i.has(a.name)?(i.get(a.name).urls.push(a.url),!i.get(a.name).logo&&a.logo&&(i.get(a.name).logo=a.logo)):i.set(a.name,{...a,urls:[a.url]})}),r.groups[n]=Array.from(i.values())}return Cw[t]=r,r}async function _Er(t,e){let r=await dE(t.server);Bo.sources=r.sources||[],Bo.def_pic=r.def_pic||Bo.def_pic,Object.keys(Cw).forEach(s=>delete Cw[s]),Y4={};let n=Bo.sources.map(async s=>{try{let i=await J4(s.url),a=[{n:"\u5168\u90E8",v:""}];i.groupNames.forEach(o=>{a.push({n:o,v:o})}),Y4[s.url]=[{key:"group",name:"",init:"",value:a}]}catch(i){console.error(`\u9884\u52A0\u8F7D\u76F4\u64AD\u6E90 ${s.name} \u5931\u8D25: ${i.message}`),Y4[s.url]=[]}});return await Promise.all(n),{}}async function SEr(t,e){return{class:Bo.sources.map(n=>({type_id:n.url,type_name:n.name})),filters:Y4}}async function vEr(t,e){let r=t.body.id,n=t.body.page||1,i=(t.body.filters||{}).group||"";if(n>1)return{page:n,pagecount:1,list:[]};let o=Bo.sources.find(c=>c.url===r)?.img||"";try{let c=await J4(r),u=[],l=i?[i]:c.groupNames;for(let d of l){let f=c.groups[d];f&&f.forEach(p=>{u.push({vod_id:r+"$"+d+"$"+p.name,vod_name:p.name,vod_pic:p.logo||o||Bo.def_pic,vod_remarks:d})})}return{page:1,pagecount:1,total:u.length,list:u}}catch(c){return console.error(`\u83B7\u53D6\u5206\u7C7B\u9875\u5931\u8D25: ${c.message}`),{page:1,pagecount:1,list:[]}}}async function CEr(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=s.split("$"),a=i[0],o=i[1],c=i.slice(2).join("$"),u=Bo.sources.find(f=>f.url===a),l=u?.img||"",d=u?.name||"\u76F4\u64AD\u6E90";try{let m=(await J4(a)).groups[o]?.find(g=>g.name===c);if(!m){n.push({vod_id:s,vod_name:c,vod_pic:l||Bo.def_pic,vod_content:"\u672A\u627E\u5230\u9891\u9053",vod_play_from:d,vod_play_url:""});continue}let A=(m.urls||[m.url]).map((g,b)=>`\u7EBF\u8DEF${b+1}$${g}`);n.push({vod_id:s,vod_name:c,type_name:o,vod_pic:m.logo||l||Bo.def_pic,vod_content:`\u9891\u9053: ${c}
|
|
\u5206\u7EC4: ${o}
|
|
\u6765\u6E90: ${d}`,vod_play_from:d,vod_play_url:A.join("#"),vod_remarks:o})}catch(f){console.error(`\u83B7\u53D6\u8BE6\u60C5\u5931\u8D25: ${f.message}`),n.push({vod_id:s,vod_name:c,vod_pic:l||Bo.def_pic,vod_content:`\u83B7\u53D6\u5931\u8D25: ${f.message}`,vod_play_from:d,vod_play_url:""})}}return{list:n}}async function IEr(t,e){return{parse:0,url:t.body.id}}async function TEr(t,e){let r=t.body.wd,n=[];for(let s of Bo.sources)try{let i=await J4(s.url),a=s.img||"",o=new RegExp(r,"i");for(let c of i.groupNames){let u=i.groups[c];u&&u.forEach(l=>{o.test(l.name)&&n.push({vod_id:s.url+"$"+c+"$"+l.name,vod_name:l.name,vod_pic:l.logo||a||Bo.def_pic,vod_remarks:`${s.name} \xB7 ${c}`})})}}catch(i){console.error(`\u641C\u7D22\u6E90 ${s.name} \u5931\u8D25: ${i.message}`)}return{page:1,pagecount:1,total:n.length,list:n}}async function wEr(t,e){try{let r=function(a){a.statusCode&&a.statusCode===500&&console.error(a)},n=t.server.prefix,s={},i=await t.server.inject().post(`${n}/init`);return s.init=i.json(),r(i.json()),i=await t.server.inject().post(`${n}/home`),s.home=i.json(),r(i.json()),s.home.class&&s.home.class.length>0&&(i=await t.server.inject().post(`${n}/category`).payload({id:s.home.class[0].type_id,page:1,filters:{}}),s.category=i.json(),r(i.json()),s.category.list&&s.category.list.length>0&&(i=await t.server.inject().post(`${n}/detail`).payload({id:s.category.list[0].vod_id}),s.detail=i.json(),r(i.json()))),i=await t.server.inject().post(`${n}/search`).payload({wd:"CCTV",page:1}),s.search=i.json(),r(i.json()),s}catch(r){return console.error(r),e.code(500),{err:r.message,tip:"check debug console output"}}}var Oot={meta:{key:"live2vod",name:"\u300C\u76F4\u300D\u76F4\u64AD",type:3},api:async t=>{t.post("/init",_Er),t.post("/home",SEr),t.post("/category",vEr),t.post("/detail",CEr),t.post("/play",IEr),t.post("/search",TEr),t.get("/test",wEr)}};var Moe=Re(Jn(),1);var Dot=process.env.JINPAI_HOST||"https://m.jiabaide.cn",X4="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36",REr=process.env.JINPAI_APP_KEY||"cb808529bae6b6be45ecfab29a4889bc",NEr={"User-Agent":X4,Referer:`${Dot}/`},OEr={typeList:["type",""],plotList:["class",""],districtList:["area",""],languageList:["lang",""],yearList:["year",""],serialList:["by",""]},PEr=[{n:"\u65F6\u95F4",v:"2"},{n:"\u4EBA\u6C14",v:"3"},{n:"\u8BC4\u5206",v:"4"}];function At(t){return String(t??"").trim()}function DEr(t){return At(t).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim()}function kot(t={}){return Object.entries(t).filter(([,e])=>e!=null&&e!=="").map(([e,r])=>`${e}=${r}`).join("&")}function kEr(t={}){let e=String(Date.now()),r={...t,key:REr,t:e},n=Moe.default.SHA1(Moe.default.MD5(kot(r)).toString()).toString();return{...NEr,t:e,sign:n}}async function fE(t,e={}){let r=kot(e),n=`${Dot}${t}${r?`?${r}`:""}`,s=await he.get(n,{headers:kEr(e),timeout:2e4,validateStatus:()=>!0});if(s.status<200||s.status>=400)throw new Error(`HTTP ${s.status} @ ${n}`);let i=typeof s.data=="string"?JSON.parse(s.data||"{}"):s.data||{};if(Number(i.code)&&Number(i.code)!==200)throw new Error(i.msg||`API code=${i.code}`);return i}function Lot(t={}){let e=At(t.vodPubdate||""),r=e?e.split("-")[0]:"";return{vod_id:At(t.vodId),vod_name:At(t.vodName),vod_pic:At(t.vodPic),vod_remarks:[At(t.vodRemarks),At(t.vodDoubanScore)].filter(Boolean).join("_"),vod_year:r,type_id:At(t.typeId),type_name:At(t.typeName)}}function LEr({vodId:t="",nid:e="",episodeName:r="",sourceName:n="",title:s=""}={}){return encodeURIComponent(JSON.stringify({vodId:At(t),nid:At(e),episodeName:At(r),sourceName:At(n),title:At(s)}))}function BEr(t=""){let e=At(t);if(!e)return null;let r=[e];try{let s=decodeURIComponent(e);s&&s!==e&&r.unshift(s)}catch{}for(let s of r)try{let i=JSON.parse(s);if(i&&typeof i=="object")return{vodId:At(i.vodId),nid:At(i.nid),episodeName:At(i.episodeName),sourceName:At(i.sourceName),title:At(i.title)}}catch{}let n=e.match(/^(.*?)@(.*)$/);return n?{vodId:At(n[1]),nid:At(n[2]),episodeName:"",sourceName:"\u91D1\u724C\u7EBF\u8DEF",title:""}:null}function MEr(...t){for(let e of t){if(Number.isFinite(e)&&e>0)return e;let r=At(e);if(!r)continue;let n=Number(r);if(Number.isFinite(n)&&n>0)return n;let s=r.match(/^(?:第\s*)?(\d+)\s*(?:集|è¯|期)?(?:[\s.ã€:_-].*)?$/);if(s){let i=Number(s[1]);if(Number.isFinite(i)&&i>0)return i}}return null}function WEr(t="",e=null){let r=At(t),n=r.match(/^(?:第\s*(\d+)\s*(?:集|è¯|期)\s*|(\d+)\s*[.ã€:_-]\s*)(.*)$/),s=n?Number(n[1]||n[2]):null,i=Number.isFinite(e)&&e>0?e:s,a=n?At(n[3]):r;return i?a?`\u7B2C${i}\u96C6 ${a}`:`\u7B2C${i}\u96C6`:a||"\u6B63\u7247"}function Bot(t,e,r){return{page:t,pagecount:t+(r.length>=e?1:0),limit:e,total:(t-1)*e+r.length+(r.length>=e?1:0),list:r}}function $Er(t=""){let e=At(t);return!e||/^\d{3,4}\s*p?$/i.test(e)?!1:/[a-z\u4e00-\u9fa5]/i.test(e)}function FEr(t=""){let e=At(t).match(/(\d{3,4})\s*p?/i);if(!e)return"";let r=Number.parseInt(e[1],10);return Number.isFinite(r)?r>=4320?"8K":r>=2160?"4K":r>=1080?"\u8D85\u6E05":r>=720?"\u9AD8\u6E05":r>=480?"\u6807\u6E05":r>=360?"\u6D41\u7545":"":""}function UEr(t={}){let e=[t.name,t.title,t.resolution].map(At).filter(Boolean),r=e.find($Er);if(r)return r;let n=e.find(s=>/^\d{3,4}\s*p?$/i.test(s));return FEr(n)||n||"\u64AD\u653E"}function Pot(t={}){let e=At(t.url||t.playUrl||t.m3u8);if(!e)return null;let r=[t.name,t.resolution,t.title].map(At).filter(Boolean).join(" "),n=UEr(t);return{name:n,qualityLabel:r,url:e,headers:{"User-Agent":X4},priority:Mot({...t,name:n,qualityLabel:r})||1}}function Mot(t={}){let e=At(`${t.qualityLabel||""} ${t.name||""}`).toLowerCase();if(!e)return 0;if(/(?:原画|原盤|原盘)/i.test(e))return 1e4;if(/(?:8k|4320)/i.test(e))return 4320;if(/(?:4k|2160)/i.test(e))return 2160;let r=e.match(/(\d{3,4})\s*p?/i);if(r){let n=Number.parseInt(r[1],10);if(Number.isFinite(n))return n}return/(?:è“å…‰|è—å…‰|超清)/i.test(e)?1080:/(?:高清)/i.test(e)?720:/(?:æ ‡æ¸…|標清)/i.test(e)?480:/(?:æµç•…|æµæš¢)/i.test(e)?360:0}function qEr(t=[]){return t.map((e,r)=>({item:e,index:r,score:Mot(e)})).sort((e,r)=>r.score-e.score||e.index-r.index).map(({item:e})=>e)}async function jEr(){let t=[],e={},r=await fE("/api/mw-movie/anonymous/get/filer/type"),n=Array.isArray(r.data)?r.data:[];for(let a of n){let o=At(a.typeId),c=At(a.typeName);!o||!c||t.push({type_id:o,type_name:c})}let i=(await fE("/api/mw-movie/anonymous/v1/get/filer/list")).data||{};for(let a of t){let o=a.type_id;e[o]=[];for(let[c,[u,l]]of Object.entries(OEr)){let d=c==="serialList"?[...PEr]:[{n:"\u5168\u90E8",v:""}];if(c!=="serialList"){let f=i?.[o]?.[c]||[];for(let p of f){let m=At(p.itemText);m&&d.push({n:m,v:c==="typeList"?At(p.itemValue):m})}}d.length>1&&e[o].push({key:u,name:l,init:c==="serialList"?"2":"",value:d})}}return{classes:t,filters:e}}async function HEr(t,e){return{}}async function QEr(t,e){try{let{classes:r,filters:n}=await jEr();return{class:r,filters:n}}catch(r){return console.error("jinpai home failed:",r.message),{class:[],filters:{}}}}async function GEr(t,e){let r=At(t.body?.id||"1"),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=t.body?.filters||{},i=30;try{let a={area:s.area||"",lang:s.lang||"",pageNum:String(n),pageSize:String(i),sort:s.by||"2",sortBy:"1",type:s.type||"",type1:r,v_class:s.class||"",year:s.year||""},c=((await fE("/api/mw-movie/anonymous/video/list",a))?.data?.list||[]).map(Lot).filter(u=>u.vod_id&&u.vod_name);return Bot(n,i,c)}catch(a){return console.error("jinpai category failed:",a.message),{page:n,pagecount:n,limit:i,total:0,list:[]}}}async function VEr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=At(s);if(i)try{let o=(await fE("/api/mw-movie/anonymous/video/detail",{id:i})).data||{};if(!Object.keys(o).length)continue;let c=At(o.vodId||i),u=At(o.sourceName||"\u91D1\u724C\u7EBF\u8DEF"),d=(Array.isArray(o.episodeList)?o.episodeList:[]).map((f,p)=>{let m=At(f.nid||f.episodeId||f.id);if(!m)return"";let h=MEr(f.episodeNumber,f.name,p+1),A=WEr(f.name||`\u7B2C${h||p+1}\u96C6`,h),g=LEr({vodId:c,nid:m,episodeName:A,sourceName:u,title:o.vodName});return`${A}$${g}`}).filter(Boolean);n.push({vod_id:c,vod_name:At(o.vodName),vod_pic:At(o.vodPic),type_name:At(o.vodClass||o.typeName),vod_remarks:At(o.vodRemarks),vod_year:At(o.vodYear||At(o.vodPubdate).slice(0,4)),vod_area:At(o.vodArea),vod_lang:At(o.vodLang),vod_director:At(o.vodDirector),vod_actor:At(o.vodActor),vod_content:DEr(o.vodContent||o.content||""),vod_play_from:d.length?u:"",vod_play_url:d.join("#")})}catch(a){console.error("jinpai detail failed:",i,a.message)}}return{list:n}}async function zEr(t,e){let r=At(t.body?.id),n=BEr(r);if(!n?.vodId||!n?.nid)return{parse:0,url:"",header:{}};try{let s={clientType:"3",id:n.vodId,nid:n.nid},a=(await fE("/api/mw-movie/anonymous/v2/video/episode/url",s))?.data||{},o=Array.isArray(a.list)?a.list:[],c=qEr(o.map(Pot).filter(Boolean)),u={"User-Agent":X4};if(!c.length){let l=Pot(a);l&&c.push(l)}return c.length?{parse:0,url:c[0].url,data:c[0].url,urls:c,header:u}:{parse:0,url:"",data:"",urls:[],header:u}}catch(s){return console.error("jinpai play failed:",s.message),{parse:0,url:"",header:{"User-Agent":X4}}}}async function KEr(t,e){let r=At(t.body?.wd),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=30;if(!r)return{page:n,pagecount:n,limit:s,total:0,list:[]};try{let i={keyword:r,pageNum:String(n),pageSize:String(s)},o=((await fE("/api/mw-movie/anonymous/video/searchByWordPageable",i))?.data?.list||[]).map(Lot).filter(c=>c.vod_id&&c.vod_name);return Bot(n,s,o)}catch(i){return console.error("jinpai search failed:",i.message),{page:n,pagecount:n,limit:s,total:0,list:[]}}}var Wot={meta:{key:"jinpai",name:"\u300C\u76F4\u300D\u91D1\u724C",type:3},api:async t=>{t.post("/init",HEr),t.post("/home",QEr),t.post("/category",GEr),t.post("/detail",VEr),t.post("/play",zEr),t.post("/search",KEr)}};var Z0={host:"https://api.ztcgi.com",headers:{"User-Agent":"Mozilla/5.0 (Linux; Android 9; V2196A Build/PQ3A.190705.08211809; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:416;packageName:com.jp3.xg3",Referer:"https://api.ztcgi.com",Accept:"application/json"},imgHost:"https://img.ztfgh.com"};function YEr(){return[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"}]}function Woe(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:`${Z0.imgHost}${e.startsWith("/")?e:`/${e}`}`:""}async function JEr(t,e){return{}}async function XEr(t,e){return{class:YEr()}}async function ZEr(t,e){let r=t.body.id,s=t.body.page||1;s==0&&(s=1);try{let i=`${Z0.host}/api/crumb/list?fcate_pid=${r}&category_id=&area=&year=&type=&sort=&page=${s}`,o=(await he.get(i,{headers:Z0.headers})).data,u=(Array.isArray(o.data)?o.data:[]).map(A=>({vod_id:String(A.id),vod_name:A.title||"",vod_pic:Woe(A.path||""),vod_remarks:A.mask||""})).filter(A=>A.vod_id&&A.vod_name),l=parseInt(s,10)||1,d=u.length>0,f=d?l+1:l,p=Number(o?.per_page||0)||u.length||20,m=Number(o?.total||0),h=(l-1)*p+u.length+(d?1:0);return{page:l,pagecount:f,limit:p,total:m>0?m:h,list:u}}catch{return{list:[],page:parseInt(s,10)||1,pagecount:1,limit:20,total:0}}}async function e1r(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r)try{let i=`${Z0.host}/api/video/detailv2?id=${s}`,o=(await he.get(i,{headers:Z0.headers})).data.data,c={vod_id:String(o.id||s),vod_name:o.title||"",vod_pic:Woe(o.thumbnail||o.path||o.tvimg||""),type_name:(o.types||[]).map(f=>f.name).join("/")||"",vod_year:o.year||"",vod_area:o.area||"",vod_remarks:o.mask||"",vod_actor:(o.actors||[]).map(f=>f.name).join("/")||"",vod_director:(o.directors||[]).map(f=>f.name).join("/")||"",vod_content:o.description||"",vod_play_from:"",vod_play_url:""},u=Array.isArray(o.source_list_source)?o.source_list_source:[],l=[],d=[];u.forEach((f,p)=>{let m=f.name||f.source_name||`\u7EBF\u8DEF${p+1}`;if(m==="\u5E38\u89C4\u7EBF\u8DEF")return;let h=Array.isArray(f.source_list)?f.source_list:[],A=[];h.forEach((g,b)=>{let y=g.source_name||g.name||`\u7B2C${b+1}\u96C6`,x=g.url||g.play_url||"";x&&A.push(`${y}$${x}`)}),A.length>0&&(l.push(m),d.push(A.join("#")))}),c.vod_play_from=l.join("$$$"),c.vod_play_url=d.join("$$$"),n.push(c)}catch{}return{list:n}}async function t1r(t,e){let r=t.body.id,n=r.startsWith("//")?`https:${r}`:r;return n.includes(".m3u8")||n.includes(".mp4")?{parse:0,url:n,header:Z0.headers}:{parse:1,url:n}}async function r1r(t,e){let r=t.body.page,n=t.body.wd,s=r||1;s==0&&(s=1);try{let i=`${Z0.host}/api/v2/search/videoV2?key=${encodeURIComponent(n)}&category_id=88&page=${s}&pageSize=20`,o=(await he.get(i,{headers:Z0.headers})).data,u=(Array.isArray(o.data)?o.data:[]).map(d=>({vod_id:String(d.id),vod_name:d.title||"",vod_pic:Woe(d.thumbnail||d.path||""),vod_remarks:d.mask||""})).filter(d=>d.vod_id&&d.vod_name),l=o.total||0;return{page:parseInt(s),pagecount:u.length>0?parseInt(s)+1:parseInt(s),total:l,list:u}}catch{return{list:[],page:parseInt(s),pagecount:1}}}async function n1r(t,e){try{let r=t.server.prefix,n={},s=await t.server.inject().post(`${r}/init`);if(n.init=s.json(),s=await t.server.inject().post(`${r}/home`),n.home=s.json(),n.home.class.length>0&&(s=await t.server.inject().post(`${r}/category`).payload({id:n.home.class[0].type_id,page:1}),n.category=s.json(),n.category.list.length>0&&(s=await t.server.inject().post(`${r}/detail`).payload({id:n.category.list[0].vod_id}),n.detail=s.json(),n.detail.list&&n.detail.list.length>0))){n.play=[];for(let i of n.detail.list){let a=i.vod_play_from.split("$$$"),o=i.vod_play_url.split("$$$");for(let c=0;c<a.length;c++){let u=a[c],l=o[c].split("#");for(let d=0;d<l.length&&d<2;d++)s=await t.server.inject().post(`${r}/play`).payload({flag:u,id:l[d].split("$")[1]}),n.play.push(s.json())}}}return s=await t.server.inject().post(`${r}/search`).payload({wd:"\u7231",page:1}),n.search=s.json(),n}catch(r){return e.code(500),{err:r.message,tip:"check debug console output"}}}var $ot={meta:{key:"jianpian",name:"\u300C\u76F4\u300D\u8350\u7247",type:3},api:async t=>{t.post("/init",JEr),t.post("/home",XEr),t.post("/category",ZEr),t.post("/detail",e1r),t.post("/play",t1r),t.post("/search",r1r),t.get("/test",n1r)}};var pE=Re(require("node:crypto"),1);var Fot={host:"https://api.w32z7vtd.com",headers:{"Cache-Control":"no-cache",Version:"2406025",PackageName:"com.uf076bf0c246.qe439f0d5e.m8aaf56b725a.ifeb647346f",Ver:"1.9.2",Referer:"https://api.w32z7vtd.com","Content-Type":"application/x-www-form-urlencoded","User-Agent":"okhttp/3.12.0"}},$oe={"User-Agent":"Lavf/57.83.100"},s1r=`-----BEGIN PRIVATE KEY-----
|
|
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGAe6hKrWLi1zQmjTT1
|
|
ozbE4QdFeJGNxubxld6GrFGximxfMsMB6BpJhpcTouAqywAFppiKetUBBbXwYsYU
|
|
1wNr648XVmPmCMCy4rY8vdliFnbMUj086DU6Z+/oXBdWU3/b1G0DN3E9wULRSwcK
|
|
ZT3wj/cCI1vsCm3gj2R5SqkA9Y0CAwEAAQKBgAJH+4CxV0/zBVcLiBCHvSANm0l7
|
|
HetybTh/j2p0Y1sTXro4ALwAaCTUeqdBjWiLSo9lNwDHFyq8zX90+gNxa7c5EqcW
|
|
V9FmlVXr8VhfBzcZo1nXeNdXFT7tQ2yah/odtdcx+vRMSGJd1t/5k5bDd9wAvYdI
|
|
DblMAg+wiKKZ5KcdAkEA1cCakEN4NexkF5tHPRrR6XOY/XHfkqXxEhMqmNbB9U34
|
|
saTJnLWIHC8IXys6Qmzz30TtzCjuOqKRRy+FMM4TdwJBAJQZFPjsGC+RqcG5UvVM
|
|
iMPhnwe/bXEehShK86yJK/g/UiKrO87h3aEu5gcJqBygTq3BBBoH2md3pr/W+hUM
|
|
WBsCQQChfhTIrdDinKi6lRxrdBnn0Ohjg2cwuqK5zzU9p/N+S9x7Ck8wUI53DKm8
|
|
jUJE8WAG7WLj/oCOWEh+ic6NIwTdAkEAj0X8nhx6AXsgCYRql1klbqtVmL8+95KZ
|
|
K7PnLWG/IfjQUy3pPGoSaZ7fdquG8bq8oyf5+dzjE/oTXcByS+6XRQJAP/5ciy1b
|
|
L3NhUhsaOVy55MHXnPjdcTX0FaLi+ybXZIfIQ2P4rb19mVq1feMbCXhz+L1rG8oa
|
|
t5lYKfpe8k83ZA==
|
|
-----END PRIVATE KEY-----`,Uot="Qmxi5ciWXbQzkr7o+SUNiUuQxQEf8/AVyUWY4T/BGhcXBIUz4nOyHBGf9A4KbM0iKF3yp9M7WAY0rrs5PzdTAOB45plcS2zZ0wUibcXuGJ29VVGRWKGwE9zu2vLwhfgjTaaDpXo4rby+7GxXTktzJmxvneOUdYeHi+PZsThlvPI=",Foe="1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79",Tw={INDEX_LIST:"/App/IndexList/indexList",PLAY_INFO:"/App/IndexPlay/playInfo",VURL_SHOW:"/App/Resource/Vurl/show",VURL_DETAIL:"/App/Resource/VurlDetail/showOne",FIND_MORE:"/App/Index/findMoreVod"},i1r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"3",type_name:"\u7EFC\u827A"},{type_id:"64",type_name:"\u77ED\u5267"}],a1r={1:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],2:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"},{n:"2022",v:"2022"},{n:"2021",v:"2021"},{n:"2020",v:"2020"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u9999\u6E2F",v:"\u9999\u6E2F"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u7F8E\u56FD",v:"\u7F8E\u56FD"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"},{n:"\u65E5\u672C",v:"\u65E5\u672C"},{n:"\u82F1\u56FD",v:"\u82F1\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],3:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],4:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"area",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"\u5927\u9646",v:"\u5927\u9646"},{n:"\u53F0\u6E7E",v:"\u53F0\u6E7E"},{n:"\u97E9\u56FD",v:"\u97E9\u56FD"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}],64:[{key:"year",name:"",init:"0",value:[{n:"\u5168\u90E8",v:"0"},{n:"2026",v:"2026"},{n:"2025",v:"2025"},{n:"2024",v:"2024"},{n:"2023",v:"2023"}]},{key:"sort",name:"",init:"d_id",value:[{n:"\u6700\u65B0",v:"d_id"},{n:"\u6700\u70ED",v:"d_hits"},{n:"\u63A8\u8350",v:"d_score"}]}]},Iw=new Map,o1r={category:3e5,detail:3e5,play:3e5,search:6e4};function c1r(t){return pE.default.createHash("md5").update(t).digest("hex")}function u1r(t){let e=Buffer.from("mvXBSW7ekreItNsT","utf8"),r=Buffer.from("2U3IrJL8szAKp0Fj","utf8"),n=pE.default.createCipheriv("aes-128-cbc",e,r),s=n.update(t,"utf8","hex");return s+=n.final("hex"),s.toUpperCase()}function l1r(t,e,r){let n=Buffer.from(e,"utf8"),s=Buffer.from(r,"utf8"),i=pE.default.createDecipheriv("aes-128-cbc",n,s),a=i.update(t,"hex","utf8");return a+=i.final("utf8"),a}function d1r(t){let e=Buffer.from(t,"base64"),r=256,n=[];for(let s=0;s<e.length;s+=r){let i=e.slice(s,s+r),a=pE.default.privateDecrypt({key:s1r,padding:pE.default.constants.RSA_NO_PADDING},i),o=a.indexOf(0,2);if(o===-1){for(o=0;o<a.length&&a[o]===0;)o+=1;n.push(a.slice(o))}else n.push(a.slice(o+1))}return Buffer.concat(n).toString("utf8").trim()}function f1r(t,e){let r=`token_id=,token=${Foe},phone_type=1,request_key=${t},app_id=1,time=${e},keys=${Uot}*&zvdvdvddbfikkkumtmdwqppp?|4Y!s!2br`;return c1r(r)}function p1r(t){let e=Iw.get(t);return e?Date.now()>e.expire?(Iw.delete(t),null):e.data:null}function m1r(t,e,r){Iw.set(t,{data:e,expire:Date.now()+(o1r[r]||6e4)}),Iw.size>200&&Iw.clear()}async function ww(t,e,r="category"){let n=`${e}|${JSON.stringify(t)}`;if(r!=="none"){let p=p1r(n);if(p)return p}let s=Math.floor(Date.now()/1e3).toString(),i=u1r(JSON.stringify(t)),a=f1r(i,s),o=new URLSearchParams({token:Foe,token_id:"",phone_type:"1",time:s,phone_model:"xiaomi-22021211rc",keys:Uot,request_key:i,signature:a,app_id:"1",ad_version:"1"}).toString(),c=await he.post(`${Fot.host}${e}`,o,{headers:Fot.headers});if(c.status!==200||!c.data?.data?.keys||!c.data?.data?.response_key)return null;let u=d1r(c.data.data.keys);if(!u)return null;let l=JSON.parse(u),d=l1r(c.data.data.response_key,l.key,l.iv);if(!d)return null;let f=JSON.parse(d);return r!=="none"&&f&&m1r(n,f,r),f}function qot(t){return{vod_id:`${t.vod_id}/${t.vod_continu||0}`,vod_name:t.vod_name,vod_pic:t.vod_pic,vod_remarks:(t.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${t.vod_continu}\u96C6`}}function h1r(t){let e=String(t||"").trim();if(!e)return"";let r=e.split("/")[0];return/^\d+$/.test(r)?r:e.match(/(\d+)/)?.[1]||e}function Z4(t){let e=String(t||"").toLowerCase().replace("p","");return e==="8k"?100:e==="4k"||e==="2160"?90:e==="1440"?80:e==="1080"?70:e==="720"?60:e==="\u8D85\u6E05"?50:e==="\u9AD8\u6E05"?40:e==="\u6807\u6E05"?30:10}async function g1r(t,e){return{}}async function A1r(t,e){return{class:i1r,filters:a1r}}async function y1r(t,e){let r=t.body.id,n=String(t.body.page||1),s=t.body.filters||{};if(!r)return{page:1,pagecount:0,list:[]};let i=await ww({area:s.area||"0",year:s.year||"0",pageSize:"20",sort:s.sort||"d_id",page:n,tid:String(r)},Tw.INDEX_LIST,"category"),a=Array.isArray(i?.list)?i.list.map(u=>qot(u)):[],o=parseInt(n,10)||1,c=parseInt(i?.totalPage||0,10)||(a.length>0?o+1:o);return{page:o,pagecount:c,list:a}}async function x1r(t,e){let r=String(t.body.wd||"").trim(),n=String(t.body.page||1);if(!r)return{page:1,pagecount:0,list:[]};let s=await ww({keywords:r,order_val:"1",page:n},Tw.FIND_MORE,"search"),a=(Array.isArray(s?.list)?s.list:[]).filter(u=>String(u?.vod_name||"").toLowerCase().includes(r.toLowerCase())).map(u=>qot(u)),o=parseInt(n,10)||1,c=parseInt(s?.totalPage||0,10)||(a.length>0?o+1:o);return{page:o,pagecount:c,list:a}}async function b1r(t,e){let r=Array.isArray(t.body.id)?t.body.id:[t.body.id],n=[];for(let s of r){let i=String(s||""),a=h1r(i);if(!a)continue;let[o,c]=await Promise.all([ww({token_id:"1649412",vod_id:a,mobile_time:Math.floor(Date.now()/1e3).toString(),tokename:Foe},Tw.PLAY_INFO,"detail"),ww({vurl_cloud_id:"2",vod_d_id:a},Tw.VURL_SHOW,"detail")]),u=o?.vodInfo;if(!u)continue;let l=[],d=Array.isArray(c?.list)?c.list:[];d.forEach((f,p)=>{let m=f?.play;if(!m||typeof m!="object")return;let h=[],A=[];if(Object.entries(m).forEach(([y,x])=>{x?.param&&(h.push(String(x.param)),A.push(String(y)))}),!h.length)return;A.sort((y,x)=>Z4(x)-Z4(y));let g=d.length===1?String(u.vod_name||"\u6B63\u7247"):String(f?.name||p+1),b=`${h[0]}||${A.join("@")}`;l.push(`${g}$${b}`)}),n.push({vod_id:i,vod_name:u.vod_name||"",vod_pic:u.vod_pic||"",vod_year:u.vod_year||"",vod_area:u.vod_area||"",vod_remarks:u.vod_remarks||(Number(u.vod_continu||0)===0?"\u7535\u5F71":`\u66F4\u65B0\u81F3${u.vod_continu}\u96C6`),vod_actor:u.vod_actor||"",vod_director:u.vod_director||"",vod_content:String(u.vod_use_content||u.vod_content||"").trim(),vod_play_from:l.length>0?"\u74DC\u5B50\u4E13\u7EBF":"",vod_play_url:l.length>0?l.join("#"):""})}return{list:n}}async function E1r(t,e){let r=String(t.body.id||"").trim();if(!r)return{parse:0,url:"",header:$oe};let n=r.split("||");if(n.length<2)return{parse:0,url:r,header:$oe};let s={};n[0].split("&").forEach(c=>{let[u,l]=c.split("=");u&&(s[u]=l||"")});let i=n[1].split("@").filter(Boolean);i.length>0&&(i.sort((c,u)=>Z4(u)-Z4(c)),s.resolution=i[0]);let a=await ww(s,Tw.VURL_DETAIL,"play");return{parse:0,url:String(a?.url||"").trim(),header:$oe}}var jot={meta:{key:"guazi",name:"\u300C\u76F4\u300D\u74DC\u5B50",type:3},api:async t=>{t.post("/init",g1r),t.post("/home",A1r),t.post("/category",y1r),t.post("/detail",b1r),t.post("/play",E1r),t.post("/search",x1r)}};var zf=String(process.env.PPNIX_HOST||"https://www.ppnix.com").trim(),_1r=String(process.env.PPNIX_LANG_PATH||"/cn").trim(),Qot=String(process.env.PPNIX_UA||"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36").trim(),Got=24,S1r=10*60*1e3,v1r=[{type_id:"movie",type_name:"\u7535\u5F71"},{type_id:"tv",type_name:"\u7535\u89C6\u5267"}],C1r={time:"newstime",hits:"onclick",score:"rating",newstime:"newstime",onclick:"onclick",rating:"rating"},Gl={expiresAt:0,filters:{},filterDef:{movie:{class:"",area:"",year:"",by:"newstime"},tv:{class:"",area:"",year:"",by:"newstime"}}};function gn(t){return t==null?"":String(t).trim()}function I1r(t=""){let e=gn(t);return e?e.startsWith("/")?e.replace(/\/+$/,""):`/${e.replace(/\/+$/,"")}`:"/cn"}var Kg=I1r(_1r);function Vot(t=""){let e=gn(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?`${zf}${e}`:`${zf}/${e}`:`${zf}${Kg}/`}function zg(t){return gn(t).replace(/<br\s*\/?>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/"/gi,'"').replace(/'/gi,"'").replace(/</gi,"<").replace(/>/gi,">").replace(/\s+/g," ").trim()}function zot(t){let e=gn(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?`${zf}${e}`:`${zf}/${e}`:""}function T1r(t){let e=[],r=new Set;for(let n of Array.isArray(t)?t:[]){let s=gn(n?.vod_id||n?.vod_name);!s||r.has(s)||(r.add(s),e.push(n))}return e}function Kot(t){let e=gn(t);return e?/^https?:\/\//i.test(e)||e.startsWith("/")?e:e.startsWith("movie/")||e.startsWith("tv/")?`${Kg}/${e}`:`${Kg}/${e.replace(/^\/+/,"")}`:""}async function Rw(t,e={}){let r=Vot(t),n={"User-Agent":Qot,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",Referer:e.referer||`${zf}${Kg}/`,...e.headers||{}},s=await he({url:r,method:e.method||"GET",headers:n,data:e.body,timeout:e.timeout||2e4,responseType:"text",validateStatus:()=>!0,maxRedirects:5}),i=Number(s.status||0),a=typeof s.data=="string"?s.data:String(s.data||"");if(i!==200)throw new Error(`HTTP ${i||"unknown"} @ ${r}`);return a}function Yot(t,e,r=""){let n=[];return t(e).each((s,i)=>{let a=t(i),o=a.find("a.thumbnail, h2 a, a").first(),c=gn(o.attr("href")||a.find("h2 a").attr("href")||""),u=Kot(c),l=zg(a.find("img.thumb").attr("alt")||a.find("h2 a").text()||o.text()),d=zot(a.find("img.thumb").attr("src")||a.find("img.thumb").attr("data-src")||""),f=zg(a.find("footer .rate").text()||a.find("footer").text());!u||!l||n.push({vod_id:u,vod_name:l,vod_pic:d,vod_remarks:f,type_id:r,type_name:r==="movie"?"\u7535\u5F71":r==="tv"?"\u7535\u89C6\u5267":""})}),T1r(n)}function w1r(t=""){let e=(t.match(/infoid\s*=\s*(\d+)/)||[])[1]||"",r=t.match(/m3u8\s*=\s*\[(.*?)\]/s);if(!r)return{infoId:e,items:[]};let n=[],s=/'([^']*)'|"([^"]*)"/g,i;for(;(i=s.exec(r[1]))!==null;){let a=gn(i[1]||i[2]||"");a&&n.push(a)}return{infoId:e,items:[...new Set(n)]}}function R1r(t){let e=gn(t.infoId||""),r=encodeURIComponent(gn(t.param||"")),n=encodeURIComponent(gn(t.referer||"")),s=encodeURIComponent(gn(t.episodeName||""));return`${e}|${r}|${n}|${s}`}function N1r(t){try{let e=String(t||"").split("|");return{infoId:gn(e[0]||""),param:decodeURIComponent(e[1]||""),referer:decodeURIComponent(e[2]||""),episodeName:decodeURIComponent(e[3]||"")}}catch{return{}}}function O1r(t={}){let e=t&&typeof t=="object"?t:{};return{class:gn(e.class||e.type||e.cate||""),area:gn(e.area||""),year:gn(e.year||""),by:gn(e.by||e.sort||"newstime")||"newstime"}}function qoe(t,e=1,r={}){let n=O1r(r),s=n.class,i=n.area,a=n.year,o=C1r[n.by]||"newstime",c=Number(e)<=1?"":`${Number(e)-1}`;return`${Kg}/${t}/${s}-${i}-${a}-${c}-${o}.html`}function P1r(t=[]){return[...new Set((t||[]).map(e=>gn(e)).filter(Boolean))]}function Uoe(t,e,r=""){let n=[];return t(e).find("a").each((s,i)=>{let a=gn(t(i).text());!a||a===r||n.push(a)}),P1r(n)}function Hot(t){let e=[],r=t(".lists-content.filter dl");if(!r.length)return e;let n=Uoe(t,r.eq(0),"\u5168\u90E8");n.length&&e.push({key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...n.map(a=>({n:a,v:a}))]});let s=Uoe(t,r.eq(1),"\u5168\u90E8");s.length&&e.push({key:"area",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...s.map(a=>({n:a,v:a}))]});let i=Uoe(t,r.eq(2),"\u5168\u90E8");return i.length&&e.push({key:"year",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},...i.map(a=>({n:a,v:a}))]}),e.push({key:"by",name:"",init:"newstime",value:[{n:"\u65F6\u95F4",v:"newstime"},{n:"\u4EBA\u6C14",v:"onclick"},{n:"\u8BC4\u5206",v:"rating"}]}),e}async function D1r(t=!1){if(!t&&Gl.expiresAt>Date.now()&&Object.keys(Gl.filters).length>0)return{filters:Gl.filters,filter_def:Gl.filterDef};try{let[e,r]=await Promise.all([Rw(qoe("movie",1,{})),Rw(qoe("tv",1,{}))]);Gl.filters={movie:Hot(Me(e)),tv:Hot(Me(r))},Gl.expiresAt=Date.now()+S1r}catch{if(!Object.keys(Gl.filters).length){let e=[{key:"by",name:"",init:"newstime",value:[{n:"\u6309\u65F6\u95F4",v:"newstime"},{n:"\u6309\u4EBA\u6C14",v:"onclick"},{n:"\u6309\u8BC4\u5206",v:"rating"}]}];Gl.filters={movie:e,tv:e}}}return{filters:Gl.filters,filter_def:Gl.filterDef}}async function k1r(t,e){return{}}async function L1r(t,e){let{filters:r}=await D1r();return{class:v1r,filters:r}}async function B1r(t,e){try{let r=gn(t.body?.id||"movie"),n=Math.max(1,Number(t.body?.page||1)||1),s=t.body?.filters||{},i=await Rw(qoe(r,n,s)),a=Me(i),o=Yot(a,".lists-content > ul > li, .lists .lists-content ul li",r).filter(d=>d.vod_id.includes(`/${r}/`)),c=n,l=[...(a(".pagination, .pages, .pagenavi").html()||"").matchAll(/---(\d+)-\.html/g)].map(d=>Number(d[1])+1);return l.length?c=Math.max(n,...l):o.length>=Got&&(c=n+1),{page:n,pagecount:c,list:o}}catch{let r=Math.max(1,Number(t.body?.page||1)||1);return{page:r,pagecount:r,list:[]}}}async function M1r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r)try{let i=Kot(s);if(!i)continue;let a=await Rw(i),o=Me(a),c=zg(o("h1.product-title").text()),u=zg(o("title").text()).replace(/\s*\([^)]*\).*/,""),l=c.replace(/\s*\([^)]*\)\s*$/,"").trim()||u,d=zot(o("header.product-header img.thumb").attr("src")||""),f=zg(o(".product-excerpt").filter((v,C)=>o(C).text().includes("\u7B80\u4ECB\uFF1A")).text()).replace(/^简介:/,"").trim(),p=zg(o(".product-excerpt").filter((v,C)=>o(C).text().includes("\u5BFC\u6F14\uFF1A")).find("span").text()),m=zg(o(".product-excerpt").filter((v,C)=>o(C).text().includes("\u4E3B\u6F14\uFF1A")).find("span").text()).replace(/\s*\/\s*/g,","),h=(c.match(/\((\d{4})\)/)||[])[1]||"",A=i.includes("/movie/")?"\u7535\u5F71":i.includes("/tv/")?"\u7535\u89C6\u5267":"",{infoId:g,items:b}=w1r(a),y=(i.match(/(\d+)\.html/)||[])[1]||"",x=b.map((v,C)=>{let R=b.length>1?`\u7B2C${C+1}\u96C6`:gn(v)||"\u6B63\u7247",w=R1r({infoId:g||y,param:v,referer:Vot(i),episodeName:R});return`${R}$${w}`});n.push({vod_id:i,vod_name:l,vod_pic:d,type_name:A,vod_year:h,vod_director:p,vod_actor:m,vod_content:f,vod_play_from:x.length?"PPnix":"",vod_play_url:x.join("#")})}catch{continue}return{list:n}}async function W1r(t,e){try{let r=N1r(t.body?.id||""),n=gn(r.infoId),s=gn(r.param);if(!n||!s)return{parse:0,url:gn(t.body?.id||"")};let i=gn(r.referer||`${zf}${Kg}/`);return{parse:0,url:`${zf}/info/m3u8/${n}/${encodeURIComponent(s)}.m3u8`,header:{Referer:i,Origin:zf,"User-Agent":Qot}}}catch{return{parse:1,url:gn(t.body?.id||""),header:{}}}}async function $1r(t,e){try{let r=gn(t.body?.wd||""),n=Math.max(1,Number(t.body?.page||1)||1);if(!r)return{page:1,pagecount:1,list:[]};let s=encodeURIComponent(r),i=n<=1?"":`-page-${n}`,a=await Rw(`${Kg}/search/${s}--.html${i}`),o=Me(a),c=Yot(o,".lists-content > ul > li, .lists .lists-content ul li").filter(u=>/\/(movie|tv)\/\d+\.html/.test(u.vod_id));return{page:n,pagecount:c.length>=Got?n+1:n,list:c}}catch{let r=Math.max(1,Number(t.body?.page||1)||1);return{page:r,pagecount:r,list:[]}}}var Jot={meta:{key:"ppnix",name:"\u300C\u76F4\u300DPPnix",type:3},api:async t=>{t.post("/init",k1r),t.post("/home",L1r),t.post("/category",B1r),t.post("/detail",M1r),t.post("/play",W1r),t.post("/search",$1r)}};var qn={key:"anime1",name:"Anime1\u52D5\u756B",host:"https://anime1.me",listUrl:"https://d1zquzjgwo9yb.cloudfront.net/",playApi:"https://v.anime1.me/api",pic:"https://sta.anicdn.com/playerImg/8.jpg",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",timeout:15e3},Nw=48,F1r=5*60*1e3,U1r=60,Xot=(()=>{let t=Math.max(new Date().getFullYear(),2025),e=[];for(let r=t;r>=2018;r-=1)e.push({type_id:String(r),type_name:String(r)});return[{type_id:"\u9023\u8F09\u4E2D",type_name:"\u9023\u8F09\u4E2D"},...e,{type_id:"2017",type_name:"\u66F4\u65E9"}]})(),tM={expireAt:0,list:[]},eM=null;function Yg(t){return Me(`<div>${String(t||"")}</div>`).text().replace(/\s+/g," ").trim()}function Qoe(t=qn.host){return{"User-Agent":qn.ua,Referer:t,"Accept-Language":"zh-CN,zh;q=0.9"}}function Ow(t,e=qn.host){let r=String(t||"").trim();if(!r)return"";try{return new URL(r,e).href}catch{return""}}function Goe(t){let e=String(t||"").trim();if(!e)return"";try{let n=new URL(e,qn.host).searchParams.get("cat");if(n)return n}catch{}return e.replace(/^\/?\?cat=/,"")}function q1r(t){let e=String(t||"").trim();if(/^https?:\/\//i.test(e))return e;if(e.startsWith("/"))return Ow(e);let r=Goe(e);return r?`${qn.host}/?cat=${encodeURIComponent(r)}`:qn.host}function j1r(t){let e=String(t||"").trim();return e?e.startsWith("//")?`https:${e}`:Ow(e,qn.host):""}function H1r(t){if(!Array.isArray(t))return null;let e=String(t[0]??"").trim(),r=Yg(t[1]);return!e||!r?null:{id:e,vod_id:e,vod_name:r,vod_pic:qn.pic,vod_remarks:Yg(t[2]),vod_year:String(t[3]??"").trim(),type_name:Yg(t[4]),vod_actor:Yg(t[5])}}async function Hoe(t,e={}){let r=Ow(t,e.base||qn.host),n=await he({url:r,method:"get",timeout:e.timeout||qn.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{...Qoe(e.referer||qn.host),...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function Q1r(){let t=await he({url:`${qn.listUrl}?_=${Date.now()}`,method:"get",timeout:qn.timeout,responseType:"text",transformResponse:[n=>n],validateStatus:()=>!0,headers:Qoe(qn.host)});if(t.status<200||t.status>=300)throw new Error(`HTTP ${t.status}`);let e=JSON.parse(String(t.data||"{}")),r=Object.values(e).map(H1r).filter(Boolean);return tM={expireAt:Date.now()+F1r,list:r},r}async function rM(){return tM.expireAt>Date.now()&&tM.list.length>0?tM.list:(eM||(eM=Q1r().finally(()=>{eM=null})),eM)}function Zot(t,e){let r=String(e||"\u9023\u8F09\u4E2D").trim();return r==="\u9023\u8F09\u4E2D"?t.filter(n=>n.vod_remarks.includes("\u9023\u8F09\u4E2D")):r==="2017"?t.filter(n=>{let s=Number.parseInt(n.vod_year,10);return Number.isFinite(s)&&s<=2017}):t.filter(n=>n.vod_year===r)}function ect(t,e,r=Nw){let n=Math.max(1,Number.parseInt(e,10)||1),s=t.length,i=Math.max(1,Math.ceil(s/r));return{list:t.slice((n-1)*r,n*r),page:n,pagecount:i,limit:r,total:s}}function G1r(t,e){let r=Goe(e);return t.find(n=>n.id===r||n.vod_id===r)}function V1r(t){return Yg(t).replace(/[$#]/g," ").trim()}function z1r(t,e){let r=Yg(t),n=r.match(/\[(.*)\]/);return V1r(n?.[1]||r||`\u7B2C${e+1}\u96C6`)}function K1r(t){return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}function Y1r(t){try{let e=JSON.parse(Buffer.from(String(t||""),"base64").toString("utf8"));return e&&typeof e=="object"?e:{}}catch{return{}}}function J1r(t,e,r){let n=Me(t||"");n(".site-main article").each((s,i)=>{let a=String(n(i).find("[data-apireq]").first().attr("data-apireq")||"").trim();if(!a||r.has(a))return;let o=n(i).find(".entry-title").first().text();r.add(a),e.push({name:z1r(o,e.length),apiReq:a})})}async function X1r(t,e){let r=[],n=new Set,s=new Set,i=t,a=e;for(let o=0;o<U1r&&i;o+=1){n.add(a),J1r(i,r,s);let c=Me(i||"");if(o===0&&r.length===0){let l=Ow(c(".cat-links a").first().attr("href"),a);if(l&&!n.has(l)){a=l,i=await Hoe(a,{referer:e});continue}}let u=Ow(c(".nav-previous a").first().attr("href"),a);if(!u||n.has(u))break;a=u,i=await Hoe(a,{referer:e})}return r.reverse()}function Z1r(t){return(Array.isArray(t)?t.join(";"):String(t||"")).split(";").map(r=>r.trim()).filter(r=>["e","p","h"].includes(r.split("=")[0])).join("; ")}function joe(t,e=qn.host){let r={"User-Agent":qn.ua,Referer:e||qn.host};return t&&(r.Cookie=t),r}async function e_r(t,e){let r=await he({url:qn.playApi,method:"post",data:`d=${t}`,timeout:qn.timeout,responseType:"text",transformResponse:[i=>i],validateStatus:()=>!0,headers:{...Qoe(qn.host),"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}});if(r.status<200||r.status>=300)throw new Error(`HTTP ${r.status}`);let n=JSON.parse(String(r.data||"{}")),s=j1r(n?.s?.[0]?.src);if(!s)throw new Error("empty play url");return{url:s,cookie:Z1r(r.headers?.["set-cookie"])}}async function t_r(t,e){return{}}async function r_r(t,e){try{let r=Zot(await rM(),"\u9023\u8F09\u4E2D").slice(0,Nw);return{class:Xot,filters:{},list:r}}catch(r){return console.error("anime1 home failed:",r.message),{class:Xot,filters:{},list:[]}}}async function n_r(t,e){let r=t.body?.id||t.body?.tid||"\u9023\u8F09\u4E2D",n=t.body?.page||1;try{return ect(Zot(await rM(),r),n)}catch(s){return console.error("anime1 category failed:",s.message),{list:[],page:Math.max(1,Number.parseInt(n,10)||1),pagecount:1,limit:Nw,total:0}}}async function s_r(t,e){let r=String(t.body?.wd||"").trim(),n=t.body?.page||1;if(!r)return{list:[],page:1,pagecount:1,limit:Nw,total:0};try{let s=r.toLowerCase(),i=(await rM()).filter(a=>a.vod_name.toLowerCase().includes(s));return ect(i,n)}catch(s){return console.error("anime1 search failed:",s.message),{list:[],page:Math.max(1,Number.parseInt(n,10)||1),pagecount:1,limit:Nw,total:0}}}async function i_r(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(a=>String(a||"").trim()).filter(Boolean),s=[],i=await rM().catch(()=>[]);for(let a of n){let o=Goe(a),c=q1r(a);try{let u=await Hoe(c),l=Me(u||""),d=G1r(i,a),f=Yg(l(".page-title, h1").first().text()),m=(await X1r(u,c)).map(h=>`${h.name}$${K1r({apiReq:h.apiReq,referer:c})}`).join("#");s.push({vod_id:o||a,vod_name:d?.vod_name||f||o||a,vod_pic:d?.vod_pic||qn.pic,vod_remarks:d?.vod_remarks||"",vod_year:d?.vod_year||"",type_name:d?.type_name||"",vod_actor:d?.vod_actor||"",vod_content:d?.vod_remarks||"",vod_play_from:"Anime1",vod_play_url:m})}catch(u){console.error("anime1 detail failed:",a,u.message)}}return{list:s}}async function a_r(t,e){let r=String(t.body?.id||"").trim(),n=Y1r(r),s=String(n.apiReq||r).trim(),i=n.referer||qn.host;if(!s)return{parse:0,jx:0,url:"",header:joe("",i)};try{let a=await e_r(s,i);return{parse:0,jx:0,url:a.url,playId:a.url,header:joe(a.cookie,qn.host)}}catch(a){return console.error("anime1 play failed:",a.message),{parse:0,jx:0,url:"",header:joe("",i)}}}var tct={meta:{key:qn.key,name:"\u300C\u76F4\u300DAnime1",type:3},api:async t=>{t.post("/init",t_r),t.post("/home",r_r),t.post("/category",n_r),t.post("/detail",i_r),t.post("/play",a_r),t.post("/search",s_r)}};var Jg="https://gimy01.tv",sct="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",o_r=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u7535\u89C6\u5267"},{type_id:"4",type_name:"\u52A8\u6F2B"},{type_id:"29",type_name:"\u7EFC\u827A"},{type_id:"34",type_name:"\u77ED\u5267"},{type_id:"13",type_name:"\u9646\u5267"}],rct={\u5287:"\u5267",\u96FB:"\u7535",\u8996:"\u89C6",\u7DDA:"\u7EBF",\u570B:"\u56FD",\u7522:"\u4EA7",\u7D9C:"\u7EFC",\u85DD:"\u827A",\u52D5:"\u52A8",\u756B:"\u753B",\u985E:"\u7C7B",\u5225:"\u522B",\u72C0:"\u72B6",\u614B:"\u6001",\u5C0E:"\u5BFC",\u984C:"\u9898",\u6B61:"\u6B22",\u6A02:"\u4E50",\u611B:"\u7231",\u5F8C:"\u540E",\u9580:"\u95E8",\u9F8D:"\u9F99",\u99AC:"\u9A6C",\u98A8:"\u98CE",\u96F2:"\u4E91",\u8207:"\u4E0E",\u842C:"\u4E07",\u7121:"\u65E0",\u7DDA\u4E0A\u770B:"\u7EBF\u4E0A\u770B",\u9023\u7E8C\u5287:"\u8FDE\u7EED\u5267",\u96FB\u8996\u5287:"\u7535\u89C6\u5267",\u96FB\u5F71:"\u7535\u5F71",\u52D5\u6F2B:"\u52A8\u6F2B",\u7D9C\u85DD:"\u7EFC\u827A"};function Xg(t){return String(t||"").replace(/\/+$/,"")}function ict(t){return String(t||"").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/"/gi,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function Wo(t){let e=ict(t);return Object.keys(rct).forEach(r=>{e=e.replace(new RegExp(r,"g"),rct[r])}),e}function c_r(t){return String(t||"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zg(t){let e=String(t||"").trim().replace(/^["']|["']$/g,"");return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?"https:"+e:e.startsWith("/")?Xg(Jg)+e:Xg(Jg)+"/"+e.replace(/^\.\//,""):""}function nM(t){return{"User-Agent":sct,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:t||Xg(Jg)+"/"}}function u_r(t){let e=String(t||""),r=e.trim();if(!r.startsWith('"')||!r.endsWith('"'))return e;try{let n=JSON.parse(r);if(typeof n=="string"&&/(?:<!doctype\s+html|<html[\s>])/i.test(n))return n}catch{}return e}function l_r(t){return new Promise(e=>setTimeout(e,t))}function d_r(t){let e=String(t?.code||"").toUpperCase(),r=String(t?.message||"");return["ECONNRESET","ETIMEDOUT","ECONNABORTED","EAI_AGAIN"].includes(e)||/socket disconnected|TLS connection|timeout/i.test(r)}async function Pw(t,e={}){let r=Number.isInteger(e.retries)?e.retries:2,n;for(let s=0;s<=r;s+=1)try{let i=await he(t,{method:e.method||"get",headers:{...nM(e.referer),...e.headers||{}},data:e.data,timeout:e.timeout||2e4,responseType:"text",transformResponse:[a=>a]});return u_r(i.data)}catch(i){if(n=i,s>=r||!d_r(i))throw i;await l_r(300*(s+1))}throw n}function f_r(t){let e=String(t||""),r=[/var\s+player_data\s*=\s*(\{[\s\S]*?\})\s*<\/script>/i,/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*;/i,/player_data\s*=\s*(\{[\s\S]*?\})\s*;/i];for(let n of r){let s=e.match(n);if(s)try{return JSON.parse(s[1])}catch{}}return null}function p_r(t){let e=String(t?.url||"").trim(),r=String(t?.encrypt||"").trim();if(!e)return"";if(r==="1")try{return decodeURIComponent(e)}catch{return e}if(r==="2")try{return decodeURIComponent(Buffer.from(e,"base64").toString("utf8"))}catch{try{return Buffer.from(e,"base64").toString("utf8")}catch{return e}}return e}function act(t){let e=String(t||"").trim();if(!e)return null;try{return JSON.parse(e)}catch{let n=e.match(/\{[\s\S]*\}/);if(!n)return null;try{return JSON.parse(n[0])}catch{}}return null}function oct(t){return/^https?:\/\//i.test(t)&&/(?:\.m3u8|\.mp4|\.flv|\.m4v|\.m4s)(?:[?#]|$)/i.test(t)}function cct(t){let e=String(t||"").trim();if(!e)return"";if(oct(e))return e;let r=act(e);if(r&&typeof r=="object"){let s=cct(r.url||r.video||r.playurl);if(s)return s}let n=e.match(/https?:\/\/[^"'<>\s]+(?:\.m3u8|\.mp4|\.flv|\.m4v)(?:[^"'<>\s]*)?/i);return n?n[0]:""}function uct(t,e){let r=String(t||""),n=String(e||"");if(/^JDQM-/i.test(r)||/^JDQM$/i.test(n))return"JDQM";if(/^JDHG-/i.test(r)||/^JDHG$/i.test(n))return"JDHG";if(/^JD-/i.test(r)||/^(?:JD4K|JD2K)$/i.test(n)&&/^JD/i.test(r))return"JD2K";if(/^JK2-/i.test(r)||/^JK2$/i.test(n))return"JK2";if(/^NSYS-/i.test(r)||/^NSYS$/i.test(n))return"NSYS";if(/^NBY-/i.test(r)||/^NBY$/i.test(n))return"NBY";if(/^JinLiDj-/i.test(r)||/^djplayer$/i.test(n))return"djplayer";if(/^(?:znjson|znkan)-/i.test(r)||/^znjson$/i.test(n))return"znjson";let s=r.match(/^(JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)-/i);return s?s[1].toUpperCase():/^(?:JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)$/i.test(n)?n.toUpperCase():/(?:iqiyi\.com|bilibili\.com|v\.qq\.com|sohu\.com|pptv\.com|letv\.com|xigua\.com|mgtv\.com)/i.test(r)?"etcjc":/v\.youku\.com/i.test(r)?"kmjc":"normal"}function m_r(t,e){let r=uct(t,e);return/^(?:JD4K|JD2K|JDQM|JDHG)$/i.test(r)?"d":/^(?:JSYBL|JSYMG|JSYQY|JSYDJ|JSYHS|JSYRR|JSYYK|JSYTX)$/i.test(r)?"j":r==="normal"?"o":"v"}function h_r(t,e,r,n){let s="https://player.gimy.bot/"+m_r(t,e)+"/",i=uct(t,e),a=n||r,o=s+"?url="+encodeURIComponent(t);return o+="&jctype="+encodeURIComponent(i),a&&(o+="&next="+encodeURIComponent("//"+a.replace(/^https?:\/\//i,""))),{parseBase:s,referer:o}}function nct(t,e=Xg(Jg)){return{"User-Agent":sct,Referer:t||Xg(Jg)+"/",Origin:e}}function g_r(t){return{vod_id:t.vod_id||"",vod_name:t.vod_name||"",vod_pic:t.vod_pic||"",vod_remarks:t.vod_remarks||""}}function lct(t,e){let r=[],n={};return(e&&e.length?e:t.root()).find("a[href*='/vod/'], a[href*='/detail/']").each((i,a)=>{let o=t(a),c=o.attr("href")||"",u=Zg(c);if(!/(?:\/detail\/|\/vod\/)\d+\.html/i.test(u)||n[u])return;let l=Wo(o.attr("title")||o.find("img").attr("alt")||o.find(".title, .video-text, .module-poster-item-title, h3, h4, h5").first().text()||o.text());if(!l)return;let d=o.closest(".module-item, li, .public-list-box, .video-item, .item, .module-poster-item, .myui-vodlist__box"),f=Zg(o.attr("data-original")||o.attr("data-src")||o.attr("data-bg")||o.find("img").attr("data-original")||o.find("img").attr("data-src")||o.find("img").attr("src")||d.find("a.video-pic").first().attr("data-original")||d.find("a.video-pic").first().attr("data-src")||d.find("img").first().attr("data-original")||d.find("img").first().attr("data-src")||d.find("img").first().attr("src")||""),p=d.html()||o.parent().html()||"",m=String(p).match(/(?:更新至第?\d+集|更新第?\d+集|\(?\d+å…¨\)?|å…¨\d+集|已完çµ|已完结|HDä¸å—|HD|TC|HC|æ¶å…ˆç‰ˆ|抢先版)/i);n[u]=!0,r.push(g_r({vod_id:u,vod_name:l,vod_pic:f,vod_remarks:m?Wo(m[0]):""}))}),r}function Mo(t,e){let r=new RegExp("<span[^>]*>\\s*"+c_r(e)+"\\s*[\uFF1A:]\\s*<\\/span>([\\s\\S]*?)<\\/(?:li|div)>","i"),n=String(t||"").match(r);return n?Wo(n[1]):""}function A_r(t){let e=[],r=[],n=new Set,s=(c,u)=>(Wo(c)||u||"\u6B63\u7247").replace(/[$#]/g," ").trim(),i=c=>{let u=[],l=new Set;return c.find("a[href*='/play/'], a[href*='/eps/']").each((d,f)=>{let p=t(f),m=p.attr("href")||"",h=Zg(m);if(!h||l.has(h))return;l.add(h);let A=s(p.attr("title")||p.text(),"\u7B2C"+(u.length+1)+"\u96C6");u.push(A+"$"+h)}),u},a=(c,u,l)=>{if(!u.length)return;let d=Wo(c)||"\u9ED8\u8BA4\u7EBF\u8DEF",f=String(l||d||r.length);n.has(f)||(n.add(f),r.push({from:d,urls:u.join("#")}))},o=new Map;return t(".source[data-route-switch], [data-line-name][data-route-switch]").each((c,u)=>{let l=t(u),d=String(l.attr("data-route-switch")||"").trim(),f=l.clone();f.children().remove();let p=Wo(l.attr("data-line-name")||f.text()||l.text());d&&p&&o.set(d,p)}),t(".episodes-route[data-route-sid], .eps[data-route-sid]").each((c,u)=>{let l=t(u),d=String(l.attr("data-route-sid")||"").trim();a(o.get(d)||"\u7EBF\u8DEF"+(d||r.length+1),i(l),"route:"+(d||r.length+1))}),t("#playTab a[href^='#con_playlist_']").each((c,u)=>{let l=t(u),d=String(l.attr("href")||"").replace(/^#/,""),f=Wo(l.text())||d;d&&e.push({tabId:d,name:f})}),t("ul[id^='con_playlist_']").each((c,u)=>{let l=t(u),d=l.attr("id")||"",f=Wo(l.prevAll("li").first().text())||d;d&&!e.some(p=>p.tabId===d)&&e.push({tabId:d,name:f})}),e.forEach(c=>{a(c.name,i(t("#"+c.tabId)),"tab:"+c.tabId)}),r.length||a("Gimy",i(t.root()),"fallback:gimy"),{playFrom:r.map(c=>c.from).join("$$$"),playUrl:r.map(c=>c.urls).join("$$$")}}async function y_r(t,e){return{}}async function x_r(t,e){return{class:o_r}}async function b_r(t,e){let r=String(t.body?.id||"2"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);let s=await Pw(Xg(Jg)+"/type/"+r+(n>1?"-"+n:"")+".html"),i=Me(s),a=lct(i);return{page:n,pagecount:a.length>0?n+1:n,list:a}}async function E_r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=String(s||"").trim();if(!i)continue;let a=/^https?:\/\//i.test(i)?i:Zg(i),o=await Pw(a),c=Me(o),u=A_r(c),l=c("h1.text-overflow, h1").first().text()||c("title").text(),d=Mo(o,"\u985E\u5225")||Mo(o,"\u7C7B\u522B"),f=d.match(/\b(?:19|20)\d{2}\b/)?.[0]||"";n.push({vod_id:a,vod_name:Wo(l.replace(/(?:線上看|线上看)[\s\S]*$/i,"")),vod_pic:Zg(c("meta[property='og:image']").attr("content")||(c(".details-pic .video-pic").attr("style")||"").match(/url\(([^)]+)\)/)?.[1]||c("img").first().attr("src")||""),vod_content:Wo(c(".switch-box .text, .details-content .text, .details-content, .detail-sketch").first().text()||c("meta[name='description']").attr("content")||""),vod_remarks:Mo(o,"\u72C0\u614B")||Mo(o,"\u72B6\u6001"),type_name:Wo(d.replace(/\s*[·.]\s*(?:19|20)\d{2}\b.*$/,"")),vod_year:Mo(o,"\u5E74\u4EE3")||Mo(o,"\u5E74\u4EFD")||f,vod_area:Mo(o,"\u570B\u5BB6/\u5730\u5340")||Mo(o,"\u56FD\u5BB6/\u5730\u533A")||Mo(o,"\u5730\u5340")||Mo(o,"\u5730\u533A"),vod_actor:Mo(o,"\u4E3B\u6F14")||Wo(c("li:contains('\u4E3B\u6F14') a, .detail__meta div:contains('\u4E3B\u6F14') a").map((p,m)=>c(m).text()).get().join(" / ")),vod_director:Mo(o,"\u5C0E\u6F14")||Mo(o,"\u5BFC\u6F14")||Wo(c("li:contains('\u5C0E\u6F14') a, li:contains('\u5BFC\u6F14') a, .detail__meta div:contains('\u5C0E\u6F14') a, .detail__meta div:contains('\u5BFC\u6F14') a").map((p,m)=>c(m).text()).get().join(" / ")),vod_play_from:u.playFrom,vod_play_url:u.playUrl})}return{list:n}}async function __r(t,e){let r=String(t.body?.id||"").trim();if(!r)return{parse:1,url:""};let n=/^https?:\/\//i.test(r)?r:Zg(r);try{let s=await Pw(n,{referer:n}),i=f_r(s),a=p_r(i),o=String(i?.from||t.body?.flag||"").trim();if(!a)return{parse:1,url:n,header:nM(n)};if(oct(a))return{parse:0,url:a,header:nct(n)};let c=i?.link_next?Zg(i.link_next):"",u=h_r(a,o,n,c),l=await Pw(u.parseBase+"parse.php?url="+encodeURIComponent(a)+"&_t="+Date.now(),{referer:u.referer,headers:{Accept:"application/json, text/plain, */*"}}),d=act(l),f=cct(d?.url||d?.video||d?.playurl);return f?{parse:0,url:f,header:nct(u.referer,"https://player.gimy.bot")}:{parse:1,url:a,header:nM(n)}}catch(s){return console.error("gimy play failed:",s.message),{parse:1,url:n,header:nM(n)}}}async function S_r(t,e){let r=ict(t.body?.wd),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,list:[]};let s=Xg(Jg)+"/search/-------------.html?wd="+encodeURIComponent(r)+"&page="+n,i=await Pw(s),a=Me(i),o=lct(a,a(".box-main-content").first());return{page:n,pagecount:o.length>0?n+1:n,list:o}}var dct={meta:{key:"gimy",name:"\u300C\u76F4\u300D\u5267\u8FF7",type:3},api:async t=>{t.post("/init",y_r),t.post("/home",x_r),t.post("/category",b_r),t.post("/detail",E_r),t.post("/play",__r),t.post("/search",S_r)}};var Voe="https://hanxiaoquan.hanju.workers.dev",v_r="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",C_r=[{type_id:"0",type_name:"\u97E9\u5267"},{type_id:"1",type_name:"\u97E9\u5F71"},{type_id:"2",type_name:"\u65E5\u97E9\u7EFC"},{type_id:"3",type_name:"\u65E5\u97E9\u6F2B"},{type_id:"100",type_name:"\u70ED\u95E8"}];function zoe(t){return String(t||"").replace(/\/+$/,"")}function Vl(t){return String(t||"").replace(/\s+/g," ").trim()}function I_r(t){let e=String(t||"").trim();return e?e.startsWith("//")?"https:"+e:/^https?:\/\//i.test(e)?e:zoe(Voe)+(e.startsWith("/")?e:"/"+e):""}function fct(){let t=zoe(Voe);return{"User-Agent":v_r,Accept:"application/json, text/plain, */*","Content-Type":"application/json",Origin:t,Referer:t+"/"}}async function Koe(t,e,r=3e4){let n=await he(zoe(Voe)+t,{method:"post",headers:fct(),data:e||{},timeout:r,responseType:"json"});return typeof n.data=="string"?JSON.parse(n.data):n.data||{}}function Yoe(t){return{vod_id:String(t?.vod_id||""),vod_name:Vl(t?.vod_name),vod_pic:I_r(t?.vod_pic),vod_remarks:Vl(t?.vod_remarks||t?.vod_class),vod_year:Vl(t?.vod_year),vod_director:Vl(t?.vod_director),vod_actor:Vl(t?.vod_actor),vod_content:Vl(t?.vod_content)}}function mE(t){return String(t||"").toLowerCase().replace(/\s+/g,"").replace(/[·•・\-—_::,,.。'"“â€â€˜â€™!?ï¼ï¼Ÿ()()\[\]ã€ã€‘]/g,"")}function T_r(t,e){let r=mE(e),n=mE(t?.vod_name),s=mE(t?.vod_remarks),i=mE(t?.vod_actor),a=mE(t?.vod_director),o=mE(t?.vod_content);return r?n===r?1e4:n.startsWith(r)?8e3-n.length:n.includes(r)?6e3-n.indexOf(r):s.includes(r)?2500-s.indexOf(r):i.includes(r)?1800-i.indexOf(r):a.includes(r)?1500-a.indexOf(r):o.includes(r)?500-o.indexOf(r):0:0}function w_r(t,e,r){let n=[],s=Array.isArray(t)?t:[];for(let i of s){let a=Yoe(i);if(!a.vod_id||!a.vod_name||r[a.vod_id])continue;let o=T_r(a,e);o<=0||(r[a.vod_id]=!0,a._searchScore=o,n.push(a))}return n}function R_r(t){let e=Yoe(t);e.type_name=Vl(t?.vod_class),e.vod_area=Vl(t?.vod_area)||"\u97E9\u56FD";let n=(Array.isArray(t?.vod_play_url)?t.vod_play_url:[]).map((s,i)=>{let a=Vl(s?.t||s?.name)||"\u7B2C"+(i+1)+"\u96C6",o=String(s?.u||s?.url||"").trim();return o?a+"$"+o:""}).filter(Boolean).join("#");return e.vod_play_from=n?"\u9ED8\u8BA4\u7EBF\u8DEF":"",e.vod_play_url=n,e}function N_r(t,e,r){let n=Number(t?.pagecount||t?.pageCount||t?.totalPage||0);return Number.isFinite(n)&&n>0?n:r.length>0?e+1:e}async function O_r(t,e){return{}}async function P_r(t,e){return{class:C_r}}async function D_r(t,e){let r=String(t.body?.id||"0"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);let s=await Koe("/api/list",{c_id:r,page:String(n)}),i=(Array.isArray(s?.data)?s.data:[]).map(Yoe).filter(a=>a.vod_id&&a.vod_name);return{page:n,pagecount:N_r(s,n,i),total:s?.total||i.length,list:i}}async function k_r(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=String(s||"").trim();if(!i)continue;let a=await Koe("/api/detail",{b_id:i});a?.data&&n.push(R_r(a.data))}return{list:n}}async function L_r(t,e){let r=String(t.body?.id||"").trim();return r?{parse:0,url:r,header:fct()}:{parse:1,url:""}}async function B_r(t,e){let r=Vl(t.body?.wd),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,list:[]};let s={},i=[],a=n===1?5:n;for(let o=n;o<=a;o++){let c=await Koe("/api/search",{keyword:r,page:String(o)},6e4),u=w_r(c?.data,r,s);if(i.push(...u),!Array.isArray(c?.data)||c.data.length<20||n>1)break}return i.sort((o,c)=>{let u=Number(c._searchScore||0)-Number(o._searchScore||0);return u!==0?u:o.vod_name.localeCompare(c.vod_name,"zh-CN")}),i.forEach(o=>{delete o._searchScore}),{page:n,pagecount:i.length>0?n+1:n,list:i}}var pct={meta:{key:"hanxiaoquan",name:"\u300C\u76F4\u300D\u97E9\u5C0F\u5708",type:3},api:async t=>{t.post("/init",O_r),t.post("/home",P_r),t.post("/category",D_r),t.post("/detail",k_r),t.post("/play",L_r),t.post("/search",B_r)}};var Xoe=Re(require("node:vm"),1),lo=Re(Jn(),1);var xa={key:"wbbb",name:"\u6B6A\u6BD4\u5DF4\u535C",host:"https://wbbb1.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",timeout:2e4},mct=[{type_id:"1",type_name:"\u7535\u5F71"},{type_id:"2",type_name:"\u5267\u96C6"},{type_id:"3",type_name:"\u52A8\u6F2B"},{type_id:"4",type_name:"\u7EFC\u827A"}],M_r=/^(?:lzm3u8|bfzym3u8)$/i;function hct(t){return String(t||"").replace(/\/+$/,"")}function Bs(t,e,r=1,n=""){let s=String(t||"").match(e);return s&&s[r]||n}function Ts(t=""){return String(t).replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/"/gi,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function Joe(t=""){return Ts(t).replace(/\s*\/\s*/g,"/").replace(/^\/+|\/+$/g,"").trim()}function gct(t=""){return String(t).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fo(t=""){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?hct(xa.host)+e:hct(xa.host)+"/"+e.replace(/^\.\//,""):""}function W_r(t=""){let e=String(t||"").trim();if(!e)return"";if(e.startsWith("//"))return e;if(/^https?:\/\//i.test(e))try{let r=new URL(e);return`//${r.host}${r.pathname}${r.search}${r.hash}`}catch{}if(e.startsWith("/"))try{return`//${new URL(xa.host).host}${e}`}catch{}return e}function $_r(t){return(Array.isArray(t)?t:[]).map(e=>String(e||"").split(";")[0].trim()).filter(Boolean).join("; ")}function bct(t=`${xa.host}/`){return{"User-Agent":xa.ua,Referer:t,"Accept-Language":"zh-CN,zh;q=0.9"}}async function gE(t,e={}){let r=/^https?:\/\//i.test(t)?t:fo(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||xa.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{...bct(e.referer),...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function F_r(t,e={}){let r=await he({url:t,method:e.method||"get",data:e.data,timeout:e.timeout||xa.timeout,validateStatus:()=>!0,headers:e.headers||{}});if(r.status<200||r.status>=300)throw new Error(`HTTP ${r.status}`);return typeof r.data=="string"?JSON.parse(r.data):r.data}function Zoe(t=""){let e=Ts(String(t||"")).replace(/\s+/g,"").trim();return!e||/^(?:排åº|é€‰æ‹©æ’æ”¾æº|åˆ‡æ¢æ’放æº|更多|展开|æ”¶èµ·)$/i.test(e)}function U_r(t=""){let e=String(t||"").trim();if(!e)return"";let r=e.match(/\/detail\/(\d+)\.html/i)||e.match(/^(\d+)$/);return r?r[1]:e}function q_r(t=""){if(t&&typeof t=="object"&&!Array.isArray(t)){let i=fo(t.playUrl||t.playId||t.url||t.id||""),a=Ts(t.name||"").trim();return!i||!a?null:{name:a,id:i,playId:i,playUrl:i,url:i}}let e=String(t||"").trim();if(!e)return null;let r=e.indexOf("$");if(r<0)return null;let n=e.slice(0,r).trim(),s=fo(e.slice(r+1).trim());return!n||!s?null:{name:n,id:s,playId:s,playUrl:s,url:s}}function Act(t,e,r=0){if(Zoe(t))return null;let n=Ts(String(t||"")).replace(/\s+/g," ").trim()||`\u7EBF\u8DEF${r+1}`,s=new Set,i=[];for(let a of Array.isArray(e)?e:[]){let o=q_r(a);!o||s.has(o.playId)||(s.add(o.playId),i.push(o))}return i.length?{name:n,url:i.map(a=>`${a.name}$${a.playUrl}`).join("#"),episodes:i}:null}function j_r(t){let e=Bs(t,/href=["']\/detail\/(\d+)\.html["']/i,1,""),r=Ts(Bs(t,/<div class=["']module-(?:poster-item-title|card-item-title)["']>([\s\S]*?)<\/div>/i,1,""))||Bs(t,/alt=["']([^"']+)["']/i,1,""),n=fo(Bs(t,/(?:data-original|data-src|src)=["']([^"']+)["']/i,1,"")),s=Ts(Bs(t,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""));return{vod_id:e,vod_name:r,vod_pic:n,vod_remarks:s}}function tce(t){let e=String(t||""),r=[],n=/<a href=["']\/detail\/(\d+)\.html["'] title=["']([^"']+)["'] class=["']module-poster-item module-item["']>([\s\S]*?)<\/a>/gi,s;for(;(s=n.exec(e))!==null;){let a=s[0];r.push({vod_id:s[1],vod_name:Ts(s[2]),vod_pic:fo(Bs(a,/(?:data-original|data-src|src)=["']([^"']+)["']/i,1,"")),vod_remarks:Ts(Bs(a,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""))})}if(r.length)return r;let i=/<div class=["']module-card-item module-item["']>([\s\S]*?)<\/div>\s*<\/div>/gi;for(;(s=i.exec(e))!==null;){let a=j_r(s[1]);a.vod_id&&a.vod_name&&r.push(a)}return r}function H_r(t){let e=[],r=/<div[^>]*class=["'][^"'>]*\bmodule-tab-item\b[^"'>]*["'][^>]*>([\s\S]*?)<\/div>/gi,n;for(;(n=r.exec(t))!==null;){let s=n[0],i=Bs(s,/data-dropdown-value\s*=\s*['"]([^'"]+)['"]/i,1,"").trim();if(i){Zoe(i)||e.push(i);continue}let a=Ts(n[1]||"").trim();a&&!Zoe(a)&&e.push(a)}return e}function Q_r(t){let e=[],r=/<div class=["']module-play-list-content[^"']*["']>([\s\S]*?)<\/div>/gi,n;for(;(n=r.exec(t))!==null;){let i=n[1],a=[],o=/<a[^>]+class=["']module-play-list-link[^"']*["'][^>]+href=["']([^"']+)["'][^>]*>([\s\S]*?)<\/a>/gi,c;for(;(c=o.exec(i))!==null;){let u=fo(c[1]),l=Ts(c[2]).trim();!u||!l||a.push(`${l}$${u}`)}a.length&&e.push(a)}if(e.length)return e;let s=[...t.matchAll(/<a[^>]+href=["']([^"']*\/(?:vplay|play)\/[^"'#]+)["'][^>]*>([\s\S]*?)<\/a>/gi)];return s.length?[s.map(i=>`${Ts(i[2]).trim()||"\u64AD\u653E"}$${fo(i[1])}`)]:e}function G_r(t="",e=""){let r=Ts(Bs(t,/<a[^>]+module-play-list-link[^"']*active[^"']*[^>]*>([\s\S]*?)<\/a>/i,1,"")),n=Ts(Bs(t,/(?:æ£åœ¨æ’放|当剿’放)[^::]*[::]\s*([\s\S]*?)(?:<|$)/i,1,"")),s=r||n;return e&&s&&(s=s.replace(new RegExp(`^${gct(e)}\\s*`),"").trim(),s=s.replace(new RegExp(`^\u300A?${gct(e)}\u300B?\\s*`),"").trim()),s.trim()}function V_r(t="",e={}){let r=String(e?.vod_data?.vod_name||"").trim(),n=G_r(t,r);return`\u5728\u7EBF\u64AD\u653E${r}${n?` ${n}`:""}`.trim()||r||"\u5728\u7EBF\u64AD\u653E"}function z_r(t){let e=[/var\s+player_aaaa\s*=\s*(\{.*?\})<\/script>/s,/var\s+player_.*?=\s*(\{.*?\})<\/script>/s,/player_aaaa\s*=\s*(\{.*?\})\s*;/s,/player_data\s*=\s*(\{.*?\})\s*;/s];for(let r of e){let n=String(t||"").match(r);if(n)try{return JSON.parse(n[1])}catch{}}return null}function K_r(t,e){let r=String(t||"").trim(),n=String(e||"").trim();if(n==="1")try{r=unescape(r)}catch{}else if(n==="2"){try{r=Buffer.from(r,"base64").toString("utf8")}catch{}try{r=unescape(r)}catch{}}return fo(r)}function ece(t,e){let r=String(t||"").trim(),n=String(e||"").trim();if(!r)return!1;if(/\.(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)(?:[?#]|$)/i.test(r)||/^(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)$/i.test(n)&&/^https?:\/\//i.test(r)||M_r.test(n))return!0;try{let s=new URL(r);return/\.(?:m3u8|mp4|m4v|m4a|mp3|flv|avi|mkv|mov|webm)(?:$|\?)/i.test(s.pathname+s.search)}catch{return!1}}function yct(t=""){let e=String(t||"").trim();if(/^[A-Za-z0-9+/]+={0,2}$/.test(e)&&e.length%4===0)try{return lo.default.enc.Base64.parse(e)}catch{}return lo.default.enc.Utf8.parse(e)}function Y_r(t){let e=()=>{},r=function(){return{on:e,hide:e,show:e,html:e,text:e,click:e,append:e,remove:e,css:e,attr:e,addClass:e,removeClass:e,find:()=>({}),val:()=>"",ready:e,length:0}};r.post=e,r.ajax=e,r.get=e,r.fn={};let n=new URL(t),s={console,CryptoJS:lo.default,URL,URLSearchParams,Buffer,atob:i=>Buffer.from(i,"base64").toString("binary"),btoa:i=>Buffer.from(i,"binary").toString("base64"),setTimeout:e,setInterval:()=>0,clearTimeout:e,clearInterval:e,fetch:async()=>({ok:!0,status:200,headers:new Map,text:async()=>"",json:async()=>({})}),localStorage:{getItem:()=>null,setItem:e,removeItem:e},sessionStorage:{getItem:()=>null,setItem:e,removeItem:e},navigator:{userAgent:xa.ua,clipboard:{writeText:async()=>{}}},document:{title:"wbbb-parser",body:{},addEventListener:e,querySelector:()=>null,createElement:()=>({style:{},click:e}),getElementById:()=>({style:{},addEventListener:e,play:async()=>{},pause:e})},location:{origin:n.origin,pathname:n.pathname,search:n.search,href:n.toString(),host:n.host},window:null,top:null,parent:null,self:null,$:r,jQuery:r,Artplayer(){return{on:e,once:e,emit:e,destroy:e,template:{},plugins:{},setting:{show:e},controls:{add:e},layers:{add:e},events:{proxy:e},notice:{show:e},storage:{get:()=>null,set:e}}},animation:{}};return s.window=s,s.top=s,s.parent=s,s.self=s,s}async function J_r(t,e){let r=Bs(e,/<script[^>]+src=["']([^"']*setting\.js[^"']*)["']/i,1,"");if(!r)throw new Error("setting.js missing");let n=new URL(r,t).toString(),i=`${await gE(n,{referer:t})}
|
|
;globalThis.__wbbbResolveRuntime={ urlValueurl, keyValue, vkeyValue, ckeyValue, nextParam, titleParam };`,a=Y_r(t);Xoe.default.createContext(a),Xoe.default.runInContext(i,a,{timeout:5e3});let o={...a.__wbbbResolveRuntime||{},decrypt:typeof a.decrypt=="function"?a.decrypt.bind(a):null,deplay:typeof a.deplay=="function"?a.deplay.bind(a):null};if(!o.urlValueurl||!o.keyValue||!o.vkeyValue||!o.ckeyValue)throw new Error("setting runtime params missing");return o}async function X_r(t,e,r){let n=W_r(e),s=String(r||"").trim(),i=`https://xn--qvr2v.850088.xyz/player/?url=${encodeURIComponent(t)}${n?`&next=${encodeURIComponent(n)}`:""}${s?`&title=${encodeURIComponent(s)}`:""}`,a=await he.get(i,{timeout:xa.timeout,responseType:"text",transformResponse:[A=>A],validateStatus:()=>!0,headers:bct(`${xa.host}/`)});if(a.status<200||a.status>=300)throw new Error(`HTTP ${a.status}`);let o=String(a.data||""),c=$_r(a.headers?.["set-cookie"]),u=await J_r(i,o),l=u.urlValueurl||`${String(t||"").trim()}${n?`&next=${n}`:""}`,d="https://xn--qvr2v.850088.xyz/player/api.php",f=new URLSearchParams({url:l,key:u.keyValue,vkey:u.vkeyValue,ckey:u.ckeyValue}).toString(),p=await F_r(d,{method:"post",data:f,headers:{"User-Agent":xa.ua,"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest",Referer:i,Origin:"https://xn--qvr2v.850088.xyz",...c?{Cookie:c}:{}}});if(!p||Number(p.code)!==200||!p.url)throw new Error(p?.msg||"parse api failed");let m=String(p.url||"").trim(),h="";if(m&&u&&typeof u.decrypt=="function")try{h=(u.decrypt(m)||"").trim();try{h=decodeURIComponent(h)}catch{}}catch{}if(!h&&m&&u&&typeof u.deplay=="function")try{let A=String(u.deplay(p.aes_key||"")||"").trim(),g=String(u.deplay(p.aes_iv||"")||"").trim();if(A&&g){h=(lo.default.AES.decrypt(m,lo.default.enc.Utf8.parse(A),{iv:lo.default.enc.Utf8.parse(g),mode:lo.default.mode.CBC,padding:lo.default.pad.Pkcs7}).toString(lo.default.enc.Utf8)||"").trim();try{h=decodeURIComponent(h)}catch{}}}catch{}if(!h){let A=yct(p.aes_key||""),g=yct(p.aes_iv||"");if(m&&A&&g)try{h=(lo.default.AES.decrypt(m,A,{iv:g,mode:lo.default.mode.CBC,padding:lo.default.pad.Pkcs7}).toString(lo.default.enc.Utf8)||"").trim();try{h=decodeURIComponent(h)}catch{}}catch{}}if(!h&&/^https?:\/\//i.test(m)&&(h=m),!h)try{h=decodeURIComponent(m)}catch{h=m}return h=fo(h),ece(h,p.type||"")||(h=i),{url:h,type:p.type||"",parsePageUrl:i}}function hE(t={}){return{"User-Agent":xa.ua,Referer:`${xa.host}/`,Origin:xa.host,...t}}function xct(t,e={}){return{parse:1,jx:1,url:t,playId:t,urls:[{name:"\u55C5\u63A2\u7EBF\u8DEF",url:t,playId:t}],header:hE(e)}}async function Z_r(t,e){return{}}async function eSr(t,e){try{let r=await gE("/");return{class:mct,filters:{},list:tce(r).slice(0,40)}}catch(r){return console.error("wbbb home failed:",r.message),{class:mct,filters:{},list:[]}}}async function tSr(t,e){let r=String(t.body?.id||"1"),n=Number.parseInt(t.body?.page||1,10);(!n||n<1)&&(n=1);try{let s=n>1?`/show/${r}--------${n}---.html`:`/show/${r}-----------.html`,i=await gE(s),a=tce(i),o=i.includes('title="\u4E0B\u4E00\u9875"')||i.includes("title='\u4E0B\u4E00\u9875'");return{page:n,pagecount:o?n+1:n,limit:20,total:(n-1)*20+a.length+(o?1:0),list:a}}catch(s){return console.error("wbbb category failed:",s.message),{page:n,pagecount:n,limit:20,total:0,list:[]}}}async function rSr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n)try{let a=U_r(i),o=/^https?:\/\//i.test(a)?a:`/detail/${a}.html`,c=await gE(o),u=[...c.matchAll(/<div class=["']module-info-tag-link["']>([\s\S]*?)<\/div>/gi)].map(h=>h[1]),l=H_r(c),d=Q_r(c),f=[];if(d.forEach((h,A)=>{let g=Act(l[A]||`\u7EBF\u8DEF${A+1}`,h,A);g&&f.push(g)}),f.length===0){let h=new Set,A=[...c.matchAll(/<a[^>]+href=["']([^"']*\/(?:vplay|play)\/[^"']+\.html)["'][^>]*>([\s\S]*?)<\/a>/gi)].map((b,y)=>{let x=fo(b[1]),v=Ts(b[2]).trim()||`\u7B2C${y+1}\u96C6`;return!x||h.has(x)?"":(h.add(x),`${v}$${x}`)}).filter(Boolean),g=Act(l[0]||"\u64AD\u653E\u7EBF\u8DEF",A,0);g&&(f=[g])}let p=f.map(h=>h.name),m=f.map(h=>h.url);s.push({vod_id:a,vod_name:Ts(Bs(c,/<h1[^>]*>([\s\S]*?)<\/h1>/i,1,"")),vod_pic:fo(Bs(c,/<div class=["']module-item-pic["']>[\s\S]*?<img[^>]+data-original=["']([^"']+)["']/i,1,""))||fo(Bs(c,/<div class=["']module-item-pic["']>[\s\S]*?<img[^>]+(?:data-src|src)=["']([^"']+)["']/i,1,"")),type_name:Joe(u[2]||""),vod_year:Ts(u[0]||""),vod_area:Ts(u[1]||""),vod_remarks:Ts(Bs(c,/<div class=["']module-item-note["']>([\s\S]*?)<\/div>/i,1,""))||Ts(Bs(c,/\u66f4\u65b0\u81f3[^<\s]+/,0,"")),vod_actor:Joe(Bs(c,/\u4e3b\u6f14:[\s\S]*?<div[^>]*class=["']module-info-item-content["']>([\s\S]*?)<\/div>/i,1,"")),vod_director:Joe(Bs(c,/\u5bfc\u6f14:[\s\S]*?<div[^>]*class=["']module-info-item-content["']>([\s\S]*?)<\/div>/i,1,"")),vod_content:Ts(Bs(c,/<div class=["']module-info-introduction-content[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,1,"")),vod_play_from:p.join("$$$"),vod_play_url:m.join("$$$")})}catch(a){console.error("wbbb detail failed:",i,a.message)}return{list:s}}async function nSr(t,e){let r=String(t.body?.wd||"").trim(),n=Number.parseInt(t.body?.page||1,10);if((!n||n<1)&&(n=1),!r)return{page:n,pagecount:n,total:0,list:[]};try{let s=`/search/-------------.html?wd=${encodeURIComponent(r)}${n>1?`&page=${n}`:""}`,i=await gE(s),a=tce(i);return{page:n,pagecount:a.length>=20?n+1:n,total:a.length,list:a}}catch(s){return console.error("wbbb search failed:",s.message),{page:n,pagecount:n,total:0,list:[]}}}async function sSr(t,e){let r=String(t.body?.id||"").trim();if(!r)return{parse:1,jx:1,url:"",playId:""};let n=/^https?:\/\//i.test(r)?r:fo(r);try{let s=await gE(n,{referer:n}),i=z_r(s);if(!i)return{parse:0,jx:0,url:n,playId:n,header:hE()};let a=String(i.from||t.body?.flag||"").trim(),o=K_r(i.url,i.encrypt);if(ece(o,a))return{parse:0,jx:0,url:o,playId:o,header:hE({Referer:n})};let c=String(i.parse||i.jx||"").trim();if(c){let u=/^https?:\/\//i.test(c)?`${c}${encodeURIComponent(o)}`:fo(`${c}${encodeURIComponent(o)}`);return{parse:0,jx:0,url:u,playId:u,header:hE({Referer:n})}}try{let u=await X_r(String(i.url||""),n,V_r(s,i));if(u?.url){let l=hE({Referer:u.parsePageUrl||n});return ece(u.url,u.type||"")?{parse:0,jx:0,url:u.url,playId:u.url,header:l}:xct(u.url,l)}}catch(u){console.warn("wbbb resolve failed:",u.message)}return xct(o||n,{Referer:n})}catch(s){return console.error("wbbb play failed:",s.message),{parse:1,jx:1,url:n,playId:n,header:hE({Referer:n})}}}var Ect={meta:{key:xa.key,name:"\u300C\u76F4\u300D\u6B6A\u6BD4",type:3},api:async t=>{t.post("/init",Z_r),t.post("/home",eSr),t.post("/category",tSr),t.post("/detail",rSr),t.post("/play",sSr),t.post("/search",nSr)}};var kw={key:"girigiri",name:"girigiri\u7231\u52A8\u6F2B",host:"https://ani.girigirilove.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",timeout:15e3},ba=kw.host,rce=kw.ua,Dw=48;function Ru(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/"/gi,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function zl(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?ba+e:ba+"/"+e:""}function _ct(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function iSr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function aSr(t){let e=new Set,r=[];for(let n of t||[]){let s=n?.vod_id;!s||e.has(s)||(e.add(s),r.push(n))}return r}function oSr(t){try{let e=Buffer.from(t||"","base64").toString("utf8");return decodeURIComponent(e)}catch{return t||""}}async function iM(t,e={}){let r=/^https?:\/\//i.test(t)?t:zl(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||kw.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":rce,Referer:e.referer||ba+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function cSr(t,e={}){let r=/^https?:\/\//i.test(t)?t:zl(t),n=await he.get(r,{timeout:e.timeout||kw.timeout,validateStatus:()=>!0,headers:{"User-Agent":rce,Referer:e.referer||ba+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return n.data}function Ict(t){let e=[],r=t.match(/<div class="public-list-box public-pic-b">[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/g)||[];for(let n of r){let s=(n.match(/class="public-list-exp"[^>]*href="([^"]+)"/)||[])[1]||"",i=(n.match(/class="public-list-exp"[^>]*title="([^"]+)"/)||[])[1]||(n.match(/class="time-title[^"]*"[^>]*title="([^"]+)"/)||[])[1]||"",a=(n.match(/data-src="([^"]+)"/)||[])[1]||(n.match(/src="([^"]+)"/)||[])[1]||"",o=(n.match(/<span class="public-list-prb[^>]*>([\s\S]*?)<\/span>/)||[])[1]||"";!s||!i||e.push({vod_id:s,vod_name:Ru(i),vod_pic:zl(a),vod_remarks:Ru(o)})}return e}function uSr(t){let e=[],r=/<div class="slide-time-bj swiper-slide"><a href="([^"]+)">[\s\S]*?data-background="([^"]+)"[\s\S]*?<span>([^<]+)<\/span>[\s\S]*?<h3 class="slide-info-title hide">([^<]+)<\/h3>[\s\S]*?<div class="slide-info hide2">([\s\S]*?)<\/div>/g,n;for(;(n=r.exec(t))!==null;)e.push({vod_id:n[1],vod_name:Ru(n[4]),vod_pic:zl(n[2]),vod_remarks:Ru(n[3]),vod_content:Ru(n[5])});return e}function sM(t,e){let r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),n=t.match(new RegExp(`<h4 class="title-h cor4">${r}</h4>[\\s\\S]*?<div class="flex wrap border-box public-r(?: hide-b-2)? diy-center1 mask2">([\\s\\S]*?)</div></div></div>`));return n?Ict(n[1]):[]}var Sct=[{type_id:"2",type_name:"\u65E5\u756A"},{type_id:"3",type_name:"\u7F8E\u756A"},{type_id:"21",type_name:"\u5287\u5834\u7248"},{type_id:"20",type_name:"\u771F\u4EBA\u756A\u5287"},{type_id:"24",type_name:"BD\u526F\u97F3\u8ECC"},{type_id:"26",type_name:"\u6F14\u5531\u6703&\u5468\u908A\u6D3B\u52D5&\u5176\u4ED6"}],po={n:"\u5168\u90E8",v:""},AE={key:"by",name:"",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},yE={key:"month",name:"",init:"",value:[po,{n:"\u4E00\u6708",v:"\u4E00\u6708"},{n:"\u56DB\u6708",v:"\u56DB\u6708"},{n:"\u4E03\u6708",v:"\u4E03\u6708"},{n:"\u5341\u6708",v:"\u5341\u6708"}]},xE={key:"year",name:"",init:"",value:(()=>{let t=[po];for(let e=2026;e>=2001;e--)t.push({n:String(e),v:String(e)});return t.push({n:"2000\u81F390\u5E74\u4EE3",v:"2000\u81F390\u5E74\u4EE3"}),t})()},vct={2:[{key:"class",name:"",init:"",value:[po,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u804C\u573A","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50","\u840C"].map(t=>({n:t,v:t}))]},yE,xE,{key:"lang",name:"",init:"",value:[po,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u56FD\u8BED",v:"\u56FD\u8BED"}]},{key:"version",name:"",init:"",value:[po,{n:"TV\u756A",v:"TV\u756A"},{n:"\u6CE1\u9762\u756A",v:"\u6CE1\u9762\u756A"},{n:"OVA",v:"OVA"}]},{key:"state",name:"",init:"",value:[po,{n:"\u5C0F\u8BF4\u6539",v:"\u5C0F\u8BF4\u6539"},{n:"\u6F2B\u753B\u6539",v:"\u6F2B\u753B\u6539"},{n:"\u6E38\u620F\u6539",v:"\u6E38\u620F\u6539"},{n:"\u539F\u521B",v:"\u539F\u521B"}]},AE],3:[{key:"class",name:"",init:"",value:[po,...["\u641E\u7B11","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8"].map(t=>({n:t,v:t}))]},yE,xE,{key:"lang",name:"",init:"",value:[po,{n:"\u56FD\u8BED",v:"\u56FD\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"}]},AE],21:[{key:"class",name:"",init:"",value:[po,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u767E\u5408","\u803D\u7F8E","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50"].map(t=>({n:t,v:t}))]},yE,xE,{key:"lang",name:"",init:"",value:[po,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u4E2D\u6587",v:"\u4E2D\u6587"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"}]},AE],20:[{key:"class",name:"",init:"",value:[po,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u804C\u573A","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50","\u840C","\u7EAA\u5F55\u7247"].map(t=>({n:t,v:t}))]},yE,xE,{key:"lang",name:"",init:"",value:[po,{n:"\u65E5\u8BED",v:"\u65E5\u8BED"},{n:"\u82F1\u8BED",v:"\u82F1\u8BED"},{n:"\u6CF0\u8BED",v:"\u6CF0\u8BED"}]},AE],24:[{key:"class",name:"",init:"",value:[po,...["\u559C\u5267","\u7231\u60C5","\u6050\u6016","\u52A8\u4F5C","\u79D1\u5E7B","\u5267\u60C5","\u6218\u4E89","\u5947\u5E7B","\u5192\u9669","\u60AC\u7591","\u6821\u56ED","\u540E\u5BAB","\u70ED\u8840","\u8FD0\u52A8","\u767E\u5408","\u4E59\u5973","\u673A\u7532","\u65E5\u5E38","\u9B54\u6CD5\u5C11\u5973","\u5F02\u4E16\u754C","\u7231\u6296\u9732","\u97F3\u4E50"].map(t=>({n:t,v:t}))]},yE,xE,AE],26:[{key:"class",name:"",init:"",value:[po,{n:"\u6F14\u5531\u4F1A",v:"\u6F14\u5531\u4F1A"},{n:"\u5468\u8FB9\u6D3B\u52A8",v:"\u5468\u8FB9\u6D3B\u52A8"},{n:"\u5176\u4ED6",v:"\u5176\u4ED6"}]},yE,xE,AE]};function lSr(t,e,r={}){let n=t||"2",s=m=>encodeURIComponent(m||""),i=r.by||"",a=r.class||"",o=r.month||"",c=r.year||"",u=r.version||"",l=r.state||"",d=r.lang||"",f=e>1?String(e):"",p=`/show/${n}-${s(o)}-${s(i)}-${s(a)}-${s(d)}----${f}-${s(l)}--${s(c)}/`;return u&&(p+=`version/${s(u)}/`),ba+p}function Cct(t,e={}){return{"User-Agent":rce,Referer:t||ba+"/",Origin:ba,...e}}async function dSr(t,e){return{}}async function fSr(t,e){try{let r=await iM(ba+"/"),n=aSr([...uSr(r),...sM(r,"\u6700\u8FD1\u5927\u5BB6\u5728\u770B"),...sM(r,"\u6216\u8BB8\u4F60\u611F\u5174\u8DA3\uFF1F"),...sM(r,"\u65E5\u756A"),...sM(r,"\u5267\u573A\u7248")]).slice(0,40);return{class:Sct,filters:vct,list:n}}catch(r){return console.error("girigiri home failed:",r.message),{class:Sct,filters:vct,list:[]}}}async function pSr(t,e){let r=String(t.body?.id||t.body?.tid||"2"),n=Math.max(1,Number(t.body?.page||1)),s={...t.body?.filters||{}},i=lSr(r,n,s);try{let a=await iM(i),o=Ict(a);if(!o.length)return{list:[],page:n,pagecount:n,limit:Dw,total:0};let u=[`--------${n+1}---/`,`-${n+1}---/`].some(l=>a.includes(l));return{list:o,page:n,pagecount:u?n+1:n,limit:Dw,total:n*Dw+(u?Dw:o.length)}}catch(a){return console.error("girigiri category failed:",a.message),{list:[],page:n,pagecount:n,limit:Dw,total:0}}}async function mSr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{let n=`${ba}/index.php/ajax/suggest?mid=1&wd=${encodeURIComponent(r)}`;return{list:((await cSr(n,{headers:{"X-Requested-With":"XMLHttpRequest",Referer:`${ba}/search/-------------/`}}))?.list||[]).map(i=>({vod_id:`/GV${i.id}/`,vod_name:i.name||"",vod_pic:zl(i.pic||""),vod_remarks:""}))}}catch(n){return console.error("girigiri search failed:",n.message),{list:[]}}}async function hSr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n){let a=zl(i);if(a)try{let o=await iM(a),c=Ru((o.match(/<title>(.*?)<\//i)||[])[1]||"").replace(/_.*$/,""),u=zl((o.match(/<img[^>]+data-src="([^"]+\.webp)"/)||[])[1]||""),l=Ru((o.match(/<div id="height_limit" class="text cor3">([\s\S]*?)<\/div>/)||[])[1]||""),d=Ru((o.match(/<p>([^<]*?(?:æ›´æ–°|點|æ”¯æŒæœæ¯”)[^<]*?)<\/p>/)||[])[1]||""),f=(o.match(/20\d{2}/)||[])[0]||"",p=[],m=/<a class="swiper-slide"[^>]*>[\s\S]*? ([^<]+)<span class="badge">(\d+)<\/span><\/a>/g,h;for(;(h=m.exec(o))!==null;)p.push({name:Ru(h[1]),count:Number(h[2]||0)});let A=o.match(/<div class="anthology wow[\s\S]*?<script>\$\("\.anthology-tab a"\)\.eq\(0\)/),g=A?A[0]:"",b=[],y=/<div class="anthology-list-box[^>]*>([\s\S]*?)<\/div><\/div>/g,x;for(;(x=y.exec(g))!==null;){let R=[],w=/href="([^"]*\/play[^\"]+)"[^>]*>([^<]+)<\/a>/g,N;for(;(N=w.exec(x[1]))!==null;){let P=Ru(N[2]),L=N[1];L.includes("/play")&&R.push({name:P,playId:_ct({playUrl:L,epName:P,vodName:c,referer:i})})}R.length&&b.push(R)}if(!b.length){let R=[],w=/href="([^"]*\/play[^\"]+)"[^>]*>([^<]+)<\/a>/g,N;for(;(N=w.exec(g||o))!==null;){let P=N[1];if(!P.includes("/play"))continue;let L=Ru(N[2]);R.push({name:L,playId:_ct({playUrl:P,epName:L,vodName:c,referer:i})})}R.length&&b.push(R)}let v=[],C=[];for(let R=0;R<b.length;R+=1){let w=p[R]?.name||`\u7EBF\u8DEF${R+1}`,N=b[R].map(P=>`${P.name}$${P.playId}`);v.push(w),C.push(N.join("#"))}s.push({vod_id:i,vod_name:c,vod_pic:u,vod_remarks:d,vod_content:l,vod_director:"",vod_actor:"",vod_year:f,vod_play_from:v.join("$$$"),vod_play_url:C.join("$$$")})}catch(o){console.error("girigiri detail failed:",i,o.message)}}return{list:s}}async function gSr(t,e){let r=String(t.body?.id||"").trim(),n=iSr(r),s=n.playUrl||r||"",i=zl(n.referer||"/"),a=zl(s);try{let c=(await iM(a,{referer:i||ba+"/",headers:{Origin:ba,Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}})).match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})<\/script>/);if(!c)throw new Error("player_aaaa not found");let u=JSON.parse(c[1]),l=u.url||"";u.encrypt===2?l=oSr(l):u.encrypt===1&&(l=decodeURIComponent(l));let d=l;/^https?:\/\//i.test(d)||(d=zl(d));let f=new URL(d).origin,p=f===ba?i||ba+"/":f+"/";return{parse:0,url:d,header:Cct(p)}}catch(o){return console.error("girigiri play failed:",o.message),{parse:0,url:a,header:Cct(ba+"/")}}}var Tct={meta:{key:kw.key,name:"\u300C\u76F4\u300D\u7231\u52A8\u6F2B",type:3},api:async t=>{t.post("/init",dSr),t.post("/home",fSr),t.post("/category",pSr),t.post("/detail",hSr),t.post("/play",gSr),t.post("/search",mSr)}};var em=Re(Jn(),1),Kf="https://www.cycani.org",Rct="https://player.cycanime.com",Nct="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",ASr="YLwJVbXw77pk2eOrAnFdBo2c3mWkLtodMni2wk81GCnP94ZltW",Lw=48,eA=[{type_id:"20",type_name:"TV\u756A\u7EC4"},{type_id:"21",type_name:"\u5267\u573A\u756A\u7EC4"}],ySr={\u7C7B\u578B:"class",\u5E74\u4EFD:"year",\u5B57\u6BCD:"letter"},xSr={class:"\u7C7B\u578B",year:"\u5E74\u4EFD",letter:"\u5B57\u6BCD",by:"\u6392\u5E8F"},bSr={key:"by",name:"\u6392\u5E8F",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},nce=new Map;function Ki(t){return String(t||"").replace(/ /gi," ").replace(/<br\s*\/?>/gi," ").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim()}function Oct(t){let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:1}function Bw(t,e=Kf){let r=String(t||"").trim();return r?/^https?:\/\//i.test(r)?r:r.startsWith("//")?`https:${r}`:new URL(r,e).toString():""}function Pct(t=`${Kf}/`,e="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"){return{"User-Agent":Nct,Accept:e,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:t}}async function tA(t,e=`${Kf}/`,r){let n=Bw(t),s=await he.get(n,{headers:Pct(e,r),timeout:15e3,maxContentLength:3*1024*1024});return typeof s.data=="string"?s.data:String(s.data||"")}async function ESr(t,e=`${Kf}/`){let r=Bw(t),n=await he.get(r,{headers:{...Pct(e,"application/json,text/javascript,*/*;q=0.01"),"X-Requested-With":"XMLHttpRequest"},timeout:15e3,maxContentLength:1024*1024});if(typeof n.data=="string")try{return JSON.parse(n.data)}catch{return null}return n.data||null}function aM(t){return encodeURIComponent(String(t||"").trim())}function Dct(t,e=1,r={}){let n=String(t||eA[0].type_id).trim()||eA[0].type_id,s=[],i=String(r.by||r.sort||"").trim(),a=String(r.class||"").trim(),o=String(r.letter||"").trim(),c=String(r.year||"").trim();return i&&s.push("by",aM(i)),a&&s.push("class",aM(a)),o&&s.push("letter",aM(o)),c&&s.push("year",aM(c)),e>1&&s.push("page",String(e)),`/show/${n}${s.length?`/${s.join("/")}`:""}.html`}function kct(t){return(String(t||"").match(/\/bangumi\/(\d+)\.html/i)||[])[1]||""}function _Sr(t){let e=String(t||"").match(/\/watch\/(\d+)\/(\d+)\/(\d+)\.html/i);return e?`${e[1]}/${e[2]}/${e[3]}`:""}function SSr(t){try{let e=JSON.parse(String(t||""));if(e&&e.id)return String(e.id)}catch{}return String(t||"").match(/\d+/)?.[0]||String(t||"").trim()}function wct(t,e){let r=t(e),n=r.find('a[href*="/bangumi/"]').first(),s=n.attr("href")||"",i=kct(s);if(!i)return null;let a=r.find("img").first(),o=Ki(n.attr("title")||a.attr("alt")||n.text());if(!o)return null;let c=a.attr("data-src")||a.attr("data-original")||a.attr("src")||"",u=Ki(r.find(".public-list-subtitle,.public-list-prb,.slide-info-remarks").first().text());return{vod_id:i,vod_name:o,vod_pic:Bw(c),vod_remarks:u}}function sce(t){let e=Me(t||""),r=[],n=new Set;return e(".public-list-box,.swiper-slide").each((s,i)=>{let a=wct(e,i);!a||n.has(a.vod_id)||(n.add(a.vod_id),r.push(a))}),r.length===0&&e('a[href*="/bangumi/"]').each((s,i)=>{let a=wct(e,e(i).closest("li,div").first());!a||n.has(a.vod_id)||(n.add(a.vod_id),r.push(a))}),r}function Lct(t){let e=Me(t||""),r=[],n=new Set;return e(".ec-casc-list .nav-swiper").each((s,i)=>{let a=e(i),o=Ki(a.find(".filter-text span").first().text()),c=a.find(".vod-ajax-select[data-type]").first().attr("data-type")||ySr[o]||"";if(!c||c==="channel"||c==="type"||n.has(c))return;let u=[];a.find(".vod-ajax-select").each((l,d)=>{let f=e(d),p=Ki(f.find("a").first().text()||f.text()),m=String(f.attr("data-val")||"").trim();!p||p==="\u5206\u7C7B\u8D44\u6E90\u4E0D\u4EE3\u8868\u5168\u90E8\u8D44\u6E90"||!m&&p!=="\u5168\u90E8"||u.some(h=>h.v===m)||u.push({n:p,v:m})}),u.length>0&&(n.add(c),r.push({key:c,name:xSr[c]||o||c,init:"",value:u}))}),r.push(bSr),r}async function vSr(t){let e=String(t||eA[0].type_id);if(nce.has(e))return nce.get(e);let r=await tA(Dct(e,1),`${Kf}/`),n=Lct(r);return nce.set(e,n),n}function CSr(t,e,r){let s=Ki(Me(t||"")(".page-tip").first().text()).match(/当å‰\s*(\d+)\s*\/\s*(\d+)\s*页/);return s?Number.parseInt(s[2],10)||e:r>=Lw?e+1:e}async function ISr(){let t={};await Promise.all(eA.map(async r=>{t[r.type_id]=await vSr(r.type_id).catch(()=>[])}));let e=await tA("/");return{class:eA,filters:t,list:sce(e).slice(0,Lw)}}async function TSr(t){let e=t.body||{},r=String(e.id||eA[0].type_id).trim()||eA[0].type_id,n=Oct(e.page),s=e.filters||e.extend||e.ext||{},i=Dct(r,n,s),a=await tA(i,`${Kf}/show/${r}.html`),o=sce(a),c=CSr(a,n,o.length);return{page:n,pagecount:c,limit:Lw,total:c*Lw,list:o,filter:Lct(a)}}function wSr(t,e){let r=Me(t||""),n=e||kct(r('link[rel="canonical"]').attr("href")||""),s=Ki(r(".slide-info-title").first().text())||Ki(r("h1,h2,h3").first().text())||Ki(r("title").text().replace(/[_-].*$/,"")),i=Bw(r(".detail-pic img,.player-vod-no1 img").map((p,m)=>r(m).attr("data-src")||r(m).attr("data-original")||r(m).attr("src")).get().find(p=>p&&!String(p).startsWith("data:image"))),a=Ki(r(".slide-info-remarks").first().text()),o=Ki(r("#height_limit,.small-text,.vod-content,.text").first().text()),c=r(".partition").filter((p,m)=>/演员/.test(r(m).text())).find("a").map((p,m)=>Ki(r(m).text())).get().filter(Boolean).join(","),u=r(".partition").filter((p,m)=>/导演/.test(r(m).text())).find("a").map((p,m)=>Ki(r(m).text())).get().filter(Boolean).join(","),l=r(".partition").filter((p,m)=>/类型/.test(r(m).text())).find("a").map((p,m)=>Ki(r(m).text())).get().filter(Boolean).join(","),d=[],f=[];return r(".anthology-list-box").each((p,m)=>{let h=Ki(r(".anthology-tab a").eq(p).clone().children().remove().end().text())||`CYC_${p+1}`,A=[];r(m).find('a[href*="/watch/"]').each((g,b)=>{let y=_Sr(r(b).attr("href"));if(!y)return;let x=Ki(r(b).text())||`\u7B2C${A.length+1}\u96C6`;A.push(`${x}$${y}`)}),A.length>0&&(d.push(h),f.push(A.join("#")))}),{vod_id:n,vod_name:s,vod_pic:i,vod_remarks:a,type_name:l,vod_actor:c,vod_director:u,vod_content:o,vod_play_from:d.join("$$$"),vod_play_url:f.join("$$$")}}async function RSr(t){let e=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],r=[];for(let n of e.filter(Boolean)){let s=SSr(n);if(!s)continue;let i=await tA(`/bangumi/${s}.html`,`${Kf}/`);r.push(wSr(i,s))}return{list:r}}function NSr(t){let e=String(t?.encrypt||""),r=String(t?.url||"");return e==="1"?decodeURIComponent(r):e==="2"?decodeURIComponent(Buffer.from(r,"base64").toString("utf8")):r}function OSr(t){let e=String(t||"").match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*<\/script>/i)||String(t||"").match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})\s*;/i);return e?JSON.parse(e[1]):null}function PSr(t){let e={},r=String(t||"");for(let n of["url","vkey","next","title","poster"]){let s=r.match(new RegExp(`["']${n}["']\\s*:\\s*["']([^"']*)["']`));s&&(e[n]=s[1])}return e}function DSr(t){let e=Me(t||""),r=String(e('meta[name="viewport"]').attr("id")||"").replace(/^now_/,""),n=String(e('meta[charset="UTF-8"]').attr("id")||e("meta[charset]").attr("id")||"").replace(/^now_/,"");return!r||!n||r.length!==n.length?"":n.split("").map((s,i)=>({id:Number(s),text:r[i]||""})).sort((s,i)=>s.id-i.id).map(s=>s.text).join("")}function kSr(t,e){let r=DSr(e);if(!r)return"";let n=em.default.MD5(r+ASr).toString(),s=em.default.enc.Utf8.parse(n.substring(16)),i=em.default.enc.Utf8.parse(n.substring(0,16));return em.default.AES.decrypt(t,s,{iv:i,mode:em.default.mode.CBC,padding:em.default.pad.Pkcs7}).toString(em.default.enc.Utf8)}async function LSr(t,e){if(/^https?:\/\//i.test(t))return t;let r=`${Rct}/?url=${encodeURIComponent(t)}`,n=await tA(r,`${Kf}${e}`),s=PSr(n);return kSr(s.url||"",n)||""}async function BSr(t){let e=String(t.body?.id||"").trim(),r=e.match(/(\d+)\/(\d+)\/(\d+)/)||e.match(/watch\/(\d+)\/(\d+)\/(\d+)/);if(!r)return{parse:0,url:"",header:{}};let n=`/watch/${r[1]}/${r[2]}/${r[3]}.html`,s=await tA(n,`${Kf}/bangumi/${r[1]}.html`),i=OSr(s);if(!i)return{parse:0,url:"",header:{}};let a=NSr(i);return{parse:0,jx:0,url:await LSr(a,n),header:{"User-Agent":Nct,Referer:`${Rct}/`}}}async function MSr(t){let e=String(t.body?.wd||"").trim(),r=Oct(t.body?.page);if(!e)return{page:r,pagecount:1,limit:20,total:0,list:[]};let n=await ESr(`/index.php/ajax/suggest?mid=1&limit=20&page=${r}&wd=${encodeURIComponent(e)}`),i=(Array.isArray(n?.list)?n.list:[]).map(a=>({vod_id:String(a.id||""),vod_name:Ki(a.name),vod_pic:Bw(a.pic||""),vod_remarks:""})).filter(a=>a.vod_id&&a.vod_name);return{page:Number(n?.page||r),pagecount:Number(n?.pagecount||r),limit:Number(n?.limit||20),total:Number(n?.total||i.length),list:i}}async function WSr(t,e){return{}}async function $Sr(){let t=await tA("/");return{list:sce(t).slice(0,Lw)}}var Bct={meta:{key:"ciyuancheng",name:"\u300C\u76F4\u300D\u6B21\u5143\u57CE",type:3},api:async t=>{t.post("/init",WSr),t.post("/home",ISr),t.post("/homeVod",$Sr),t.post("/category",TSr),t.post("/detail",RSr),t.post("/play",BSr),t.post("/search",MSr)}};var bE={key:"xifan",name:"\u7A00\u996D\u52A8\u6F2B",host:"https://anime.xifanacg.com",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",timeout:15e3},_i=bE.host,Ww=bE.ua,Mct=40;function Ea(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/'/g,"'").replace(/"/g,'"').replace(/\s+/g," ").trim()}function FSr(t){return Ea(t).replace(/\s*[_-]\s*(?:连载新番|完结旧番|剧场版|美漫).*$/i,"").replace(/\s*-\s*稀é¥åŠ¨æ¼«.*$/i,"").replace(/\s*-\s*å…费高清动漫分享.*$/i,"").trim()}function Nc(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?_i+e:_i+"/"+e:""}function Wct(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function USr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function qSr(t){let e=new Set,r=[];for(let n of t||[]){let s=n?.vod_id;!s||e.has(s)||(e.add(s),r.push(n))}return r}function jSr(t){try{let e=Buffer.from(t||"","base64").toString("utf8");return decodeURIComponent(e)}catch{return t||""}}function HSr(t){try{let e=new URL(t);return e.hostname.endsWith("pan.wo.cn")||e.hostname.endsWith("moedot.net")}catch{return!1}}function QSr(t,e){let r={"User-Agent":Ww};if(HSr(t))return r;let n=new URL(t).origin;return r.Referer=n===_i?e||_i+"/":n+"/",r.Origin=_i,r}async function ice(t,e={}){let r=/^https?:\/\//i.test(t)?t:Nc(t),n=await he({url:r,method:e.method||"get",data:e.data,timeout:e.timeout||bE.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":Ww,Referer:e.referer||_i+"/","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function GSr(t,e,r={}){let n=/^https?:\/\//i.test(t)?t:Nc(t),s=await he({url:n,method:"post",data:e,timeout:r.timeout||bE.timeout,validateStatus:()=>!0,headers:{"User-Agent":Ww,Referer:r.referer||_i+"/","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest","Accept-Language":"zh-CN,zh;q=0.9",...r.headers||{}}});if(s.status<200||s.status>=300)throw new Error(`HTTP ${s.status}`);return s.data}async function VSr(t,e={}){let r=/^https?:\/\//i.test(t)?t:Nc(t),n=await he.get(r,{timeout:e.timeout||bE.timeout,validateStatus:()=>!0,headers:{"User-Agent":Ww,Referer:e.referer||_i+"/","X-Requested-With":"XMLHttpRequest","Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return n.data}function zSr(t){let e=[],r=String(t||"").match(/<div class="public-list-box[\s\S]*?<\/div>\s*<\/div>\s*<\/div>/g)||[];for(let n of r){let s=(n.match(/class="(?:public-list-exp|time-title)[^"]*"[^>]*href="([^"]+)"/)||[])[1]||"",i=(n.match(/class="public-list-exp"[^>]*title="([^"]+)"/)||[])[1]||(n.match(/class="time-title[^"]*"[^>]*title="([^"]+)"/)||[])[1]||Ea((n.match(/class="time-title[^"]*"[^>]*>([\s\S]*?)<\/a>/)||[])[1]||""),a=(n.match(/data-src="([^"]+)"/)||[])[1]||(n.match(/src="([^"]+)"/)||[])[1]||"",o=(n.match(/<span class="public-list-prb[^>]*>([\s\S]*?)<\/span>/)||[])[1]||"";!s||!i||e.push({vod_id:s,vod_name:Ea(i),vod_pic:Nc(a),vod_remarks:Ea(o)})}return e}function KSr(t){let e=[],r=/<div class="swiper-slide">[\s\S]*?<div class="swiper-lazy[^"]*" data-background="([^"]+)"[\s\S]*?<a class="lank" href="([^"]+)"[\s\S]*?<h3 class="slide-info-title hide">([\s\S]*?)<\/h3>[\s\S]*?<li>([^<]*)<\/li>/g,n;for(;(n=r.exec(String(t||"")))!==null;)e.push({vod_id:n[2],vod_name:Ea(n[3]),vod_pic:Nc(n[1]),vod_remarks:Ea(n[4])});return e}var $ct=[{type_id:"1",type_name:"\u8FDE\u8F7D\u65B0\u756A"},{type_id:"2",type_name:"\u5B8C\u7ED3\u65E7\u756A"},{type_id:"3",type_name:"\u5267\u573A\u7248"},{type_id:"21",type_name:"\u7F8E\u6F2B"}],Mw={n:"\u5168\u90E8",v:""},oM={key:"by",name:"",init:"time",value:[{n:"\u6309\u6700\u65B0",v:"time"},{n:"\u6309\u6700\u70ED",v:"hits"},{n:"\u6309\u8BC4\u5206",v:"score"}]},Fct={key:"year",name:"",init:"",value:(()=>{let t=[Mw];for(let e=2026;e>=2005;e--)t.push({n:String(e),v:String(e)});return t})()},Uct={key:"class",name:"",init:"",value:[Mw,...["\u641E\u7B11","\u539F\u521B","\u8F7B\u5C0F\u8BF4\u6539","\u604B\u7231","\u767E\u5408","\u6F2B\u6539","\u6821\u56ED","\u6218\u6597","\u6CBB\u6108","\u5947\u5E7B","\u65E5\u5E38","\u9752\u6625","\u4E59\u5973\u5411","\u60AC\u7591","\u540E\u5BAB","\u79D1\u5E7B","\u5192\u9669","\u70ED\u8840","\u5F02\u4E16\u754C","\u6E38\u620F\u6539","\u97F3\u4E50","\u5076\u50CF","\u7F8E\u98DF","\u803D\u7F8E"].map(t=>({n:t,v:t}))]},qct={1:[Uct,{key:"area",name:"",init:"",value:[Mw,{n:"\u65E5\u672C",v:"\u65E5\u672C"}]},Fct,oM],2:[Uct,Fct,oM],3:[{key:"area",name:"",init:"",value:[Mw,{n:"\u65E5\u672C",v:"\u65E5\u672C"}]},{key:"year",name:"",init:"",value:(()=>{let t=[Mw];for(let e=2026;e>=2004;e--)t.push({n:String(e),v:String(e)});return t})()},oM],21:[oM]};async function YSr(t,e){return{}}async function JSr(t,e){try{let r=await ice(_i+"/"),n=qSr([...KSr(r),...zSr(r)]).slice(0,40);return{class:$ct,filters:qct,list:n}}catch(r){return console.error("xifan home failed:",r.message),{class:$ct,filters:qct,list:[]}}}async function XSr(t,e){let r=String(t.body?.id||t.body?.tid||"1"),n=Math.max(1,Number(t.body?.page||1)),s={...t.body?.filters||{}},i=new URLSearchParams;i.set("type",r),i.set("page",String(n)),i.set("by",String(s.by||"time")),s.class&&i.set("class",String(s.class)),s.area&&i.set("area",String(s.area)),s.year&&i.set("year",String(s.year));try{let a=await GSr(`${_i}/index.php/ds_api/vod`,i.toString(),{referer:`${_i}/type/${r}.html`}),o=typeof a=="string"?JSON.parse(a):a||{},c=(o.list||[]).map(u=>({vod_id:u.url||`/bangumi/${u.vod_id}.html`,vod_name:u.vod_name||"",vod_pic:Nc(String(u.vod_pic||"").replace(/\\\//g,"/")),vod_remarks:u.vod_remarks||""})).filter(u=>u.vod_id&&u.vod_name);return{list:c,page:Number(o.page||n),pagecount:Number(o.pagecount||n),limit:Number(o.limit||Mct),total:Number(o.total||c.length)}}catch(a){return console.error("xifan category failed:",a.message),{list:[],page:n,pagecount:n,limit:Mct,total:0}}}async function ZSr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{return{list:((await VSr(`${_i}/index.php/ajax/suggest?mid=1&wd=${encodeURIComponent(r)}`,{referer:`${_i}/search/wd/${encodeURIComponent(r)}.html`}))?.list||[]).map(s=>({vod_id:`/bangumi/${s.id}.html`,vod_name:s.name||"",vod_pic:Nc(s.pic||""),vod_remarks:""}))}}catch(n){return console.error("xifan search failed:",n.message),{list:[]}}}async function evr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(i=>String(i||"").trim()).filter(Boolean),s=[];for(let i of n){let a=Nc(i);if(a)try{let o=await ice(a),c=FSr((o.match(/<h3[^>]*>([\s\S]*?)<\/h3>/i)||[])[1]||(o.match(/<title>(.*?)<\/title>/i)||[])[1]||""),u=Nc((o.match(/<div class="detail-pic">[\s\S]*?<img[^>]+(?:data-src|src)="([^"]+)"/i)||[])[1]||""),l=Ea((o.match(/<span class="slide-info-remarks cor5">([\s\S]*?)<\/span>/i)||[])[1]||""),d=Ea((o.match(/<span class="slide-info-remarks">\s*<a href="\/search\/year\/[^"]+"[^>]*>([\s\S]*?)<\/a>/i)||[])[1]||""),f=Ea((o.match(/<span class="slide-info-remarks">\s*<a href="\/search\/area\/[^"]+"[^>]*>([\s\S]*?)<\/a>/i)||[])[1]||""),p=Ea((o.match(/导演\s*:<\/strong>([\s\S]*?)<\/div>/i)||[])[1]||""),m=Ea((o.match(/演员\s*:<\/strong>([\s\S]*?)<\/div>/i)||[])[1]||""),h=Ea((o.match(/<div id="height_limit" class="text cor3">([\s\S]*?)<\/div>/i)||[])[1]||""),A=[],g=/<a class="swiper-slide">[\s\S]*? ([^<]+)<span class="badge">(\d+)<\/span><\/a>/g,b;for(;(b=g.exec(o))!==null;)A.push({name:Ea(b[1]),count:Number(b[2]||0)});let y=o.match(/<div class="anthology-list[\s\S]*?<script>\$\("\.anthology-tab a"\)\.eq\(0\)/),x=y?y[0]:o,v=[],C=/<div class="anthology-list-box[^>]*>[\s\S]*?<ul class="anthology-list-play size">([\s\S]*?)<\/ul>[\s\S]*?<\/div>\s*<\/div>/g,R;for(;(R=C.exec(x))!==null;){let P=[],L=/<a class="[^"]*" href="([^"]*\/watch[^"]+)"[^>]*>\s*(?:<span>)?([^<]+)(?:<\/span>)?\s*<\/a>/g,M;for(;(M=L.exec(R[1]))!==null;){let k=M[1];k.includes("/watch/")&&P.push({name:Ea(M[2]),playId:Wct({playUrl:k,vodName:c,referer:i})})}P.length&&v.push(P)}if(!v.length){let P=[],L=/href="([^"]*\/watch[^"]+)"[^>]*>\s*(?:<span>)?([^<]+)(?:<\/span>)?\s*<\/a>/g,M;for(;(M=L.exec(o))!==null;){let k=M[1];k.includes("/watch/")&&P.push({name:Ea(M[2]),playId:Wct({playUrl:k,vodName:c,referer:i})})}P.length&&v.push(P)}let w=[],N=[];for(let P=0;P<v.length;P+=1){let L=A[P]?.name||`\u7EBF\u8DEF${P+1}`,M=v[P].map(k=>`${k.name}$${k.playId}`);w.push(L),N.push(M.join("#"))}s.push({vod_id:i,vod_name:c,vod_pic:u,vod_remarks:l,vod_content:h,vod_director:p,vod_actor:m,vod_year:d,vod_area:f,vod_play_from:w.join("$$$"),vod_play_url:N.join("$$$")})}catch(o){console.error("xifan detail failed:",i,o.message)}}return{list:s}}async function tvr(t,e){let r=String(t.body?.id||"").trim(),n=USr(r),s=n.playUrl||r||"",i=Nc(n.referer||"/"),a=Nc(s);try{let c=(await ice(a,{referer:i||_i+"/",headers:{Origin:_i}})).match(/var\s+player_aaaa\s*=\s*(\{[\s\S]*?\})<\/script>/);if(!c)throw new Error("player_aaaa not found");let u=JSON.parse(c[1]),l=String(u.url||"").replace(/\\\//g,"/");Number(u.encrypt)===2?l=jSr(l):Number(u.encrypt)===1&&(l=decodeURIComponent(l));let d=l;return/^https?:\/\//i.test(d)||(d=Nc(d)),{parse:0,url:d,header:QSr(d,i)}}catch(o){return console.error("xifan play failed:",o.message),{parse:0,url:a,header:{"User-Agent":Ww,Referer:_i+"/",Origin:_i}}}}var jct={meta:{key:bE.key,name:"\u300C\u76F4\u300D\u7A00\u996D",type:3},api:async t=>{t.post("/init",YSr),t.post("/home",JSr),t.post("/category",XSr),t.post("/detail",evr),t.post("/play",tvr),t.post("/search",ZSr)}};var _a={key:"xifannext",name:"\u7A00\u996D\u52A8\u6F2B Next",host:"https://next.xifanacg.com",supabase:"https://rzmsnqblptbceicadbyd.supabase.co",anonKey:"sb_publishable_aCb7uwyLN6H-sMjze4dRGA_2MDuROLF",ua:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",timeout:15e3},Kl=_a.host,tm=24,Uw={n:"\u5168\u90E8",v:""},Hct=[{type_id:"all",type_name:"\u5168\u90E8\u756A\u5267"},{type_id:"recent",type_name:"\u6700\u8FD1\u66F4\u65B0"},{type_id:"ranking",type_name:"\u6392\u884C\u699C"},{type_id:"schedule",type_name:"\u5468\u8868"}],rvr={key:"format",name:"",init:"",value:[Uw,{n:"TV \u52A8\u753B",v:"tv"},{n:"\u5267\u573A\u7248",v:"movie"},{n:"OVA",v:"ova"},{n:"OAD",v:"oad"},{n:"Web \u52A8\u753B",v:"web"},{n:"\u5176\u4ED6",v:"other"}]},nvr={key:"finished",name:"",init:"",value:[Uw,{n:"\u8FDE\u8F7D\u4E2D",v:"0"},{n:"\u5B8C\u7ED3",v:"1"}]},svr={key:"year",name:"",init:"",value:(()=>{let t=[Uw];for(let e=2026;e>=2007;e-=1)t.push({n:String(e),v:String(e)});return t.push({n:"\u66F4\u65E9",v:"older"}),t})()},ivr={key:"tag",name:"",init:"",value:[Uw,...["\u6F2B\u753B\u6539","\u5C0F\u8BF4\u6539","\u5947\u5E7B","\u6218\u6597","\u539F\u521B","\u604B\u7231","\u6821\u56ED","\u65E5\u5E38","\u767E\u5408","\u540E\u5BAB","\u79D1\u5E7B","\u6E38\u620F\u6539","\u60AC\u7591","\u5192\u9669","\u7A7F\u8D8A","\u97F3\u4E50","\u8FD0\u52A8","\u673A\u6218","\u559C\u5267","\u5C11\u5E74\u5411","\u63A8\u7406","\u5C11\u5973\u5411","\u804C\u573A","\u7F8E\u98DF","\u9752\u5E74\u5411"].map(t=>({n:t,v:t}))]},avr={key:"sort",name:"",init:"title",value:[{n:"\u6807\u9898",v:"title"},{n:"\u70ED\u5EA6",v:"view_count"},{n:"\u8BC4\u5206",v:"bangumi_score"},{n:"\u6700\u65B0",v:"release_date"}]},ovr={key:"days",name:"",init:"7",value:[{n:"7 \u5929",v:"7"},{n:"14 \u5929",v:"14"}]},cvr={key:"kind",name:"",init:"trending_week",value:[{n:"\u70ED\u5EA6",v:"trending_week"},{n:"\u8BC4\u5206",v:"rating"},{n:"\u98D9\u5347",v:"rising"},{n:"\u5B9D\u85CF",v:"hidden_gem"},{n:"\u5F39\u5E55",v:"danmaku_heat"}]},uvr={key:"section",name:"",init:"all",value:[{n:"\u603B\u699C",v:"all"},{n:"\u65B0\u756A",v:"ongoing"},{n:"\u5B8C\u7ED3",v:"finished"},{n:"\u5267\u573A\u7248",v:"movie"},{n:"\u7F8E\u6F2B",v:"western"}]},lvr={key:"weekday",name:"",init:"",value:[Uw,{n:"\u5468\u4E00",v:"0"},{n:"\u5468\u4E8C",v:"1"},{n:"\u5468\u4E09",v:"2"},{n:"\u5468\u56DB",v:"3"},{n:"\u5468\u4E94",v:"4"},{n:"\u5468\u516D",v:"5"},{n:"\u5468\u65E5",v:"6"}]},Qct={all:[rvr,nvr,svr,ivr,avr],recent:[ovr],ranking:[cvr,uvr],schedule:[lvr]};function Yf(t){return String(t||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/&/gi,"&").replace(/'/g,"'").replace(/"/g,'"').replace(/\s+/g," ").trim()}function Vct(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("/")?Kl+e:`${Kl}/${e}`:""}function zct(t){let e=Vct(t);if(!e)return"";try{let r=new URL(e);if(r.hostname==="next.xifanacg.com"&&r.pathname==="/_next/image")return decodeURIComponent(r.searchParams.get("url")||e)}catch{}return e}function dvr(t){try{return Buffer.from(JSON.stringify(t||{}),"utf8").toString("base64")}catch{return""}}function fvr(t){try{return JSON.parse(Buffer.from(t||"","base64").toString("utf8"))}catch{return{}}}function Kct(t){return Yf(t).replace(/[$#]/g," ").trim()}function Yct(t){let e=String(t||"").trim();return e&&e.match(/(?:\/anime\/|^)(\d+)/)?.[1]||""}function Nu(...t){return t.find(e=>e!=null&&e!=="")}function pvr(t={}){return{...t.extend||{},...t.filter||{},...t.filters||{}}}function mvr(t={}){let e=Number(Nu(t.current_episodes,t.currentEpisodes,0)),r=Number(Nu(t.total_episodes,t.totalEpisodes,0));if(r>0&&e>0&&e<r)return`\u66F4\u65B0\u81F3 ${e} / ${r}`;if(r>0)return`\u5168 ${r} \u96C6`;let n=Nu(t.release_year,t.releaseYear,t.datePublished);if(n)return String(n);let s=Nu(t.bangumi_score,t.bangumiScore);return s!==void 0?String(s):""}function $w(t={}){let e=Yct(Nu(t.id,t.url,t["@id"]));return{vod_id:e?`/anime/${e}`:"",vod_name:Yf(t.title||t.name||""),vod_pic:zct(Nu(t.cover_url,t.coverUrl,t.image,t.pic,"")),vod_remarks:mvr(t)}}function hvr(t,e){let r=String(e||"").trim();return r?{sortBy:r,sortOrder:r==="title"?"asc":"desc"}:t==="recent"?{sortBy:"release_date",sortOrder:"desc"}:t==="ranking"?{sortBy:"bangumi_score",sortOrder:"desc"}:{sortBy:"title",sortOrder:"asc"}}function oce(t={}){return String(t.year||"").trim()==="older"||String(t.older||"").trim()==="1"}function cce({tid:t="all",page:e=1,extend:r={},searchTerm:n=""}={}){let{sortBy:s,sortOrder:i}=hvr(t,Nu(r.sort,r.by)),a=Number.parseInt(String(r.year||""),10),o=String(r.finished??"").trim();return{search_term:n||null,page_number:e,items_per_page:tm,sort_by:s,sort_order:i,filter_type_id:null,filter_meta_tags:r.tag?[String(r.tag)]:null,filter_is_finished:o===""?null:o==="1",filter_format:r.format||null,filter_release_year:!oce(r)&&Number.isFinite(a)?a:null,filter_only_published:!0}}function gvr(t,e={}){let r=new URLSearchParams;t>1&&r.set("page",String(t)),e.format&&r.set("format",String(e.format)),String(e.finished??"").trim()&&r.set("finished",String(e.finished)),oce(e)?r.set("older","1"):e.year&&r.set("year",String(e.year)),e.tag&&r.set("tag",String(e.tag));let n=String(Nu(e.sort,e.by,"")).trim();n&&n!=="title"&&r.set("sort",n);let s=r.toString();return`/browse${s?`?${s}`:""}`}function ace(t){let e={"User-Agent":_a.ua};try{let r=new URL(t).hostname;if(r.endsWith("pan.wo.cn")||r.endsWith("moedot.net"))return e}catch{return e}return e.Referer=`${Kl}/`,e.Origin=Kl,e}async function qw(t,e={}){let r=/^https?:\/\//i.test(t)?t:Vct(t),n=await he({url:r,method:"get",timeout:e.timeout||_a.timeout,responseType:"text",transformResponse:[s=>s],validateStatus:()=>!0,headers:{"User-Agent":_a.ua,Referer:e.referer||`${Kl}/`,"Accept-Language":"zh-CN,zh;q=0.9",...e.headers||{}}});if(n.status<200||n.status>=300)throw new Error(`HTTP ${n.status}`);return String(n.data||"")}async function Fw(t,e){let r=await he({url:`${_a.supabase}/rest/v1/rpc/${t}`,method:"post",data:e,timeout:_a.timeout,validateStatus:()=>!0,headers:{apikey:_a.anonKey,Authorization:`Bearer ${_a.anonKey}`,"Content-Type":"application/json",Origin:Kl,Referer:`${Kl}/`,"User-Agent":_a.ua,"X-Client-Info":"supabase-js-web/2.49.1"}});if(r.status<200||r.status>=300)throw new Error(`RPC ${t} HTTP ${r.status}`);return r.data}async function Avr(t,e){let r=await he({url:`${_a.supabase}/functions/v1/${t}`,method:"post",data:e,timeout:_a.timeout,validateStatus:()=>!0,headers:{apikey:_a.anonKey,Authorization:`Bearer ${_a.anonKey}`,"Content-Type":"application/json",Origin:Kl,Referer:`${Kl}/`,"User-Agent":_a.ua}});if(r.status<200||r.status>=300)throw new Error(`Function ${t} HTTP ${r.status}`);return r.data}function Jct(t){let e=Me(t||""),r=[];return e('script[type="application/ld+json"]').each((n,s)=>{try{let i=JSON.parse(e(s).text()||"{}");Array.isArray(i?.["@graph"])?r.push(...i["@graph"]):r.push(i)}catch{}}),r}function yvr(t,e){return Jct(t).find(r=>{let n=r?.["@type"],s=String(r?.url||r?.["@id"]||"");return(n==="TVSeries"||n==="Movie")&&s.includes(`/anime/${e}`)})||{}}function Gct(t,e){let r="";return t("dt").each((n,s)=>{if(Yf(t(s).text())===e)return r=Yf(t(s).next("dd").text()),!1}),r}function xvr(t,e){let r=0;for(let n=e-1;n>=0&&t[n]==="\\";n-=1)r+=1;return r}function bvr(t){return JSON.parse(String(t||"").replace(/\\"/g,'"').replace(/\\\\/g,"\\"))}function uM(t,e){let r=String(t||""),n=`\\"${e}\\":`,s=`"${e}":`,i=r.indexOf(n),a=!0;if(i<0&&(i=r.indexOf(s),a=!1),i<0)return[];let o=r.indexOf("[",i);if(o<0)return[];let c=0,u=!1,l=!1;for(let d=o;d<r.length;d+=1){let f=r[d];if(a&&f==='"'&&xvr(r,d)%4===1){u=!u;continue}if(!a){if(l){l=!1;continue}if(f==="\\"&&u){l=!0;continue}if(f==='"'){u=!u;continue}}if(!u){if(f==="[")c+=1;else if(f==="]"&&(c-=1,c===0)){let p=r.slice(o,d+1);try{return a?bvr(p):JSON.parse(p)}catch{return[]}}}}return[]}function Evr(t){let e=Jct(t).find(n=>n?.["@type"]==="ItemList")||{};return(Array.isArray(e.itemListElement)?e.itemListElement:[]).map(n=>$w(n?.item||n)).filter(n=>n.vod_id&&n.vod_name)}function _vr(t,e){let r=String(t||"").match(/当å‰å·²é€‰[\s\S]{0,120}?å…±[\s\S]{0,40}?(\d+)[\s\S]{0,40}?部/);return r?Number(r[1]):e}function Svr(t,e){let r=e;for(let n of String(t||"").matchAll(/[?&]page=(\d+)/g))r=Math.max(r,Number(n[1]));return Math.max(1,r)}function vvr(t,e){let r=Me(t||""),n=[];return r(`a[href*="/anime/${e}/play/"]`).each((s,i)=>{let o=(r(i).attr("href")||"").match(/\/play\/(\d+)(?:\?source=([^&#]+))?/);if(!o)return;let c=Number(o[1]),u=Kct(r(i).text())||`\u7B2C ${n.length+1} \u96C6`;!c||n.some(l=>l.id===c)||n.push({id:c,title:u,episode_number:n.length+1})}),n.length?[{code:"xfxf1",name:"\u7A00\u996D\u65B0\u756A\u4E3B\u7EBF-1",episodes:n}]:[]}function Cvr(t,e){let r=Number(t?.episode_number||e+1),n=Number.isInteger(r)?String(r).padStart(2,"0"):String(e+1).padStart(2,"0"),s=Kct(t?.title||"");return s?`\u7B2C ${n} \u96C6 ${s}`:`\u7B2C ${n} \u96C6`}function Ivr(t,e,r,n){let s=[],i=[];for(let a of t||[]){let c=(Array.isArray(a?.episodes)?a.episodes:[]).map((u,l)=>{let d=Number(u?.id||0);if(!d)return"";let f=dvr({animeId:Number(e),episodeId:d,sourceCode:a.code||"",sourceName:a.name||"",vodName:r,referer:n});return`${Cvr(u,l)}$${f}`}).filter(Boolean);c.length&&(s.push(Yf(a.name||a.code||`\u7EBF\u8DEF${s.length+1}`)),i.push(c.join("#")))}return{vod_play_from:s.join("$$$"),vod_play_url:i.join("$$$")}}async function Tvr(t,e){return{}}async function wvr(t,e){try{let r=await Fw("search_animes",cce({tid:"recent",page:1,extend:{by:"release_date"}}));return{class:Hct,filters:Qct,list:(Array.isArray(r)?r:[]).map($w).filter(n=>n.vod_id&&n.vod_name)}}catch(r){return console.error("xifannext home failed:",r.message),{class:Hct,filters:Qct,list:[]}}}function cM(t){return(Array.isArray(t)?t:[]).map($w).filter(e=>e.vod_id&&e.vod_name)}function Rvr(t){let e=new Set;return t.filter(r=>!r.vod_id||e.has(r.vod_id)?!1:(e.add(r.vod_id),!0))}function Xct(t,e){let r=cM(t);return{list:e>1?[]:r,page:e,pagecount:1,limit:tm,total:r.length}}async function Nvr(t,e){if(oce(e)){let a=await qw(gvr(t,e)),o=Evr(a),c=_vr(a,o.length),u=Svr(a,Math.ceil(c/tm)||t);return{list:o,page:t,pagecount:u,limit:tm,total:c}}let r=await Fw("search_animes",cce({tid:"all",page:t,extend:e})),n=Array.isArray(r)?r:[],s=cM(n),i=Number(n[0]?.total_count||s.length);return{list:s,page:t,pagecount:Math.max(1,Math.ceil(i/tm)),limit:tm,total:i}}async function Ovr(t,e){let r=await qw("/recent"),n=Number(Nu(e.days,7)),s=uM(r,"windows"),i=s.find(a=>Number(a?.days)===n)||s[0]||{};return Xct(i.items||[],t)}async function Pvr(t,e){let r=String(Nu(e.kind,"trending_week")).trim()||"trending_week",n=String(Nu(e.section,"all")).trim()||"all",s=await qw(`/rankings?kind=${encodeURIComponent(r)}`),i=uM(s,"sections"),a=i.find(o=>String(o?.key||"")===n)||i[0]||{};return Xct(a.items||[],t)}async function Dvr(t,e){let r=await qw("/schedule"),n=String(e.weekday??"").trim(),s=uM(r,"schedule"),i=n===""?Rvr(s.flatMap(a=>cM(a?.animes||[]))):cM((s.find(a=>String(a?.weekday)===n)||{}).animes||[]);return{list:t>1?[]:i,page:t,pagecount:1,limit:tm,total:i.length}}async function kvr(t,e){let r=String(t.body?.id||t.body?.tid||"all"),n=Math.max(1,Number(t.body?.page||t.body?.pg||1)),s=pvr(t.body||{});try{return r==="recent"?await Ovr(n,s):r==="ranking"?await Pvr(n,s):r==="schedule"?await Dvr(n,s):await Nvr(n,s)}catch(i){return console.error("xifannext category failed:",i.message),{list:[],page:n,pagecount:n,limit:tm,total:0}}}async function Lvr(t,e){let r=String(t.body?.wd||"").trim();if(!r)return{list:[]};try{let n=await Fw("suggest_animes",{q:r,lim:20}),s=(Array.isArray(n)?n:[]).map($w).filter(i=>i.vod_id&&i.vod_name);if(!s.length){let i=await Fw("search_animes",cce({page:1,searchTerm:r}));s=(Array.isArray(i)?i:[]).map($w).filter(a=>a.vod_id&&a.vod_name)}return{list:s}}catch(n){return console.error("xifannext search failed:",n.message),{list:[]}}}async function Bvr(t,e){let r=t.body?.id,n=(Array.isArray(r)?r:String(r||"").split(",")).map(Yct).filter(Boolean),s=[];for(let i of n){let a=`/anime/${i}`;try{let o=await qw(a),c=Me(o),u=yvr(o,i),l=Yf(u.name||c("h1").first().text()),d=uM(o,"sources"),f=d.length?d:vvr(o,i),p=Ivr(f,i,l,a);s.push({vod_id:a,vod_name:l,vod_pic:zct(u.image||c("img[alt]").first().attr("src")||""),vod_remarks:u.numberOfEpisodes?`\u5168 ${u.numberOfEpisodes} \u96C6`:"",vod_content:Yf(u.description||""),vod_director:Gct(c,"\u5BFC\u6F14"),vod_actor:Gct(c,"\u58F0\u4F18"),vod_year:String(u.datePublished||"").slice(0,4),vod_area:Yf(u.countryOfOrigin||""),vod_class:Array.isArray(u.genre)?u.genre.join(","):Yf(u.genre||""),...p})}catch(o){console.error("xifannext detail failed:",i,o.message)}}return{list:s}}async function Mvr(t,e){let r=String(t.body?.id||"").trim(),n=fvr(r),s=Number(n.episodeId||(r.match(/\/play\/(\d+)/)||[])[1]||0),i=String(n.sourceCode||(()=>{try{return new URL(r,Kl).searchParams.get("source")||""}catch{return""}})()).trim();if(!s)return{parse:0,url:r,header:ace(r)};try{let a=await Fw("get_play_url",{p_episode_id:s}),o=Array.isArray(a?.urls)?a.urls:[],c=o.find(l=>String(l.source_code||"")===i)||o[0]||{},u=String(c.url||"").trim();if(!u){let l=await Avr("issue-hls-playback",{episode_id:s});u=String(l?.url||"").trim()}if(!u)throw new Error("play url not found");return{parse:0,url:u,header:ace(u)}}catch(a){return console.error("xifannext play failed:",s,a.message),{parse:0,url:r,header:ace(r)}}}var Zct={meta:{key:_a.key,name:"\u300C\u76F4\u300D\u7A00\u996D\xB2",type:3},api:async t=>{t.post("/init",Tvr),t.post("/home",wvr),t.post("/category",kvr),t.post("/detail",Bvr),t.post("/play",Mvr),t.post("/search",Lvr)}};var _E="https://4kzn.com",Wvr={"User-Agent":Gr,"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",Referer:`${_E}/`},uce={key:"by",name:"",init:"date",value:[{n:"\u53D1\u5E03",v:"date"},{n:"\u66F4\u65B0",v:"modified"},{n:"\u6D4F\u89C8",v:"views"},{n:"\u70B9\u8D5E",v:"like"}]},eut=[{type_id:"books/zuixin",type_name:"\u5F71\u89C6"},{type_id:"books/top250",type_name:"TOP250"},{type_id:"books/juji",type_name:"\u5267\u96C6"},{type_id:"books/dianying",type_name:"\u7535\u5F71"},{type_id:"books/xiliehj",type_name:"\u7CFB\u5217\u5408\u96C6"},{type_id:"books/manwei",type_name:"\u6F2B\u5A01\u7535\u5F71\u7CFB\u5217\u5408\u96C6"},{type_id:"books/mztkn",type_name:"\u540D\u4FA6\u63A2\u67EF\u5357\u5267\u573A\u7248\u5408\u96C6"},{type_id:"books/hanniba",type_name:"\u6C49\u5C3C\u62D4\u5408\u96C6"}],lM={};for(let t of eut)lM[t.type_id]=[uce];lM["books/juji"]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u5267\u60C5",v:"juq"},{n:"\u60CA\u609A",v:"jings"},{n:"\u72AF\u7F6A",v:"fanzuii"},{n:"\u52A8\u4F5C",v:"jjdongzuo"},{n:"\u5386\u53F2",v:"jjlishi"},{n:"\u6218\u4E89",v:"jjzhanzheng"},{n:"\u5192\u9669",v:"jjmaoxian"},{n:"\u53E4\u88C5",v:"\u53E4\u88C5"},{n:"\u7231\u60C5",v:"\u7231\u60C5"},{n:"\u559C\u5267",v:"\u559C\u5267"},{n:"\u6700\u65B0",v:"zuixin-juji"},{n:"\u79D1\u5E7B",v:"\u79D1\u5E7B"},{n:"\u60AC\u7591",v:"\u60AC\u7591"},{n:"\u5947\u5E7B",v:"\u5947\u5E7B"},{n:"\u5BB6\u5EAD",v:"\u5BB6\u5EAD"},{n:"\u6050\u6016",v:"\u6050\u6016"},{n:"\u897F\u90E8",v:"\u897F\u90E8"},{n:"\u52A8\u753B",v:"\u52A8\u753B"}]},uce];lM["books/dianying"]=[{key:"class",name:"",init:"",value:[{n:"\u5168\u90E8",v:""},{n:"\u559C\u5267",v:"xiju"},{n:"\u7231\u60C5",v:"aiqing"},{n:"\u5267\u60C5",v:"juqing"},{n:"\u60AC\u7591",v:"xuanyi"},{n:"\u4F20\u8BB0",v:"zhuanji"},{n:"\u52A8\u4F5C",v:"dongzuo"},{n:"\u79D1\u5E7B",v:"kehuan"},{n:"\u72AF\u7F6A",v:"fanzui"},{n:"\u5947\u5E7B",v:"qihuan"},{n:"\u5192\u9669",v:"maoxian"},{n:"\u5BB6\u5EAD",v:"jiating"},{n:"\u8FD0\u52A8",v:"yundong"},{n:"\u6B4C\u821E",v:"gewu"},{n:"\u6218\u4E89",v:"zhanzheng"},{n:"\u60CA\u609A",v:"jingsong"},{n:"\u897F\u90E8",v:"xibu"},{n:"\u52A8\u753B",v:"donghua"},{n:"\u707E\u96BE",v:"zainan"},{n:"\u6050\u6016",v:"kongbu"},{n:"\u5386\u53F2",v:"lishi"},{n:"\u97F3\u4E50",v:"yinyue"},{n:"\u540C\u6027",v:"tongxing"},{n:"\u7EAA\u5F55\u7247",v:"jilupian"},{n:"\u53E4\u88C5",v:"guzhuang"},{n:"\u513F\u7AE5",v:"ertong"},{n:"\u6B66\u4FA0",v:"\u6B66\u4FA0"}]},uce];async function lce(t){return(await he.get(t,{headers:Wvr})).data}function rA(t){let e=String(t||"").trim();return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?`${_E}${e}`:`${_E}/${e.replace(/^\/+/,"")}`:""}function EE(t){return String(t||"").replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/\s+/g," ").trim()}function tut(t){let e=Me(t),r=[],n=new Set;return e("article.posts-item").each((s,i)=>{let a=e(i).find('a.item-image, h3.item-title a, a[target="_blank"]').first(),o=rA(a.attr("href")||""),c=EE(e(i).find(".item-title a").first().text()||a.text()||e(i).attr("data-title")||"");if(!o||!c||n.has(o))return;n.add(o);let u=rA(e(i).find("img").first().attr("data-src")||e(i).find("img").first().attr("src")||""),l=EE(e(i).find(".line1.text-muted.text-xs, .book-info, .item-desc, .sub-title").first().text());r.push({vod_id:o,vod_name:c,vod_pic:u,vod_remarks:l})}),r}function $vr(t){let e=t.match(/\/books\/[^"']+\/page\/(\d+)/g),r=e?e.map(i=>Number((i.match(/(\d+)$/)||[0,1])[1]||1)):[],n=r.length?Math.max(...r):1,s=/class="next-page[^>]*>\s*<a[^>]*href="[^"]+\/page\/\d+"/i.test(t);return{pagecount:Math.max(n,s?n+1:1)}}async function Fvr(t,e){return{class:eut,filters:lM}}async function Uvr(t,e){try{let r=String(t.body.id||"books/zuixin").replace(/^\/+/,""),n=t.body.page,s=t.body.filters||{},i=parseInt(n,10);(!i||i<1)&&(i=1);let a=r;s.class&&(a=`books/${encodeURIComponent(s.class)}`);let o=i>1?`${_E}/${a}/page/${i}`:`${_E}/${a}`;s.by&&(o+=`?orderby=${s.by}`);let c=await lce(o),u=tut(c),{pagecount:l}=$vr(c);return{page:i,pagecount:l,limit:72,total:l*Math.max(u.length,1),list:u}}catch(r){return console.error("[4kzn][category]",r.message),{page:1,pagecount:0,limit:72,total:0,list:[]}}}async function qvr(t,e){try{let r=String(t.body.id||"").trim();if(!r)return{list:[]};let n=/^https?:\/\//i.test(r)?r:rA(r),s=await lce(n),i=Me(s),a=EE(i("h1, h2, .book-title").first().text())||EE(i("meta[property='og:title']").attr("content")||""),o=rA(i('.book-cover img, meta[property="og:image"]').first().attr("data-src")||i('.book-cover img, meta[property="og:image"]').first().attr("content")||i(".book-cover img").first().attr("src")||""),c=EE(i("meta[name='description']").attr("content")||i(".panel-body.single").text()),u=[],l=new Set,d=[".site-go a[target='_blank']","a[target='_blank'][href*='pan.quark.cn']","a[href*='quark.cn']","a[href*='uc.cn']","a[href*='aliyundrive.com']","a[href*='115.com']"].join(", ");if(i(d).each((p,m)=>{let h=rA(i(m).attr("href")||"");!h||l.has(h)||(l.add(h),u.push(h))}),!u.length){let p=i("a.external[href*='pan.quark.cn'], a[href*='pan.quark.cn'], a[href*='quark.cn']").first(),m=rA(p.attr("href")||"");m&&u.push(m)}let f={vod_id:n,vod_name:a,vod_pic:o,vod_content:c};if(u.length){let p=await Rr(u,t);p?.froms&&p?.urls&&(f.vod_play_from=p.froms,f.vod_play_url=p.urls,f.vod_links=p.links)}return{list:[f]}}catch(r){return console.error("[4kzn][detail]",r.message),{list:[]}}}async function jvr(t,e){try{let r=t.body.wd,n=t.body.page,s=parseInt(n,10);if((!s||s<1)&&(s=1),!r)return{page:s,pagecount:0,limit:72,total:0,list:[]};let i=`${_E}/?s=${encodeURIComponent(r)}`,a=await lce(i),o=tut(a);if(!o.length){let c=Me(a);o=[],c("a[href*='/book/'], a[href*='/sites/']").each((u,l)=>{let d=c(l),f=rA(d.attr("href")||""),p=EE(d.text());!f||!p||p.includes(r)&&o.push({vod_id:f,vod_name:p,vod_pic:"",vod_remarks:""})})}return{page:s,pagecount:1,limit:72,total:o.length,list:o}}catch(r){return console.error("[4kzn][search]",r.message),{page:1,pagecount:0,limit:72,total:0,list:[]}}}var rut={meta:{key:"4kzn",name:"\u300C\u76D8\u300D\u6307\u5357",type:3},api:async t=>{t.post("/init",qr),t.post("/home",Fvr),t.post("/category",Uvr),t.post("/detail",qvr),t.post("/play",Or),t.post("/search",jvr),t.get("/proxy/:site/:what/:flag/:shareId/:fileId/:end",Nr)}};var jw="https://kafeizhibo.com",Hvr=`${jw}/api/v1`,uut="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",Qvr={"User-Agent":uut,Accept:"application/json, text/plain, */*",Referer:`${jw}/pc/replay`},dce="live:",dM="schedule:",Gvr=/\.(m3u8|mp4|mkv|flv|avi|webm|mov)(?:[?#]|$)/i,nut=[{type_id:"schedule",type_name:"\u8D5B\u7A0B"},{type_id:"live",type_name:"\u76F4\u64AD"},{type_id:"replay",type_name:"\u5F55\u64AD"}],Vvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"},{n:"\u7F51\u7403",v:"3"},{n:"\u53F0\u7403",v:"19"}],zvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"NBA",v:"nba"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"}],Kvr=[{n:"\u5168\u90E8",v:"all"},{n:"\u70ED\u95E8",v:"hot"},{n:"\u8DB3\u7403",v:"1"},{n:"\u7BEE\u7403",v:"2"},{n:"\u7F51\u7403",v:"3"},{n:"\u53F0\u7403",v:"19"}],sut={live:[{key:"type",name:"",init:"all",value:Vvr}],replay:[{key:"type",name:"",init:"all",value:zvr}],schedule:[{key:"type",name:"",init:"all",value:Kvr}]},lut=new Map;function xt(t){return String(t??"").trim()}function iut(t){return t!=null&&xt(t)!==""}function SE(t=""){let e=xt(t);if(!e)return"";if(/^https?:\/\//i.test(e))return e;if(e.startsWith("//"))return`https:${e}`;try{return new URL(e,jw).toString()}catch{return e}}function dut(t=""){let e=xt(t);return e?/^https?:\/\//i.test(e)?e:e.startsWith("//")?`https:${e}`:e.startsWith("/")?SE(e):/^[\w.-]+\.[a-z]{2,}(?:[/:?#]|$)/i.test(e)?`https://${e}`:e:""}function Yvr(t=""){return/^https?:\/\//i.test(xt(t))}function Jvr(t=""){return Gvr.test(xt(t))}function fM(t={}){let e=SE(t.cover_image);return e&&!e.includes("default_cover")?e:SE(t.home_team_logo)||SE(t.away_team_logo)||e}function fce(t={}){return SE(t.screenshot)||fM(t.match_info||t)||SE(t.avatar)||fM(t)}function Yl(t={}){return!iut(t.home_score)||!iut(t.away_score)?"":`${xt(t.home_score)} - ${xt(t.away_score)}`}function rm(t={}){let e=xt(t.home_team),r=xt(t.away_team),n=xt(t.league_name),s=xt(t.match_name||t.title||t.name||(t.match_id??t.id)),i=e&&r?`${e} vs ${r}`:e||r||s||"\u8D5B\u4E8B\u5F55\u50CF";return n?`${i} (${n})`:i}function pce(t=""){let e=xt(t).toLowerCase();return{live:"\u76F4\u64AD\u4E2D",online:"\u5728\u7EBF",finished:"\u5DF2\u7ED3\u675F",upcoming:"\u672A\u5F00\u59CB"}[e]||xt(t)}function Xvr(t=""){let e=xt(t),r=e.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}:\d{2})/);return r?{time:r[4],date:`${r[2]}-${r[3]}`}:{time:e,date:""}}function vE(t={}){let e=t.data??t;return Array.isArray(e)?e:Array.isArray(e?.list)?e.list:Array.isArray(e?.records)?e.records:Array.isArray(e?.items)?e.items:[]}function aut(t={}){let e=t.data??t,r=[e?.total,e?.count,t?.total,t?.count];for(let n of r){let s=Number.parseInt(n,10);if(Number.isFinite(s)&&s>=0)return s}return null}function out(t,e,r,n=null){let s=Number.isFinite(n)?n:null;return{page:t,pagecount:s===null?t+(r.length>=e?1:0):Math.max(t,Math.ceil(s/e)),limit:e,total:s===null?(t-1)*e+r.length+(r.length>=e?1:0):s,list:r}}async function Hw(t,e={}){let r=t.startsWith("http")?t:`${Hvr}${t}`,n=await he.get(r,{params:e,headers:Qvr,timeout:15e3,validateStatus:()=>!0});if(n.status<200||n.status>=400)throw new Error(`HTTP ${n.status} @ ${r}`);let s=typeof n.data=="string"?JSON.parse(n.data||"{}"):n.data||{},i=Number(s?.code);if(Number.isFinite(i)&&i!==0&&i!==200)throw new Error(s?.message||s?.msg||`API code=${s.code}`);return s}async function fut(t=1,e=30,{league:r="",type:n=""}={}){let s={page:t,size:e};return r?s.league=r:n&&n!=="all"&&n!=="nba"&&(s.type=n),Hw("/recordings",s)}async function put(t="all"){return Hw("/archor",{type:t||"all",_t:Date.now()})}async function Zvr(t){return Hw(`/room/${encodeURIComponent(t)}`)}async function mut(t="hot",e=1,r=30){return Hw("/schedule",{type:t||"hot",page:e,size:r,platform:"pc",_t:Date.now()})}function hut(t={}){let e=xt(t.match_id??t.id),r=xt(t.recording_count),n=[Yl(t),xt(t.start_time),r?`${r}\u4E2A\u5F55\u50CF`:""].filter(Boolean);return{vod_id:e,vod_name:rm(t),vod_pic:fM(t),vod_remarks:n.join(" | "),type_name:xt(t.league_name)}}function gut(t={}){let e=t.match_info||t,r=xt(t.room_id||t.archor?.room_id||t.match_id),n=pce(t.status||e.status),s=xt(t.heat),i=[n,Yl(t)||Yl(e),s?`\u70ED\u5EA6 ${s}`:""].filter(Boolean);return{vod_id:r?`${dce}${r}`:"",vod_name:xt(t.title)||rm(e),vod_pic:fce(t),vod_remarks:i.join(" | "),type_name:xt(t.league_name||e.league_name)}}function Aut(t={}){if(t.archor?.room_id)return xt(t.archor.room_id);let r=(Array.isArray(t.archors)?t.archors:[]).find(n=>n?.room_id);return xt(r?.room_id||t.room_id)}function yut(t={}){let e=Aut(t),r=xt(t.match_id??t.id),n=e&&r?`${dM}${r}:${e}`:"",s=Xvr(t.start_time),i=[s.time||pce(t.status),s.date,Yl(t),t.is_hot?"\u70ED\u95E8":""].filter(Boolean);return n&&lut.set(n,t),{vod_id:n,vod_name:xt(t.title)||rm(t),vod_pic:fce(t),vod_remarks:i.join(" | "),type_name:xt(t.league_name)}}function xut(t,e){return(xt(t)||e).replace(/[$#]/g," ").replace(/\s+/g," ").trim()||e}function cut(t=[],e="\u64AD\u653E"){return t.map((r,n)=>{let s=dut(r.video_url||r.stream_url||r.url||r.play_url);return s?`${xut(r.title||r.name,`${e}${n+1}`)}$${encodeURIComponent(s)}`:""}).filter(Boolean).join("#")}function eCr(t=""){let e=xt(t);if(!e)return"";try{return decodeURIComponent(e)}catch{return e}}function tCr(t=""){let e=xt(t);return e==="live"?"all":e.startsWith("live_")?e.slice(5)||"all":null}function rCr(t={}){let e=t.room_info||{},r=t.archor||{},n=t.teams||{};return{match_id:e.match_id||t.match_id,room_id:e.room_id||r.room_id,title:e.title||r.name,league_name:e.league||e.league_name,home_team:n.home?.name||e.home_team,away_team:n.away?.name||e.away_team,home_team_logo:n.home?.logo,away_team_logo:n.away?.logo,home_score:e.home_score??t.home_score,away_score:e.away_score??t.away_score,status:t.status||e.status||r.status,screenshot:r.screenshot,screenshot_updated_at:r.screenshot_updated_at,avatar:r.avatar||e.avatar,heat:r.heat,notice:e.notice||e.notice_h5}}function nCr(t={}){return{match_id:t.match_id||t.id,room_id:Aut(t),title:xt(t.title)||rm(t),league_name:t.league_name,home_team:t.home_team||t.homeTeam?.name,away_team:t.away_team||t.awayTeam?.name,home_team_logo:t.home_team_logo||t.homeTeam?.logo,away_team_logo:t.away_team_logo||t.awayTeam?.logo,home_score:t.home_score,away_score:t.away_score,status:t.status,screenshot:t.screenshot,avatar:t.archor?.avatar,heat:t.archor?.heat,start_time:t.start_time,notice:t.is_hot?"\u70ED\u95E8\u8D5B\u7A0B":""}}function sCr(t={}){let e=[],r=new Set,n=(s={},i="\u7EBF\u8DEF")=>{let a=dut(s.stream_url||s.url||s.play_url);!a||r.has(a)||(r.add(a),e.push({name:xut(s.name||s.title,`${i}${e.length+1}`),url:a}))};return n(t,"\u7EBF\u8DEF"),n(t.archor,"\u4E3B\u64AD"),(Array.isArray(t.archors)?t.archors:[]).forEach(s=>n(s,"\u4E3B\u64AD")),(Array.isArray(t.signals)?t.signals:[]).forEach(s=>n(s,"\u7EBF\u8DEF")),[t.external_signals_pc,t.external_signals,t.external_signals_h5,t.room_info?.external_signals_pc,t.room_info?.external_signals,t.room_info?.external_signals_h5].forEach(s=>{(Array.isArray(s)?s:[]).forEach(i=>n(i,"\u5916\u90E8"))}),e}async function iCr(t,e){return{}}async function aCr(t,e){try{let r=await mut("all",1,30),n=vE(r).map(yut).filter(s=>s.vod_id&&s.vod_name);return{class:nut,filters:sut,list:n}}catch(r){return console.error("kafei home failed:",r.message),{class:nut,filters:sut,list:[]}}}async function oCr(t,e){let r=xt(t.body?.id||"all"),n=Math.max(1,Number.parseInt(t.body?.page||1,10)),s=t.body?.filters||{};if(r==="schedule"){let u=xt(s.type||"all"),l=30;try{let d=await mut(u,n,l),f=vE(d).map(yut).filter(p=>p.vod_id&&p.vod_name);return out(n,l,f,aut(d))}catch(d){return console.error("kafei schedule category failed:",u,d.message),{page:n,pagecount:n,limit:l,total:0,list:[]}}}let i=tCr(r);if(i!==null){let u=xt(s.type||i||"all");if(n>1)return{page:n,pagecount:1,limit:100,total:0,list:[]};try{let l=await put(u),d=vE(l).map(gut).filter(f=>f.vod_id&&f.vod_name);return{page:1,pagecount:1,limit:d.length||100,total:d.length,list:d}}catch(l){return console.error("kafei live category failed:",r,l.message),{page:1,pagecount:1,limit:100,total:0,list:[]}}}let a=r==="replay"?xt(s.type||"all"):r,o=a.toLowerCase(),c=o==="nba"?20:30;try{let u=await fut(n,c,{league:o==="nba"?"NBA":"",type:o==="all"?"":a}),l=vE(u).map(hut).filter(d=>d.vod_id&&d.vod_name);return out(n,c,l,aut(u))}catch(u){return console.error("kafei category failed:",r,u.message),{page:n,pagecount:n,limit:c,total:0,list:[]}}}async function cCr(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){let i=xt(s);if(i)try{if(i.startsWith(dce)||i.startsWith(dM)){let h=i.startsWith(dM),A=h?i.slice(dM.length).split(":").pop():i.slice(dce.length),g=h?lut.get(i):null,b=g?null:await Zvr(A),y=g||b?.data||{},x=g?nCr(y):rCr(y),C=sCr(y).map(R=>`${R.name}$${encodeURIComponent(R.url)}`).join("#");n.push({vod_id:i,vod_name:xt(x.title)||rm(x),vod_pic:fce(x),type_name:xt(x.league_name),vod_remarks:[pce(x.status),Yl(x)].filter(Boolean).join(" | "),vod_content:[xt(x.league_name),xt(x.title)||rm(x),Yl(x)?`\u6BD4\u5206 ${Yl(x)}`:"",xt(x.start_time)?`\u6BD4\u8D5B\u65F6\u95F4: ${xt(x.start_time)}`:"",xt(x.notice)].filter(Boolean).join("\uFF0C"),vod_play_from:C?"\u76F4\u64AD":"",vod_play_url:C});continue}let o=(await Hw(`/match/${encodeURIComponent(i)}/recordings`)).data||{},c=o.match||o,u=Array.isArray(o.replays)?o.replays:[],l=Array.isArray(o.highlights)?o.highlights:[],d=[],f=[],p=cut(u,"\u5F55\u50CF");p&&(d.push("\u5F55\u50CF"),f.push(p));let m=cut(l,"\u96C6\u9526");m&&(d.push("\u96C6\u9526"),f.push(m)),n.push({vod_id:i,vod_name:rm(c),vod_pic:fM(c),type_name:xt(c.league_name),vod_remarks:Yl(c),vod_content:[xt(c.league_name),xt(c.match_round),rm(c),Yl(c)?`\u6BD4\u5206 ${Yl(c)}`:"",xt(c.start_time)?`\u6BD4\u8D5B\u65F6\u95F4: ${xt(c.start_time)}`:""].filter(Boolean).join("\uFF0C"),vod_play_from:d.join("$$$"),vod_play_url:f.join("$$$")})}catch(a){console.error("kafei detail failed:",i,a.message)}}return{list:n}}async function uCr(t,e){let r=eCr(t.body?.id);return r?{parse:Yvr(r)&&!Jvr(r)?1:0,url:r,header:{"User-Agent":uut,Referer:jw,Origin:jw}}:{parse:0,url:"",header:{}}}async function lCr(t,e){let r=xt(t.body?.wd||t.body?.keyword).toLowerCase(),n=100;if(!r)return{page:1,pagecount:1,limit:n,total:0,list:[]};try{let[s,i]=await Promise.allSettled([put("all"),fut(1,n)]),a=s.status==="fulfilled"?vE(s.value):[],o=i.status==="fulfilled"?vE(i.value):[],c=a.filter(d=>{let f=d.match_info||d;return[d.title,d.name,d.home_team,d.away_team,d.league_name,f.home_team,f.away_team,f.league_name].map(xt).join(" ").toLowerCase().includes(r)}).map(gut),u=o.filter(d=>[d.home_team,d.away_team,d.league_name,d.match_name,d.title].map(xt).join(" ").toLowerCase().includes(r)).map(hut),l=[...c,...u].filter(d=>d.vod_id&&d.vod_name);return{page:1,pagecount:1,limit:n,total:l.length,list:l}}catch(s){return console.error("kafei search failed:",s.message),{page:1,pagecount:1,limit:n,total:0,list:[]}}}var but={meta:{key:"kafei",name:"\u300C\u76F4\u300D\u5496\u5561",type:3},api:async t=>{t.post("/init",iCr),t.post("/home",aCr),t.post("/category",oCr),t.post("/detail",cCr),t.post("/play",uCr),t.post("/search",lCr)}};var _ut=require("crypto");var mce="/embySpider",Jl={clientName:"SenPlayer",clientVersion:"6.0.5",deviceName:"iPhone",language:"zh-cn",userAgent:"SenPlayer/6.0.5"};function dCr(){return(0,_ut.randomUUID)().toUpperCase()}function Sut(t,e=!1){return $o(t)||(e?dCr():"")}function CE({token:t="",contentType:e=!1,deviceId:r="",userId:n=""}={}){let s=Sut(r),i=$o(t),a=$o(n),o={"X-Emby-Authorization":[`MediaBrowser Token="${i}"`,`UserId="${a}"`,`Client="${Jl.clientName}"`,`Device="${Jl.deviceName}"`,`DeviceId="${s}"`,`Version="${Jl.clientVersion}"`].join(", "),"X-Emby-Client":Jl.clientName,"X-Emby-Device-Name":Jl.deviceName,"X-Emby-Device-Id":s,"X-Emby-Client-Version":Jl.clientVersion,"X-Emby-Language":Jl.language,"User-Agent":Jl.userAgent};return e&&(o["Content-Type"]="application/json"),i&&(o["X-Emby-Token"]=i),o}function vut(t){return String(t||"").trim().replace(/\/+$/,"")}function $o(t){return String(t||"").trim()}function fCr(t){return String(t||"").trim()}function Cut(t){return $o(t).toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)}function pCr(t,e){let n=`${t?.name||""}-${t?.host||""}-${t?.username||""}`.toLowerCase().replace(/^https?:\/\//,"").replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,28),s=n||RQ().slice(0,8);for(;e.has(s);)s=`${(n||"emby").slice(0,24)}-${RQ().slice(0,4)}`;return e.add(s),s}function mCr(t,e,r={}){let n=vut(t?.host),s=$o(t?.username),i=$o(t?.name),a=Cut(t?.id),o=a&&!e.has(a)?a:pCr({name:i,host:n,username:s},e);return e.add(o),{id:o,name:i,host:n,username:s,password:String(t?.password||""),deviceId:Sut(t?.deviceId,r.ensureDeviceId),logo:fCr(t?.logo),libraries:hce(t?.libraries),libraryStats:Iut(t?.libraryStats)}}function Iut(t={}){return{movieCount:Math.max(0,Number(t?.movieCount||0)||0),seriesCount:Math.max(0,Number(t?.seriesCount||0)||0)}}function hce(t=[]){return Array.isArray(t)?t.map(e=>({id:$o(e?.id||e?.Id),name:$o(e?.name||e?.Name),collectionType:$o(e?.collectionType||e?.CollectionType)})).filter(e=>e.id).map(e=>({...e,name:e.name||e.id})):[]}function hCr(t=[]){return hce(t.map(e=>({id:e?.Id,name:e?.Name,collectionType:e?.CollectionType})))}function pM(t={},e={}){let r=new Set;return{servers:(Array.isArray(t?.servers)?t.servers:[]).filter(i=>i&&typeof i=="object").filter(i=>$o(i?.id)||$o(i?.name)||vut(i?.host)||$o(i?.username)||String(i?.password||"")).map(i=>mCr(i,r,e)).filter(i=>i.host||i.username)}}function gCr(t){return{servers:t.servers}}var gce=async t=>{let e=await t.db.getObjectDefault(mce,{});return pM(e)},Qw=async t=>(await gce(t)).servers,IE=async(t,e="")=>{let r=await gce(t),n=Cut(e);return n&&r.servers.find(s=>s.id===n)||null},ACr=async(t,e)=>{let r=pM(e,{ensureDeviceId:!0});return await t.db.push(mce,gCr(r)),r},yCr=async t=>{await t.db.delete(mce)};async function xCr(t){let{host:e,username:r,password:n,deviceId:s}=t,i=`${e}/emby/Users/authenticatebyname`,o=(await he.post(i,{Username:r,Pw:n||"",Password:n||""},{headers:CE({contentType:!0,deviceId:s}),timeout:1e4})).data;if(!o?.AccessToken||!o?.User?.Id)throw new Error("\u8BA4\u8BC1\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7528\u6237\u540D\u548C\u5BC6\u7801");return o}function bCr(t="",e="",r=""){return CE({token:t,contentType:!0,deviceId:e,userId:r})}async function mM(t,e="",r="",n=""){return(await he.get(t,{headers:e?bCr(e,r,n):CE({deviceId:r}),timeout:1e4})).data}async function ECr(t,e="",r=""){try{return await mM(`${t.host}/emby/System/Info/Public`,e,t.deviceId,r)}catch{try{return await mM(`${t.host}/emby/System/Info`,e,t.deviceId,r)}catch{return{}}}}async function _Cr(t,e,r){try{let n=await mM(`${t.host}/emby/Users/${encodeURIComponent(e)}/Views`,r,t.deviceId,e);return Array.isArray(n?.Items)?n.Items:[]}catch{return[]}}async function Eut(t,e,r,n,s){let i=new URLSearchParams({ParentId:String(n||""),Recursive:"true",IncludeItemTypes:s,StartIndex:"0",Limit:"1"});try{let a=await mM(`${t.host}/emby/Users/${encodeURIComponent(e)}/Items?${i.toString()}`,r,t.deviceId,e);return Math.max(0,Number(a?.TotalRecordCount||0)||0)}catch{return 0}}async function SCr(t,e,r,n=[]){let s={movieCount:0,seriesCount:0},i=[];for(let a of n){let o=String(a?.Id||"");if(!o)continue;let c=String(a?.CollectionType||"").toLowerCase();(!c||c==="movies")&&i.push(Eut(t,e,r,o,"Movie").then(u=>{s.movieCount+=u})),(!c||c==="tvshows")&&i.push(Eut(t,e,r,o,"Series").then(u=>{s.seriesCount+=u}))}return await Promise.allSettled(i),s}async function vCr(t){let e=await xCr(t),r=e.AccessToken,n=e.User.Id,[s,i]=await Promise.all([ECr(t,r,n),_Cr(t,n,r)]),a=await SCr(t,n,r,i);return{serverName:$o(s?.ServerName),libraries:hCr(i),libraryStats:a}}function CCr(t,e={}){return{...t,name:t.name||e.serverName||"Emby",libraries:hce(e.libraries||t.libraries),libraryStats:Iut(e.libraryStats||t.libraryStats)}}function ICr(t){return t?.response?.status===401?"\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF":`\u8FDE\u63A5\u5931\u8D25: ${t.message}`}async function Ace(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await gce(e.server)})}),t.post("/verify",async(e,r)=>{let s=pM({servers:[e.body||{}]},{ensureDeviceId:!0}).servers[0];if(!s||!s.host||!s.username){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A"});return}try{let i=await vCr(s);r.send({code:0,data:CCr(s,i)})}catch(i){r.send({code:-1,message:ICr(i)})}}),t.put("/setting",async(e,r)=>{let n=pM(e.body||{},{ensureDeviceId:!0});for(let i of n.servers)if(!i.host||!i.username){r.send({code:-1,message:`${i.name||"Emby"} \u7684\u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A`});return}let s=await ACr(e.server,n);r.send({code:0,data:s})}),t.delete("/setting",async(e,r)=>{await yCr(e.server),r.send({code:0})})}var Ece="::",Out=["PrimaryImageAspectRatio","BasicSyncInfo","ProductionYear","RecursiveItemCount","ChildCount"].join(","),yce=new Map;function TCr(){return{baseUrl:"",username:"",password:"",deviceId:"",accessToken:"",userId:""}}function wCr(t){let e=t||"default";return yce.has(e)||yce.set(e,TCr()),yce.get(e)}async function RCr(t,e=""){let r=await IE(t,e),n=String(r?.host||"").replace(/\/$/,""),s=r?.username||"",i=r?.password||"",a=r?.deviceId||"",o=wCr(r?.id||e);if(!n||!s)throw new Error("\u8BF7\u5728\u7BA1\u7406\u9875\u9762\u914D\u7F6E Emby \u670D\u52A1\u5668\u5730\u5740\u548C\u7528\u6237\u540D");return o.baseUrl===n&&o.username===s&&o.password===i&&o.deviceId===a||(o.baseUrl=n,o.username=s,o.password=i,o.deviceId=a,o.accessToken="",o.userId=""),o}async function Sce(t){let e=`${t.baseUrl}/emby/Users/authenticatebyname`,n=(await he.post(e,{Username:t.username,Pw:t.password||"",Password:t.password||""},{headers:CE({contentType:!0,deviceId:t.deviceId}),timeout:15e3})).data;if(!n||!n.AccessToken||!n.User?.Id)throw new Error("Emby\u8BA4\u8BC1\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7528\u6237\u540D\u548C\u5BC6\u7801");t.accessToken=n.AccessToken,t.userId=n.User.Id}async function nm(t,e=""){let r=await RCr(t,e);return(!r.accessToken||!r.userId)&&await Sce(r),r}function hM(t){return CE({token:t.accessToken,deviceId:t.deviceId,userId:t.userId})}function TE(t,e){let r=String(t||""),n=String(e||"");return!r||!n?"":`${encodeURIComponent(r)}${Ece}${n}`}function Put(t){let e=String(t||""),r=e.indexOf(Ece);if(r<0)return{serverId:"",itemId:""};let n=e.slice(0,r);return{serverId:decodeURIComponent(n),itemId:e.slice(r+Ece.length)}}function NCr(t){return String(t.body?.id||"").trim()}function Tut(t){return String(t||"").split(",")[0].trim()}function OCr(t){let r=Tut(t?.headers?.["x-forwarded-proto"])||t?.protocol||"http",s=Tut(t?.headers?.["x-forwarded-host"])||t?.headers?.host||"";return s?`${r}://${s}`:""}function PCr(t=""){let e=String(t||"").toLowerCase();return e==="movies"?"Movie":e==="tvshows"?"Series":"Movie,Series"}function xce(t){let e=Number(t);return Number.isFinite(e)&&e>0?Math.floor(e):0}function DCr(t={}){return String(t?.Type||"").toLowerCase()!=="series"?0:xce(t.RecursiveItemCount)||xce(t.EpisodeCount)||xce(t.ChildCount)}function kCr(t=[]){let e=[],r=t.reduce((n,s)=>Math.max(n,s.list.length),0);for(let n=0;n<r;n++)for(let s of t)s.list[n]&&e.push(s.list[n]);return e}async function Dut(t,e){let r=await nm(t,e),n=await nA(`/emby/Users/${r.userId}/Views`,t,e);return Array.isArray(n?.Items)?n.Items:[]}function _ce(t=[]){let e=[];for(let r of t){let n=String(r?.Id||r?.id||"");n&&e.push({n:r.Name||r.name||n,v:n})}return e.length===0?[]:[{key:"library",name:"",init:e[0].v,value:e}]}function bce(t=[]){return(Array.isArray(t)?t:[]).map(e=>{let r=String(e?.id||e?.Id||"").trim();return r?{type_id:r,type_name:String(e?.name||e?.Name||r).trim()||r}:null}).filter(Boolean)}async function nA(t,e,r="",n={}){let s=await nm(e,r),i=`${s.baseUrl}${t}`;try{return(await he({method:n.method||"GET",url:i,headers:hM(s),data:n.data,timeout:15e3})).data}catch(a){if(a?.response?.status===401)return s.accessToken="",await Sce(s),(await he({method:n.method||"GET",url:i,headers:hM(s),data:n.data,timeout:15e3})).data;throw a}}function LCr(t=""){let e=String(t||"").trim();return/^[A-Za-z]+$/.test(e)?e:"Primary"}function BCr(t,e=300){let r=parseInt(t||e,10);return!Number.isFinite(r)||r<=0?e:Math.min(r,1200)}function kut(t,e="",r=null){if(t.ImageTags?.Primary){let s=`/spider/emby/3/image?${new URLSearchParams({serverId:e,itemId:String(t.Id||""),maxHeight:"300",tag:String(t.ImageTags.Primary)}).toString()}`,i=OCr(r);return i?`${i}${s}`:s}return""}function Lut(t,e="",r=null){let n=DCr(t);return{vod_id:TE(e,t.Id),vod_name:t.Name||"",vod_pic:kut(t,e,r),vod_remarks:n>0?String(n):"",vod_year:t.ProductionYear?String(t.ProductionYear):""}}async function wut(t,e){return{}}async function MCr(t,e){let r=t.query||{},n=String(r.serverId||"").trim(),s=String(r.itemId||"").trim();if(!n||!s)return e.code(404),"";try{let i=await nm(t.server,n),a=LCr(r.type||"Primary"),o=new URLSearchParams({maxHeight:String(BCr(r.maxHeight,300))}),c=String(r.tag||"").trim();c&&o.set("tag",c);let u=`${i.baseUrl}/emby/Items/${encodeURIComponent(s)}/Images/${a}?${o.toString()}`,l;try{l=await he.get(u,{responseType:"stream",headers:hM(i),timeout:15e3})}catch(d){if(d?.response?.status!==401)throw d;i.accessToken="",await Sce(i),l=await he.get(u,{responseType:"stream",headers:hM(i),timeout:15e3})}return e.header("Content-Type",l.headers?.["content-type"]||"image/jpeg"),e.header("Cache-Control","private, max-age=86400"),l.headers?.["content-length"]&&e.header("Content-Length",l.headers["content-length"]),e.send(l.data)}catch(i){return console.error("emby image failed:",i.message),e.code(i?.response?.status===404?404:502),""}}async function WCr(t,e){try{let n=(await Qw(t.server)).filter(a=>a?.host&&a?.username);if(n.length===0)return{class:[],filters:{}};let s=n.map((a,o)=>({type_id:a.id,type_name:a.name||`Emby ${o+1}`})),i={};for(let a of n){let o=a.id;i[o]=_ce(a.libraries)}return{class:s,filters:i}}catch(r){return console.error("emby home failed:",r.message),{class:[],filters:{}}}}async function $Cr(t,e){let r=String(t.params?.serverId||"").trim();if(!r)return{class:[],filters:{}};try{let n=await IE(t.server,r),s=bce(n?.libraries);if(s.length===0){let i=await Dut(t.server,r);s=bce(i)}return{class:s,filters:{}}}catch(n){console.error("emby server home failed:",n.message);let s=await IE(t.server,r).catch(()=>null);return{class:bce(s?.libraries),filters:{}}}}async function But(t,e,r="",n={}){let s=t.body?.filters||{},i=Math.max(1,parseInt(t.body?.page||1,10)),a=20,o=(i-1)*a;if(!e)return{page:i,pagecount:i,limit:a,total:0,list:[],filters:n.filterKey?{}:void 0};try{let c=await nm(t.server,e),u=await Dut(t.server,e),l=_ce(u),d=String(r||"").trim();!d&&n.useFilterLibrary!==!1&&(d=String(s.library||"").trim()),d||(d=String(u[0]?.Id||"").trim());let f="Movie,Series";if(d){let y=await nA(`/emby/Users/${c.userId}/Items/${d}`,t.server,e);f=PCr(y?.CollectionType)}let p=new URLSearchParams({StartIndex:String(o),Limit:String(a),Recursive:"true",Fields:Out,ImageTypeLimit:"1",EnableImageTypes:"Primary",IncludeItemTypes:f,SortBy:"DateLastContentAdded,DateCreated",SortOrder:"Descending"});d&&p.set("ParentId",d);let m=await nA(`/emby/Users/${c.userId}/Items?${p.toString()}`,t.server,e),h=m?.Items||[],A=m?.TotalRecordCount||h.length,g=h.map(y=>Lut(y,e,t)),b={page:i,pagecount:Math.max(i,Math.ceil(A/a)),limit:a,total:A,list:g};return n.filterKey&&(b.filters={[n.filterKey]:l}),b}catch(c){console.error("emby category failed:",c.message);let u=await IE(t.server,e).catch(()=>null),l={page:i,pagecount:i,limit:a,total:0,list:[]};return n.filterKey&&(l.filters={[n.filterKey]:_ce(u?.libraries)}),l}}async function FCr(t,e){let r=NCr(t);return But(t,r,"",{filterKey:r,useFilterLibrary:!0})}async function UCr(t,e){let r=String(t.params?.serverId||"").trim(),n=String(t.body?.id||"").trim();return But(t,r,n,{useFilterLibrary:!1})}async function Rut(t,e){let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r)if(s)try{let{serverId:i,itemId:a}=Put(s);if(!i||!a)continue;let o=await nm(t.server,i),c=await nA(`/emby/Users/${o.userId}/Items/${a}`,t.server,i);if(!c)continue;let u={vod_id:TE(i,c.Id),vod_name:c.Name||"",vod_pic:kut(c,i,t),vod_remarks:c.ProductionYear?String(c.ProductionYear):"",vod_year:c.ProductionYear?String(c.ProductionYear):"",vod_content:c.Overview||"",vod_director:(c.People||[]).filter(l=>l.Type==="Director").map(l=>l.Name).join(","),vod_actor:(c.People||[]).filter(l=>l.Type==="Actor").map(l=>l.Name).join(","),vod_play_from:"",vod_play_url:""};if(c.Type==="Movie")u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${TE(i,c.Id)}`;else if(c.Type==="Series"){let d=(await nA(`/emby/Shows/${c.Id}/Episodes?userId=${o.userId}&Fields=BasicSyncInfo`,t.server,i))?.Items||[];if(d.length>0){let f={};for(let h of d){let A=h.SeasonName||`\u7B2C${h.ParentIndexNumber||1}\u5B63`;f[A]||(f[A]=[]);let g=h.Name===`\u7B2C ${h.IndexNumber} \u96C6`?h.Name:`${h.IndexNumber}.${h.Name}`;f[A].push(`${g}$${TE(i,h.Id)}`)}let p=[],m=[];for(let[h,A]of Object.entries(f))p.push(h),m.push(A.join("#"));u.vod_play_from=p.join("$$$"),u.vod_play_url=m.join("$$$")}else u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${TE(i,c.Id)}`}else u.vod_play_from="Emby",u.vod_play_url=`${c.Name}$${TE(i,c.Id)}`;n.push(u)}catch(i){console.error("emby detail failed:",s,i.message)}return{list:n}}async function qCr(t,e,r){let n=await nm(t,e),s=encodeURIComponent(r),i=await nA(`/emby/Users/${n.userId}/Items/${s}?Fields=Path`,t,e),o=(Array.isArray(i?.MediaSources)?i.MediaSources:[]).find(c=>String(c?.Id||"").trim())||null;return String(o?.Id||"").trim()}async function Nut(t,e){let{serverId:r,itemId:n}=Put(t.body?.id||"");if(!r||!n)return{parse:0,url:"",header:{}};try{let s=await nm(t.server,r),i=encodeURIComponent(n),a=new URLSearchParams({static:"true",api_key:s.accessToken}),o=await qCr(t.server,r,n).catch(()=>"");return o&&a.set("MediaSourceId",o),{parse:0,url:`${s.baseUrl}/emby/Videos/${i}/stream.mkv?${a.toString()}`,header:{"User-Agent":Jl.userAgent}}}catch(s){return console.error("emby play failed:",s.message),{parse:0,url:"",header:{}}}}async function Mut(t,e=[]){let r=(t.body?.wd||"").trim(),n=Math.max(1,parseInt(t.body?.page||1,10)),s=20;if(!r)return{page:n,pagecount:n,limit:s,total:0,list:[]};if(e.length===0)return{page:n,pagecount:n,limit:s,total:0,list:[]};try{let i=(n-1)*s,a=n*s,o=await Promise.allSettled(e.map(async d=>{let f=d.id,p=await nm(t.server,f),m=new URLSearchParams({SearchTerm:r,StartIndex:"0",Limit:String(a),Recursive:"true",Fields:Out,ImageTypeLimit:"1",EnableImageTypes:"Primary",IncludeItemTypes:"Movie,Series",SortBy:"DateLastContentAdded,DateCreated",SortOrder:"Descending"}),h=await nA(`/emby/Users/${p.userId}/Items?${m.toString()}`,t.server,f),A=h?.Items||[];return{total:Math.max(0,Number(h?.TotalRecordCount||A.length)||0),list:A.map(g=>Lut(g,f,t))}})),c=[],u=0;for(let d of o){if(d.status!=="fulfilled"){console.error("emby search server failed:",d.reason?.message||d.reason);continue}u+=d.value.total,c.push(d.value)}let l=kCr(c);return{page:n,pagecount:Math.max(n,Math.ceil(u/s)),limit:s,total:u,list:l.slice(i,a)}}catch(i){return console.error("emby search failed:",i.message),{page:n,pagecount:n,limit:s,total:0,list:[]}}}async function jCr(t,e){let r=await Qw(t.server);return Mut(t,r.filter(n=>n?.host&&n?.username))}async function HCr(t,e){let r=String(t.params?.serverId||"").trim(),n=await IE(t.server,r).catch(()=>null);return Mut(t,n?.host&&n?.username?[n]:[])}var Wut={meta:{key:"emby",name:"Emby",type:3,hidden:!0},api:async t=>{t.post("/init",wut),t.get("/image",MCr),t.post("/home",WCr),t.post("/category",FCr),t.post("/detail",Rut),t.post("/play",Nut),t.post("/search",jCr),t.post("/server/:serverId/init",wut),t.post("/server/:serverId/home",$Cr),t.post("/server/:serverId/category",UCr),t.post("/server/:serverId/detail",Rut),t.post("/server/:serverId/play",Nut),t.post("/server/:serverId/search",HCr)}};var vce="/alistVideo",Fut={servers:[{id:"alist_default",name:"\u4EBF\u82EF\u6B63\u7ECF\u7684Alist\u5E93",server:"https://pan.lm379.cn"}]};function QCr(t,e="server"){return`alist_${String(t||e).trim().toLowerCase().replace(/^https?:\/\//,"").replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||e}`}function Cce(t={}){return{id:t.id||"",name:String(t.name||"").trim(),server:String(t.server||"").trim().replace(/\/+$/,""),username:String(t.username||"").trim(),password:String(t.password||""),token:String(t.token||"").trim(),otpCode:String(t.otpCode||t.otp_code||"").trim()}}function Ice(t={}){let e=Array.isArray(t?.servers)?t.servers:[],r=new Set;return{servers:e.map((n,s)=>{let i={...Cce(n),otpCode:""};if(!i.server)return null;i.id||(i.id=QCr(i.server||i.name,`server_${s+1}`));let a=i.id,o=a,c=2;for(;r.has(o);)o=`${a}_${c}`,c+=1;return r.add(o),i.id=o,i}).filter(Boolean)}}function GCr(t={}){return`catpaw_${String(t.id||t.server||t.name||"default").trim().replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,96)||"alist"}`}function wE(t={},e=""){let r=String(e||t.token||"").trim(),n={"Content-Type":"application/json","Client-Id":GCr(t)};return r&&(n.Authorization=r),n}function Tce(t,e={}){return t?.status===401||t?.status===403||e?.code===401||e?.code===403}async function gM(t={},e={}){let r=Cce(t);if(r.token)return r.token;if(!r.server||!r.username)return"";let n={username:r.username,password:r.password};r.otpCode&&(n.otp_code=r.otpCode);let i=(await he.post(r.server+"/api/auth/login",n,{headers:wE(r),timeout:e.timeout||1e4})).data||{};if(i.code!==200||!i.data?.token)throw new Error(i.message||"Alist \u767B\u5F55\u5931\u8D25");return i.data.token}async function $ut(t,e=""){let r=await he.post(t.server+"/api/fs/list",{path:"/",page:1,per_page:1},{headers:wE(t,e),timeout:1e4});return{resp:r,json:r.data||{}}}var Uut=async t=>{let e=await t.db.getObjectDefault(vce,Fut);return Ice(e)},VCr=async(t,e)=>{let r=Ice(e);return await t.db.push(vce,r),r},zCr=async t=>{await t.db.delete(vce)},Gw=async t=>(await Uut(t)).servers;async function wce(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await Uut(e.server)})}),t.put("/setting",async(e,r)=>{let n=Ice(e.body||{});if(n.servers.some(i=>!i.server)){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A"});return}let s=await VCr(e.server,n);r.send({code:0,data:s})}),t.delete("/setting",async(e,r)=>{await zCr(e.server),r.send({code:0,data:Fut})}),t.post("/verify",async(e,r)=>{let n=Cce(e.body||{});if(!n.server){r.send({code:-1,message:"\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A"});return}try{let s=await gM(n),{resp:i,json:a}=await $ut(n,s);if(Tce(i,a)&&n.username&&(s=await gM({...n,token:""}),{resp:i,json:a}=await $ut(n,s)),a.code!==200){r.send({code:-1,message:a.message||"\u8FDE\u63A5\u5931\u8D25"});return}r.send({code:0,data:{...n,token:s||n.token,otpCode:""}})}catch(s){r.send({code:-1,message:`\u8FDE\u63A5\u5931\u8D25: ${s.message}`})}})}var KCr=new Set([".mp4",".mkv",".avi",".wmv",".flv",".mov",".webm",".ts",".m4v",".rmvb",".rm",".3gp",".mpg",".mpeg",".vob",".iso"]),YCr=new Set([".srt",".ass",".ssa",".sub",".scc",".stl",".ttml",".vtt"]),Vut="https://img.icons8.com/fluency/96/folder-invoices--v1.png",zut="https://img.icons8.com/color/48/video.png",JCr=new Set(["AliyundriveOpen","AliyunShare","BaiduNetdisk","BaiduShare2","Quark","QuarkShare","UC","UCShare","UCTV","115 Cloud","115 Share"]),Kut="Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",Ou={},RE={},Rce="alist:";function xM(t){let e=t.lastIndexOf(".");return e<0?!1:KCr.has(t.slice(e).toLowerCase())}function Yut(t){let e=t.lastIndexOf(".");return e<0?!1:YCr.has(t.slice(e).toLowerCase())}function Nce(t){return!t||t<=0?"":t>1024**4?(t/1024**4).toFixed(2)+"TB":t>1024**3?(t/1024**3).toFixed(2)+"GB":t>1024**2?(t/1024**2).toFixed(2)+"MB":(t/1024).toFixed(2)+"KB"}function sm(t,e,r=""){let n=String(r||"").trim();return n?Rce+Buffer.from(JSON.stringify({serverId:n,name:t,path:e||"/"}),"utf8").toString("base64url"):`${t}||${e}`}function bM(t){let e=String(t||"");if(e.startsWith(Rce))try{let n=JSON.parse(Buffer.from(e.slice(Rce.length),"base64url").toString("utf8"));return{serverId:String(n?.serverId||""),name:String(n?.name||""),path:String(n?.path||"/")}}catch{return{serverId:"",name:"",path:"/"}}let r=e.indexOf("||");return r<0?{serverId:"",name:e,path:"/"}:{serverId:"",name:e.slice(0,r),path:e.slice(r+2)||"/"}}function XCr(t,e=""){let r=String(e||"").trim();if(r&&Ou[r])return Ou[r];let n=String(t||"").trim();return n&&Ou[n]?Ou[n]:Object.values(Ou).find(s=>r&&s?.id===r||n&&s?.name===n)}function Jut(t){return String(t||"").split(",")[0].trim()}function qut(t){return Jut(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function ZCr(t){let e=String(t?.server?.address?.()?.url||"").trim(),n=qut(t?.headers?.["x-forwarded-host"])||qut(t?.headers?.host);if(!n)return e;let s=Jut(t?.headers?.["x-forwarded-proto"]),i=e.startsWith("https://")?"https":"http";return`${s||String(t?.protocol||"").trim()||i}://${n}`}function eIr(t,e,r=""){return Buffer.from(JSON.stringify({serverId:r,name:t,path:e}),"utf8").toString("base64url")}function tIr(t){let e=JSON.parse(Buffer.from(String(t||""),"base64url").toString("utf8"));return{serverId:String(e?.serverId||""),name:String(e?.name||""),path:String(e?.path||"/")}}function rIr(t){return String(t||"").toLowerCase().includes("115")}function nIr(t){let e=String(t?.provider||""),r=String(t?.raw_url||"");return JCr.has(e)||rIr(e)||r.includes("115cdn.net")}function sIr(t){return String(t||"/").replace(/^\/?/,"/").split("/").map((r,n)=>n===0?"":encodeURIComponent(r)).join("/")}function iIr(t,e,r){let n=new URL("/d"+sIr(e),t.server);return r&&n.searchParams.set("sign",r),n.toString()}function jut(t,e,r,n=""){let s=r.split("/").filter(Boolean).pop()||"video.bin",i=String(t?.server?.prefix||"").replace(/\/$/,"");return`${ZCr(t)}${i}/proxy/${eIr(e,r,n)}/${encodeURIComponent(s)}`}function aIr(t){let e={};for(let r of["range","if-range","if-none-match","if-modified-since"])t.headers?.[r]&&(e[r]=t.headers[r]);return e}function oIr(t,e,r){return{...aIr(r),...wE(t,e),"User-Agent":Kut,Referer:"https://www.alipan.com/"}}function cIr(){return{"User-Agent":Kut,Referer:"https://www.alipan.com/"}}function Xut(t){return t.id||t.server||t.name}async function AM(t,e=!1){let r=Xut(t);if(!e){if(RE[r])return RE[r];if(t.token)return t.token}let n=await gM({...t,token:e?"":t.token});return n&&(RE[r]=n),n}async function EM(t,e,r={},n=!0){let s=await AM(t),i=wE(t,s),a=await he.post(t.server+e,r,{headers:i,timeout:15e3}).catch(c=>c.response||{status:500,data:{}}),o=a.data||{};if(n&&Tce(a,o)&&t.username){let c=Xut(t);delete RE[c];let u=await AM(t,!0),d=(await he.post(t.server+e,r,{headers:wE(t,u),timeout:15e3}).catch(f=>f.response||{status:500,data:{}})).data||{};if(d.code!==200)throw new Error(d.message||"Alist API error");return d.data}if(o.code!==200)throw new Error(o.message||"Alist API error");return o.data}async function Zut(t,e,r=1){return EM(t,"/api/fs/list",{path:e,page:r,per_page:0,refresh:!1})}async function yM(t,e){return EM(t,"/api/fs/get",{path:e})}async function uIr(t,e,r,n={}){return he.request({url:t,method:r,headers:e,responseType:r==="HEAD"?"text":"stream",timeout:3e4,maxRedirects:n.maxRedirects??5,validateStatus:()=>!0})}async function elt(t,e,r,n,s){let i=iIr(t,e,r),a=await uIr(i,oIr(t,n,s),"GET",{maxRedirects:0});a.data?.destroy&&a.data.destroy();let o=a.headers?.location;return a.status>=300&&a.status<400&&o?new URL(o,i).toString():""}async function lIr(t,e){await Vw(t.server);let r;try{r=tIr(t.params?.id)}catch{return e.code(400),"bad proxy id"}let n=await _M(t.server,r);if(!n)return e.code(404),"drive not found";try{let s=await yM(n,r.path);if(!s?.raw_url)return e.code(404),"raw_url empty";if(s.sign){let i=await AM(n),a=await elt(n,r.path,s.sign,i,t);if(a)return e.redirect(302,a),""}return s.raw_url?(e.redirect(302,s.raw_url),""):(e.code(502),"proxy failed")}catch(s){return console.error("[alist-video] proxy failed:",s.message),e.code(502),s.message}}async function dIr(t,e,r="/"){return EM(t,"/api/fs/search",{parent:r,keywords:e,scope:0,page:1,per_page:100})}function fIr(t){let e=t.replace(/^\//,"").split("/");return e.length>1?"/"+e.slice(1).join("/"):"/"}function pIr(t={},e="Alist"){let r=String(t.name||"").trim();if(r)return r;try{return new URL(t.server).hostname||e}catch{return e}}function tlt(t={}){let e=String(t.server||"").replace(/\/$/,"");if(!e)return null;let r=pIr({...t,server:e});return{id:String(t.id||"").trim(),name:r,server:e,username:t.username||"",password:t.password||"",token:t.token||"",otpCode:t.otpCode||""}}function rlt(t){if(!t)return null;let e=t.id||t.name;return e?(Ou[e]=t,t):null}async function Oce(t){let e=await Gw(t);for(let r of Object.keys(Ou))delete Ou[r];for(let r of Object.keys(RE))delete RE[r];for(let r of e)rlt(tlt(r));return e}async function Vw(t){Object.keys(Ou).length===0&&await Oce(t)}async function zw(t,e){let r=String(e||"").trim();if(!r)return null;let n=await Gw(t),s=tlt(n.find(i=>i?.id===r));return rlt(s)}async function _M(t,e={}){let r=XCr(e.name,e.serverId);return r||(e.serverId?zw(t,e.serverId):null)}async function mIr(t,e){return await Oce(t.server),{}}async function hIr(t,e){if((await Oce(t.server)).length===0)return{class:[],filters:{}};let n=[];for(let s of Object.values(Ou))n.push({type_id:sm(s.name,"/",s.id),type_name:s.name});return{class:n,filters:{}}}async function gIr(t,e){let r=await zw(t.server,t.params?.serverId);return r?{class:[{type_id:sm(r.name,"/",r.id),type_name:r.name}],filters:{}}:{class:[],filters:{}}}async function nlt(t,e){await Vw(t.server);let r=t.body.id,n=Math.max(1,parseInt(t.body.page||1,10)),{serverId:s,name:i,path:a}=bM(r),o=await _M(t.server,{name:i,serverId:s});if(!o)return{page:n,pagecount:n,list:[]};let c=o.id||s;try{let u=await Zut(o,a,n),l=u.content||[],d=[];for(let h of l){let A=a.replace(/\/?$/,"/")+h.name;if(h.is_dir){let g=sm(o.name,A,c);d.push({vod_id:g,vod_name:h.name,vod_pic:h.thumb||Vut,vod_remarks:"",vod_tag:"folder",cate:{id:g,name:h.name}})}else xM(h.name)&&d.push({vod_id:sm(o.name,A,c),vod_name:h.name,vod_pic:h.thumb||zut,vod_remarks:Nce(h.size),vod_tag:"file"})}let f=u.total||d.length,p=u.per_page||f,m=p>0?Math.ceil(f/p):1;return{page:n,pagecount:m,list:d}}catch(u){return console.error("[alist-video] category failed:",u.message),{page:n,pagecount:n,list:[]}}}async function AIr(t,e){let r=String(t.params?.serverId||"").trim(),n=await zw(t.server,r);if(!n){let a=Math.max(1,parseInt(t.body?.page||1,10));return{page:a,pagecount:a,list:[]}}let s=String(t.body?.id||"").trim(),i=s?bM(s):{path:"/"};return t.body={...t.body||{},id:sm(n.name,i.path||"/",n.id)},nlt(t,e)}async function Hut(t,e,r=3,n=0){if(n>=r)return[];try{let i=(await EM(t,"/api/fs/list",{path:e,page:1,per_page:500,refresh:!1})).content||[],a=[],o=[],c=[];for(let u of i){let l=e.replace(/\/?$/,"/")+u.name;u.is_dir?c.push({name:u.name,path:l}):xM(u.name)?a.push({name:u.name,path:l,size:u.size}):Yut(u.name)&&o.push({name:u.name,path:l})}return{videos:a,subtitles:o,subfolders:c}}catch{return{videos:[],subtitles:[],subfolders:[]}}}async function Qut(t,e){await Vw(t.server);let r=Array.isArray(t.body?.id)?t.body.id:[t.body?.id],n=[];for(let s of r){if(!s)continue;let{serverId:i,name:a,path:o}=bM(s),c=await _M(t.server,{name:a,serverId:i});if(!c)continue;let u=c.id||i;try{let l=await yM(c,o),d=l.is_dir;if(!d&&xM(l.name)){n.push({vod_id:s,vod_name:l.name,vod_pic:l.thumb||"",vod_content:`\u5927\u5C0F: ${Nce(l.size)}`,vod_play_from:"Alist",vod_play_url:`${l.name}$${s}`});continue}if(d){let f=await Hut(c,o),p=[],m=[];f.videos.length>0&&(p.push("\u5F53\u524D\u76EE\u5F55"),m.push(f.videos.map(h=>`${h.name}$${sm(c.name,h.path,u)}`).join("#")));for(let h of f.subfolders){let A=await Hut(c,h.path);A.videos.length>0&&(p.push(h.name),m.push(A.videos.map(g=>`${g.name}$${sm(c.name,g.path,u)}`).join("#")))}p.length===0?n.push({vod_id:s,vod_name:l.name||o.split("/").filter(Boolean).pop()||"Alist",vod_pic:l.thumb||"",vod_content:"\u8BE5\u76EE\u5F55\u4E0B\u6CA1\u6709\u89C6\u9891\u6587\u4EF6",vod_play_from:"",vod_play_url:""}):n.push({vod_id:s,vod_name:l.name||o.split("/").filter(Boolean).pop()||"Alist",vod_pic:l.thumb||"",vod_content:`\u5171 ${p.reduce((h,A,g)=>h+m[g].split("#").length,0)} \u4E2A\u89C6\u9891`,vod_play_from:p.join("$$$"),vod_play_url:m.join("$$$")})}}catch(l){console.error("[alist-video] detail failed:",s,l.message)}}return{list:n}}async function Gut(t,e){await Vw(t.server);let r=t.body?.id||"",{serverId:n,name:s,path:i}=bM(r),a=await _M(t.server,{name:s,serverId:n});if(!a)return{parse:0,url:"",header:{}};let o=a.id||n;try{let c=await yM(a,i),u=c.raw_url;if(!u)return{parse:0,url:"",header:{}};let l={parse:0,url:u,header:{}};if(c.provider==="AliyundriveOpen"||c.provider==="AliyundriveShare2Open")l.header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",Referer:"https://www.alipan.com/"};else if(nIr(c))if(l.header=cIr(),c.sign){let m=await AM(a),h=await elt(a,i,c.sign,m,t);h?l.url=h:l.url=jut(t,a.name,i,o)}else l.url=jut(t,a.name,i,o);let d=i.substring(0,i.lastIndexOf("/")+1),f=i.substring(i.lastIndexOf("/")+1),p=f.substring(0,f.lastIndexOf("."));try{let h=((await Zut(a,d)).content||[]).filter(A=>Yut(A.name)&&A.name.includes(p)).slice(0,3);if(h.length>0){let A=[];for(let g of h)try{let b=await yM(a,d+g.name);b.raw_url&&A.push(b.raw_url)}catch{}A.length>0&&(l.subt=A[0])}}catch{}return l}catch(c){return console.error("[alist-video] play failed:",c.message),{parse:0,url:"",header:{}}}}async function slt(t,e){let r=(t.body?.wd||"").trim(),n=Math.max(1,parseInt(t.body?.page||1,10));if(!r)return{page:n,pagecount:n,list:[]};let s=[];for(let i of e)try{let o=(await dIr(i,r)).content||[];for(let c of o)if(c.is_dir||xM(c.name)){let l=fIr(String(c.parent||"/")).replace(/\/?$/,"/")+c.name,d=sm(i.name,l,i.id);s.push({vod_id:d,vod_name:c.name,vod_pic:c.thumb||(c.is_dir?Vut:zut),vod_remarks:c.is_dir?"":Nce(c.size),...c.is_dir?{cate:{id:d,name:c.name}}:{}})}}catch{}return{page:n,pagecount:n,list:s}}async function yIr(t,e){return await Vw(t.server),slt(t,Object.values(Ou))}async function xIr(t,e){return await zw(t.server,t.params?.serverId),{}}async function bIr(t,e){let r=await zw(t.server,t.params?.serverId);return slt(t,r?[r]:[])}var ilt={meta:{key:"alist-video",name:"Alist",type:3,hidden:!0},api:async t=>{t.post("/init",mIr),t.post("/home",hIr),t.post("/category",nlt),t.post("/detail",Qut),t.post("/search",yIr),t.post("/play",Gut),t.get("/proxy/:id/:file",lIr),t.post("/server/:serverId/init",xIr),t.post("/server/:serverId/home",gIr),t.post("/server/:serverId/category",AIr),t.post("/server/:serverId/detail",Qut),t.post("/server/:serverId/search",bIr),t.post("/server/:serverId/play",Gut)}};var Kw=async t=>(await t.db.getObjectDefault("/sites",{}))?.list||t.config.sites.list,EIr=async(t,e)=>{await t.db.push("/sites/list",e)},_Ir=async t=>{await t.db.delete("/sites/list")};async function Pce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Kw(e.server)})}),t.put("/list",async(e,r)=>{await EIr(e.server,e.body.list),r.send({code:0})}),t.delete("/list",async(e,r)=>{await _Ir(e.server),r.send({code:0})})}var alt="\u5185\u7F6E\u5F39\u5E55",SIr=9321;function ult(t){return String(t||"").split(",")[0].trim()}function olt(t){return ult(t).replace(/^\w+:\/\//,"").split("/")[0].trim()}function clt(t){let e=String(t||"").trim().toLowerCase().split(":")[0];return e==="localhost"||e==="127.0.0.1"||e==="0.0.0.0"||e==="::1"}function vIr(t,e=null){let r=String(t?.address?.()?.url||"").trim(),s=olt(e?.headers?.["x-forwarded-host"])||olt(e?.headers?.host),i=ult(e?.headers?.["x-forwarded-proto"]),a=r.startsWith("https://")?"https":"http",o=i||String(e?.protocol||"").trim()||a;if(s&&!clt(s))return`${o}://${s}`;let c=String(D0()||"").trim(),u=Number.parseInt(String(t?.address?.()?.port||""),10);return c&&!clt(c)?Number.isFinite(u)&&u>0?`${o}://${c}:${u}`:`${o}://${c}`:r}function llt(t,e,r=null){if(!e||typeof e!="object"||!Array.isArray(e.urls))return e;let n=vIr(t,r),s=iae(n,SIr),i=e.urls.map(a=>{if(!a||typeof a!="object")return a;let o=String(a.name||"").trim();return a.builtin===!0||o===alt?{...a,builtin:!0,name:o||alt,address:s}:a});return{...e,urls:i}}var SM=async(t,e=null)=>{let n=await t.db.getObjectDefault("/danmu")||t.config.danmu;return llt(t,n,e)},CIr=async(t,e,r=null)=>{await t.db.push("/danmu",llt(t,e,r))},IIr=async t=>{await t.db.delete("/danmu")},TIr=3,Dce=(t,e=TIr)=>{messageToDart({action:"toast",opt:{message:t,duration:e}})},wIr=t=>{try{let e=new URL(t);return e.searchParams.set("format","json"),e.toString()}catch{return null}},RIr=t=>Array.isArray(t?.comments)?t.comments.length:Array.isArray(t)?t.length:0;async function kce(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await SM(e.server,e)})}),t.put("/setting",async(e,r)=>{await CIr(e.server,e.body,e),r.send({code:0})}),t.delete("/setting",async(e,r)=>{await IIr(e.server),r.send({code:0})}),t.post("/push",async(e,r)=>{let n=e.body||{},s=n.url,i=n.sourceName||"\u5F39\u5E55\u6E90",a=n.previewUrl||wIr(s);if(!s){r.code(400).send({code:1,message:"Missing push url"});return}a&&(async()=>{try{let o=await Ae.get(a,{timeout:1e4}),c=RIr(o.data);c>0?Dce(`\u901A\u8FC7 ${i} - \u89E3\u6790\u5230 ${c} \u6761\u5F39\u5E55`):Dce("\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~")}catch(o){console.error("Manual danmu preview failed:",o),Dce("\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~")}})(),messageToDart({action:"danmuPush",opt:{url:s}}),r.send({code:0})}),t.get("/fe",(e,r)=>{r.type("text/html").send(`
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>\u5F39\u5E55\u641C\u7D22</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="stylesheet" href="https://lib.baomitu.com/antd/5.25.0/reset.min.css"> </head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script crossorigin src="https://lib.baomitu.com/react/18.2.0/umd/react.production.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/axios/0.26.0/axios.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/dayjs/1.10.8/dayjs.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/antd/5.25.0/antd.min.js"></script>
|
|
<script>${globalThis.danmuBundle}</script>
|
|
</body>
|
|
</html>
|
|
`)})}var Blt=Re(Jn(),1),Mlt=Re(Cv(),1),sue=Re(nC(),1);var Lce=["\u7F8E\u5267","\u97E9\u5267","\u65E5\u5267","\u53F0\u5267","\u6E2F\u5267","\u6E2F\u53F0\u5267","\u56FD\u4EA7\u5267","\u5927\u9646\u5267","\u5185\u5730\u5267","\u6CF0\u5267","\u82F1\u5267","\u7F8E\u5267\u7248","\u82F1\u5267\u7248","\u65E5\u5267\u7248","\u97E9\u5267\u7248","\u53F0\u5267\u7248","\u6E2F\u5267\u7248","\u6CF0\u5267\u7248","\u5F71\u540E","\u5F71\u5E1D","\u56FD\u5267","\u5FAE\u77ED\u5267","\u77ED\u5267","\u7535\u5F71","\u5267\u96C6","\u7EFC\u827A","\u72AF\u7F6A","\u52A8\u6F2B","\u52A8\u753B","\u7EAA\u5F55\u7247","\u77ED\u7247","\u8FDE\u7EED\u5267","\u7CFB\u5217\u5267","\u7F51\u7EDC\u5267","\u7535\u89C6\u5267"],NIr=["\u5F71\u7247","\u7247\u5B50","\u7247\u82B1","\u7247\u6BB5","\u9884\u544A","\u9884\u544A\u7247","\u82B1\u7D6E","\u5E55\u540E","\u8BBF\u8C08","\u7279\u522B\u7BC7","\u756A\u5916\u7BC7","OVA","OAD","SP","TV\u7248","\u5267\u573A\u7248","\u7535\u5F71\u7248","\u5F71\u7248","\u5267\u7248","\u56FD\u8BED\u7248","\u666E\u901A\u8BDD\u7248","\u7CA4\u8BED\u7248","\u95FD\u5357\u8BED\u7248","\u5BA2\u5BB6\u8BED\u7248","\u5434\u8BED\u7248","\u5DDD\u8BED\u7248","\u6E58\u8BED\u7248","\u8D63\u8BED\u7248","\u7CA4\u8BED\u914D\u97F3\u7248","\u56FD\u8BED\u914D\u97F3\u7248","\u666E\u901A\u8BDD\u914D\u97F3\u7248","\u65B9\u8A00\u7248","\u539F\u7248\u914D\u97F3","\u539F\u97F3\u7248","\u53F0\u8BED\u7248","\u7CA4\u8BED\u4E2D\u5B57\u7248","\u56FD\u8BED\u4E2D\u5B57\u7248","\u666E\u901A\u8BDD\u4E2D\u5B57\u7248","\u7CA4\u8BED\u539F\u58F0\u7248","\u56FD\u8BED\u539F\u58F0\u7248","\u666E\u901A\u8BDD\u539F\u58F0\u7248","\u7CA4\u8BED\u5185\u5D4C\u5B57\u5E55\u7248","\u56FD\u8BED\u5185\u5D4C\u5B57\u5E55\u7248","\u666E\u901A\u8BDD\u5185\u5D4C\u5B57\u5E55\u7248","\u52A8\u753B\u7248","\u771F\u4EBA\u7248","\u6539\u7F16\u7248","\u91CD\u5236\u7248","\u4FEE\u590D\u7248","\u52A0\u957F\u7248","\u672A\u5220\u51CF\u7248","\u5B8C\u6574\u7248","\u5BFC\u6F14\u526A\u8F91\u7248","\u7EC8\u6781\u7248","\u7279\u522B\u7248","\u9650\u5B9A\u7248","\u6536\u85CF\u7248","\u8C6A\u534E\u7248","\u5178\u85CF\u7248","\u9AD8\u6E05\u7248","\u8D85\u6E05\u7248","\u6807\u6E05\u7248","HD\u7248","UHD\u7248","4K\u7248","\u84DD\u5149\u7248","DVD\u7248","BD\u7248","WEB\u7248","TVrip","BDrip","DVDrip","HDrip","WEB-DL","HDTV","DVDRip","BRRip","HDRip","BluRay","TS","TC","CAM","\u62A2\u5148\u7248","\u67AA\u7248","\u5077\u62CD\u7248","\u6CC4\u9732\u7248","\u62A2\u5148\u770B","\u6B63\u7247","\u6B63\u7247\u7247\u6BB5","\u6B63\u7247\u7CBE\u534E","\u82B1\u7D6E\u96C6\u9526","\u5E55\u540E\u82B1\u7D6E","\u5236\u4F5C\u7279\u8F91","\u8BBF\u8C08\u5F55","\u9996\u6620\u793C","\u7EA2\u6BEF\u79C0","\u8DEF\u6F14","\u53D1\u5E03\u4F1A","\u9884\u544A\u7247\u5408\u96C6","\u9884\u544A\u7247\u82B1\u7D6E","\u7247\u82B1\u9884\u544A","\u7CBE\u5F69\u7247\u6BB5","\u7CBE\u5F69\u96C6\u9526","\u7CBE\u9009\u7247\u6BB5","\u9AD8\u80FD\u7247\u6BB5","\u9AD8\u5149\u65F6\u523B","\u526A\u8F91\u7248","\u6DF7\u526A","MV","\u4E3B\u9898\u66F2","\u63D2\u66F2","\u7247\u5C3E\u66F2","\u914D\u4E50","\u539F\u58F0","OST","\u539F\u58F0\u5E26","\u539F\u58F0\u5927\u789F","\u97F3\u4E50\u96C6","\u97F3\u4E50\u4F1A","\u6F14\u5531","Live","Live\u7248","\u73B0\u573A\u7248","\u73B0\u573A\u5F55\u5236","\u821E\u53F0\u7248","\u821E\u53F0\u5267","\u8BDD\u5267","\u6B4C\u5267","\u821E\u5267","\u620F\u66F2","\u4EAC\u5267","\u8D8A\u5267","\u7CA4\u5267","\u8BC4\u5267","\u9EC4\u6885\u620F","\u4E8C\u4EBA\u8F6C","\u76F8\u58F0","\u5C0F\u54C1","\u7EFC\u827A\u79C0","\u771F\u4EBA\u79C0","\u8131\u53E3\u79C0","\u8BBF\u8C08\u8282\u76EE","\u7EAA\u5F55\u7247\u7CFB\u5217","\u4E13\u9898\u7247","\u79D1\u6559\u7247","\u52A8\u753B\u7247","\u52A8\u6F2B\u7247","\u52A8\u753B\u77ED\u7247","\u52A8\u753B\u7535\u5F71","\u52A8\u753B\u7CFB\u5217","\u52A8\u753B\u5267\u96C6","\u52A8\u753B\u8FDE\u7EED\u5267","\u52A8\u753BOVA","\u52A8\u753BOAD","\u52A8\u753BSP","\u52A8\u753B\u7279\u5178","\u52A8\u753B\u5408\u96C6","\u52A8\u753B\u7CBE\u9009","\u7535\u5F71\u5408\u96C6","\u5F71\u7247\u5408\u96C6","\u7CFB\u5217\u5408\u96C6","\u5408\u96C6\u7248","\u5957\u88C5\u7248","\u5957\u88C5\u5408\u96C6","\u5168\u96C6","\u5168\u7CFB\u5217","\u5168\u5B63","\u7B2C\u4E00\u5B63","\u7B2C\u4E8C\u5B63","\u7B2C\u4E09\u5B63","\u7B2C\u56DB\u5B63","\u7B2C\u4E94\u5B63","\u7B2C\u516D\u5B63","\u7B2C\u4E03\u5B63","\u7B2C\u516B\u5B63","\u7B2C\u4E5D\u5B63","\u7B2C\u5341\u5B63","\u66F4\u65B0\u4E2D","\u5B8C\u7ED3","\u5B8C\u7ED3\u7BC7","\u5B8C\u7ED3\u5B63","\u6700\u7EC8\u5B63","\u6700\u7EC8\u7AE0","\u7EC8\u7AE0","\u7EC8\u7BC7","\u5927\u7ED3\u5C40","\u5927\u7D50\u5C40","\u7279\u522B\u7BC7\u5B8C\u7ED3","\u756A\u5916\u5B8C\u7ED3","OVA\u5B8C\u7ED3","OAD\u5B8C\u7ED3","SP\u5B8C\u7ED3","\u5168\u5267\u7EC8","\u5B8C\u7ED3\u6492\u82B1","\u5B8C\u7ED3\u7EAA\u5FF5","\u5B8C\u7ED3\u7279\u8F91","\u5B8C\u7ED3\u8BBF\u8C08","\u5B8C\u7ED3\u82B1\u7D6E","\u5B8C\u7ED3\u5408\u96C6","\u5B8C\u7ED3\u7BC7\u5408\u96C6","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6","\u5B8C\u7ED3\u7279\u8F91\u5408\u96C6","\u5B8C\u7ED3\u8BBF\u8C08\u5408\u96C6","\u5B8C\u7ED3\u82B1\u7D6E\u5408\u96C6","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91","\u5B8C\u7ED3\u7EAA\u5FF5\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u7279\u8F91","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91\u8BBF\u8C08","\u5B8C\u7ED3\u7EAA\u5FF5\u7279\u8F91\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u8BBF\u8C08\u82B1\u7D6E","\u5B8C\u7ED3\u7EAA\u5FF5\u5408\u96C6\u7279\u8F91\u8BBF\u8C08\u82B1\u7D6E","BD","BDRIP","WEB-DL","HDRip","DVDRip","BDRip","BRRip","Rip","BluRay","IMAX","CAM","HD","HDR","UHD","4K","1080p","720p","2160p","480p","120fps","60fps","x264","x265","H264","HEVC","AAC","dts","ddp","truehd","10bit","8bit","5.1","7.1","\u56FD\u8BED","\u7CA4\u8BED","\u82F1\u8BED","\u65E5\u8BED","\u97E9\u8BED","\u6CF0\u8BED","\u6CD5\u8BED","\u5FB7\u8BED","\u897F\u73ED\u7259\u8BED","\u4FC4\u8BED","\u8461\u8404\u7259\u8BED","\u610F\u5927\u5229\u8BED","\u81FB\u5F69","\u4E2D\u5B57","\u7B80\u4E2D","\u7E41\u4E2D","\u7B80\u7E41\u4E2D\u5B57","\u4E2D\u82F1\u53CC\u5B57","\u5185\u5D4C","\u5185\u5C01","\u675C\u6BD4\u5168\u666F\u58F0","\u675C\u6BD4\u97F3\u6548","\u65E0\u6C34\u5370","\u5B8C\u6574\u7248","\u539F\u58F0\u7248","\u89E3\u8BF4\u7248","\u9884\u544A\u7247","\u672A\u5220\u51CF\u7248","\u52A0\u957F\u7248","\u84DD\u5149","\u62A2\u5148\u7248","TC\u7248","\u62A2\u5148","TC","\u4E24\u5B63\u5168","\u5168\u5B63","\u5168\u96C6","DV","\u538B\u5236","HQ","\u5E27","\u7535\u5F71\u7248","\u8C46\u74E3","\u66F4\u65B0","\u66F4\u65B0\u5230","\u63A8\u8350","\u52A8\u4F5C","\u5192\u9669","\u7231\u60C5","\u79D1\u5E7B","\u60AC\u7591","\u60CA\u609A","\u6050\u6016","\u559C\u5267","\u60B2\u5267","\u5267\u60C5","\u5947\u5E7B","\u72AF\u7F6A","\u6218\u4E89","\u5386\u53F2","\u4F20\u8BB0","\u97F3\u4E50","\u6B4C\u821E","\u5BB6\u5EAD","\u513F\u7AE5","\u4F53\u80B2","\u707E\u96BE","\u4F26\u7406","\u77ED\u7247","\u5FAE\u7535\u5F71","\u9AD8\u6E05","\u8D85\u6E05","\u6807\u6E05","\u62A2\u9C9C\u770B","\u9996\u64AD","\u72EC\u64AD","\u70ED\u64AD","\u8FDE\u8F7D\u4E2D","\u6700\u65B0","\u7ECF\u5178","\u70ED\u95E8","\u83B7\u5956","\u53E3\u7891","\u597D\u8BC4","\u9AD8\u5206","\u8C46\u74E3\u9AD8\u5206","IMDb\u9AD8\u5206","\u672A\u5206\u7EA7","\u9650\u5236\u7EA7","\u5BFC\u6F14\u526A\u8F91","\u52A0\u957F","\u7279\u522B\u52A0\u957F","\u7EC8\u6781\u526A\u8F91","\u6536\u85CF","\u8C6A\u534E","\u7EAA\u5FF5","\u9650\u5B9A","\u91CD\u6620","\u4FEE\u590D","\u6570\u7801\u4FEE\u590D","\u91CD\u5236","\u84DD\u5149\u4FEE\u590D","\u91CD\u5236\u9AD8\u6E05","\u9AD8\u6E05\u91CD\u5236","\u91CD\u7F16","\u91CD\u526A","\u914D\u97F3","\u8BD1\u5236","\u539F\u58F0","\u53CC\u8BED","\u591A\u8BED","\u591A\u58F0\u9053","\u73AF\u7ED5\u58F0","\u5168\u666F\u58F0","3D","VR","\u5168\u666F","360\u5EA6","8K","\u539F\u753B","\u65E0\u635F","\u6709\u635F","\u538B\u7F29","\u672A\u538B\u7F29","\u9AD8\u7801\u7387","\u4F4E\u7801\u7387","\u91CD\u7F16\u7801","\u591A\u5B57\u5E55","\u591A\u97F3\u8F68","\u53CC\u97F3\u8F68","\u591A\u7248\u672C","\u5408\u96C6","\u5957\u88C5","\u7CFB\u5217","\u5B8C\u7ED3\u7248","\u6700\u7EC8\u5B63","\u6700\u7EC8\u7AE0","\u7EC8\u7AE0","\u5927\u7ED3\u5C40","\u7279\u522B\u7BC7","\u756A\u5916\u7BC7","OVA","OAD","SP","\u5267\u573A\u7248","\u7535\u5F71\u7248","\u5F71\u7248","\u5267\u7248","\u52A8\u753B\u7248","\u771F\u4EBA\u7248","\u6539\u7F16\u7248","\u539F\u521B","\u884D\u751F","\u756A\u5916","\u7EED\u96C6","\u524D\u4F20","\u540E\u4F20","\u91CD\u542F","\u7FFB\u62CD","\u91CD\u62CD","\u81F4\u656C","\u7EAA\u5FF5","\u732E\u793C","\u8D3A\u5C81","\u6691\u671F\u6863","\u56FD\u5E86\u6863","\u8D3A\u5C81\u6863","\u6625\u8282\u6863","\u60C5\u4EBA\u8282\u6863","\u4E2D\u79CB\u6863","\u6863\u671F","\u4E0A\u6620","\u5B9A\u6863","\u9996\u6620","\u516C\u6620","\u4E0A\u6620\u65F6\u95F4","\u4E0A\u6620\u65E5\u671F","\u7968\u623F","\u7968\u623F\u51A0\u519B","\u7968\u623F\u699C","\u53E3\u7891\u699C","\u8BC4\u5206\u699C","\u6392\u884C\u699C","\u699C\u5355","\u699C\u5355\u7B2C\u4E00","\u70ED\u95E8\u699C","\u70ED\u641C","\u70ED\u8BAE","\u8BDD\u9898","\u70ED\u8BAE\u8BDD\u9898","\u70ED\u95E8\u8BDD\u9898","\u8BA8\u8BBA\u5EA6","\u5173\u6CE8\u5EA6","\u70ED\u5EA6","\u70ED\u5EA6\u699C","\u70ED\u95E8\u63A8\u8350","\u7CBE\u9009","\u529B\u8350","\u5F3A\u70C8\u63A8\u8350","\u5FC5\u770B","\u4E0D\u53EF\u9519\u8FC7","\u7ECF\u5178\u4E4B\u4F5C","\u795E\u4F5C","\u4F73\u4F5C","\u9AD8\u5206\u4F73\u4F5C","\u9AD8\u5206\u795E\u4F5C","\u70C2\u7247","\u5DEE\u8BC4","\u4F4E\u5206","\u53E3\u7891\u7206\u68DA","\u53E3\u7891\u6251\u8857","\u53E3\u7891\u4E24\u6781","\u53E3\u7891\u5206\u5316","\u4E89\u8BAE","\u70ED\u8BAE\u4E0D\u65AD","\u5907\u53D7\u5173\u6CE8","\u4E07\u4F17\u671F\u5F85","\u671F\u5F85\u5DF2\u4E45","\u4E07\u4F17\u77A9\u76EE","\u5E74\u5EA6\u6700\u4F73","\u5E74\u5EA6\u6700\u5DEE","\u5E74\u5EA6\u4E4B\u4F5C","\u5E74\u5EA6\u9ED1\u9A6C","\u5E74\u5EA6\u60CA\u559C","\u5E74\u5EA6\u5931\u671B","\u538B\u8F74\u4E4B\u4F5C","\u6536\u5B98\u4E4B\u4F5C","\u6536\u5B98","\u6536\u5B98\u5B63","\u6536\u5B98\u6218","\u5927\u7ED3\u5C40\u524D\u7BC7","\u5927\u7ED3\u5C40\u540E\u7BC7","\u6700\u7EC8\u56DE","\u6700\u7EC8\u8BDD","\u6700\u7EC8\u7AE0\u524D\u7BC7","\u6700\u7EC8\u7AE0\u540E\u7BC7"],OIr=[...Lce,...NIr],dlt=new RegExp(OIr.join("|"),"ig"),PIr=new RegExp(Lce.join("|"),"ig");function sA(t){if(!t||!t.trim())return"";let e=t.trim();e=e.replace(/丨/g,""),e=e.replace(/-/g," "),e=e.replace(PIr,""),e=e.replace(/\s+/g," ").trim();let r=e.match(/^[\u4e00-\u9fa5]+\d+(?=:|\s|$)/);if(r)return r[0];let n=e.match(/^[\u4e00-\u9fa5]+[\u4e00-\u9fa50-9]+\s*(?=\(\d{4}\))/);if(n)return n[0];let s=e.match(/^[\u4e00-\u9fa5]+[\u4e00-\u9fa5 ,.,。ã€]+\s*(?=\(|ã€|\s+\d{4})/),i=s?s[0].trim():"",a=!1,o=e.match(/《(.+?)》/);if(o)e=o[1],a=!0;else{let l=new RegExp(`\u3010((?!${Lce.join("|")})[\u4E00-\u9FA5]{2,}[^/]+?)\u3011`,"i"),d=e.match(l);d&&(e=d[1],a=!0)}!a&&i&&(e=i);let c=[[/.*-/g,""],[/\b\d{4}\b/g,""],[/(?<!^)\[.*?\]|\{.*?\}|(.*?)|「.*?ã€/g," "],[/\b\d+(\.\d+)?[GMK]B?\b/gi,""],[dlt,""],[/豆瓣\d+(\.\d+)?/g,""],[/\b\d+(?=fps|帧)/g,""],[/\b[a-zA-Z]\b/g,""],[/(?<![\u4e00-\u9fa5])\b\d+\b(?![\u4e00-\u9fa5])/g,""],[/[^a-zA-Z0-9\u4e00-\u9fa5 ]/g,""],[/\s+/g," "]];for(let l of c)e=e.replace(l[0],l[1]);e=e.trim(),e.includes(" ")&&(e=e.substring(0,e.indexOf(" "))),!a&&i&&(e=e.replace(/\s/g,""));let u=t.match(/([\u4e00-\u9fa5]{2,})\s*$/);if(u){let l=u[1];(e.length<2||/\d+集/.test(e))&&(e=l)}if(!e){let l=t.match(/\[(.*?)\]/);l&&(e=l[1].trim(),e=e.replace(dlt,"").replace(/\d+/g,"").replace(/\s+/g," ").trim())}return e.trim()}function Bce(t){if(!t)return"";let e=t.match(/(?:^|[^a-zA-Z0-9])(S|Season)\s*(\d+)/i);if(e&&(e[1].toLowerCase()==="s"||e[1].toLowerCase()==="season"))return e[2].padStart(2,"0");let r=t.match(/第\s*([一二三四五å…七八ä¹å百åƒä¸‡äº¿\d]+)\s*å£/);return r?Jf(r[1]).padStart(2,"0"):""}var flt={\u96F6:0,\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9},plt={\u5341:10,\u767E:100,\u5343:1e3,\u4E07:1e4,\u4EBF:1e8};function mlt(t){if(!t)return-1;let e=0,r=0,n=0,s=!1;for(let i=0;i<t.length;i++){let a=t[i];if(flt.hasOwnProperty(a))n=flt[a];else if(plt.hasOwnProperty(a)){let o=plt[a];o===10?(n===0&&(n=1),r+=n*o,n=0):o===1e4||o===1e8?(r+=n,e+=r*o,r=0,n=0,s=!0):(r+=(n||1)*o,n=0)}else return-1}return s||(e+=r),e+=n,t.startsWith("\u5341")&&e<20&&(e=10+e%10),e}function Jf(t){return t&&t.replace(/([零一二三四五å…七八ä¹å百åƒä¸‡äº¿]+)|(\d+)/g,(e,r,n)=>{if(r){let s=mlt(r);return s!==-1?String(s):e}else if(n)return String(parseInt(n,10));return e})}function DIr(t){let e=t;return e=e.replace(/[(()[\]ã€ã€‘{}]\s*([上ä¸ä¸‹])\s*[)()[\]ã€ã€‘{}]/g,"$1"),e=e.replace(/(\[|\{|\(|ã€).*?(\]|\}|)|】)/g," "),e=e.replace(/\d+\s*(fps|帧|frames?|hz|赫兹)/gi," "),e=e.replace(/\b(\d+(p|k|i)|4k|8k|uhd|hd|fhd|qhd|2160p|1440p|1080p|720p|480p|360p)\b/gi," "),e=e.replace(/\b(19|20)\d{2}\b/g," "),e=e.replace(/\b(?:dts|ddp|aac|ac3|eac3|truehd|atmos)\d+(?:\.\d+)?\b|\b\d+\.\d+\b/gi," "),e=e.replace(/\b(8bit|10bit|12bit)\b/gi," "),e=e.replace(/\b(hdr|hdr10|hdr10\+|dolby vision|dv|hlg)\b/gi," "),e=e.replace(/\b(x264|x265|h\.264|h\.265|h264|h265|hevc|mpeg4|av1|vp9)\b/gi," "),e=e.replace(/\b(web-dl|bluray|bdrip|hdrip|dvdrip|brrip|hdtv|dvdr|cam|ts|tc|r5|scr)\b/gi," "),e=e.replace(/\b(hq|sd|hd|fhd|uhd|imax|superbit|remux|extended|uncut|directors cut|dc|special edition|se)\b/gi," "),e=e.replace(/\b(高ç |高ç 率|高ç 版|超清|高清|æ ‡æ¸…|æ— æ°´å°|完整版|æœªåˆ å‡|åŠ é•¿ç‰ˆ|导演剪辑版|特效å—幕|内嵌å—幕|åŒè¯å—幕|䏿–‡å—幕|英文å—幕|ç¹ä½“å—幕|简体å—幕|多音轨|æœæ¯”音效|全景声|hdr)\b/gi," "),e=e.replace(/[\-\_.,()]+/g," "),e.replace(/\s+/g," ").trim()}function kIr(t){let e=t.replace(/(\[|\{|\(|ã€).*?(\]|\}|)|】)/g," ");if(/s\d+e\d+/i.test(e))return"-1";let r=e.match(/[\u4e00-\u9fa5\-\_\.\s]+(0*\d{1,8})(?:[\-\_\.\s]|$)/);if(r){let n=r[1],s=parseInt(n,10);if(s>0&&!(s>=1900&&s<=2100))return Jf(n)}if(r=e.trim().match(/^0*\d{1,8}$/),r){let n=r[0],s=parseInt(n,10);if(s>0&&!(s>=1900&&s<=2100))return Jf(n)}return"-1"}function LIr(t){let e="\u671F|\u5B63",r="\u4E0A\u4E2D\u4E0B",n="\u96C6\u8A71\u8BDD",s=new RegExp(`(\u7B2C?)(0*(d{1,8}|[\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u767E\u5343\u4E07\u4EBF]+))((?:${e})[${r}]?[\uFF08(]?[${r}]?[)\uFF09]?)`),i=t.match(s);if(i){let o=i[1],c=i[2],u=i[4].replace(/[(())]/g,"");return c=Jf(c),o+c+u}let a=Array.from(t.matchAll(/(?:s\d+.*?e|e)(\d{1,8})(?!\d)/gi));if(a.length>0)return Jf(a[a.length-1][1]);if(s=new RegExp(`\u7B2C([\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u767E\u5343\u4E07\u4EBF]+)[${n}]`),i=t.match(s),i){let o=mlt(i[1]);return o>0?String(o):"-1"}return s=new RegExp(`\u7B2C(d{1,8})[${n}]`),i=t.match(s),i||(i=t.match(/ep(\d{1,8})/i),i)||(s=new RegExp(`(d{1,8})[${n}]`),i=t.match(s),i)?Jf(i[1]):"-1"}function BIr(t){let e="a-zA-Z\xC0-\u017F",r=new RegExp(`(?<![${e}d])0*(\\d{1,8})(?![${e}d])`,"gu"),n=t.match(r);if(n)for(let s of n){let i=parseInt(s,10);if(!(i>=1900&&i<=2100))return Jf(s)}return"-1"}function Yw(t){if(!t)return"-1";let e=t,r=e.lastIndexOf(".");r>0&&(e=e.substring(0,r));let n=DIr(e),s=LIr(n);if(s!=="-1")return s;let i=kIr(e);return i!=="-1"?i:BIr(n)}var Mce=async t=>(await t.db.getObjectDefault("/t4",{}))?.list||t.config.t4?.list||[],MIr=async(t,e)=>{await t.db.push("/t4/list",e)},WIr=async t=>{await t.db.delete("/t4/list")};async function Wce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Mce(e.server)})}),t.put("/list",async(e,r)=>{await MIr(e.server,e.body),r.send({code:0})}),t.delete("/list",async(e,r)=>{await WIr(e.server),r.send({code:0})})}function $ce(t,e){let r=Ae.create({baseURL:e});function n(){return{}}async function s(){try{let{data:u}=await r.get("",{params:{filter:!0}});return u}catch(u){return console.warn(u),{class:[]}}}async function i(u){try{let{data:l}=await r.get("",{params:{ac:"detail",t:u.body.id,pg:u.body.page||1}});return l}catch(l){console.warn(l)}}async function a(u){try{let{data:l}=await r.get("",{params:{ac:"detail",ids:u.body.id}});return l}catch(l){console.warn(l)}}async function o(u){try{let{data:l}=await r.get("",{params:{play:u.body.id,flag:u.body.flag}});return!l.url&&!l.urls&&u.body.id.startsWith("http")?{url:u.body.id}:l}catch(l){console.warn(l)}}async function c(u){try{let{data:l}=await r.get("",{params:{ac:"list",wd:u.body.wd}});return l}catch(l){console.warn(l)}}return{meta:{key:t,name:t,type:3,t4:!0},api:async u=>{u.post("/init",n),u.post("/home",s),u.post("/category",i),u.post("/detail",a),u.post("/play",o),u.post("/search",c)}}}var $Ir=["/api.php/provide/vod/","/api.php/provide/vod","/api.php/app/","/api.php/app"],vM="\u300C\u91C7\u300D",FIr=[{name:`${vM}\u7535\u5F71\u5929\u5802`,address:"http://dyttzyw.com/api.php/provide/vod/"}];function Uce(t,e="https"){let r=String(t||"").trim();return r?/^https?:\/\//i.test(r)?r:`${e}://${r}`:""}function qce(t){try{return new URL(t)}catch{return null}}function UIr(t=""){let e=String(t||"").toLowerCase();return e==="localhost"||e.includes(".")||e.includes(":")||/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)}function qIr(t){for(let e of["ac","wd","t","pg","ids","quick"])t.searchParams.delete(e);return t.hash="",t}function glt(t){let e=String(t||"").trim(),r=/^https?:\/\//i.test(e),n=qce(Uce(e));return!n||!["http:","https:"].includes(n.protocol)||!r&&!UIr(n.hostname)?"":(qIr(n),n.toString())}function jIr(t={},e=""){let r=String(t.name||t.title||e||"").trim();return r||qce(Uce(t.address||t.api||t.url||""))?.hostname||"CMS"}function HIr(t){let e=String(t||"").trim();return e?e.startsWith(vM)?e:`${vM}${e}`:`${vM}CMS`}function jce(t,e=""){if(!t||typeof t!="object")return null;let r=String(t.address||t.api||t.url||"").trim(),n=glt(r);return n?{name:HIr(jIr({...t,address:n},e)),address:n}:null}function Alt(t){if(typeof t=="string")try{return Alt(JSON.parse(t))}catch{return[]}return Array.isArray(t)?t:!t||typeof t!="object"?[]:Array.isArray(t.sites)?t.sites:Array.isArray(t.list)?t.list:t.api_site&&typeof t.api_site=="object"?Object.entries(t.api_site).map(([e,r])=>({...r,key:e})):[]}function QIr(t){let e=new Set;return Alt(t).map(r=>jce(r,r?.key)).filter(r=>!r||e.has(r.address)?!1:(e.add(r.address),!0))}function GIr(t){let e=String(t||"").trim(),r=[],n=s=>{let i=glt(s);i&&!r.includes(i)&&r.push(i)};for(let s of["https","http"]){let i=qce(Uce(e,s));if(!i)continue;if(n(i.toString()),!i.pathname||i.pathname==="/")for(let o of $Ir)n(`${i.origin}${o}`)}return r}async function hlt(t,e=void 0){let r=await he.get(t,{params:e,timeout:1e4,validateStatus:n=>n>=200&&n<400});if(typeof r.data=="string")try{return JSON.parse(r.data)}catch{return r.data}return r.data}function VIr(t){return!!t&&typeof t=="object"&&Array.isArray(t.class)}async function zIr(t,e=""){let r=String(t||"").trim();if(!r)throw new Error("\u8BF7\u8F93\u5165 CMS \u5730\u5740");let n=GIr(r);for(let s of n)try{let i=await hlt(s),a=QIr(i);if(a.length>0)return{type:"config",sources:a}}catch{}for(let s of n)try{let i=await hlt(s,{ac:"class"});if(VIr(i))return{type:"cms",sources:[jce({name:e,address:s})].filter(Boolean)}}catch{}throw new Error("\u672A\u8BC6\u522B\u5230\u53EF\u7528\u7684 CMS \u6E90")}function Fce(t=[]){let e=new Set;return(Array.isArray(t)?t:[]).map(r=>jce(r)).filter(r=>!r||e.has(r.address)?!1:(e.add(r.address),!0))}var Hce=async t=>{let e=await t.db.getObjectDefault("/cms",{});if(e&&Object.prototype.hasOwnProperty.call(e,"list"))return Fce(e.list);let r=Array.isArray(t.config.cms?.list)?t.config.cms.list:[];return Fce(r.length>0?r:FIr)},KIr=async(t,e)=>{await t.db.push("/cms/list",Fce(e))},YIr=async t=>{await t.db.delete("/cms/list")};async function Qce(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Hce(e.server)})}),t.put("/list",async(e,r)=>{await KIr(e.server,e.body),r.send({code:0})}),t.post("/resolve",async(e,r)=>{try{r.send({code:0,data:await zIr(e.body?.url,e.body?.name)})}catch(n){r.send({code:-1,message:n.message||"CMS \u89E3\u6790\u5931\u8D25"})}}),t.delete("/list",async(e,r)=>{await YIr(e.server),r.send({code:0})})}var JIr=/\.(m3u8|mp4|mkv|flv|avi|webm|mov)(?:[?#]|$)/i,Gce="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0 Safari/537.36";function XIr(t=""){return/^https?:\/\//i.test(String(t||"").trim())}function ZIr(t=""){return JIr.test(String(t||"").trim())}function eTr(t="",e=""){try{return new URL(String(t||"").trim(),e).toString()}catch{return String(t||"").trim()}}function tTr(t=""){let e=[/["']([^"']+\.m3u8(?:\?[^"']*)?)["']/i,/(https?:\/\/[^\s"'<>]+\.m3u8(?:\?[^\s"'<>]*)?)/i];for(let r of e){let n=r.exec(String(t||""));if(n?.[1])return n[1].replace(/\\\//g,"/")}return""}function Vce(t,e){let r=he.create({baseURL:e});function n(){return{}}async function s(){try{let{data:u}=await r.get("",{params:{ac:"class"}});return u}catch(u){return console.warn(u),{class:[]}}}async function i(u){try{let{data:l}=await r.get("",{params:{ac:"detail",t:u.body.id,pg:u.body.page||1}});return l}catch(l){console.warn(l)}}async function a(u){try{let{data:l}=await r.get("",{params:{ac:"detail",ids:u.body.id}});return l}catch(l){console.warn(l)}}async function o(u){let l=String(u.body.id||"").trim();if(!l)return{url:""};if(!XIr(l)||ZIr(l))return{parse:0,url:l};try{let{data:d}=await he.get(l,{timeout:1e4,headers:{"User-Agent":Gce,Referer:l}}),f=tTr(d);if(f)return{parse:0,url:eTr(f,l),header:{Referer:l,"User-Agent":Gce}}}catch(d){console.warn(d)}return{parse:1,url:l,header:{Referer:l,"User-Agent":Gce}}}async function c(u){try{let{data:l}=await r.get("",{params:{ac:"list",wd:u.body.wd}});return l}catch(l){console.warn(l)}}return{meta:{key:t,name:t,type:3,cms:!0},api:async u=>{u.post("/init",n),u.post("/home",s),u.post("/category",i),u.post("/detail",a),u.post("/play",o),u.post("/search",c)}}}var iA={HOME:0,CATEGORY:0,SEARCH:0,DETAIL:12e4,PLAY:3e4,SPIDERS:0},zce=class{constructor(e=800){this.max=Math.max(100,Number(e)||800),this.data=new Map,this.pending=new Map}get(e){if(!this.data.has(e))return;let r=this.data.get(e);if(r.expireAt>0&&r.expireAt<=Date.now()){this.data.delete(e);return}return this.data.delete(e),this.data.set(e,r),r.value}set(e,r,n=0){let s=n>0?Date.now()+n:0;return this.data.has(e)&&this.data.delete(e),this.data.set(e,{value:r,expireAt:s}),this.compact(),r}delete(e){this.pending.delete(e),this.data.delete(e)}clear(){this.pending.clear(),this.data.clear()}compact(){for(;this.data.size>this.max;){let e=this.data.keys().next().value;this.data.delete(e)}}async wrap(e,r,n){let s=this.get(e);if(s!==void 0)return s;if(this.pending.has(e))return this.pending.get(e);let i=(async()=>{try{let a=await n();return a!==void 0&&this.set(e,a,r),a}finally{this.pending.delete(e)}})();return this.pending.set(e,i),i}};function CM(t={}){return new zce(t.max||800)}async function Xf(t,e,r,n){return!t||typeof t.wrap!="function"||Number(r)<=0?n():t.wrap(e,r,n)}function im(t=[]){return t.map(e=>String(e)).join(":")}function rTr(t){let e=String(t||"").trim().replace(/\/+$/,""),r=e.match(/^\/spider\/([^/]+)\/(\d+)(?:\/.*)?$/);return r?{apiBase:e,spiderKey:decodeURIComponent(r[1]),spiderType:Number(r[2])}:null}function Kce(t){return String(t||"").split(",")[0].trim()}function IM(t=null){let r=Kce(t?.headers?.["x-forwarded-host"])||Kce(t?.headers?.host);if(!r)return{headers:void 0,cacheVary:"-"};let s=Kce(t?.headers?.["x-forwarded-proto"])||String(t?.protocol||"http").trim()||"http";return{headers:{host:r,"x-forwarded-host":r,"x-forwarded-proto":s},cacheVary:`${s}://${r}`}}function nTr(t=[],e=[]){let r={};if(t.forEach(i=>{r[i.key]=i}),!Array.isArray(e)||!e.length)return t;let n={},s=[];return e.forEach(i=>{n[i.key]=!0;let a=r[i.key];if(!a||!i.enable)return;let o=typeof i.name=="string"?i.name.trim():"";s.push({...a,name:o||a.name})}),t.forEach(i=>{n[i.key]||s.push(i)}),s}async function Xl(t){let e=t.embyContext?.cache;return Xf(e,"emby:enabled-video-spiders:v2",iA.SPIDERS,async()=>{let r=await t.inject({method:"GET",url:"/full-config"});if(r.statusCode>=400)return[];let n=r.json(),s=Array.isArray(n?.video?.sites)?n.video.sites:[],i=await Kw(t).catch(()=>[]),a=nTr(s,i),o={},c=[];return a.forEach(u=>{let l=rTr(u.api);if(!l||l.spiderType!==3)return;let d=`${u.key}:${l.apiBase}`;o[d]||(o[d]=!0,c.push({siteKey:u.key,siteName:u.name||l.spiderKey,spiderKey:l.spiderKey,spiderType:l.spiderType,apiBase:l.apiBase,api:u.api}))}),c})}function aA(t=[],e,r=null,n=""){let s=r===null?null:Number(r),i=String(n||"").trim();return t.find(a=>a.spiderKey!==e?!1:s===null?!0:i&&a.apiBase!==i?!1:Number(a.spiderType)===s)||null}async function oA(t,e,r,n,s={},i={}){let a=i?.headers&&typeof i.headers=="object"?i.headers:void 0,o=String(i?.apiBase||"").trim()||`/spider/${encodeURIComponent(e)}/${r}`,c=await t.inject({method:"POST",url:`${o.replace(/\/+$/,"")}/${n}`,payload:s,headers:a});if(c.statusCode>=400)throw new Error(`Spider call failed: ${e}/${r}/${n} ${c.statusCode}`);let u=t.embyContext?.config?.requestLog;try{let l=c.json();if(u&&(n==="detail"||n==="play")){if(n==="detail"){let d=Array.isArray(l?.list)&&l.list.length>0?l.list[0]:null,f=String(d?.vod_play_from||""),p=String(d?.vod_play_url||""),m=f?f.split("$$$").filter(Boolean).length:0,h=p?p.split("$$$").map(A=>String(A||"").split("#").filter(Boolean).length):[];console.log("[Emby Spider] detail:",JSON.stringify({spiderKey:e,spiderType:r,request:{id:String(s?.id||"")},response:{listCount:Array.isArray(l?.list)?l.list.length:0,vodId:String(d?.vod_id||""),vodName:String(d?.vod_name||""),vodRemarks:String(d?.vod_remarks||""),lineCount:m,episodeCountPerLine:h.slice(0,10)}}))}else if(n==="play"){let d=l?.header&&typeof l.header=="object"?Object.keys(l.header):[];console.log("[Emby Spider] play:",JSON.stringify({spiderKey:e,spiderType:r,request:{flag:String(s?.flag||""),idPreview:String(s?.id||"").slice(0,80)},response:{parse:Number(l?.parse||0),hasUrl:!!l?.url,urlPreview:String(l?.url||"").slice(0,120),headerKeys:d}}))}}return l}catch{return{}}}async function Jw(t,e,r=null){let n=t.embyContext?.cache,s=IM(r),i=im(["emby","home",e.spiderKey,e.spiderType,e.apiBase||"",s.cacheVary]);return Xf(n,i,iA.HOME,()=>oA(t,e.spiderKey,e.spiderType,"home",{},{headers:s.headers,apiBase:e.apiBase}))}async function NE(t,e,r,n=1,s={},i=null){let a=t.embyContext?.cache,o=IM(i),c=im(["emby","category",e.spiderKey,e.spiderType,e.apiBase||"",r,n,JSON.stringify(s||{}),o.cacheVary]);return Xf(a,c,iA.CATEGORY,()=>oA(t,e.spiderKey,e.spiderType,"category",{id:r,page:n,filter:!0,filters:s||{}},{headers:o.headers,apiBase:e.apiBase}))}async function Oc(t,e,r,n=null){let s=t.embyContext?.cache,i=IM(n),a=im(["emby","detail",e.spiderKey,e.spiderType,e.apiBase||"",r,i.cacheVary]);return Xf(s,a,iA.DETAIL,()=>oA(t,e.spiderKey,e.spiderType,"detail",{id:r},{headers:i.headers,apiBase:e.apiBase}))}async function ylt(t,e,r,n=1){let s=t.embyContext?.cache,i=im(["emby","search",e.spiderKey,e.spiderType,e.apiBase||"",r,n]);return Xf(s,i,iA.SEARCH,()=>oA(t,e.spiderKey,e.spiderType,"search",{wd:r,page:n},{apiBase:e.apiBase}))}async function am(t,e,r,n,s=null){let i=t.embyContext?.cache,a=IM(s),o=im(["emby","play",e.spiderKey,e.spiderType,e.apiBase||"",r,n,a.cacheVary]);return Xf(i,o,iA.PLAY,()=>oA(t,e.spiderKey,e.spiderType,"play",{flag:r,id:n},{headers:a.headers,apiBase:e.apiBase}))}function Pc(t){return!t||!Array.isArray(t.list)||!t.list.length?null:t.list[0]}function Zl(t={}){return{spiderKey:String(t.k||t.spiderKey||""),spiderType:Number(t.t||t.spiderType||3),apiBase:String(t.a||t.apiBase||"")}}var Yce=Re(require("node:fs"),1),Xw=Re(require("node:path"),1),sTr=()=>{try{return`const appConfig = {\r
|
|
_webSite: '',\r
|
|
/**\r
|
|
* \u7F51\u7AD9\u4E3B\u9875\uFF0Cuz \u8C03\u7528\u6BCF\u4E2A\u51FD\u6570\u524D\u90FD\u4F1A\u8FDB\u884C\u8D4B\u503C\u64CD\u4F5C\r
|
|
* \u5982\u679C\u4E0D\u60F3\u88AB\u6539\u53D8 \u8BF7\u81EA\u5B9A\u4E49\u4E00\u4E2A\u53D8\u91CF\r
|
|
*/\r
|
|
get webSite() {\r
|
|
return this._webSite\r
|
|
},\r
|
|
set webSite(value) {\r
|
|
this._webSite = value\r
|
|
},\r
|
|
\r
|
|
_uzTag: '',\r
|
|
/**\r
|
|
* \u6269\u5C55\u6807\u8BC6\uFF0C\u521D\u6B21\u52A0\u8F7D\u65F6\uFF0Cuz \u4F1A\u81EA\u52A8\u8D4B\u503C\uFF0C\u8BF7\u52FF\u4FEE\u6539\r
|
|
* \u7528\u4E8E\u8BFB\u53D6\u73AF\u5883\u53D8\u91CF\r
|
|
*/\r
|
|
get uzTag() {\r
|
|
return this._uzTag\r
|
|
},\r
|
|
set uzTag(value) {\r
|
|
this._uzTag = value\r
|
|
},\r
|
|
}\r
|
|
\r
|
|
// \u7F13\u5B58\u7B5B\u9009\u6570\u636E\r
|
|
let cachedFilters = {}\r
|
|
// \u7F13\u5B58\u63A8\u8350\u5217\u8868\r
|
|
let cachedHomeList = []\r
|
|
\r
|
|
const encodeBase64Utf8 = (text) => {\r
|
|
if (typeof Buffer !== 'undefined') {\r
|
|
return Buffer.from(text, 'utf-8').toString('base64')\r
|
|
}\r
|
|
\r
|
|
if (typeof btoa !== 'undefined') {\r
|
|
const binary = encodeURIComponent(text).replace(/%([0-9A-F]{2})/g, (_match, hex) => {\r
|
|
return String.fromCharCode(parseInt(hex, 16))\r
|
|
})\r
|
|
return btoa(binary)\r
|
|
}\r
|
|
\r
|
|
return text\r
|
|
}\r
|
|
\r
|
|
const isDoubanSource = () => {\r
|
|
const webSite = String(appConfig.webSite || '').toLowerCase()\r
|
|
return webSite.indexOf('/video/douban') !== -1 || webSite.indexOf('/api/douban') !== -1\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u8F6C\u6362\u56FE\u7247URL\u683C\u5F0F\r
|
|
* \u4ECE @Referer=...@User-Agent=... \u683C\u5F0F\u8F6C\u6362\u4E3A #headers#{...} JSON\u683C\u5F0F\r
|
|
* @param {string} url - \u539F\u59CB\u56FE\u7247URL\r
|
|
* @returns {string} - \u8F6C\u6362\u540E\u7684URL\r
|
|
*/\r
|
|
const convertImageUrl = (url) => {\r
|
|
if (!url || typeof url !== 'string') return url\r
|
|
\r
|
|
// \u5DF2\u7ECF\u662F\u6B63\u786E\u683C\u5F0F\uFF0C\u76F4\u63A5\u8FD4\u56DE\r
|
|
if (url.indexOf('#headers#') !== -1) {\r
|
|
return url\r
|
|
}\r
|
|
\r
|
|
// \u5904\u7406\u8C46\u74E3\u56FE\u7247\r
|
|
if (url.indexOf('doubanio.com') !== -1) {\r
|
|
// \u5148\u53BB\u9664\u65E7\u7684 @Referer=...@User-Agent=... \u683C\u5F0F\r
|
|
const baseUrl = url.split('@')[0].replace(/^http:/, 'https:')\r
|
|
const headers = {\r
|
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36',\r
|
|
'Referer': 'https://movie.douban.com/'\r
|
|
}\r
|
|
return baseUrl + '#headers#' + JSON.stringify(headers)\r
|
|
}\r
|
|
\r
|
|
// \u68C0\u67E5\u662F\u5426\u5305\u542B @Referer= \u548C @User-Agent=\r
|
|
if (url.indexOf('@Referer=') === -1 && url.indexOf('@User-Agent=') === -1) {\r
|
|
return url\r
|
|
}\r
|
|
\r
|
|
try {\r
|
|
// \u5206\u5272URL\u548Cheaders\u90E8\u5206\r
|
|
const parts = url.split('@')\r
|
|
const baseUrl = parts[0]\r
|
|
const headers = {}\r
|
|
\r
|
|
// \u89E3\u6790headers\r
|
|
for (let i = 1; i < parts.length; i++) {\r
|
|
const part = parts[i]\r
|
|
const equalIndex = part.indexOf('=')\r
|
|
if (equalIndex !== -1) {\r
|
|
const key = part.substring(0, equalIndex)\r
|
|
const value = part.substring(equalIndex + 1)\r
|
|
headers[key] = value\r
|
|
}\r
|
|
}\r
|
|
\r
|
|
// \u5982\u679C\u6709headers\uFF0C\u8F6C\u6362\u4E3AJSON\u683C\u5F0F\r
|
|
if (Object.keys(headers).length > 0) {\r
|
|
return baseUrl + '#headers#' + JSON.stringify(headers)\r
|
|
}\r
|
|
\r
|
|
return baseUrl\r
|
|
} catch (error) {\r
|
|
// \u5982\u679C\u89E3\u6790\u5931\u8D25\uFF0C\u8FD4\u56DE\u539F\u59CBURL\r
|
|
return url\r
|
|
}\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u5904\u7406\u89C6\u9891\u6570\u636E\uFF0C\u8F6C\u6362\u56FE\u7247URL\u683C\u5F0F\r
|
|
* @param {Array|Object} data - \u89C6\u9891\u6570\u636E\r
|
|
* @returns {Array|Object} - \u5904\u7406\u540E\u7684\u6570\u636E\r
|
|
*/\r
|
|
const processVideoData = (data) => {\r
|
|
if (!data) return data\r
|
|
\r
|
|
if (Array.isArray(data)) {\r
|
|
return data.map(item => processVideoData(item))\r
|
|
}\r
|
|
\r
|
|
if (typeof data === 'object') {\r
|
|
const processed = { ...data }\r
|
|
if (processed.vod_pic) {\r
|
|
processed.vod_pic = convertImageUrl(processed.vod_pic)\r
|
|
}\r
|
|
// \u8C46\u74E3\u6E90\u8DF3\u8F6C\u641C\u7D22\u800C\u4E0D\u662F\u8FDB\u5165\u8BE6\u60C5\r
|
|
if (isDoubanSource()) {\r
|
|
processed.goSearch = true\r
|
|
}\r
|
|
return processed\r
|
|
}\r
|
|
\r
|
|
return data\r
|
|
}\r
|
|
\r
|
|
const fetch = async (params) => {\r
|
|
let p = ''\r
|
|
if (params) {\r
|
|
const tmp = []\r
|
|
for (let key in params) {\r
|
|
tmp.push(\`\${key}=\${encodeURIComponent(params[key])}\`)\r
|
|
}\r
|
|
p = \`&\${tmp.join('&')}\`\r
|
|
}\r
|
|
const res = await req(\`\${appConfig.webSite}\${p}\`)\r
|
|
return res.data\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u5F02\u6B65\u83B7\u53D6\u5206\u7C7B\u5217\u8868\u7684\u65B9\u6CD5\u3002\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoClassList())>}\r
|
|
*/\r
|
|
async function getClassList(args) {\r
|
|
var backData = new RepVideoClassList()\r
|
|
try {\r
|
|
const ret = await fetch()\r
|
|
\r
|
|
// \u7F13\u5B58\u7B5B\u9009\u6570\u636E\r
|
|
if (ret.filters) {\r
|
|
cachedFilters = ret.filters\r
|
|
}\r
|
|
\r
|
|
// \u7F13\u5B58\u63A8\u8350\u5217\u8868\r
|
|
if (ret.list && Array.isArray(ret.list)) {\r
|
|
cachedHomeList = ret.list\r
|
|
}\r
|
|
\r
|
|
// \u5904\u7406\u5206\u7C7B\u5217\u8868\uFF0C\u6807\u8BB0\u54EA\u4E9B\u6709\u7B5B\u9009\r
|
|
if (ret.class && Array.isArray(ret.class)) {\r
|
|
const classList = ret.class.map(item => {\r
|
|
const hasFilter = ret.filters && ret.filters[item.type_id] && ret.filters[item.type_id].length > 0\r
|
|
return {\r
|
|
type_id: item.type_id,\r
|
|
type_name: item.type_name,\r
|
|
hasSubclass: hasFilter\r
|
|
}\r
|
|
})\r
|
|
// \u5728\u524D\u9762\u6DFB\u52A0\u63A8\u8350\u5206\u7C7B\r
|
|
if (cachedHomeList.length > 0) {\r
|
|
classList.unshift({\r
|
|
type_id: 'home_recommend',\r
|
|
type_name: '\u63A8\u8350',\r
|
|
hasSubclass: false\r
|
|
})\r
|
|
}\r
|
|
backData.data = classList\r
|
|
} else {\r
|
|
backData.data = ret.class\r
|
|
}\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u4E8C\u7EA7\u5206\u7C7B\u5217\u8868\u7B5B\u9009\u5217\u8868\u7684\u65B9\u6CD5\u3002\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoSubclassList())>}\r
|
|
*/\r
|
|
async function getSubclassList(args) {\r
|
|
var backData = new RepVideoSubclassList()\r
|
|
try {\r
|
|
const typeId = args.url\r
|
|
\r
|
|
// \u4ECE\u7F13\u5B58\u4E2D\u83B7\u53D6\u8BE5\u5206\u7C7B\u7684\u7B5B\u9009\u6570\u636E\r
|
|
if (cachedFilters && cachedFilters[typeId]) {\r
|
|
const filters = cachedFilters[typeId]\r
|
|
\r
|
|
// \u8F6C\u6362\u7B5B\u9009\u6570\u636E\u683C\u5F0F\r
|
|
// API\u683C\u5F0F: {key: 'year', name: '\u5E74\u4EFD', value: [{n: '\u5168\u90E8', v: 0}, ...]}\r
|
|
// uz\u683C\u5F0F: {name: '\u5E74\u4EFD', list: [{name: '\u5168\u90E8', id: '0', key: 'year'}, ...]}\r
|
|
backData.data.filter = filters.map(filterGroup => {\r
|
|
return {\r
|
|
name: filterGroup.name,\r
|
|
list: filterGroup.value.map(item => {\r
|
|
return {\r
|
|
name: item.n,\r
|
|
id: String(item.v),\r
|
|
key: filterGroup.key\r
|
|
}\r
|
|
})\r
|
|
}\r
|
|
})\r
|
|
}\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u5206\u7C7B\u89C6\u9891\u5217\u8868\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
|
|
*/\r
|
|
async function getVideoList(args) {\r
|
|
var backData = new RepVideoList()\r
|
|
try {\r
|
|
// \u5982\u679C\u662F\u63A8\u8350\u5206\u7C7B\uFF0C\u8FD4\u56DE\u7F13\u5B58\u7684\u63A8\u8350\u5217\u8868\r
|
|
if (args.url === 'home_recommend') {\r
|
|
// \u63A8\u8350\u53EA\u6709\u7B2C\u4E00\u9875\uFF0C\u907F\u514D\u91CD\u590D\u52A0\u8F7D\r
|
|
if (args.page > 1) {\r
|
|
backData.data = []\r
|
|
} else {\r
|
|
backData.data = processVideoData(cachedHomeList)\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
const ret = await fetch({\r
|
|
ac: 'detail',\r
|
|
t: args.url,\r
|
|
pg: args.page,\r
|
|
})\r
|
|
backData.data = processVideoData(ret.list)\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u4E8C\u7EA7\u5206\u7C7B\u89C6\u9891\u5217\u8868 \u6216 \u7B5B\u9009\u89C6\u9891\u5217\u8868\r
|
|
* @param {UZSubclassVideoListArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
|
|
*/\r
|
|
async function getSubclassVideoList(args) {\r
|
|
var backData = new RepVideoList()\r
|
|
try {\r
|
|
// \u6784\u5EFA\u57FA\u7840\u8BF7\u6C42\u53C2\u6570\r
|
|
const params = {\r
|
|
ac: 'detail',\r
|
|
t: args.mainClassId,\r
|
|
pg: args.page || 1,\r
|
|
}\r
|
|
\r
|
|
// \u5904\u7406\u7B5B\u9009\u53C2\u6570 - \u53C2\u8003\u74DC\u5B50APP.js\u7684\u5B9E\u73B0\r
|
|
if (args.filter && Array.isArray(args.filter) && args.filter.length > 0) {\r
|
|
// \u6784\u5EFA\u7B5B\u9009\u53C2\u6570\u5BF9\u8C61\r
|
|
const filterObj = {}\r
|
|
args.filter.forEach(filterItem => {\r
|
|
// filterItem \u5305\u542B: {name, id, key}\r
|
|
// key \u662F\u7B5B\u9009\u7C7B\u578B\uFF08\u5982 'year', 'area', 'sort'\uFF09\r
|
|
// id \u662F\u9009\u4E2D\u7684\u503C\r
|
|
if (filterItem.key && filterItem.id) {\r
|
|
filterObj[filterItem.key] = filterItem.id\r
|
|
}\r
|
|
})\r
|
|
\r
|
|
// \u5C06\u7B5B\u9009\u53C2\u6570\u8F6C\u6362\u4E3A base64 \u7F16\u7801\u7684 JSON \u5B57\u7B26\u4E32\r
|
|
// \u4F7F\u7528 UZUtils \u6216\u8005\u539F\u751F\u65B9\u6CD5\u8FDB\u884C base64 \u7F16\u7801\r
|
|
try {\r
|
|
const filterJson = JSON.stringify(filterObj)\r
|
|
params.ext = encodeBase64Utf8(filterJson)\r
|
|
} catch (e) {\r
|
|
// \u7F16\u7801\u5931\u8D25\uFF0C\u5FFD\u7565\u7B5B\u9009\u53C2\u6570\r
|
|
console.error('\u7B5B\u9009\u53C2\u6570\u7F16\u7801\u5931\u8D25:', e)\r
|
|
}\r
|
|
}\r
|
|
\r
|
|
// \u53D1\u8D77\u8BF7\u6C42\r
|
|
const ret = await fetch(params)\r
|
|
backData.data = processVideoData(ret.list)\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u89C6\u9891\u8BE6\u60C5\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoDetail())>}\r
|
|
*/\r
|
|
async function getVideoDetail(args) {\r
|
|
var backData = new RepVideoDetail()\r
|
|
try {\r
|
|
const ret = await fetch({\r
|
|
ac: 'detail',\r
|
|
ids: args.url,\r
|
|
})\r
|
|
if (ret.list && ret.list.length > 0) {\r
|
|
backData.data = processVideoData(ret.list[0])\r
|
|
}\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u83B7\u53D6\u89C6\u9891\u7684\u64AD\u653E\u5730\u5740\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoPlayUrl())>}\r
|
|
*/\r
|
|
async function getVideoPlayUrl(args) {\r
|
|
var backData = new RepVideoPlayUrl()\r
|
|
try {\r
|
|
const ret = await fetch({\r
|
|
flag: args.flag,\r
|
|
play: args.url,\r
|
|
})\r
|
|
const flag = args.flag\r
|
|
\r
|
|
if (ret.jx === 1 || ret.parse === 1) {\r
|
|
// \u5F53\u9700\u8981\u89E3\u6790\u65F6\uFF0C\u4F7F\u7528\u55C5\u63A2\u6A21\u5F0F\r
|
|
backData.sniffer = {\r
|
|
url: ret.url || args.url,\r
|
|
ua: ret.header?.['User-Agent'] || 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',\r
|
|
}\r
|
|
// \u5982\u679C\u6709header\u4FE1\u606F\uFF0C\u4F20\u9012\u7ED9\u64AD\u653E\u5668\r
|
|
if (ret.header) {\r
|
|
backData.headers = ret.header\r
|
|
}\r
|
|
} else {\r
|
|
// \u83B7\u53D6\u97F3\u9891URL\uFF08\u5982\u679C\u5B58\u5728\uFF09\r
|
|
const audioUrl = ret.extra && ret.extra.audio ? ret.extra.audio : null\r
|
|
\r
|
|
if (Array.isArray(ret.url)) {\r
|
|
const nameMap = {\r
|
|
RAW: {\r
|
|
name: '\u539F\u753B',\r
|
|
priority: flag == 'quark' ? 0 : 9999,\r
|
|
},\r
|
|
'4k': {\r
|
|
name: '4k',\r
|
|
priority: 3000,\r
|
|
},\r
|
|
super: {\r
|
|
name: '\u8D85\u6E05',\r
|
|
priority: 2000,\r
|
|
},\r
|
|
high: {\r
|
|
name: '\u9AD8\u6E05',\r
|
|
priority: 1000,\r
|
|
},\r
|
|
low: {\r
|
|
name: '\u6D41\u7545',\r
|
|
priority: 100,\r
|
|
},\r
|
|
//\r
|
|
QHD: { name: '\u8D85\u6E05', priority: 4000 },\r
|
|
FHD: { name: '\u9AD8\u6E05', priority: 3000 },\r
|
|
HD: { name: '\u6807\u6E05', priority: 2000 },\r
|
|
SD: { name: '\u666E\u753B', priority: 1000 },\r
|
|
LD: { name: '\u6781\u901F', priority: 100 },\r
|
|
//\r
|
|
FOUR_K: { name: '4K', priority: 4000 },\r
|
|
SUPER: { name: '\u8D85\u6E05', priority: 3000 },\r
|
|
HIGH: { name: '\u9AD8\u6E05', priority: 2000 },\r
|
|
NORMAL: { name: '\u6D41\u7545', priority: 1000 },\r
|
|
}\r
|
|
let urls = ret.url.reduce((acc, curr, index, array) => {\r
|
|
if (index % 2 === 0) {\r
|
|
if (curr.startsWith('\u4EE3\u7406')) {\r
|
|
return acc\r
|
|
}\r
|
|
const urlItem = {\r
|
|
name: nameMap[curr]?.name ?? curr,\r
|
|
url: array[index + 1],\r
|
|
header: ret.header,\r
|
|
priority: nameMap[curr]?.priority ?? 0,\r
|
|
}\r
|
|
// \u5982\u679C\u6709\u97F3\u9891URL\uFF0C\u6DFB\u52A0\u5230\u6BCF\u4E2A\u753B\u8D28\u9009\u9879\u4E2D\r
|
|
if (audioUrl) {\r
|
|
urlItem.audioUrl = audioUrl\r
|
|
}\r
|
|
acc.push(urlItem)\r
|
|
}\r
|
|
return acc\r
|
|
}, [])\r
|
|
backData.urls = urls\r
|
|
backData.data = urls[0]?.url || ''\r
|
|
} else {\r
|
|
// \u5355\u4E2AURL\u7684\u60C5\u51B5\uFF0C\u4E5F\u6784\u5EFAurls\u6570\u7EC4\r
|
|
const urlItem = {\r
|
|
name: '\u9ED8\u8BA4',\r
|
|
url: ret.url,\r
|
|
header: ret.header,\r
|
|
priority: 0,\r
|
|
}\r
|
|
// \u5982\u679C\u6709\u97F3\u9891URL\uFF0C\u6DFB\u52A0\u5230urlItem\u4E2D\r
|
|
if (audioUrl) {\r
|
|
urlItem.audioUrl = audioUrl\r
|
|
}\r
|
|
backData.urls = [urlItem]\r
|
|
backData.data = ret.url || ''\r
|
|
}\r
|
|
if (ret.header) backData.headers = ret.header\r
|
|
\r
|
|
// \u540C\u65F6\u5728\u9876\u5C42\u4E5F\u6DFB\u52A0audioUrl\uFF08\u517C\u5BB9\u6027\uFF09\r
|
|
if (audioUrl) {\r
|
|
backData.audioUrl = audioUrl\r
|
|
}\r
|
|
}\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
\r
|
|
/**\r
|
|
* \u641C\u7D22\u89C6\u9891\r
|
|
* @param {UZArgs} args\r
|
|
* @returns {@Promise<JSON.stringify(new RepVideoList())>}\r
|
|
*/\r
|
|
async function searchVideo(args) {\r
|
|
var backData = new RepVideoList()\r
|
|
try {\r
|
|
const ret = await fetch({\r
|
|
wd: args.searchWord,\r
|
|
pg: args.page,\r
|
|
})\r
|
|
backData.data = processVideoData(ret.list)\r
|
|
} catch (error) {\r
|
|
backData.error = error.toString()\r
|
|
}\r
|
|
return JSON.stringify(backData)\r
|
|
}\r
|
|
`}catch{return""}},xlt=t=>{let e=String(t||"").trim();return e.toLowerCase().endsWith(".js")?e.slice(0,-3):e},blt=(t,e={})=>{let r=Object.entries(e).filter(([,n])=>n!=null&&n!=="").map(([n,s])=>`${encodeURIComponent(n)}=${encodeURIComponent(String(s))}`).join("&");return r?`${t}${t.includes("?")?"&":"?"}${r}`:t},Elt=(t,e,r={})=>blt(`${t}/api/${encodeURIComponent(e)}`,{filter:!0,...r}),_lt=(t,e,r={})=>blt(`${t}/uz.js`,{...r,key:e}),iTr=()=>{let t=[Xw.default.resolve(process.cwd(),"src/assets/uz.js"),Xw.default.resolve(process.cwd(),"nodejs/src/assets/uz.js"),Xw.default.resolve(process.cwd(),"dist/assets/uz.js"),Xw.default.resolve(process.cwd(),"nodejs/dist/assets/uz.js")],e=t.find(r=>Yce.default.existsSync(r));if(!e)throw new Error(`uz.js asset not found: ${t.join(", ")}`);return e},Slt=()=>sTr()||Yce.default.readFileSync(iTr(),"utf8"),vlt=t=>({vod:t.map(e=>({key:e.module,name:e.name,api:e.scriptUrl,webSite:e.t4ApiUrl,version:1,type:101}))});var aTr=new Set(["0","false","no","off"]),TM=()=>({username:process.env.CATPAW_DIST_AUTH_USER||"CatPawPlay",password:process.env.CATPAW_DIST_AUTH_PASS||"CatPawPlay"}),wM=()=>{let t=String(process.env.CATPAW_DIST_AUTH||"").trim().toLowerCase();return!aTr.has(t)},Zw=(t,e={})=>{let r=e.includePrefix!==!1,s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||String(t.headers?.host||"").split(",")[0].trim(),a=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||String(t.protocol||"").trim()||(t.socket?.encrypted?"https":"http"),o=r?String(t.server?.prefix||"").replace(/\/$/,""):"";if(s)return`${a}://${s}${o}`;let c=t.server?.address?.();return c?.url?`${String(c.url).replace(/\/$/,"")}${o}`:c?.port?`http://127.0.0.1:${c.port}${o}`:o||""},e2=(t,e,r=null)=>{if(!t)return e;let n=new URL(e,t);return(r?.username||r?.password)&&(n.username=r.username||"",n.password=r.password||""),n.toString()};var PE="/spider",oTr=new Set([".cjs",".mjs",".js"]),Wlt=/^[a-z0-9_-]{2,32}$/,$lt=new Set(["http:","https:"]),s2="nodejs_",Flt="__catpawProfile",cTr=new Set([Flt,"server","embyPlayback"]),uTr=[{url:"/index.js",fileName:"index.js",contentType:"application/javascript; charset=utf-8"},{url:"/index.js.md5",fileName:"index.js.md5",md5Source:"index.js",contentType:"text/plain; charset=utf-8"},{url:"/index.config.js",fileName:"index.config.js",contentType:"application/javascript; charset=utf-8"},{url:"/index.config.js.md5",fileName:"index.config.js.md5",md5Source:"index.config.js",contentType:"text/plain; charset=utf-8"}],t2={key:"",expireAt:0,spiders:[]},om={key:"",promise:null},Clt=new Map,lTr=t=>({...t.query&&typeof t.query=="object"?t.query:{},...t.body&&typeof t.body=="object"?t.body:{}}),Jce=(t,e=!1)=>{if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e},dTr=(t,e={})=>{if(t==null||t==="")return e;if(typeof t=="object")return t;try{let r=Buffer.from(String(t),"base64").toString("utf8");return JSON.parse(r)}catch{try{return JSON.parse(String(t))}catch{return e}}},fTr=t=>{let e={},n=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||String(t.headers?.host||"").split(",")[0].trim(),i=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||String(t.protocol||"").trim();return n&&(e.host=n,e["x-forwarded-host"]=n),i&&(e["x-forwarded-proto"]=i),Object.keys(e).length>0?e:void 0},pTr=t=>{let e=String(t||"").trim().replace(/\/+$/,""),r=e.match(/^\/spider\/([^/]+)\/(\d+)(?:\/.*)?$/);return r?{spiderKey:decodeURIComponent(r[1]),spiderType:Number(r[2]),apiBase:e}:null},mTr=t=>{let e=String(t||"").trim();return e.toLowerCase().startsWith(s2)?e.slice(s2.length):e},Ult=(t,e,r)=>{!r||Number(r.spiderType)!==3||e.map(n=>String(n||"").trim()).filter(Boolean).forEach(n=>{t.set(n.toLowerCase(),r)})},hTr=t=>{let e=new Map;return t.forEach(r=>{let n=String(r?.meta?.key||"").trim(),s=Number(r?.meta?.type||0);if(!n||s!==3||r?.meta?.hidden)return;let i={spiderKey:n,spiderType:s,apiBase:`${PE}/${encodeURIComponent(n)}/${s}`};Ult(e,[n,`${s2}${n}`],i)}),e},Ilt=(t,e)=>{let r=String(e||"").trim();if(!r)return null;let n=r.toLowerCase(),s=n.startsWith(s2)?n.slice(s2.length):n;return t.get(n)||t.get(s)||null},gTr=t=>{let[e,r]=String(t||"").split(/\s+/,2);if(e?.toLowerCase()!=="basic"||!r)return null;let n="";try{n=Buffer.from(r,"base64").toString("utf8")}catch{return null}let s=n.indexOf(":");return s<0?null:{username:n.slice(0,s),password:n.slice(s+1)}},ATr=(t,e)=>{let r=gTr(t.headers?.authorization),n=TM();return r?.username===n.username&&r?.password===n.password?!0:(e.code(401).header("WWW-Authenticate",'Basic realm="CatPaw dist"').send("Authentication required"),!1)},yTr=t=>Ms.default.resolve(process.cwd(),"dist",t),qlt=t=>Object.prototype.toString.call(t)==="[object Object]",rue=(t,e={})=>{try{return JSON.parse(JSON.stringify(t??e))}catch{return e}},xTr=t=>JSON.stringify(t,null,2).replace(/^(\s*)"([A-Za-z_$][\w$]*)":/gm,"$1$2:"),bTr=async t=>{try{let e=await t.getData("/");return qlt(e)?e:{}}catch{return{}}},ETr=t=>{let e={};return Object.entries(qlt(t)?t:{}).forEach(([r,n])=>{cTr.has(r)||(e[r]=rue(n,n))}),e},_Tr=async({db:t,config:e})=>{let r=await bTr(t),n=ETr(r),s={...rue(e,{}),...rue(n,{})};return delete s.server,Object.keys(n).length>0&&(s[Flt]=n),["var index_config = {"," server: {}, //\u8FD9\u91CC\u4E0D\u8981\u52A8\uFF0C\u52A0\u7A7A\u683C\u90FD\u4E0D\u884C\uFF0C\u540E\u53F0\u81EA\u52A8\u751F\u6210",xTr(s).replace(/^\{\n?/,"").replace(/\n?\}$/,""),"};",'if (typeof module !== "undefined" && module.exports) module.exports = index_config;',""].join(`
|
|
`)},STr=async(t,e,r)=>(t.md5Source||t.fileName)!=="index.config.js"?e:Buffer.from(await _Tr(r),"utf8"),vTr=async(t,e,r,n)=>{if(ATr(e,r))try{let s=t.md5Source||t.fileName,i=await OE.default.readFile(yTr(s)),a=await STr(t,i,n),o=t.md5Source?(0,PM.createHash)("md5").update(a).digest("hex"):a;r.header("Content-Type",t.contentType).send(o)}catch(s){if(s?.code==="ENOENT"){r.code(404).send({error:`dist artifact not found: ${t.fileName}`,hint:"\u8BF7\u5148\u5728 nodejs \u76EE\u5F55\u8FD0\u884C npm run build \u6216 npm run build:dbg"});return}throw s}},Xce=(t,e=!1)=>{if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e},Zce=(t,e=0)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?r:e},CTr=t=>{let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);return $lt.has(r.protocol)?(r.hash="",r.href):""}catch{return""}},Tlt=t=>{let r=(Array.isArray(t)?t:typeof t=="string"?t.split(/[\r\n,;]/):[]).map(n=>CTr(n)).filter(Boolean);return[...new Set(r)]},eue=(t,e,r)=>{if(!Number.isFinite(e)||e<=0)return t;let n;return Promise.race([t,new Promise((s,i)=>{n=setTimeout(()=>i(new Error(r)),e)})]).finally(()=>clearTimeout(n))},ITr=async t=>{try{let e=await OE.default.stat(t);return`${e.mtimeMs}-${e.size}`}catch{return"0"}},jlt=(t={})=>{let e=t.customSpiders||{},r=process.env.NODE_PATH||"/data",n=typeof e.dir=="string"?e.dir.trim():"",s=Tlt(process.env.CATPAW_CUSTOM_SPIDER_URLS),i=Tlt(e.urls),a=s.length>0?s:i,o=process.env.CATPAW_CUSTOM_SPIDER_DIR||n||Ms.default.join(r,"custom-spiders");return{enabled:Xce(process.env.CATPAW_CUSTOM_SPIDER_ENABLED,e.enabled??!0),strict:Xce(process.env.CATPAW_CUSTOM_SPIDER_STRICT,e.strict??!1),allowOverride:Xce(process.env.CATPAW_CUSTOM_SPIDER_ALLOW_OVERRIDE,e.allowOverride??!1),cacheTtlMs:Math.max(0,Zce(process.env.CATPAW_CUSTOM_SPIDER_CACHE_TTL_MS,e.cacheTtlMs??5e3)),factoryTimeoutMs:Math.max(0,Zce(process.env.CATPAW_CUSTOM_SPIDER_FACTORY_TIMEOUT_MS,e.factoryTimeoutMs??1e4)),urlTimeoutMs:Math.max(1e3,Zce(process.env.CATPAW_CUSTOM_SPIDER_URL_TIMEOUT_MS,e.urlTimeoutMs??1e4)),dir:Ms.default.resolve(o),urls:a}},wlt=(t,e)=>{let n=`[custom-spider:${Ms.default.basename(e)}]`,s=Object.freeze({info:(...i)=>console.log(n,...i),warn:(...i)=>console.warn(n,...i),error:(...i)=>console.error(n,...i),debug:(...i)=>console.debug(n,...i)});return Object.freeze({http:Object.freeze({axios:Ae,req:he,create:(i={})=>Ae.create(i)}),cheerio:Object.freeze({load:Me}),utils:Object.freeze({extractTitle:sA,findEpisodeNumber:Yw,firstSuccessfulUrl:Xn}),logger:s,app:Object.freeze({spiderPrefix:PE,nodePath:process.env.NODE_PATH||"."})})},TTr=async t=>{try{return(await OE.default.readdir(t,{withFileTypes:!0})).filter(r=>r.isFile()).map(r=>Ms.default.join(t,r.name)).filter(r=>oTr.has(Ms.default.extname(r).toLowerCase())).sort((r,n)=>r.localeCompare(n))}catch(e){if(e?.code==="ENOENT")return[];throw e}},NM=t=>{if(typeof t=="string")return t;if(Buffer.isBuffer(t))return t.toString("utf8");if(t==null)return"";try{return JSON.stringify(t)}catch{return String(t)}},OM=new Map,iue=t=>String(t||"").trim(),wTr=t=>{let e=NM(t);if(!e)return"";let r=e.split(/\r?\n/,80);for(let n of r){let s=String(n||"").trim();if(!s)continue;let i=s.match(/^(?:\/\/+|\/\*+|\*+)?\s*@name(?:\s*[::])?\s+(.+?)\s*$/i);if(!i?.[1])continue;let a=i[1].replace(/\*\/\s*$/,"").trim();if(a)return a}return""},Hlt=(t,e)=>{let r=iue(t);if(!r)return"";let n=wTr(e);return n?(OM.set(r,n),n):(OM.delete(r),"")},Qlt=t=>{let e=iue(t);return e?String(OM.get(e)||"").trim():""},Rlt={axios:Ae,cheerio:Sv,"crypto-js":Blt.default,dayjs:Mlt.default,qs:sue.default},RTr=(t,e)=>{let r=n=>n==="omnibox_sdk"?{request:async(s,i={})=>{let a=String(i.method||"GET").toUpperCase(),o=i.headers||{},c=i.body;c&&typeof c=="object"&&!Buffer.isBuffer(c)&&String(o["Content-Type"]||o["content-type"]||"").toLowerCase().includes("application/json")&&(c=JSON.stringify(c));let u=await Ae.request({url:s,method:a,headers:o,data:c,timeout:i.timeout,validateStatus:()=>!0});return{statusCode:u.status,body:NM(u.data)}},log:(s,...i)=>{let a=i.map(o=>typeof o=="string"?o:NM(o)).join(" ");return s==="error"?console.error(a):s==="warn"||s==="warning"?console.warn(a):console.log(a)},getSourceId:async()=>"builtin",processScraping:async(s,i,a,o=[])=>{let c=String(s||"");return Clt.set(c,{scrapeData:null,scrapeType:"",videoMappings:[]}),{ok:!1,unsupported:!0,count:Array.isArray(o)?o.length:0}},getScrapeMetadata:async s=>{let i=String(s||"");return Clt.get(i)||null}}:n==="spider_runner"?{run:()=>{}}:Rlt[n]?Rlt[n]:t(n);return r.resolve=t.resolve?.bind(t),r.main={filename:e},r},Glt=(t,e)=>{let r=String(t?.message||""),n=r.includes("require is not defined")||r.includes("module is not defined")||r.includes("exports is not defined"),s=/(?:^|\W)module\.exports(?:\W|$)|(?:^|\W)exports\.[A-Za-z_$][\w$]*|(?:^|\W)require\s*\(/m.test(e);return n||s},Vlt=(t,e,r="")=>{let n={exports:{}},s=r||(0,nue.pathToFileURL)(Ms.default.resolve(process.cwd(),".custom-spider-runtime.cjs")).href,i=(0,Llt.createRequire)(s),a=RTr(i,e);return new Function("require","module","exports","__filename","__dirname",t)(a,n,n.exports,e,Ms.default.dirname(e)),{default:n.exports}},NTr=async(t,e)=>{let r=await Ae.get(t,{responseType:"text",timeout:e,transformResponse:[a=>a],validateStatus:()=>!0});if(r.status>=400)throw new Error(`[custom-spider] \u8FDC\u7A0B\u63D2\u4EF6\u62C9\u53D6\u5931\u8D25(${r.status}): ${t}`);let n=NM(r.data);Hlt(t,n);let s=(0,PM.createHash)("sha1").update(n).digest("hex").slice(0,12),i=`data:text/javascript;charset=utf-8,${encodeURIComponent(n)}`;try{return await import(`${i}#${s}`)}catch(a){if(!Glt(a,n))throw a;let o;try{let c=new URL(t),u=Ms.default.basename(c.pathname)||`remote-${s}.js`;o=Ms.default.resolve(process.cwd(),".remote-custom-spiders",u)}catch{o=Ms.default.resolve(process.cwd(),".remote-custom-spiders",`remote-${s}.js`)}return Vlt(n,o)}},OTr=async t=>{let e=iue(t),r="",n=!1;try{r=await OE.default.readFile(t,"utf8"),n=!0,Hlt(e,r)}catch{OM.delete(e)}let s=(0,nue.pathToFileURL)(t);s.searchParams.set("v",await ITr(t));try{return await import(s.href)}catch(i){if(Ms.default.extname(t).toLowerCase()!==".js")throw i;let o=n?r:await OE.default.readFile(t,"utf8");if(!Glt(i,o))throw i;return Vlt(o,t,s.href)}},Nlt=t=>!!t&&typeof t=="object"&&typeof t.api=="function",Olt=t=>!t||typeof t!="object"||typeof t.api=="function"?!1:["home","category","detail","search","play"].some(r=>typeof t[r]=="function"),PTr=t=>{let e=String(t||"");if(!e.includes("%"))return e;try{return decodeURIComponent(e)}catch{return e}},DM=t=>{let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);if($lt.has(r.protocol)){let n=Ms.default.parse(Ms.default.basename(r.pathname||"")).name;return PTr(n)}}catch{}return Ms.default.parse(e).name},DTr=t=>{let e=DM(t),r=String(e).trim().toLowerCase().replace(/[^a-z0-9_-]/g,"");return Wlt.test(r)?r:`omni_${(0,PM.createHash)("sha1").update(t).digest("hex").slice(0,10)}`},kTr=t=>{if(!t||typeof t!="object"||t.vod_play_from&&t.vod_play_url)return t;let e=Array.isArray(t.vod_play_sources)?t.vod_play_sources:[];if(e.length===0)return t;let r=[],n=[];return e.forEach((s,i)=>{let a=String(s?.name||`\u7EBF\u8DEF${i+1}`).trim()||`\u7EBF\u8DEF${i+1}`,c=(Array.isArray(s?.episodes)?s.episodes:[]).map((u,l)=>{let d=String(u?.name||`\u64AD\u653E${l+1}`).trim()||`\u64AD\u653E${l+1}`,f=String(u?.playId||u?.url||u?.id||"").trim();return f?`${d}$${f}`:""}).filter(Boolean);c.length>0&&(r.push(a),n.push(c.join("#")))}),r.length===0||n.length===0?t:{...t,vod_play_from:r.join("$$$"),vod_play_url:n.join("$$$")}},RM=t=>t&&typeof t=="object"?t:{list:[]},Plt=t=>{let e=RM(t),r=Array.isArray(e.list)?e.list:[];return{...e,list:r.map(n=>kTr(n))}},LTr=(t,e="")=>{if(t&&typeof t=="object"){let r=String(t.url||"").trim();if(r)return{...t,parse:t.parse??0,url:r,header:t.header||{}};let n=Array.isArray(t.urls)?t.urls:[];if(n.length>0){let s=n[0]||{},i=String(s.url||s.playId||s.id||"").trim();if(i)return{parse:t.parse??0,url:i,header:t.header||{}}}if(t.parse!==void 0)return{parse:t.parse??0,url:"",header:t.header||{}}}return typeof t=="string"&&t.trim()?{parse:0,url:t.trim()}:{parse:1,url:String(e||"")}},BTr=(t,e)=>{let r=t.meta||t.META||{},n=Number(r.type),s=Number.isInteger(n)&&n>=0&&n<50?n:3,i=String(r.key||"").trim()||DTr(e),a=Qlt(e),o=String(r.name||"").trim()||a||DM(e)||i,c=async(u,l)=>{if(typeof u!="function")return{};let d=await u(l||{});return d===void 0?{}:d};return{meta:{key:i,name:o,type:s},api:async u=>{u.post("/init",async()=>({})),u.post("/home",async l=>{let d=await c(t.home,{filter:l.body?.filter??!1});return RM(d)}),u.post("/category",async l=>{let d=l.body||{},f=await c(t.category,{categoryId:d.id,id:d.id,page:d.page??1,filters:d.filters||{},filter:d.filter??!1});return RM(f)}),u.post("/detail",async l=>{let d=l.body?.id;if(Array.isArray(d)){let p=[];for(let m of d){let h=await c(t.detail,{videoId:m,id:m}),A=Plt(h);Array.isArray(A.list)&&p.push(...A.list)}return{list:p}}let f=await c(t.detail,{videoId:d,id:d});return Plt(f)}),u.post("/search",async l=>{let d=l.body?.wd??"",f=await c(t.search,{keyword:d,wd:d,page:l.body?.page??1,quick:l.body?.quick??!1});return RM(f)}),u.post("/play",async l=>{let d=l.body?.id??"",f=await c(t.play,{playId:d,id:d,flag:l.body?.flag??""});return LTr(f,d)})}}},MTr=(t,e)=>{let r=typeof t?.createSpider=="function"&&t.createSpider||typeof t?.default?.createSpider=="function"&&t.default.createSpider;if(r)return{mode:"factory",value:r};let n=Nlt(t?.default)&&t.default||Nlt(t)&&t;if(n)return{mode:"spider",value:n};let s=Olt(t?.default)&&t.default||Olt(t)&&t;if(s)return{mode:"omnibox-object",value:s};let i=typeof t?.default=="function"&&t.default||typeof t=="function"&&t;if(i)return{mode:"callable",value:i};throw new Error(`${e} \u7F3A\u5C11 createSpider(ctx) / spider \u5BF9\u8C61 / omnibox \u5BF9\u8C61 / legacy register \u5BFC\u51FA`)},WTr=t=>{let e=String(t?.message||"");return e?e.includes("spider \u5FC5\u987B\u662F\u5BF9\u8C61")||e.includes("spider.api \u5FC5\u987B\u662F\u51FD\u6570")||e.includes("spider.check \u5FC5\u987B\u662F\u51FD\u6570")||e.includes("is not a function")||e.includes("Cannot read properties of undefined")||e.includes("Cannot set properties of undefined"):!1},$Tr=(t,e)=>{let r=String(t?.meta?.key||"").trim(),n=String(t?.meta?.api||"").trim(),s=DM(e),i=[];r&&i.push(r);let a=n.match(/\/([a-zA-Z0-9_-]+)$/);a?.[1]&&i.push(a[1]),s&&i.push(s);for(let o of i){let c=String(o).trim().toLowerCase().replace(/[^a-z0-9_-]/g,"");if(Wlt.test(c))return{key:c,from:o}}return null},FTr=t=>{if(!t||typeof t!="object"||Object.keys(t).length===0)return"";try{return Buffer.from(JSON.stringify(t),"utf8").toString("base64")}catch{return""}},r2=async(t,e,r)=>{let n,a=await t({query:r,server:e},{send(o){return n=o,o}});return a===void 0?n:a},UTr=async(t,e)=>{let r=[],n={get(l,d){r.push({method:"get",routePath:l,handler:d})},post(l,d){r.push({method:"post",routePath:l,handler:d})},put(l,d){r.push({method:"put",routePath:l,handler:d})},delete(l,d){r.push({method:"delete",routePath:l,handler:d})}},s={sites:[]};await Promise.resolve(t(n,s));let i=Array.isArray(s.sites)?s.sites:[];if(i.length===0)throw new Error(`${e} legacy register \u672A\u901A\u8FC7 opt.sites \u66B4\u9732 meta`);i.length>1&&console.warn(`[custom-spider] legacy register \u4EC5\u517C\u5BB9\u9996\u4E2A site: ${Ms.default.basename(e)}`);let a=i[0]||{},o=String(a.api||"").trim(),c=o?r.find(l=>l.routePath===o):null;if(o&&!c){let l=r.map(d=>d.routePath).join(", ");throw new Error(`${e} legacy register meta.api(${o}) \u672A\u5339\u914D\u5DF2\u6CE8\u518C\u8DEF\u7531: ${l||"(none)"}`)}let u=c;if(!u)if(r.length===1)u=r[0];else{let l=r.map(d=>d.routePath).join(", ");throw new Error(`${e} legacy register \u8DEF\u7531\u4E0D\u660E\u786E\uFF0C\u8BF7\u63D0\u4F9B\u53EF\u5339\u914D\u7684 meta.api\uFF0C\u5F53\u524D\u8DEF\u7531: ${l||"(none)"}`)}if(!u||typeof u.handler!="function")throw new Error(`${e} legacy register \u672A\u6CE8\u518C\u6709\u6548\u8DEF\u7531`);return{meta:{key:a.key,name:a.name,type:a.type},api:async l=>{l.post("/init",async()=>({})),l.post("/home",async d=>r2(u.handler,d.server,{filter:d.body?.filter??!1})),l.post("/category",async d=>{let f=d.body||{},p={ac:"detail",t:f.id,pg:f.page??1,filter:f.filter??!1},m=FTr(f.filters);return m&&(p.ext=m),r2(u.handler,d.server,p)}),l.post("/detail",async d=>{let f=d.body?.id,p=Array.isArray(f)?f.join(","):f;return r2(u.handler,d.server,{ac:"detail",ids:p})}),l.post("/search",async d=>r2(u.handler,d.server,{wd:d.body?.wd??"",pg:d.body?.page??1,quick:d.body?.quick??!1})),l.post("/play",async d=>r2(u.handler,d.server,{play:d.body?.id??"",flag:d.body?.flag??"",parser:d.body?.parser??""}))}}},n2=(t,e)=>{if(!t||typeof t!="object")throw new Error(`${e} spider \u5FC5\u987B\u662F\u5BF9\u8C61`);if(typeof t.api!="function")throw new Error(`${e} spider.api \u5FC5\u987B\u662F\u51FD\u6570`);if(t.check&&typeof t.check!="function")throw new Error(`${e} spider.check \u5FC5\u987B\u662F\u51FD\u6570`);let r=$Tr(t,e);if(!r)throw new Error(`${e} meta.key \u4E0D\u5408\u6CD5`);let n=r.key,s=Qlt(e),i=String(t.meta?.name||"").trim()||s||DM(e)||n,a=Number(t.meta?.type);if(!i)throw new Error(`${e} meta.name \u4E0D\u80FD\u4E3A\u7A7A`);if(!Number.isInteger(a)||a<0||a>=50)throw new Error(`${e} meta.type \u5FC5\u987B\u662F 0-49 \u7684\u6574\u6570`);let o=String(t.meta?.key||"").trim();return o&&o!==n&&console.log(`[custom-spider] key \u517C\u5BB9\u4FEE\u6B63: ${o} -> ${n}`),{...t,meta:{...t.meta,key:n,name:i,type:a,custom:!0}}},qTr=(t,e=!1)=>{let r=[],n=new Map;return t.forEach(s=>{let i=`${s.meta.key}:${s.meta.type}`;if(!n.has(i)){n.set(i,r.length),r.push(s);return}if(e&&s.meta?.custom){console.warn(`[custom-spider] override: ${i}`),r[n.get(i)]=s;return}console.warn(`[custom-spider] duplicate ignored: ${i}`)}),r},jTr=async t=>{let e=jlt(t.config);if(!e.enabled)return[];let r=`${e.dir}|${e.urls.join(",")}|${e.urlTimeoutMs}|${e.strict}|${e.cacheTtlMs}|${e.factoryTimeoutMs}`,n=Date.now();if(e.cacheTtlMs>0&&t2.key===r&&t2.expireAt>n)return t2.spiders;if(om.promise&&om.key===r)return om.promise;om.key=r,om.promise=(async()=>{let s=await TTr(e.dir),i=e.urls;if(s.length===0&&i.length===0)return t2={key:r,expireAt:e.cacheTtlMs>0?Date.now()+e.cacheTtlMs:0,spiders:[]},[];s.length>0&&console.log(`[custom-spider] \u53D1\u73B0 ${s.length} \u4E2A\u672C\u5730\u63D2\u4EF6: ${s.map(l=>Ms.default.basename(l)).join(", ")}`),i.length>0&&console.log(`[custom-spider] \u53D1\u73B0 ${i.length} \u4E2A\u8FDC\u7A0B\u63D2\u4EF6: ${i.join(", ")}`);let a=[...s.map(l=>({id:l,display:Ms.default.basename(l),load:()=>OTr(l)})),...i.map(l=>({id:l,display:l,load:()=>NTr(l,e.urlTimeoutMs)}))],o=await Promise.allSettled(a.map(async l=>{let d=await l.load(),f=MTr(d,l.id);if(f.mode==="spider")return console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (legacy spider export)`),n2(f.value,l.id);if(f.mode==="omnibox-object"){console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (omnibox object export)`);let h=BTr(f.value,l.id);return n2(h,l.id)}if(f.mode==="callable"){let h=wlt(t,l.id);try{let A=await eue(Promise.resolve(f.value(h)),e.factoryTimeoutMs,`[custom-spider] createSpider \u8D85\u65F6: ${l.id}`);return n2(A,l.id)}catch(A){if(!WTr(A))throw A;console.log(`[custom-spider] \u517C\u5BB9\u6A21\u5F0F\u52A0\u8F7D: ${l.display} (legacy register export)`);let g=await eue(UTr(f.value,l.id),e.factoryTimeoutMs,`[custom-spider] legacy register \u9002\u914D\u8D85\u65F6: ${l.id}`);return n2(g,l.id)}}let p=wlt(t,l.id),m=await eue(Promise.resolve(f.value(p)),e.factoryTimeoutMs,`[custom-spider] createSpider \u8D85\u65F6: ${l.id}`);return n2(m,l.id)})),c=[],u=[];if(o.forEach((l,d)=>{l.status==="fulfilled"?c.push(l.value):(u.push(a[d].display),console.error(`[custom-spider] \u52A0\u8F7D\u5931\u8D25: ${a[d].display}`,l.reason))}),e.strict&&u.length>0)throw new Error(`[custom-spider] strict \u6A21\u5F0F: ${u.length} \u4E2A\u63D2\u4EF6\u52A0\u8F7D\u5931\u8D25`);return c.length>0&&console.log(`[custom-spider] \u6210\u529F\u52A0\u8F7D ${c.length} \u4E2A\u63D2\u4EF6`),t2={key:r,expireAt:e.cacheTtlMs>0?Date.now()+e.cacheTtlMs:0,spiders:c},c})();try{return await om.promise}finally{om.key===r&&(om={key:"",promise:null})}},Dlt=async t=>{let e=[but,Oot,_ot],r=[Eot,$it,Lat,Fit,Uit,qit,Bat,S5e,jit,Hit,vat,Cat,rut,kat,Xat,rot,Not,bat,Vit,Kit,Zit,tat,Sat,sat,aat,ilt,Wut,dct,Ect,jot,Wot,$ot,jct,Zct,Jot,pct,Tct,Bct,tct,Aot];(await Mce(t)).forEach(o=>{r.push($ce(o.name,o.address))}),(await Hce(t)).forEach(o=>{r.push(Vce(o.name,o.address))});let i=await jTr(t);r.push(...i),r.push(...e);let{allowOverride:a}=jlt(t.config);return qTr(r,a)},klt=(t,e,r)=>{r<10?t.video.sites.push(e):r>=10&&r<20?t.read.sites.push(e):r>=20&&r<30?t.comic.sites.push(e):r>=30&&r<40?t.music.sites.push(e):r>=40&&r<50&&t.pan.sites.push(e)},HTr=async(t,e)=>{(await Qw(e).catch(()=>[])).filter(n=>n?.id&&n?.host&&n?.username).forEach(n=>{t.video.sites.push({key:`nodejs_emby_${n.id}`,name:`\u300C\u76F4\u300D${n.name||"Emby"}`,type:3,api:`${PE}/emby/3/server/${encodeURIComponent(n.id)}`})})},QTr=async(t,e)=>{(await Gw(e).catch(()=>[])).filter(n=>n?.id&&n?.server).forEach(n=>{t.video.sites.push({key:`nodejs_alist_${n.id}`,name:`\u300C\u76F4\u300D${n.name||"Alist"}`,type:3,api:`${PE}/alist-video/3/server/${encodeURIComponent(n.id)}`})})},tue={};async function aue(t,{db:e,config:r}){t.hasContentTypeParser("application/x-www-form-urlencoded")||t.addContentTypeParser("application/x-www-form-urlencoded",{parseAs:"string"},(p,m,h)=>{h(null,sue.default.parse(String(m||"")))});let n=await Dlt({db:e,config:r}),s=hTr(n),i=new Map(s),a=async()=>null;n.forEach(p=>{let m=PE+"/"+p.meta.key+"/"+p.meta.type;t.register(p.api,{prefix:m});try{let h=p.check?.(t);h&&typeof h.then=="function"&&h.catch(A=>console.error(`[spider-check] ${p.meta.key} failed:`,A))}catch(h){console.error(`[spider-check] ${p.meta.key} failed:`,h)}console.log("Register spider: "+m)});let o=(p,m,h,A={})=>oA(t,m.spiderKey,m.spiderType,h,A,{apiBase:m.apiBase,headers:fTr(p)}),c=async(p,m)=>{let h=xlt(m),A=Ilt(i,h);return A||(await a(p),A=Ilt(i,h)),{module:h,spider:A}},u=p=>{let m=p.query?.token;return m==null||m===""?{}:{token:m}},l=async(p,m)=>{m.type("application/javascript; charset=utf-8").send(Slt())},d=async(p,m)=>{let{module:h,spider:A}=await c(p,p.params?.module);if(!A){m.code(404).send({error:"module not found"});return}return l(p,m)},f=async(p,m)=>{let{spider:h}=await c(p,p.params?.module);if(!h){m.code(404).send({error:"module not found"});return}let A=lTr(p);try{if(A.refresh!==void 0){m.send(await o(p,h,"init",{ext:A.extend||A.ext||"",extend:A.extend}));return}if(A.play!==void 0){m.send(await o(p,h,"play",{id:A.play,flag:A.flag,extend:A.extend}));return}if(A.ac==="action"&&A.action!==void 0){m.send(await o(p,h,"action",{action:A.action,value:A.value,extend:A.extend}));return}if(A.ac==="detail"&&A.ids!==void 0){m.send(await o(p,h,"detail",{id:A.ids,extend:A.extend}));return}if(A.t!==void 0){m.send(await o(p,h,"category",{id:A.t,page:A.pg||A.page||1,filter:Jce(A.filter,!0),filters:dTr(A.ext||A.f,{}),extend:A.extend}));return}if(A.wd!==void 0){m.send(await o(p,h,"search",{wd:A.wd,page:A.pg||A.page||1,quick:Jce(A.quick,!1),extend:A.extend}));return}m.send(await o(p,h,"home",{filter:Jce(A.filter,!0),extend:A.extend}))}catch(g){p.log?.error?.(g);let b=g?.message||"internal error",y=Number(b.match(/\s(\d{3})$/)?.[1]||500);m.code(y>=400&&y<600?y:500).send({error:b})}};t.get("/uz.js",l),t.get("/api/uz/:module",d),t.route({method:["GET","POST"],url:"/api/:module",handler:f}),t.route({method:["GET","POST"],url:"/api/:version/:kind/:module",handler:f}),wM()&&uTr.forEach(p=>{t.get(p.url,async(m,h)=>vTr(p,m,h,{db:e,config:r}))}),t.register(async p=>{p.get("/check",async function(x,v){v.send({run:!p.stop})});let m=async()=>{let x={video:{sites:[]},read:{sites:[]},comic:{sites:[]},music:{sites:[]},pan:{sites:[]},color:p.config.color||[]},v=await Dlt({db:e,config:r}),C=!1,R=!1,w=[];for(let N of v){let P=Object.assign({},N.meta);if(P.hidden){P.key==="emby"?C=!0:P.key==="alist-video"&&(R=!0);continue}P.api=PE+"/"+P.key+"/"+P.type,P.key="nodejs_"+P.key;let L=N.meta.type;if(P.cms){w.push({meta:P,stype:L});continue}klt(x,P,L)}return C&&await HTr(x,{db:e,config:r}),R&&await QTr(x,{db:e,config:r}),w.forEach(({meta:N,stype:P})=>klt(x,N,P)),x},h=async(x,v)=>{let C=await Kw(x.server),R=v.video.sites,w={},N={};R.forEach(L=>{N[L.key]=L});let P=[];return C.forEach(L=>{w[L.key]=!0;let M=N[L.key];if(M&&L.enable){let k=typeof L.name=="string"?L.name.trim():"";P.push({...M,name:k||M.name})}}),R.forEach(L=>{w[L.key]||P.push(L)}),v.video.sites=P,v},A=async x=>{let v=await m();return await h(x,v),v},g=x=>{let v=pTr(x.api);if(!v||Number(v.spiderType)!==3)return null;let C=mTr(x.key);return Ult(i,[x.key,C],v),{module:C,ref:v}};a=async x=>{(await A(x)).video.sites.forEach(g)};let b=async x=>{let v=await A(x),C=Zw(x).replace(/\/$/,""),R=v.video.sites.map(w=>{let N=g(w);if(!N)return null;let P=N.module,L={key:`t4_${P}`,name:w.name,type:4,api:`${C}/api/${encodeURIComponent(P)}`,searchable:w.searchable??1,quickSearch:w.quickSearch??0,filterable:w.filterable??1};return w.ext!==void 0&&w.ext!==null&&w.ext!==""&&(L.ext=w.ext),L}).filter(Boolean);return{sites_count:R.length,sites:R,color:v.color||[]}},y=async(x,v)=>{let C=await A(x),R=Zw(x).replace(/\/$/,""),w=u(x),N=C.video.sites.map(P=>{let L=g(P);if(!L)return null;let M=L.module;return{module:M,name:P.name,scriptUrl:_lt(R,M,w),t4ApiUrl:Elt(R,M,w)}}).filter(Boolean);v.send(vlt(N))};p.get("/config",async function(x,v){let C=await A(x);C.video.danmuSearchUrl=`http://127.0.0.1:${x.server.address().port}/website/danmu/fe`,v.send(C)}),p.get("/t4",b),p.get("/uz",y),p.get("/full-config",m)}),t.get("/danmu-proxy",async(p,m)=>{try{let A=String(p.query?.format||"").toLowerCase()==="json",g=(J=200)=>{if(A){m.code(J).send({success:!1,comments:[],count:0,match:null});return}m.code(J).header("Content-Type","application/xml"),m.send('<?xml version="1.0" encoding="UTF-8"?><i/>')},b=await SM(p.server);if(!b?.autoPush){g();return}let{name:y,episodeNumber:x,originalName:v}=p.query,C=String(v||"").trim(),R=String(y||"").trim()||sA(C)||C,w=b.debug||!1;w&&(console.log("=== \u5F39\u5E55\u5339\u914D\u8C03\u8BD5\u4FE1\u606F ==="),console.log("\u4F20\u5165\u53C2\u6570:"),console.log(" - \u89C6\u9891\u540D\u79F0:",R||"(\u672A\u63D0\u4F9B)"),console.log(" - \u539F\u59CB\u540D\u79F0:",C||"(\u672A\u63D0\u4F9B)"),console.log(" - \u96C6\u6570:",x),console.log("\u914D\u7F6E\u7684\u5F39\u5E55\u6E90\u6570\u91CF:",b.urls.length));let N=1,L=(C||R).match(/第([一二三四五å…七八ä¹å\d]+)å£/);if(L){let J=L[1];N={\u4E00:1,\u4E8C:2,\u4E09:3,\u56DB:4,\u4E94:5,\u516D:6,\u4E03:7,\u516B:8,\u4E5D:9,\u5341:10}[J]||parseInt(J)||1,w&&console.log("\u68C0\u6D4B\u5230\u5B63\u6570\u4FE1\u606F:",`\u7B2C${N}\u5B63`)}let M=`S${N}`,k=!x||x==="0",B=R;!k&&x&&(B=`${R} ${M}E${x}`),w&&console.log("\u6784\u9020\u7684\u6587\u4EF6\u540D:",B);let Z=async(J,se,oe)=>{w&&(console.log(`
|
|
\u6B63\u5728\u8BF7\u6C42\u5F39\u5E55\u6E90: ${J.name||J.address}`),console.log(`\u8BF7\u6C42URL: ${J.address}/api/v2/match`),console.log(`\u8BF7\u6C42\u9636\u6BB5: ${oe}`),console.log(`\u8BF7\u6C42\u6570\u636E: { fileName: "${se}" }`));let ue=await Ae.post(`${J.address}/api/v2/match`,{fileName:se},{headers:{"Content-Type":"application/json"},timeout:1e4});if(w&&(console.log(`
|
|
${J.name||J.address} \u8FD4\u56DE\u7ED3\u679C:`),console.log(" - \u5339\u914D\u6210\u529F:",ue.data?.success),console.log(" - \u662F\u5426\u5339\u914D:",ue.data?.isMatched),console.log(" - \u5339\u914D\u6761\u6570:",ue.data?.matches?.length||0)),ue.data?.success&&ue.data?.isMatched&&ue.data?.matches?.length>0){let Ce=ue.data.matches[0];return w&&(console.log(" - \u5339\u914D\u7ED3\u679C:"),console.log(" * \u96C6\u6570ID:",Ce.episodeId),console.log(" * \u96C6\u6570\u6807\u9898:",Ce.episodeTitle),console.log(" * \u52A8\u753B\u6807\u9898:",Ce.animeTitle)),{url:J,match:Ce,score:100}}return null},W=b.urls.map(async J=>{try{let se=await Z(J,B,"episode-aware");return!se&&!k&&x&&(w&&console.log(` - \u5206\u96C6\u5339\u914D\u5931\u8D25\uFF0C\u964D\u7EA7\u4EC5\u6807\u9898\u91CD\u8BD5: ${R}`),se=await Z(J,R,"title-only-fallback")),!se&&w&&console.log(" - \u672A\u627E\u5230\u7CBE\u786E\u5339\u914D"),se}catch(se){return w&&(console.log(`
|
|
${J.name||J.address} \u8BF7\u6C42\u5931\u8D25:`),console.log(" - \u9519\u8BEF\u4FE1\u606F:",se.message),se.response&&(console.log(" - \u54CD\u5E94\u72B6\u6001\u7801:",se.response.status),console.log(" - \u54CD\u5E94\u6570\u636E:",JSON.stringify(se.response.data)))),null}}),V=(await Promise.all(W)).filter(J=>J!==null);w&&console.log(`
|
|
\u5339\u914D\u7ED3\u679C\u6C47\u603B: \u5171 ${V.length} \u4E2A\u6709\u6548\u7ED3\u679C`);let j=null;if(V.length>0){let J=V[0];w&&(console.log("\u9009\u62E9\u7684\u5F39\u5E55\u6E90:",J.url.name||J.url.address),console.log("\u9009\u62E9\u7684\u96C6\u6570:",J.match.episodeTitle)),j={url:`${J.url.address}/api/v2/comment/${J.match.episodeId}?withRelated=true&chConvert=1`,sourceName:J.url.name||"\u5F39\u5E55\u6E90",episodeTitle:J.match.episodeTitle,match:{animeTitle:J.match.animeTitle||"",episodeTitle:J.match.episodeTitle||"",episodeId:J.match.episodeId||"",sourceName:J.url.name||"\u5F39\u5E55\u6E90"}},messageToDart({action:"toast",opt:{message:`\u5339\u914D\u5230 ${j.episodeTitle} - \u5F39\u5E55\u89E3\u6790\u4E2D......`,duration:3}})}else w&&console.log(`
|
|
\u6240\u6709\u5F39\u5E55\u6E90\u5747\u672A\u5339\u914D\u6210\u529F`);if(j){w&&(console.log(`
|
|
=== \u8BF7\u6C42\u5F39\u5E55\u6570\u636E ===`),console.log("\u5F39\u5E55URL:",j.url));let J=await Ae.get(j.url,{timeout:1e4});w&&(console.log("\u5F39\u5E55\u54CD\u5E94\u72B6\u6001:",J.status),console.log("\u5F39\u5E55\u6570\u636E:",J.data?.comments?.length||0,"\u6761"));let se=Array.isArray(J.data?.comments)?J.data.comments.filter(Ce=>Ce?.p&&String(Ce?.m||"").trim()!==""):[],oe=se.length;if(messageToDart({action:"toast",opt:{message:`\u901A\u8FC7 ${j.sourceName} - \u89E3\u6790\u5230 ${oe} \u6761\u5F39\u5E55`,duration:3}}),A){m.send({success:oe>0,comments:se,count:oe,match:j.match});return}let ue=`<?xml version="1.0" encoding="UTF-8"?>
|
|
<i>
|
|
`;for(let Ce of se){let we=String(Ce.m).trim();if(we){let qe=we.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");ue+=` <d p="${Ce.p}">${qe}</d>
|
|
`}}ue+="</i>",w&&(console.log("\u8F6C\u6362\u540E\u7684\u5F39\u5E55\u6570\u91CF:",oe),console.log("XML\u6570\u636E\u5927\u5C0F:",ue.length,"\u5B57\u8282"),console.log("XML\u6570\u636E\u9884\u89C8:",ue.substring(0,500)),console.log(`=== \u5F39\u5E55\u5339\u914D\u5B8C\u6210 ===
|
|
`)),m.header("Content-Type","application/xml"),m.send(ue)}else messageToDart({action:"toast",opt:{message:"\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~",duration:3}}),g()}catch(h){console.error(`
|
|
=== \u5F39\u5E55\u5339\u914D\u53D1\u751F\u9519\u8BEF ===`),console.error("\u9519\u8BEF\u7C7B\u578B:",h.name),console.error("\u9519\u8BEF\u4FE1\u606F:",h.message),console.error("\u9519\u8BEF\u5806\u6808:",h.stack),console.error(`=========================
|
|
`),messageToDart({action:"toast",opt:{message:"\u6CA1\u6709\u627E\u5230\u5F39\u5E55\u5466~",duration:2}}),String(p.query?.format||"").toLowerCase()==="json"?m.code(500).send({success:!1,error:"Failed to fetch danmu content",comments:[],count:0,match:null}):m.code(500).send({error:"Failed to fetch danmu content"})}}),t.addHook("onSend",(p,m,h,A)=>{if(m.sent||m.raw?.headersSent||!p.url.endsWith("/detail")&&!p.url.endsWith("/play"))return A(null,h);let g=typeof h=="string"?h:Buffer.isBuffer(h)?h.toString():null;if(!g)return A(null,h);SM(p.server).then(b=>{if(!b?.autoPush)return A(null,h);try{if(p.url.endsWith("/detail")){let y=JSON.parse(g),x=Array.isArray(y?.list)?y.list[0]:null;if(!x||typeof x!="object")return A(null,h);let v=String(x.vod_play_from||""),C=String(x.vod_play_url||"");if(!v||!C)return A(null,h);let R=String(x.vod_name||"").trim(),N=String(sA(R)||"").trim()||R;tue={};let P=v.split("$$$").filter(Boolean);return C.split("$$$").filter(Boolean).forEach((L,M)=>{L.split("#").forEach(k=>{let[B,Z]=k.split("$");if(!Z)return;let W=P[M]||`\u7EBF\u8DEF${M+1}`;tue[`${W}_${Z}`]={name:N,originalName:R,episodeNumber:Yw(B)}})}),A(null,h)}if(p.url.endsWith("/play")){let y=JSON.parse(g);if((y.url||y.url?.length||y.urls?.length)&&!y?.extra?.danmaku){let x=p.body||{},v=`${x.flag||""}_${x.id||""}`,C=tue[v];if(C){y.extra||(y.extra={});let R=new URL(`http://127.0.0.1:${p.server.address().port}/danmu-proxy`);return R.searchParams.set("name",C.name),R.searchParams.set("episodeNumber",C.episodeNumber),C.originalName&&R.searchParams.set("originalName",C.originalName),y.extra.danmaku=R.toString(),A(null,JSON.stringify(y))}}}}catch(y){console.error(y)}return A(null,h)}).catch(b=>(console.error(b),A(null,h)))})}var u6=Re(ldt(),1);var fdt=Re(v0(),1),a2=Re(Jn(),1);var FM="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",BE={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},ddt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},owr=async t=>{let e=a2.default.enc.Hex.stringify(a2.default.MD5(t.config.quark.cookie)).toString();return(await t.db.getObjectDefault("/quark",{}))[e]??""},cwr=async(t,e)=>{let r=a2.default.enc.Hex.stringify(a2.default.MD5(t.config.quark.cookie)).toString();await t.db.push(`/quark/${r}`,e)};async function vue(t){t.get("/qrcode",async(r,n)=>{try{let s=await Ae.get("https://uop.quark.cn/cas/ajax/getTokenForQrcodeLogin?client_id=532&v=1.2",{headers:{"User-Agent":FM}}),i=s.data.data.members.token,a=hl(s.headers["set-cookie"]),o=ddt.encode({token:i,cookies:a}),c="https://su.quark.cn/4_eMHBJ?token="+i+"&client_id=532&ssb=weblogin&uc_param_str=&uc_biz_str=S%3Acustom%7COPT%3ASAREA%400%7COPT%3AIMMERSIVE%401%7COPT%3ABACK_BTN_STYLE%400",u=await fdt.default.toBuffer(c,{width:300,height:300});n.header("X-Session-Key",o),n.send(u)}catch(s){console.error("\u5938\u514B\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",s),n.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=ddt.decode(s);if(!i)return n.send({code:0,data:{status:BE.EXPIRED}});let{token:a,cookies:o}=i;try{let c=await Ae.get(`https://uop.quark.cn/cas/ajax/getServiceTicketByQrcodeToken?client_id=532&v=1.2&token=${a}`,{headers:{"User-Agent":FM}});if(c.data.status===2e6){let u=await e(c.data.data.members.service_ticket,o);n.send({code:0,data:{status:BE.CONFIRMED,cookie:u}})}else c.data.status===50004002?n.send({code:0,data:{status:BE.EXPIRED}}):c.data.status===50004001?n.send({code:0,data:{status:BE.NEW}}):n.send({code:0,data:{status:BE.NEW}})}catch(c){console.error("\u5938\u514B\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",c),n.send({code:0,data:{status:BE.NEW}})}});async function e(r,n){let s=[...n],i=await Ae.get(`https://pan.quark.cn/account/info?st=${r}&fr=pc&platform=pc`,{headers:{"User-Agent":FM,Cookie:s.join("")}});i.headers["set-cookie"]&&(s=s.concat(hl(i.headers["set-cookie"])));let a=await Ae.get("https://drive-pc.quark.cn/1/clouddrive/share/sharepage/dir?pr=ucpro&fr=pc&uc_param_str=&aver=1",{headers:{"User-Agent":FM,Cookie:s.join("")}});return a.headers["set-cookie"]&&(s=s.concat(hl(a.headers["set-cookie"]))),s.join("")}t.post("/cookie",(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await owr(r.server)})}),t.put("/cookie",async(r,n)=>{await cwr(r.server,r.body.cookie),n.send({code:0})})}var o2=Re(Jn(),1);var uA={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},pdt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},uwr=async t=>{let e=o2.default.enc.Hex.stringify(o2.default.MD5(t.config.uc.token)).toString();return(await t.db.getObjectDefault("/uc",{}))[e]??""},lwr=async(t,e)=>{let r=o2.default.enc.Hex.stringify(o2.default.MD5(t.config.uc.token)).toString();await t.db.push(`/uc/${r}`,e)};async function Cue(t){t.get("/qrcode",async(e,r)=>{try{let n="/oauth/authorize",s=Math.floor(Date.now()/1e3).toString()+"000",i=bc.DeviceID,a=Kv(i,s),o=jk("GET",n,s,Cs.signKey),c={Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Linux; U; Android 13; zh-cn; M2004J7AC Build/UKQ1.231108.001) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1","x-pan-tm":s,"x-pan-token":o,"x-pan-client-id":Cs.clientID,...bc.AccessToken?{Authorization:`Bearer ${bc.AccessToken}`}:{}},u=await Ae.get(`${Cs.api}${n}`,{params:{req_id:a,access_token:bc.AccessToken,app_ver:Cs.appVer,device_id:i,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Cs.channel,auth_type:"code",client_id:Cs.clientID,scope:"netdisk",qrcode:"1",qr_width:"460",qr_height:"460"},headers:c}),l=pdt.encode({query_token:u.data.query_token,req_id:a});r.header("X-Session-Key",l),r.send(Buffer.from(u.data.qr_data,"base64"))}catch(n){console.error("UC-TV\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let{sessionKey:n}=e.body,s=pdt.decode(n);if(!s)return r.send({code:0,data:{status:uA.EXPIRED}});let{query_token:i}=s;try{let a="/oauth/code",o=Math.floor(Date.now()/1e3).toString()+"000",c=bc.DeviceID,u=Kv(c,o),l=jk("GET",a,o,Cs.signKey),d={Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Linux; U; Android 13; zh-cn; M2004J7AC Build/UKQ1.231108.001) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1","x-pan-tm":o,"x-pan-token":l,"x-pan-client-id":Cs.clientID,...bc.AccessToken?{Authorization:`Bearer ${bc.AccessToken}`}:{}},f=await Ae.get(`${Cs.api}${a}`,{params:{req_id:u,access_token:bc.AccessToken,app_ver:Cs.appVer,device_id:c,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Cs.channel,client_id:Cs.clientID,scope:"netdisk",query_token:i},headers:d,validateStatus:p=>p<500});if(f.data.status===0){let p="/token",m=Math.floor(Date.now()/1e3).toString()+"000",h=Kv(bc.DeviceID,m),A=JSON.stringify({req_id:h,app_ver:Cs.appVer,device_id:bc.DeviceID,device_brand:"Xiaomi",platform:"tv",device_name:"M2004J7AC",device_model:"M2004J7AC",build_device:"M2004J7AC",build_product:"M2004J7AC",device_gpu:"Adreno (TM) 550",activity_rect:"{}",channel:Cs.channel,code:f.data.code}),g=await Ae.post(`${Cs.codeApi}${p}`,A,{headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",Accept:"application/json, text/plain, */*","Content-Type":"application/json"}});g.data.code===200?r.send({code:0,data:{status:uA.CONFIRMED,cookie:g.data.data.access_token}}):r.send({code:0,data:{status:uA.NEW}})}else f.data.errno===11003?r.send({code:0,data:{status:uA.NEW}}):f.data.status===-1||f.data.errno===11001?r.send({code:0,data:{status:uA.EXPIRED}}):r.send({code:0,data:{status:uA.NEW}})}catch(a){console.error("UC-TV\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",a),r.send({code:0,data:{status:uA.NEW}})}}),t.post("/token",async(e,r)=>{r.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/token",async(e,r)=>{r.send({code:0,data:await uwr(e.server)})}),t.put("/token",async(e,r)=>{await lwr(e.server,e.body.cookie),r.send({code:0})})}var mdt=async(t,e)=>(await t.db.getObjectDefault("/tyi",{}))?.[e]||"",hdt=async(t,e,r)=>{await t.db.push(`/tyi/${e}`,r)};async function Iue(t){t.get("/account",async(e,r)=>{let n=await mdt(e.server,"cloud_account"),s=await mdt(e.server,"cloud_password");r.send({code:0,data:{username:n,password:s}})}),t.put("/account",async(e,r)=>{await hdt(e.server,"cloud_account",e.body.username),await hdt(e.server,"cloud_password",e.body.password),r.send({code:0})})}var dwr=["https://www.leijing1.com"],fwr=async t=>(await t.db.getObjectDefault("/leijing",{}))?.urls||t.config.leijing?.urls||dwr,pwr=async(t,e)=>{await t.db.push("/leijing/urls",e)},mwr=async t=>{await t.db.delete("/leijing/urls")};async function Tue(t){t.get("/urls",async(e,r)=>{r.send({code:0,data:await fwr(e.server)})}),t.put("/urls",async(e,r)=>{await pwr(e.server,e.body),r.send({code:0})}),t.delete("/urls",async(e,r)=>{await mwr(e.server),r.send({code:0})})}var wue=async(t,e)=>{let r=await t.db.getObjectDefault("/pan123",{});return Object.prototype.hasOwnProperty.call(r||{},e)?r[e]:""},Rue=async(t,e,r)=>{await t.db.push(`/pan123/${e}`,r)};function hwr(t,e=!1){if(typeof t=="boolean")return t;if(typeof t=="string"){let r=t.trim().toLowerCase();if(["1","true","yes","on"].includes(r))return!0;if(["0","false","no","off"].includes(r))return!1}return e}async function Nue(t){t.get("/account",async(e,r)=>{let n=await wue(e.server,"pan_passport"),s=await wue(e.server,"pan_password"),i=await wue(e.server,"use_direct_download");r.send({code:0,data:{username:n,password:s,useDirectDownload:hwr(i,!0)}})}),t.put("/account",async(e,r)=>{await Rue(e.server,"pan_passport",e.body.username),await Rue(e.server,"pan_password",e.body.password),await Rue(e.server,"use_direct_download",e.body.useDirectDownload===!0),r.send({code:0})})}var lA=async(t,e)=>(await t.db.getObjectDefault("/xun",{}))?.[e]||"",ed=async(t,e,r)=>{await t.db.push(`/xun/${e}`,r)},Oue=(t="")=>String(t||"").trim();async function Pue(t){t.get("/account",async(e,r)=>{let n=await lA(e.server,"xun_username"),s=await lA(e.server,"xun_password"),i=!!await lA(e.server,"xun_auth");r.send({code:0,data:{username:n,password:s,hasAuth:i}})}),t.put("/account",async(e,r)=>{await ed(e.server,"xun_username",e.body.username||""),await ed(e.server,"xun_password",e.body.password||""),await ed(e.server,"xun_auth",""),await ed(e.server,"xun_refresh_token",""),await ed(e.server,"xun_user_id",""),r.send({code:0})}),t.get("/auth-status",async(e,r)=>{let n=!!await lA(e.server,"xun_auth");r.send({code:0,data:{hasAuth:n}})}),t.post("/login",async(e,r)=>{try{let n=Oue(e.body?.username),s=Oue(e.body?.password);if(!n){r.send({code:1,message:"\u8BF7\u8F93\u5165\u8FC5\u96F7\u8D26\u53F7"});return}if(!s){r.send({code:1,message:"\u8BF7\u8F93\u5165\u8FC5\u96F7\u5BC6\u7801"});return}await ed(e.server,"xun_username",n),await ed(e.server,"xun_password",s),await ed(e.server,"xun_auth",""),await ed(e.server,"xun_refresh_token",""),await ed(e.server,"xun_user_id",""),await ab(e),await zh.getDownload_auth();let i=!!await lA(e.server,"xun_auth");r.send({code:i?0:1,message:i?"\u767B\u5F55\u6210\u529F":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u8D26\u53F7\u5BC6\u7801",data:{hasAuth:i}})}catch(n){console.warn("[xunlei] password login failed",{hasUsername:!!Oue(e.body?.username),message:n?.message||String(n)}),r.send({code:1,message:n?.message||"\u8FC5\u96F7\u8D26\u53F7\u5BC6\u7801\u767B\u5F55\u5931\u8D25"})}}),t.post("/send-code",async(e,r)=>{if(await ab(e),!await lA(e.server,"xun_username")){r.send({code:1,message:"\u8BF7\u5148\u4FDD\u5B58\u8FC5\u96F7\u8D26\u53F7"});return}await zh.getVerifyCode(),r.send({code:0,data:{sent:!0}})}),t.post("/verify-code",async(e,r)=>{await ab(e);let n=String(e.body?.code||"").trim();if(!n){r.send({code:1,message:"\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A"});return}await zh.getVerify(n);let s=!!await lA(e.server,"xun_auth");r.send({code:s?0:1,message:s?"\u767B\u5F55\u6210\u529F":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u9A8C\u8BC1\u7801",data:{hasAuth:s}})})}var ydt=Re(v0(),1),Due=Re(Jn(),1),xdt=Re(nC(),1),bdt="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0",va={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},gdt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},Adt=null;function Edt(t){return Due.default.enc.Hex.stringify(Due.default.MD5(t.config.ali.token)).toString()}var gwr=async t=>{let e=await t.db.getObjectDefault("/ali",{});return String(e.token||e[Edt(t)]||"").trim()},Awr=async(t,e)=>{let r=String(e||"").trim();await t.db.push("/ali/token",r),await t.db.push(`/ali/${Edt(t)}`,r)};function ywr(t){return{t:t.t,appName:"aliyun_drive",ck:t.ck,appEntrance:"web",isMobile:"false",lang:"zh_CN",returnUrl:"",navlanguage:"zh-CN",navPlatform:"MacIntel",fromSite:"52",bizParams:""}}function xwr(t){let e=String(t||"").toUpperCase();return e===va.CONFIRMED?va.CONFIRMED:e===va.SCANNED||e==="SCANED"?va.SCANNED:e===va.CANCELED||e==="CANCELLED"?va.CANCELED:e===va.NEW?va.NEW:va.EXPIRED}async function bwr(){return(await Ae.get("https://passport.aliyundrive.com/newlogin/qrcode/generate.do?appName=aliyun_drive&fromSite=52&appName=aliyun_drive&appEntrance=web&isMobile=false&lang=zh_CN&returnUrl=&bizParams=&_bx-v=2.2.3",{headers:{"User-Agent":bdt}})).data?.content?.data}async function Ewr(t){return(await Ae.post("https://passport.aliyundrive.com/newlogin/qrcode/query.do?appName=aliyun_drive&fromSite=52&_bx-v=2.2.3",xdt.default.stringify(ywr(t)),{headers:{"content-type":"application/x-www-form-urlencoded","User-Agent":bdt,referer:"https://www.aliyundrive.com/"}})).data?.content?.data||null}function _wr(t){let e=t?.bizExt;if(!e)return"";let r=Buffer.from(e,"base64").toString("utf8");try{return JSON.parse(r)?.pds_login_result?.refreshToken||""}catch{return JSON.parse(decodeURI(r))?.pds_login_result?.refreshToken||""}}async function Swr(t){let e=await Ewr(t);if(!e)return{status:va.EXPIRED};let r=xwr(e.qrCodeStatus);if(r!==va.CONFIRMED)return{status:r};let n=_wr(e);return n?{status:va.CONFIRMED,cookie:n}:{status:va.EXPIRED}}async function kue(t){t.get("/qrcode",async(e,r)=>{try{let n=await bwr();if(!n?.ck||!n?.t||!n?.codeContent)throw new Error("\u4E8C\u7EF4\u7801\u5185\u5BB9\u7F3A\u5931");Adt={ck:n.ck,t:n.t};let s=gdt.encode(Adt),i=await ydt.default.toBuffer(n.codeContent,{width:300,height:300});r.header("X-Session-Key",s),r.send(i)}catch(n){console.error("\u963F\u91CC\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let n=gdt.decode(e.body?.sessionKey);if(!n)return r.send({code:0,data:{status:va.EXPIRED}});try{let s=await Swr(n);r.send({code:0,data:s})}catch(s){console.error("\u963F\u91CC\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",s),r.send({code:0,data:{status:va.EXPIRED}})}}),t.get("/token",async(e,r)=>{r.send({code:0,data:await gwr(e.server)})}),t.put("/token",async(e,r)=>{let n=e.body?.cookie??e.body?.data?.token??"";await Awr(e.server,n),r.send({code:0})})}var D0n=Re(v0(),1),L0n=Re(Jn(),1);var ME="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",dA={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},_dt={encode(t,e=3e5){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},vwr=async t=>(await t.db.getObjectDefault("/baidu",{}))["baidu_cookie"]??"",Lue=async(t,e)=>{await t.db.push("/baidu/baidu_cookie",e)};function Cwr(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}async function Bue(t){t.get("/qrcode",async(r,n)=>{try{let s=Cwr(),i=new Date().getTime().toString(),a=Math.floor(new Date().getTime()/1e3).toString(),o=`tangram_guid_${i}`,u=(await he.get("https://passport.baidu.com/v2/api/getqrcode",{params:{lp:"pc",qrloginfrom:"pc",gid:s,callback:o,apiver:"v3",tt:a,tpl:"netdisk",_:i},headers:{"User-Agent":ME,Referer:"https://pan.baidu.com","sec-ch-ua-platform":'"Windows"',DNT:"1"}})).data;if(typeof u=="string"){u=u.replace(/^[^(]*\(/,"").replace(/\);?$/,"");let l=JSON.parse(u);if(l.errno===0){let d=_dt.encode({sign:l.sign,channel_id:l.channel_id}),f="https://"+l.imgurl,p=await he.get(f,{responseType:"arraybuffer",headers:{"User-Agent":ME}});n.header("X-Session-Key",d),n.send(p.data)}else throw new Error(`\u83B7\u53D6\u4E8C\u7EF4\u7801\u5931\u8D25: ${l.errmsg||"\u672A\u77E5\u9519\u8BEF"}`)}else throw new Error("\u54CD\u5E94\u683C\u5F0F\u9519\u8BEF")}catch(s){console.error("\u767E\u5EA6\u4E8C\u7EF4\u7801\u83B7\u53D6\u5931\u8D25:",s),n.status(500).send({code:-1,message:s?.message||"\u83B7\u53D6\u4E8C\u7EF4\u7801\u5931\u8D25"})}}),t.post("/check-status",async(r,n)=>{let{sessionKey:s}=r.body,i=_dt.decode(s);if(!i)return n.send({code:0,data:{status:dA.EXPIRED}});let{sign:a}=i;try{let o=new Date().getTime().toString(),c=`tangram_guid_${o}`,l=(await he.get("https://passport.baidu.com/channel/unicast",{params:{channel_id:a,tpl:"netdisk",apiver:"v3",tt:Math.floor(new Date().getTime()/1e3).toString(),callback:c,_:o},headers:{"User-Agent":ME,Referer:"https://pan.baidu.com"}})).data;if(typeof l=="string"){l=l.replace(/^[^(]*\(/,"").replace(/\);?\s*$/,"").trim();let d=JSON.parse(l);if(d.errno===0&&d.channel_v){let f=JSON.parse(d.channel_v);if(f.status===1)return n.send({code:0,data:{status:dA.SCANNED}});if(f.status===0&&f.v){let p=await e(f.v,r.server);return n.send({code:0,data:{status:dA.CONFIRMED,cookie:p}})}}else{if(d.errno===1)return n.send({code:0,data:{status:dA.NEW}});if(d.errno===2)return n.send({code:0,data:{status:dA.EXPIRED}})}}n.send({code:0,data:{status:dA.NEW}})}catch(o){console.error("\u767E\u5EA6\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",o),n.send({code:0,data:{status:dA.NEW}})}});async function e(r,n){let s=new Date().getTime().toString(),i=Math.floor(new Date().getTime()/1e3).toString(),o=(await he.get("https://passport.baidu.com/v3/login/main/qrbdusslogin",{params:{v:s,bduss:r,u:"https://pan.baidu.com/disk/main#/index?category=all",loginVersion:"v5",qrcode:"1",tpl:"netdisk",maskId:"",fileId:"",apiver:"v3",tt:s,traceid:"",time:i,alg:"v3",elapsed:"1"},headers:{"User-Agent":ME,Referer:"https://pan.baidu.com/","Accept-Language":"zh-CN,zh;q=0.9"},timeout:3e4})).data;if(typeof o=="string"){o=o.replace(/^[^(]*\(/,"").replace(/\);?\s*$/,"").trim();let c=o.match(/"bduss":\s*"([^"]+)"/),u=o.match(/"stoken":\s*"([^"]+)"/),l=o.match(/"ptoken":\s*"([^"]+)"/),d=o.match(/"ubi":\s*"([^"]+)"/);if(c&&u&&l&&d){let f=c[1],p=u[1],m=l[1],h=encodeURIComponent(d[1]),g=Object.entries({newlogin:"1",UBI:h,STOKEN:p,BDUSS:f,PTOKEN:m,BDUSS_BFESS:f,STOKEN_BFESS:p,PTOKEN_BFESS:m,UBI_BFESS:h}).map(([x,v])=>`${x}=${v}`).join("; "),y=(await he.get("https://passport.baidu.com/v3/login/api/auth/?return_type=5&tpl=netdisk&u=https://pan.baidu.com/disk/home",{headers:{"User-Agent":ME,Referer:"https://pan.baidu.com/",Cookie:g},maxRedirects:0,validateStatus:x=>x===302||x===200})).headers.location;if(y){let v=(await he.get(y,{headers:{"User-Agent":ME,Referer:"https://pan.baidu.com/",Cookie:g},maxRedirects:0,validateStatus:w=>w===302||w===200})).headers["set-cookie"],C="";if(v){let w=v.find(N=>N.toLowerCase().includes("stoken"));w&&(C=w.split(";")[0])}let R=C?`BDUSS=${f};${C};`:`BDUSS=${f};STOKEN=${p};`;return await Lue(n,R),R}else{let x=`BDUSS=${f};STOKEN=${p};`;return await Lue(n,x),x}}}throw new Error("Cookie\u89E3\u6790\u5931\u8D25")}t.post("/cookie",async(r,n)=>{n.send({code:-1,message:"\u8BF7\u4F7F\u7528 /check-status \u63A5\u53E3"})}),t.get("/cookie",async(r,n)=>{n.send({code:0,data:await vwr(r.server)})}),t.put("/cookie",async(r,n)=>{await Lue(r.server,r.body.cookie),n.send({code:0})})}var Idt=require("crypto");var Tdt=Re(v0(),1),wdt="https://account.guangyapan.com",Mue="aMe-8VSlkrbQXpUR",Sdt="0123456789abcdef0123456789abcdef",Zf={NEW:"NEW",SCANNED:"SCANNED",CONFIRMED:"CONFIRMED",EXPIRED:"EXPIRED",CANCELED:"CANCELED"},Iwr="urn:ietf:params:oauth:grant-type:device_code",vdt={encode(t,e=12e4){let r={data:t,expireTime:Date.now()+e};return Buffer.from(JSON.stringify(r)).toString("base64url")},decode(t){try{if(!t)return null;let e=JSON.parse(Buffer.from(t,"base64url").toString());return Date.now()>e.expireTime?null:e.data}catch{return null}}},UM=async(t,e)=>(await t.db.getObjectDefault("/guangyapan",{}))?.[e]||"",c2=async(t,e,r)=>{await t.db.push(`/guangyapan/${e}`,r)};function Rdt(t){if(!t)return{};if(typeof t=="string")try{return JSON.parse(t)}catch{return{message:t}}return t}function Xi(t){return String(t||"").trim()}function Twr(t){let e=String(t||"").trim().toLowerCase();return e=e.replace(/^wdi10\./,""),e=e.replace(/x+$/g,""),e=e.replace(/[^0-9a-f]/g,""),e.length===32?e:""}async function wwr(t){let e=Twr(await UM(t,"device_id"));if(e)return e;let r=Sdt;try{r=(0,Idt.randomBytes)(16).toString("hex")}catch{r=Sdt}return await c2(t,"device_id",r),r}function Ndt(t){return{Accept:"application/json, text/plain, */*","Content-Type":"application/json","X-Client-Id":Mue,"X-Client-Version":"0.0.1","X-Device-Id":t,"X-Device-Model":"chrome%2F147.0.0.0","X-Device-Name":"PC-Chrome","X-Device-Sign":`wdi10.${t}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,"X-Net-Work-Type":"NONE","X-OS-Version":"Win32","X-Platform-Version":"1","X-Protocol-Version":"301","X-Provider-Name":"NONE","X-SDK-Version":"9.0.2"}}function Rwr(t){let e=Xi(t?.access_token||t?.accessToken),r=Xi(t?.refresh_token||t?.refreshToken);return{accessToken:e,refreshToken:r}}function Nwr(t,e){let{accessToken:r,refreshToken:n}=Rwr(e);if(t>=200&&t<300&&(n||r))return{status:Zf.CONFIRMED,accessToken:r,refreshToken:n};let s=Xi(e?.error).toLowerCase();return s==="authorization_pending"||s==="slow_down"?{status:Zf.NEW}:s==="access_denied"?{status:Zf.CANCELED}:s.includes("expired")||s==="invalid_grant"?{status:Zf.EXPIRED}:{status:Zf.NEW}}function Owr(t){let e=Xi(t?.refreshToken);return e||Xi(t?.accessToken)}async function Pwr(t){let e=await Ae.post(`${wdt}/v1/auth/device/code`,{scope:"user",client_id:Mue},{headers:Ndt(t),validateStatus:()=>!0}),r=Rdt(e.data),n=Xi(r?.device_code),s=Xi(r?.verification_uri_complete||r?.verification_url),i=Number(r?.expires_in||120);if(e.status<200||e.status>=300||!n||!s)throw new Error(r?.error_description||r?.message||`status=${e.status}`);return{deviceCode:n,verifyUrl:s,expiresIn:i}}async function Dwr(t){let e=await Ae.post(`${wdt}/v1/auth/token`,{grant_type:Iwr,device_code:t.deviceCode,client_id:Mue},{headers:Ndt(t.deviceId),validateStatus:()=>!0});return Nwr(e.status,Rdt(e.data))}async function Cdt(t,e){let r=Xi(e?.accessToken),n=Xi(e?.refreshToken);n&&await c2(t,"refresh_token",n),r&&await c2(t,"access_token",r)}function kwr(t){let e=Xi(t?.cookie),r=Xi(t?.accessToken||t?.data?.accessToken),n=Xi(t?.refreshToken||t?.data?.refreshToken),s=!1;if(!r&&!n&&e)try{let i=JSON.parse(e);s=!0,r=Xi(i?.accessToken||i?.access_token),n=Xi(i?.refreshToken||i?.refresh_token)}catch{n=e}return!s&&!n&&e&&(n=e),{accessToken:r,refreshToken:n}}async function Wue(t){t.get("/qrcode",async(e,r)=>{try{let n=await wwr(e.server),s=await Pwr(n),i=vdt.encode({deviceCode:s.deviceCode,deviceId:n},Math.max(1e3,s.expiresIn*1e3)),a=await Tdt.default.toBuffer(s.verifyUrl,{width:300,height:300});r.header("X-Session-Key",i),r.type("image/png").send(a)}catch(n){console.error("\u5149\u9E2D\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25:",n),r.status(500).send({code:-1,message:"\u4E8C\u7EF4\u7801\u751F\u6210\u5931\u8D25"})}}),t.post("/check-status",async(e,r)=>{let n=vdt.decode(e.body?.sessionKey);if(!n)return r.send({code:0,data:{status:Zf.EXPIRED}});try{let s=await Dwr(n);if(s.status===Zf.CONFIRMED)return await Cdt(e.server,s),r.send({code:0,data:{status:Zf.CONFIRMED,cookie:Owr(s)}});r.send({code:0,data:s})}catch(s){console.error("\u5149\u9E2D\u72B6\u6001\u68C0\u67E5\u5931\u8D25:",s),r.send({code:0,data:{status:Zf.NEW}})}}),t.get("/token",async(e,r)=>{r.send({code:0,data:await UM(e.server,"refresh_token")})}),t.put("/token",async(e,r)=>{await Cdt(e.server,kwr(e.body||{})),r.send({code:0})}),t.get("/account",async(e,r)=>{r.send({code:0,data:{accessToken:await UM(e.server,"access_token"),refreshToken:await UM(e.server,"refresh_token")}})}),t.put("/account",async(e,r)=>{await c2(e.server,"access_token",Xi(e.body?.accessToken)),await c2(e.server,"refresh_token",Xi(e.body?.refreshToken)),r.send({code:0})})}var qM=Re(require("crypto"),1),mo=Re(Jn(),1),kdt="https://user-njs.yun.139.com/user",Uue="7.17.4",Lwr="mCloud_4.3.0_536",$ue=670,Bwr=292,Ldt=mo.default.enc.Utf8.parse("h7DLzCTAjn+altjy2a9E9FSt7AC6pmx1"),Odt=`||9|${Uue}|chrome||0||windows 10||zh-CN|||`,que=(t="")=>String(t||"").replace(/^Basic\s+/i,"").trim(),Ca=(t="")=>String(t||"").trim(),Fue=(t="")=>qM.default.createHash("md5").update(String(t)).digest("hex"),Mwr=(t="")=>qM.default.createHash("sha1").update(String(t)).digest("hex"),Wwr=t=>{try{return JSON.stringify(t)}catch{return String(t)}},$wr=t=>{try{return JSON.parse(t)}catch{return null}},Pdt=(t="",e=160)=>String(t).replace(/\s+/g," ").slice(0,e),Fwr=(t,e="\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8FD4\u56DE\u5F02\u5E38")=>typeof t=="string"?t||e:t&&typeof t=="object"?t.message||t.msg||t.desc||t.resultDesc||Wwr(t):t==null?e:String(t),WE=(t="")=>{let e=Ca(t);return e.length<7?e?"***":"":`${e.slice(0,3)}****${e.slice(-4)}`},jue=(t={},e="\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8FD4\u56DE\u5F02\u5E38")=>{let r=String(t.code??t.status??t.resultCode??t.resultcode??""),n=Fwr(t.message??t.msg??t.desc??t.resultDesc??t.errorMessage,r?`${e}\uFF1A${r}`:e),s=new Error(r?`${n}\uFF08${r}\uFF09`:n);return s.yidongCode=r,s.yidongData=t.data,s.yidongResult=t,s.statusCode=t.statusCode,s},Uwr=t=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let n=0;n<t;n+=1)r+=e[Math.floor(Math.random()*e.length)];return r},qwr=(t={})=>encodeURIComponent(JSON.stringify({...t})).split("").sort().join(""),jwr=(t={})=>{let e=String(Date.now()),r=Uwr(16),n=Fue(Buffer.from(qwr(t)).toString("base64")),s=Fue(`${e}:${r}`);return`${e},${r},${Fue(n+s).toUpperCase()}`},Hwr=(t={},e={})=>({caller:"web","Content-Type":"application/json;charset=UTF-8","CMS-DEVICE":"default","X-Deviceinfo":`||9|${Uue}|chrome||0||windows 10||zh-CN|||`,"x-yun-channel-source":"10000034","x-huawei-channelSrc":"10000034","x-yun-svc-type":"1","x-SvcType":"1","x-m4c-caller":"PC","x-m4c-src":"10002","x-inner-ntwk":"2","mcloud-route":"001","mcloud-version":Uue,"mcloud-channel":"1000101","mcloud-client":"10701","mcloud-sign":jwr(t),"mcloud-skey":"","INNER-HCY-ROUTER-HTTPS":"1",...e}),Bdt=t=>{let e=t?.data||{},r=String(e.code??e.status??e.resultCode??e.resultcode??"");if(e.success===!1||r&&r!=="0"&&r!=="0000")throw jue(e);return e},Qwr=(t={})=>{let e=mo.default.lib.WordArray.random(16),r=mo.default.enc.Utf8.parse(typeof t=="string"?t:JSON.stringify(t)),n=mo.default.AES.encrypt(r,Ldt,{iv:e,mode:mo.default.mode.CBC,padding:mo.default.pad.Pkcs7});return mo.default.enc.Base64.stringify(e.concat(n.ciphertext))},Gwr=(t="")=>{let e=mo.default.enc.Base64.parse(String(t)),r=e.clone(),n=r.words.splice(4);r.init(r.words),e.init(n);let s=mo.default.AES.decrypt(mo.default.enc.Base64.stringify(e),Ldt,{iv:r,mode:mo.default.mode.CBC,padding:mo.default.pad.Pkcs7}).toString(mo.default.enc.Utf8);return JSON.parse(s)},Mdt=(t="")=>{if(typeof t!="string")return t;try{return Gwr(t)}catch(e){let r=$wr(t);return r&&typeof r=="object"?r:(console.warn("[yidong] cool response decrypt failed",{dataLength:String(t).length,dataPreview:Pdt(t),message:e?.message||String(e)}),{success:!1,code:"COOL_DECRYPT_FAILED",message:`\u79FB\u52A8\u4E91\u76D8\u52A0\u5BC6\u54CD\u5E94\u89E3\u6790\u5931\u8D25\uFF1A${Pdt(t)||e?.message||String(e)}`})}},Vwr=t=>{let e=Mdt(t?.data);return Bdt({data:e})},zwr=t=>{let e=qM.default.createDecipheriv("aes-128-ecb",Buffer.from("qPqDw263XgFgL3u8"),null);return e.setAutoPadding(!0),Buffer.concat([e.update(Buffer.from(t,"hex")),e.final()]).toString("utf8")},Kwr=t=>{if(typeof t!="string")return t||{};try{return JSON.parse(zwr(t))}catch{try{return JSON.parse(t)}catch{throw new Error("\u79FB\u52A8\u4E91\u76D8\u767B\u5F55\u7ED3\u679C\u89E3\u6790\u5931\u8D25")}}},Ywr=(t,e)=>!t||!e?"":Buffer.from(`pc:${t}:${e}`,"utf8").toString("base64"),Ddt=async(t,e,r={})=>{try{let n=await Ae.post(`${kdt}${t}`,e,{timeout:3e4,headers:Hwr(e,r)});return Bdt(n)}catch(n){if(n?.response?.data){let s=n.response.data;throw jue(s,"\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8BF7\u6C42\u5931\u8D25")}throw n}},Jwr=async(t,e,r={})=>{let{clientInfo:n,...s}=r;try{let i=await Ae.post(`${kdt}${t}`,Qwr(e),{timeout:3e4,headers:{"Content-Type":"application/json;charset=UTF-8","hcy-cool-flag":"1","x-Nationcode":e.nationCode||"+86","x-deviceinfo":n||Odt,"x-yun-client-info":n||Odt,"x-yun-app-channel":"10000034",...s}});return Vwr(i)}catch(i){if(i?.response?.data){let a=Mdt(i.response.data);throw jue(a,"\u79FB\u52A8\u4E91\u76D8\u63A5\u53E3\u8BF7\u6C42\u5931\u8D25")}throw i}},u2=async(t,e)=>(await t.db.getObjectDefault("/yidong",{}))?.[e]||"",td=async(t,e,r)=>{let n=e==="authorization"?que(r):Ca(r);await t.db.push(`/yidong/${e}`,n),e==="authorization"&&(globalThis.YidongAuthorization=n)},Wdt=async t=>{globalThis.YidongAuthorization=que(await u2(t,"authorization"))};async function Hue(t){t.get("/authorization",async(e,r)=>{let n=que(await u2(e.server,"authorization")),s=Ca(await u2(e.server,"phone"));globalThis.YidongAuthorization=n,r.send({code:0,data:{authorization:n,phone:s,hasAuth:!!n}})}),t.put("/authorization",async(e,r)=>{await td(e.server,"authorization",e.body.authorization),r.send({code:0})}),t.post("/send-code",async(e,r)=>{let n=Ca(e.body?.phone),s=Math.random();try{if(!/^1[3456789]\d{9}$/.test(n)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}let i={phoneNumber:n,reqType:3,random:s,nationCode:"+86",clientType:$ue},a=await Ddt("/sms/getSmsCode",i,{"x-NationCode":"+86"}),o=Ca(a?.data?.random||a?.random||s);await td(e.server,"phone",n),await td(e.server,"smsRandom",o),await td(e.server,"smsLoginRandom",s),console.info("[yidong] sms code sent",{phone:WE(n),reqType:i.reqType,randomLength:o.length}),r.send({code:0,data:{sent:!0}})}catch(i){if(console.warn("[yidong] send code failed",{phone:WE(e.body?.phone),code:i?.yidongCode,message:i?.message||String(i)}),i?.yidongCode==="200059554"){let a=Number(i?.yidongData?.captchaType||i?.yidongResult?.data?.captchaType||2);await td(e.server,"phone",n),await td(e.server,"smsLoginRandom",s),console.info("[yidong] sms code requires captcha",{phone:WE(n),captchaType:a}),r.send({code:0,data:{captchaRequired:!0,captchaType:a}});return}r.send({code:1,message:i?.message||"\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25"})}}),t.post("/send-code-captcha",async(e,r)=>{try{let n=Ca(e.body?.phone),s=Number(e.body?.captchaType||2),i=e.body?.puzzleVerfycode??e.body?.puzzleVerfyCode,a=Ca(e.body?.clientInfo);if(!/^1[3456789]\d{9}$/.test(n)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}if(!i){r.send({code:1,message:"\u8BF7\u5148\u5B8C\u6210\u6ED1\u5757\u9A8C\u8BC1"});return}let o=Ca(await u2(e.server,"smsLoginRandom")),c=Number(o),u=o&&Number.isFinite(c)?c:Math.random(),d=await Jwr("/sms/getSmsCode",{phoneNumber:n,reqType:3,random:u,nationCode:"+86",clientType:$ue,captchaType:s,puzzleVerfycode:i},a?{clientInfo:a}:{}),f=Ca(d?.data?.random||d?.random||u);await td(e.server,"phone",n),await td(e.server,"smsRandom",f),console.info("[yidong] sms code sent after captcha",{phone:WE(n),captchaType:s,randomLength:f.length}),r.send({code:0,data:{sent:!0}})}catch(n){console.warn("[yidong] send code after captcha failed",{phone:WE(e.body?.phone),code:n?.yidongCode,message:n?.message||String(n)}),r.send({code:1,message:n?.message||"\u6ED1\u5757\u9A8C\u8BC1\u540E\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25"})}}),t.post("/verify-code",async(e,r)=>{let n="";try{let s=Ca(e.body?.phone),i=Ca(e.body?.code);if(!/^1[3456789]\d{9}$/.test(s)){r.send({code:1,message:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u4E2D\u56FD\u5927\u9646\u624B\u673A\u53F7"});return}if(!i){r.send({code:1,message:"\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A"});return}n=Ca(await u2(e.server,"smsRandom"));let a={msisdn:s,random:"",dycpwd:i,cpid:Bwr,clienttype:$ue,version:Lwr,pintype:5,secinfo:Mwr(`fetion.com.cn:${i}`).toUpperCase(),verType:2,loginMode:"0",extInfo:{ifOpenAccount:"1"}},o=await Ddt("/thirdlogin",a,{"x-NationCode":"+86"}),c=Kwr(o.data),u=Ca(c.account||s),l=Ca(c.token||c.authToken),d=Ywr(u,l);if(!d){r.send({code:1,message:"\u79FB\u52A8\u4E91\u76D8\u767B\u5F55\u6210\u529F\u4F46\u672A\u8FD4\u56DE\u6709\u6548 token"});return}await td(e.server,"phone",s),await td(e.server,"authorization",d),r.send({code:0,message:"\u767B\u5F55\u6210\u529F",data:{hasAuth:!0,authorization:d}})}catch(s){console.warn("[yidong] verify code failed",{phone:WE(e.body?.phone),codeLength:Ca(e.body?.code).length,smsRandomLength:n.length,message:s?.message||String(s)}),r.send({code:1,message:s?.message||"\u9A8C\u8BC1\u7801\u767B\u5F55\u5931\u8D25"})}})}var jM=[{key:"quark",name:"\u5938\u514B",enable:!0,pic:"https://ts1.cn.mm.bing.net/th/id/R-C.a0d60e6a72806738e6f0b711a979bdf5?rik=lp5C9t5sYlkrLw&riu=http%3a%2f%2fpic.2265.com%2fupload%2f2020-10%2f202010151719492792.png&ehk=Pv6rq3JxJvKe2y1QsdzssyZ4Ez4cwiKWmIvK0aMgxi0%3d&risl=&pid=ImgRaw&r=0",chunkSize:512,poolSize:10,noSaveMode:!1},{key:"uc",name:"UC",enable:!0,pic:"https://ts1.cn.mm.bing.net/th/id/R-C.421c96e47df7c9719403654ee4f7c281?rik=yiiEoGCTgDDc3w&riu=http%3a%2f%2fpic.9663.com%2fupload%2f2023-5%2f20235111411256277.png&ehk=R81N%2flXMrl%2bxpRlST8DtHXDfab6rzaMb83gihuD71Fk%3d&risl=&pid=ImgRaw&r=0",chunkSize:512,poolSize:10},{key:"ali",name:"\u963F\u91CC",enable:!0,pic:"https://inews.gtimg.com/newsapp_bt/0/13263837859/1000",chunkSize:128,poolSize:20},{key:"baidu",name:"\u767E\u5EA6",enable:!0,pic:"https://nd-static.bdstatic.com/m-static/v20-main/home/img/icon-home-new.b4083345.png"},{key:"xunlei",name:"\u8FC5\u96F7",enable:!0,pic:"https://img.geekie.site/i/2026/03/22/190713.png"},{key:"tianyi",name:"\u5929\u7FFC",enable:!0,pic:"https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/a8/fa/f0/a8faf032-0fa4-d9c5-ac70-920d9c84dff1/AppIcon-0-0-1x_U007emarketing-0-7-0-0-sRGB-85-220.png/350x350.png"},{key:"yidong",name:"\u79FB\u52A8",enable:!0,pic:"https://yun.139.com/w/static/img/LOGO.png"},{key:"123",name:"123",enable:!0,pic:"https://statics.123957.com/static/favicon.ico"},{key:"115",name:"115",enable:!0,pic:"https://img.pcsoft.com.cn/soft/202104/093230-608b5e2ed5912.jpg"},{key:"guangyapan",name:"\u5149\u9E2D",enable:!0,pic:"https://www.guangyapan.com/icon.png"}],Que=async t=>{let r=(await t.db.getObjectDefault("/pans",{}))?.list||t.config.pans.list;return r.filter(n=>jM.some(s=>s.key===n.key)).concat(jM.filter(n=>!r.some(s=>s.key===n.key))).map(n=>({...jM.find(i=>i.key===n.key),...n}))},Xwr=async(t,e)=>{await t.db.push("/pans/list",e),globalThis.Pans=e},Zwr=async t=>{await t.db.delete("/pans/list"),globalThis.Pans=jM};async function Gue(t){t.get("/list",async(e,r)=>{r.send({code:0,data:await Que(e.server)})}),t.put("/list",async(e,r)=>{await Xwr(e.server,e.body.list),r.send({code:0})}),t.delete("/list",async(e,r)=>{await Zwr(e.server),r.send({code:0})})}var $dt=Re(Cv(),1);async function Vue(t){t.get("/",async(e,r)=>{r.header("Content-Disposition",`attachment; filename="config.${(0,$dt.default)().format("YYYY-MM-DD")}.json"`);let n=await e.server.db.getData("/");r.send(JSON.stringify(n,null,4))}),t.put("/",async(e,r)=>{await e.server.db.push("/",e.body),r.send({code:0})})}var Fdt=Re(require("crypto"),1);function Ut(t=[],e=null){let r=Array.isArray(t)?t:[];return{Items:r,TotalRecordCount:typeof e=="number"?e:r.length}}function Xr(t,e,r=""){if(!t||typeof t!="object")return r;for(let n of e)if(t[n]!==void 0&&t[n]!==null)return t[n];return r}function zue(t,e){return typeof t!="string"||!t.trim()?[]:t.split(e).map(r=>String(r||"").trim()).filter(Boolean)}function e2r(t){let e=String(t||""),r=e.lastIndexOf("$");return r<=0?{name:e||"\u64AD\u653E",playId:""}:{name:e.slice(0,r).trim()||"\u64AD\u653E",playId:e.slice(r+1).trim()}}function ho(t,e){let r=zue(t,"$$$"),n=zue(e,"$$$"),s=Math.max(r.length,n.length),i=[];for(let a=0;a<s;a++){let c=zue(n[a]||"","#").map(e2r).filter(u=>u.playId);i.push({flag:r[a]||`\u7EBF\u8DEF${a+1}`,episodes:c})}return i}function fA(t,e=1){let r=Number.parseInt(Yw(String(t||"")),10);if(Number.isInteger(r)&&r>0)return r;let n=Number.parseInt(String(e||1),10);return Number.isInteger(n)&&n>0?n:1}function t2r(t,e=""){let r=[];for(let n=0;n<t.length;n+=2){let s=String(t[n]||"").trim(),i=Yue(t[n+1]||"");i&&r.push({label:s,url:i})}if(!r.length)return t.map(s=>Yue(s)).find(Boolean)||"";if(e){let n=r.find(s=>s.label===e);if(n)return n.url}return r[0].url}function Kue(t=""){return/^(https?:\/\/|push:\/\/)/i.test(String(t||"").trim())}function Yue(t=""){let e=String(t||"").trim();if(!e)return"";if(Kue(e))return e;let r=e.split("#").map(n=>String(n||"").trim()).filter(Boolean);for(let n of r){if(Kue(n))return n;let i=n.split(",").map(c=>String(c||"").trim()).filter(Boolean).find(c=>Kue(c));if(i)return i;let a=n.match(/(https?:\/\/[^\s,]+)/i);if(a?.[1])return a[1].trim();let o=n.match(/(push:\/\/[^\s,]+)/i);if(o?.[1])return o[1].trim()}return""}function um(t,e=""){let r=t?.url||"";Array.isArray(r)?r=t2r(r,e):r=Yue(r),typeof r!="string"&&(r="");let n={};return t?.header&&typeof t.header=="object"&&Object.keys(t.header).forEach(s=>{let i=t.header[s];i!=null&&(n[s]=String(i))}),{parse:Number(t?.parse||0),url:r.trim(),header:n}}function Pu(t,e=60){let r=Number(t);return!Number.isFinite(r)||r<=0?e:Math.min(200,r)}function Ia(t=[],e=0,r=60){let n=Array.isArray(t)?t:[],s=Math.max(0,Number(e)||0),i=Pu(r,60);return n.slice(s,s+i)}function ss(t={}){return{IsFavorite:!1,Played:!1,PlayCount:0,PlaybackPositionTicks:0,...t}}function $E(t={}){let e=`${t?.vod_name||""} ${t?.vod_remarks||""}`;return/(æ›´æ–°|第\s*\d+\s*[é›†è¯æœŸ]|连载|season|s\d+e\d+)/i.test(e)?"Series":"Movie"}function Ws(){return new Date().toISOString()}function r2r(t={}){if(typeof t=="string")try{t=JSON.parse(t)}catch{t={}}return{username:String(t?.username||t?.Username||t?.name||t?.Name||""),password:String(t?.pw||t?.Pw||t?.password||t?.Password||"")}}function n2r(t=""){let e={};return String(t).replace(/^MediaBrowser\s+/i,"").replace(/^Emby\s+/i,"").replace(/,\s+/g,",").split(",").forEach(n=>{let[s,i]=n.split("="),a=String(s||"").trim().toLowerCase(),o=String(i||"").replace(/"/g,"").trim();a&&o&&(e[a]=o)}),e}function s2r(t){let e=t.query||{},r=n2r(t.headers?.["x-emby-authorization"]||t.headers?.authorization||"");return{client:r.client||String(e["x-emby-client"]||e["X-Emby-Client"]||""),device:r.device||String(e["x-emby-device-name"]||e["X-Emby-Device-Name"]||""),deviceId:r.deviceid||String(e["x-emby-device-id"]||e["X-Emby-Device-Id"]||""),version:r.version||String(e["x-emby-client-version"]||e["X-Emby-Client-Version"]||"")}}function i2r(t){let e=Ws();return{Name:t.user.name,ServerId:t.config.serverId,Id:t.user.id,HasPassword:!0,HasConfiguredPassword:!0,HasConfiguredEasyPassword:!1,EnableAutoLogin:!1,LastLoginDate:e,LastActivityDate:e,Policy:{IsAdministrator:!0,IsHidden:!1,IsDisabled:!1,EnableRemoteAccess:!0,EnableContentDeletion:!1,EnableContentDownloading:!0,EnableSyncTranscoding:!0,EnableMediaPlayback:!0,EnableAudioPlaybackTranscoding:!0,EnableVideoPlaybackTranscoding:!0,EnablePlaybackRemuxing:!0,EnableSubtitleManagement:!1,AuthenticationProviderId:"Emby.Server.Implementations.Library.DefaultAuthenticationProvider"},Configuration:{PlayDefaultAudioTrack:!0,DisplayMissingEpisodes:!1,SubtitleMode:"Default",EnableLocalPassword:!1,HidePlayedInLatest:!0,RememberAudioSelections:!0,RememberSubtitleSelections:!0}}}function a2r(t,e,r){let n=Ws();return{PlayState:{CanSeek:!0,IsPaused:!1,IsMuted:!1,RepeatMode:"RepeatNone",SubtitleOffset:0,PlaybackRate:1},AdditionalUsers:[],RemoteEndPoint:"mycatpaw",PlayableMediaTypes:["Video"],PlaylistIndex:0,PlaylistLength:0,Id:e.Id,ServerId:t.config.serverId,UserId:e.Id,UserName:e.Name,Client:r.client,LastActivityDate:n,DeviceName:r.device,InternalDeviceId:0,DeviceId:r.deviceId,ApplicationVersion:r.version||t.config.version,SupportedCommands:[],SupportsRemoteControl:!1}}async function Jue(t){let e=new Map,r=5,n=60*1e3;function s(a){let o=Date.now(),c=e.get(a);return!c||o-c.windowStart>n?!1:c.count>=r}function i(a){let o=Date.now(),c=e.get(a);!c||o-c.windowStart>n?e.set(a,{count:1,windowStart:o}):c.count++}t.get("/Public",async()=>[]),t.post("/AuthenticateByName",async(a,o)=>{let c=t.embyContext;if(!c.config.enable)return o.code(503),"Emby disabled";let u=a.ip||"unknown";if(s(u))return o.code(429),"\u8BF7\u6C42\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";let l=r2r(a.body||{});if(console.log("[Emby Auth] login attempt:",JSON.stringify({username:l.username,hasPassword:!!l.password,ip:u})),l.username!==c.config.username||l.password!==c.config.password)return i(u),o.code(401),"\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF";let d=Fdt.default.randomBytes(24).toString("hex"),f=s2r(a),p=Date.now(),m=c.config.tokenTtlMs>0?p+c.config.tokenTtlMs:0;c.tokens.set(d,{token:d,userId:c.user.id,userName:c.user.name,createdAt:p,lastUsedAt:p,expireAt:m,device:f});let h=i2r(c),A=a2r(c,h,f);return{User:h,SessionInfo:A,AccessToken:d,ServerId:c.config.serverId}}),t.post("/Logout",{preHandler:t.embyRequireAuth},async(a,o)=>{a.embyToken&&t.embyContext.tokens.delete(a.embyToken),o.code(204).send()}),t.get("/Me",{preHandler:t.embyRequireAuth},async a=>({Name:a.embyUser?.Name||t.embyContext.user.name,Id:a.embyUser?.Id||t.embyContext.user.id,ServerId:t.embyContext.config.serverId,Policy:{},Configuration:{},EnableAutoLogin:!1,LastLoginDate:Ws(),LastActivityDate:Ws()}))}async function Xue(t){t.get("/Info/Public",async()=>{let e=t.embyContext.config;return{LocalAddresses:[],RemoteAddresses:[],ServerName:e.serverName,Version:e.version,Id:e.serverId}}),t.get("/Info",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config;return{SystemUpdateLevel:"Release",OperatingSystemDisplayName:"Node.js",HasPendingRestart:!1,IsShuttingDown:!1,HasImageEnhancers:!1,SupportsLibraryMonitor:!1,SupportsLocalPortConfiguration:!1,SupportsWakeServer:!1,CanSelfRestart:!1,CanSelfUpdate:!1,CanLaunchWebBrowser:!1,ProgramDataPath:"/",ItemsByNamePath:"/metadata",CachePath:"/cache",LogPath:"/logs",InternalMetadataPath:"/metadata",TranscodingTempPath:"/tmp",HttpServerPortNumber:8096,SupportsHttps:!1,HttpsPortNumber:8920,HasUpdateAvailable:!1,SupportsAutoRunAtStartup:!1,HardwareAccelerationRequiresPremiere:!1,WakeOnLanInfo:{MacAddress:"",BroadcastAddress:"",Port:0},IsInMaintenanceMode:!1,LocalAddress:"",LocalAddresses:[],WanAddress:"",RemoteAddresses:[],ServerName:e.serverName,Version:e.version,Id:e.serverId}}),t.get("/Ping",async(e,r)=>(r.type("text/plain; charset=utf-8"),"MyCatPaw Emby")),t.get("/Endpoint",async()=>({IsInNetwork:!0}))}var Udt=new Set(["lib","cat","vod","sea","ep","img","media"]);function wn(t,e={}){if(!Udt.has(t))throw new Error(`Unsupported item type: ${t}`);let r=JSON.stringify(e||{}),n=Buffer.from(r,"utf8").toString("base64url");return`${t}:${n}`}function $s(t){if(typeof t!="string")return null;let e=t.indexOf(":");if(e<=0)return null;let r=t.slice(0,e);if(!Udt.has(r))return null;let n=t.slice(e+1);if(!n)return null;try{let s=Buffer.from(n,"base64url").toString("utf8"),i=JSON.parse(s);return!i||typeof i!="object"?null:{type:r,payload:i}}catch{return null}}function Zue(t,e){let r=wn("lib",{k:t.spiderKey,t:t.spiderType,...t.siteName?{n:t.siteName}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:t.siteName,ServerId:e,Id:r,Guid:r,Etag:r,IsFolder:!0,Type:"CollectionFolder",PrimaryImageAspectRatio:1.7778,CanDelete:!1,CanDownload:!1,DisplayPreferencesId:r,UserData:ss(),ImageTags:{Primary:r},BackdropImageTags:[],ChildCount:0}}async function ele(t){t.get("/MediaFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Xl(t);return Ut(r.map(n=>Zue(n,e)))}),t.get("/VirtualFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId;return(await Xl(t)).map(n=>{let s=Zue(n,e);return{Name:s.Name,Locations:[],LibraryOptions:{},ItemId:s.Id,Id:s.Id,Guid:s.Guid}})}),t.get("/SelectableMediaFolders",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Xl(t);return Ut(r.map(n=>{let s=Zue(n,e);return{Name:s.Name,Id:s.Id,Path:"",Type:"Virtual"}}))}),t.post("/Refresh",{preHandler:t.embyRequireAuth},async(e,r)=>{r.code(204).send()}),t.post("/RefreshMediaLibrary",{preHandler:t.embyRequireAuth},async(e,r)=>{r.code(204).send()})}var o2r="/embyPlayback",c2r=.92,u2r=1500;function HM(t,e=0){let r=Number(t);return Number.isFinite(r)?r:e}function tle(t,e=!1){if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["1","true","yes","on"].includes(r)?!0:["0","false","no","off"].includes(r)?!1:e}function l2r(t){if(t instanceof Date){let n=t.getTime();return Number.isFinite(n)?new Date(n).toISOString():""}let e=String(t||"").trim();if(!e)return"";let r=Date.parse(e);return Number.isFinite(r)?new Date(r).toISOString():""}function QM(t){let e=t&&typeof t=="object"?t:{};return{users:e.users&&typeof e.users=="object"?e.users:{}}}function lm(t){let e=t?.embyContext;return!e||typeof e!="object"?QM(null):((!e.playbackState||typeof e.playbackState!="object")&&(e.playbackState=QM(null)),(!e.playbackState.users||typeof e.playbackState.users!="object")&&(e.playbackState.users={}),e.playbackState)}function pA(t,e){let r=String(e||"").trim();return r?((!t.users[r]||typeof t.users[r]!="object")&&(t.users[r]={items:{}}),(!t.users[r].items||typeof t.users[r].items!="object")&&(t.users[r].items={}),t.users[r]):null}function ep(t,e=""){let r=t&&typeof t=="object"?t:{};return{itemId:String(e||r.itemId||"").trim(),name:String(r.name||"").trim(),isFavorite:!!r.isFavorite,played:!!r.played,playCount:Math.max(0,Math.floor(HM(r.playCount,0))),playbackPositionTicks:Math.max(0,Math.floor(HM(r.playbackPositionTicks,0))),lastPlayedDate:l2r(r.lastPlayedDate),mediaSourceId:String(r.mediaSourceId||"").trim()}}function qdt(t={}){return Date.parse(String(t?.lastPlayedDate||""))||0}function d2r(t=""){let e=String(t||"").trim();return e?e.match(/\d{4}/)?.[0]||e:""}function Hdt(t={}){let e=String(t.k||"").trim(),r=String(t.v||"").trim();if(!e||!r)return null;let n=d2r(t.y);return{k:e,t:Number(t.t||3),v:r,...t.n?{n:String(t.n||"")}:{},...t.u?{u:String(t.u||"")}:{},...t.r?{r:String(t.r||"")}:{},...n?{y:n}:{}}}function f2r(t={}){let e=Hdt(t);return e?{...e,l:Number(t.l||0)}:null}function p2r(t={}){let e=Hdt(t);return e?wn("vod",e):""}function m2r(t={}){let e=f2r(t);return e?wn("sea",e):""}function Qdt(t){return t?.type==="ep"||t?.type==="media"}function h2r(t,e){if(!Qdt(t)||!["vod","sea"].includes(e?.type))return!1;let r=t.payload||{},n=e.payload||{};return!(String(r.k||"")!==String(n.k||"")||Number(r.t||3)!==Number(n.t||3)||String(r.v||"")!==String(n.v||"")||e.type==="sea"&&Number(r.l||0)!==Number(n.l||0))}function Gdt(t,e,r,n={}){let s=$s(String(r||""));if(!["vod","sea"].includes(s?.type))return[];let i=lm(t),a=pA(i,e);if(!a)return[];let o=!!n?.includePlayed;return Object.entries(a.items||{}).map(([c,u])=>({record:ep(u,c),decoded:$s(c)})).filter(({record:c,decoded:u})=>!h2r(u,s)||c.playbackPositionTicks<=0?!1:o||!c.played).sort((c,u)=>qdt(u.record)-qdt(c.record))}function l2(t,e,r,n={}){return Gdt(t,e,r,n)[0]||null}async function jdt(t){try{if(!t?.db?.push)return;await t.db.push(o2r,lm(t))}catch{}}function GM(t,e=!1){let r=t?.embyContext;if(!(!r||typeof r!="object")){if(e){r.playbackPersistTimer&&(clearTimeout(r.playbackPersistTimer),r.playbackPersistTimer=null),jdt(t);return}r.playbackPersistTimer||(r.playbackPersistTimer=setTimeout(async()=>{r.playbackPersistTimer=null,await jdt(t)},u2r))}}function g2r(t={},e=""){let r=[t?.ItemId,t?.itemId,t?.NowPlayingItem?.Id,t?.nowPlayingItem?.Id,t?.PlayingItemId,t?.playingItemId,t?.PlayableItemId,t?.playableItemId,e];for(let n of r){let s=String(n||"").trim();if(s)return s}return""}function A2r(t={}){let e=[t?.PositionTicks,t?.positionTicks,t?.PlaybackPositionTicks,t?.playbackPositionTicks,t?.Position,t?.position];for(let r of e){let n=Math.floor(HM(r,NaN));if(Number.isFinite(n)&&n>=0)return n}return 0}function y2r(t={}){let e=[t?.RunTimeTicks,t?.runTimeTicks,t?.NowPlayingItem?.RunTimeTicks,t?.nowPlayingItem?.runTimeTicks];for(let r of e){let n=Math.floor(HM(r,NaN));if(Number.isFinite(n)&&n>0)return n}return 0}function x2r(t,e,r,n){return tle(t?.Played,!1)||tle(t?.IsPlayed,!1)||e==="played"?!0:e!=="stopped"||n<=0?!1:r/n>=c2r}function b2r(t,e,r){let n=String(r||"").trim();if(!n)return null;let s=lm(t),i=pA(s,e);if(!i)return null;let a=i.items[n];return!a||typeof a!="object"?null:ep(a,n)}function Fo(t,e,r,n={}){let s=String(r||"").trim();if(!s)return ss(n);let i=b2r(t,e,s),o=l2(t,e,s)?.record||null||i;return o?ss({...n,IsFavorite:!!(i?.isFavorite||o.isFavorite),Played:o.played,PlayCount:o.playCount,PlaybackPositionTicks:o.playbackPositionTicks,...o.lastPlayedDate?{LastPlayedDate:o.lastPlayedDate}:{}}):ss(n)}function Fs(t,e,r=[]){return!Array.isArray(r)||!r.length||r.forEach(n=>{!n||!n.Id||(n.UserData=Fo(t,e,String(n.Id||""),n.UserData||{}))}),r}async function d2(t,e,r={},n="progress"){let s=g2r(r);if(!s)return null;let i=lm(t),a=pA(i,e);if(!a)return null;let o=ep(a.items[s],s),c=A2r(r),u=y2r(r),l=x2r(r,n,c,u),d=ep(o,s);d.lastPlayedDate=Ws(),c>0&&(d.playbackPositionTicks=c);let f=String(r?.ItemName||r?.itemName||r?.Name||r?.name||r?.NowPlayingItem?.Name||"").trim();f&&(d.name=f);let p=String(r?.MediaSourceId||r?.mediaSourceId||"").trim();return p&&(d.mediaSourceId=p),l?(d.played=!0,d.playCount=Math.max(1,d.playCount+(o.played?0:1)),d.playbackPositionTicks=0):n!=="ping"&&(c>0||n==="stopped"||n==="progress"||n==="playing")&&(d.played=!1),(r?.IsFavorite!==void 0||r?.isFavorite!==void 0)&&(d.isFavorite=tle(r?.IsFavorite??r?.isFavorite,d.isFavorite)),a.items[s]=d,GM(t,n==="stopped"),d}async function Vdt(t,e,r,n){let s=String(r||"").trim();if(!s)return ss();let i=lm(t),a=pA(i,e);if(!a)return ss();let o=ep(a.items[s],s),c=ep(o,s);return c.played=!!n,c.lastPlayedDate=Ws(),c.played&&(c.playCount=Math.max(1,c.playCount+(o.played?0:1))),c.playbackPositionTicks=0,a.items[s]=c,GM(t,!0),Fo(t,e,s)}async function zdt(t,e,r,n){let s=String(r||"").trim();if(!s)return ss();let i=lm(t),a=pA(i,e);if(!a)return ss();let o=ep(a.items[s],s);return o.isFavorite=!!n,o.lastPlayedDate=Ws(),a.items[s]=o,GM(t,!0),Fo(t,e,s)}async function Kdt(t,e,r){let n=String(r||"").trim();if(!n)return ss();let s=lm(t),i=pA(s,e);if(!i)return ss();let a=new Set([n,...Gdt(t,e,n).map(({record:o})=>o.itemId)]);for(let o of a){let c=ep(i.items[o],o);c.played=!1,c.playbackPositionTicks=0,c.lastPlayedDate=Ws(),i.items[o]=c}return GM(t,!0),Fo(t,e,n)}function E2r(t=""){let e=$s(String(t||""));return e?e.type==="vod"?{type:"Series",isFolder:!0,canPlay:!1,mediaType:"Video"}:e.type==="sea"?{type:"Season",isFolder:!0,canPlay:!1,mediaType:void 0}:e.type==="ep"||e.type==="media"?{type:"Episode",isFolder:!1,canPlay:!0,mediaType:"Video"}:{type:"Video",isFolder:!1,canPlay:!0,mediaType:"Video"}:{type:"Video",isFolder:!1,canPlay:!0,mediaType:"Video"}}function _2r(t){if(t?.name)return String(t.name);let e=$s(String(t?.itemId||"")),r=String(e?.payload?.n||"").trim();return r||"\u7EE7\u7EED\u64AD\u653E"}function S2r(t,e,r,n){let s=$s(String(n?.itemId||""));if(Qdt(s)){let a=p2r(s.payload||{});if(a){let o=m2r(s.payload||{});return{Name:String(s?.payload?.n||n?.name||"").trim()||"\u7EE7\u7EED\u64AD\u653E",Id:a,ServerId:r,IsFolder:!0,Type:"Series",MediaType:"Video",CollectionType:"tvshows",...o?{SeasonId:o}:{},DateCreated:n.lastPlayedDate||Ws(),ImageTags:{Primary:a},BackdropImageTags:[],UserData:Fo(t,e,a)}}}let i=E2r(n.itemId);return{Name:_2r(n),Id:n.itemId,ServerId:r,IsFolder:i.isFolder,Type:i.type,...i.mediaType?{MediaType:i.mediaType}:{},...i.canPlay?{CanPlay:!0}:{},DateCreated:n.lastPlayedDate||Ws(),ImageTags:{Primary:n.itemId},BackdropImageTags:[],UserData:Fo(t,e,n.itemId)}}function v2r(t={}){let e=$s(String(t?.Id||"")),r=e?.payload||{},n=String(r.k||"").trim(),s=String(r.v||"").trim();return e?.type==="vod"&&n&&s?`series:${n}:${Number(r.t||3)}:${s}`:e?.type==="sea"&&n&&s?`season:${n}:${Number(r.t||3)}:${s}:${Number(r.l||0)}`:`item:${String(t?.Id||"")}`}function Ydt(t,e,r){let n=lm(t),s=pA(n,e);if(!s)return[];let i=Object.entries(s.items||{}).map(([c,u])=>ep(u,c)).filter(c=>c.playbackPositionTicks>0&&!c.played).sort((c,u)=>{let l=Date.parse(String(c.lastPlayedDate||""))||0;return(Date.parse(String(u.lastPlayedDate||""))||0)-l}),a=new Set,o=[];for(let c of i){let u=S2r(t,e,r,c),l=v2r(u);!u?.Id||a.has(l)||(a.add(l),o.push(u))}return o}var C2r="https://api.themoviedb.org/3",Jdt=8e3,I2r=2,Xdt=20,Zdt=20;function eft(t=0){return new Promise(e=>setTimeout(e,Math.max(0,Number(t)||0)))}function f2(t){let e=t.embyContext?.config||{},r=String(e.tmdbApiKey||"").trim();return!e.tmdbEnable||!r?null:{apiKey:r,language:String(e.tmdbLanguage||"zh-CN"),imageBase:String(e.tmdbImageBase||"https://image.tmdb.org/t/p/original").replace(/\/+$/,""),timeoutMs:Jdt}}function tft(t="zh-CN"){let e=String(t||"zh-CN").trim().split(/[-_]/)[0].toLowerCase(),r=new Set;return e&&r.add(e),r.add("en"),r.add("null"),Array.from(r).join(",")}function T2r(t){let e=t.embyContext;return e.tmdbClientState||(e.tmdbClientState={tokens:Zdt,lastRefillAt:Date.now()}),e.tmdbClientState}function w2r(t){let e=Date.now(),r=Math.max(0,e-t.lastRefillAt)/1e3;r<=0||(t.tokens=Math.min(Zdt,t.tokens+r*Xdt),t.lastRefillAt=e)}async function R2r(t){let e=T2r(t);for(;;){if(w2r(e),e.tokens>=1){e.tokens-=1;return}let r=Math.max(0,1-e.tokens),n=Math.max(50,Math.ceil(r/Xdt*1e3));await eft(n)}}function N2r(t){let e=Number(t?.response?.status||0);return!e||e===429||e>=500}function O2r(t,e=0){let r=Number(t?.response?.headers?.["retry-after"]||0);return Number.isFinite(r)&&r>0?r*1e3:Math.min(4e3,500*(e+1))}function mA(t){return!!f2(t)}function p2(t,e=""){let r=String(e||"").trim();return r?/^https?:\/\//i.test(r)?r:`${f2(t)?.imageBase||"https://image.tmdb.org/t/p/original"}${r.startsWith("/")?"":"/"}${r}`:""}async function m2(t,e,r={},n={}){let s=f2(t);if(!s)return null;let i={...r||{}};i.language||(i.language=s.language);let a=Math.max(0,Number(n.maxRetries??I2r)||0);for(let o=0;o<=a;o+=1){await R2r(t);try{return(await Ae.get(`${C2r}${e}`,{params:{api_key:s.apiKey,...i},timeout:Number(n.timeoutMs||s.timeoutMs||Jdt),headers:{Accept:"application/json"}})).data||null}catch(c){if(o>=a||!N2r(c))return null;await eft(O2r(c,o))}}return null}async function rft(t,e,r=null){return m2(t,"/search/tv",{query:e,...r?{first_air_date_year:r}:{}})}async function nft(t,e,r=null){return m2(t,"/search/movie",{query:e,...r?{primary_release_year:r}:{}})}async function sft(t,e){let r=f2(t);return m2(t,`/tv/${Number(e)}`,{append_to_response:"external_ids,content_ratings,images,credits",include_image_language:tft(r?.language||"zh-CN")})}async function ift(t,e){let r=f2(t);return m2(t,`/movie/${Number(e)}`,{append_to_response:"external_ids,release_dates,images,credits",include_image_language:tft(r?.language||"zh-CN")})}async function aft(t,e,r){return m2(t,`/tv/${Number(e)}/season/${Number(r)}`)}function Mn(t=""){return String(t||"").trim()}function oft(t=[]){let e=[],r=new Set;for(let n of t){let s=Mn(n);!s||r.has(s)||(r.add(s),e.push(s))}return e}function P2r(t=""){let e=Mn(t);if(!e)return null;let r=e.replace(/[·•::\-_.!ï¼??,,'"/\\()[\]{}ã€ã€‘《》\s]+$/g,"");if(!r)return null;let n=r.match(/([1-9]\d{0,2})$/);if(!n?.[1])return null;let s=Number.parseInt(n[1],10);return!Number.isInteger(s)||s<=0||s>50?null:s}function uft({explicitSources:t=[],suffixSources:e=[]}={}){for(let r of oft(t)){let n=Number.parseInt(Bce(r),10);if(Number.isInteger(n)&&n>0)return{seasonNumber:n,explicit:!0,strategy:"pattern"}}for(let r of oft(e)){let n=P2r(r);if(Number.isInteger(n)&&n>0)return{seasonNumber:n,explicit:!0,strategy:"title_suffix"}}return{seasonNumber:null,explicit:!1,strategy:"none"}}function D2r(t="",e={},r="tv"){let n=String(t||"");if(r!=="tv"||!n||String(e?.seasonHintStrategy||"")!=="title_suffix")return"";let s=Number.parseInt(String(e?.seasonNumber||""),10);if(!Number.isInteger(s)||s<=0)return"";let i=String(s);if(!n.endsWith(i))return"";let a=n.slice(0,Math.max(0,n.length-i.length));return a.length>=2?a:""}function cft(t="",e=""){return!t||!e?0:t===e?1:t.includes(e)||e.includes(t)?Math.min(.95,Math.min(t.length,e.length)/Math.max(t.length,e.length)+.15):NQ(t,e).length/Math.max(t.length,e.length)}function hA(t=""){let e=Mn(t).match(/\b(19|20)\d{2}\b/);return e?.[0]?Number(e[0]):null}function rle(t=""){let e=Mn(t);return Mn(sA(e)||e).toLowerCase().replace(/[·•::\-_.!ï¼??,,'"/\\()[\]{}ã€ã€‘《》\s]+/g,"").replace(/第[一二三四五å…七八ä¹å百åƒä¸‡äº¿\d]+å£/g,"").replace(/年番总集篇|年番åˆé›†ç¯‡|总集篇|åˆé›†ç¯‡|年番/g,"")}function lft(t={}){let e=Mn(t?.tmdbHintTitle||t?.vod_name||t?.name||""),r=Mn(sA(e)||e),n=Mn(t?.tmdbHintRemarks||t?.vod_remarks||""),s=uft({explicitSources:[Mn(t?.tmdbHintTitle),Mn(t?.tmdbHintRemarks),e,n,Mn(t?.vod_name),Mn(t?.vod_remarks)],suffixSources:[e,r,Mn(t?.tmdbHintTitle),Mn(t?.vod_name),Mn(t?.name)]});return{rawTitle:e,cleanedTitle:r,normalizedTitle:rle(r||e),altTitle:n,year:hA(t?.tmdbHintYear||t?.vod_year),seasonNumber:s.seasonNumber,seasonHintStrategy:s.strategy}}function nle(t={},e=null){let r=uft({explicitSources:[Mn(t?.tmdbHintTitle),Mn(t?.tmdbHintRemarks),Mn(t?.vod_name),Mn(t?.vod_remarks),Mn(e?.flag)],suffixSources:[Mn(t?.tmdbHintTitle),Mn(t?.vod_name),Mn(t?.name)]});return Number.isInteger(r.seasonNumber)&&r.seasonNumber>0?{seasonNumber:r.seasonNumber,explicit:r.explicit,strategy:r.strategy}:{seasonNumber:1,explicit:!1,strategy:"default"}}function dft(t={},e="tv"){return Mn(e==="movie"?t?.title||t?.original_title||t?.name||t?.original_name||"":t?.name||t?.original_name||t?.title||t?.original_title||"")}function k2r(t={},e="tv"){return hA(e==="movie"?t?.release_date:t?.first_air_date)}function L2r(t,e,r){let n=rle(t?.cleanedTitle||t?.rawTitle||""),s=D2r(n,t,r),i=rle(dft(e,r)),a=cft(n,i),o=cft(s,i);return Math.max(a,o)}function B2r(t,e,r){let n=r==="tv"&&String(t?.seasonHintStrategy||"")==="title_suffix"&&Number.parseInt(String(t?.seasonNumber||""),10)>1;if(!t?.year)return .5;let s=k2r(e,r);if(!s)return n?.5:.2;let i=Math.abs(t.year-s);return n&&i>=2?.5:i===0?1:i===1?.7:i===2?.4:0}function M2r(t,e,r){if(r!=="tv"||!t?.seasonNumber)return .5;let n=Number.parseInt(Bce(dft(e,r)),10)||null;return n?n===t.seasonNumber?1:.2:.5}function W2r(t,e,r="tv"){let n=L2r(t,e,r),s=B2r(t,e,r),i=M2r(t,e,r),a=Math.min(Number(e?.popularity||0)/100,1),o=Math.min(Number(e?.vote_average||0)/10,1),c=Math.max(a,o),u=Number((n*.7+s*.2+i*.05+c*.05).toFixed(4));return{title:Number(n.toFixed(4)),year:Number(s.toFixed(4)),season:Number(i.toFixed(4)),heat:Number(c.toFixed(4)),score:u}}function fft(t,e=[],r="tv"){let n=(Array.isArray(e)?e:[]).map(i=>{let a=W2r(t,i,r);return{candidate:i,score:a.score,breakdown:a}}).sort((i,a)=>a.score-i.score),s=n[0]||null;return!s||s.score<.5?{status:"NO_MATCH",best:null,candidates:n.slice(0,3)}:s.score<.8?{status:"CANDIDATE",best:s,candidates:n.slice(0,3)}:{status:"MATCH",best:s,candidates:n.slice(0,3)}}function VM(t={},e=null,r=0){return nle(t,e).seasonNumber}var AA={BINDING:30*24*60*60*1e3,DETAIL:7*24*60*60*1e3,SEASON:7*24*60*60*1e3,NO_MATCH:24*60*60*1e3,FAILURE:10*60*1e3};function ile(t){let e=t.embyContext;return e.tmdbStore||(e.tmdbStore={memory:CM({max:1200}),pending:new Map}),e.tmdbStore}function sle(t=""){return`/embyTmdb/${Buffer.from(String(t||""),"utf8").toString("base64url")}`}function $2r(t,e=0){return{value:t,expireAt:e>0?Date.now()+e:0}}function F2r(t=null){return!!(t&&t.expireAt>0&&t.expireAt<=Date.now())}async function U2r(t,e){try{let r=await t.db?.getObjectDefault(sle(e),null);return!r||typeof r!="object"?null:F2r(r)?(t.db?.delete&&await t.db.delete(sle(e)).catch(()=>{}),null):r}catch{return null}}async function gA(t,e,r={}){let n=ile(t),s=n.memory.get(e);if(s!==void 0)return s;if(r.persist===!1)return null;let i=await U2r(t,e);if(!i)return null;let a=i.expireAt>0?Math.max(1e3,i.expireAt-Date.now()):0;return n.memory.set(e,i.value,a),i.value}async function FE(t,e,r,n=0,s={}){if(ile(t).memory.set(e,r,n),s.persist===!1)return r;try{t.db?.push&&await t.db.push(sle(e),$2r(r,n))}catch{}return r}async function ale(t,e,r,n,s={}){let i=await gA(t,e,s);if(i!==null)return i;let a=ile(t);if(a.pending.has(e))return a.pending.get(e);let o=(async()=>{try{let c=await gA(t,e,s);if(c!==null)return c;let u=await n();return u!=null?FE(t,e,u,r,s):null}finally{a.pending.delete(e)}})();return a.pending.set(e,o),o}function Du(t=""){return String(t||"").trim()}function q2r(t=""){let e=hA(t);return e?String(e):""}function yA(t={},e={}){let r=t&&typeof t=="object"?t:{},n=Du(e?.n),s=Du(e?.r),i=q2r(e?.y||e?.vod_year),a=Du(e?.u);return n&&(r.tmdbHintTitle=n),s&&(r.tmdbHintRemarks=s),i&&(r.tmdbHintYear=i),!Du(r.vod_name)&&n&&(r.vod_name=n),!Du(r.vod_remarks)&&s&&(r.vod_remarks=s),!Du(r.vod_year)&&i&&(r.vod_year=i),!Du(r.vod_pic)&&a&&(r.vod_pic=a),r}function j2r(t={}){let e=Du(t?.v);return e?yA({vod_id:e,vod_name:"",vod_pic:"",vod_remarks:"",vod_year:""},t):null}function Vn(t={}){let e={};return Object.entries(t).forEach(([r,n])=>{n!=null&&(typeof n=="string"&&!n.trim()||Array.isArray(n)&&n.length===0||!Array.isArray(n)&&typeof n=="object"&&Object.keys(n).length===0||(e[r]=n))}),e}function cle(t){let e=Number(t);return Number.isFinite(e)&&e>0?Number(e.toFixed(1)):void 0}function ule(t=""){let e=String(t||"").trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00.000Z`:void 0}function H2r(t){let e=Number(t);return Number.isFinite(e)&&e>0?Math.round(e*60*1e7):void 0}function Q2r(t=[]){return(Array.isArray(t)?t:[]).map(e=>String(e?.name||"").trim()).filter(Boolean)}function G2r(t=[]){return(Array.isArray(t)?t:[]).filter(e=>e?.name).map(e=>({Name:String(e.name),Id:String(e.id||e.name)}))}function V2r(t={},e="tv"){return e==="movie"?{name:String(t?.title||t?.original_title||"").trim(),originalTitle:String(t?.original_title||t?.title||"").trim()}:{name:String(t?.name||t?.original_name||"").trim(),originalTitle:String(t?.original_name||t?.name||"").trim()}}function z2r(t=""){return String(t||"").trim().toLowerCase()}function K2r(t={}){let e=Array.isArray(t?.images?.logos)?t.images.logos:[];if(!e.length)return[];let r=e.map((n,s)=>{let i=z2r(n?.iso_639_1),a=String(n?.file_path||"").trim(),o=Number(n?.vote_average||0),c=Number(n?.vote_count||0),u=Number(n?.width||0),l=i?i==="en"?2:3:1;return{index:s,filePath:a,voteAverage:Number.isFinite(o)?o:0,voteCount:Number.isFinite(c)?c:0,width:Number.isFinite(u)?u:0,languageScore:l}}).filter(n=>n.filePath);return r.sort((n,s)=>s.languageScore-n.languageScore||s.voteAverage-n.voteAverage||s.voteCount-n.voteCount||s.width-n.width||n.index-s.index),r}function zM(t={}){let e=K2r(t);return e.length&&e[0]?.filePath||""}function Y2r(t="",e="",r=0){let n=Vn({n:String(t||"").trim(),u:String(e||"").trim()||void 0,pid:Number(r||0)>0?String(r):void 0});return wn("img",n)}function J2r(t,e={},r={}){let n=String(e?.name||e?.original_name||"").trim();if(!n)return null;let s=p2(t,e?.profile_path||""),i=Number(e?.id||0),a=Y2r(n,s,i),o=String(r.role||"").trim(),c=String(r.type||"Actor").trim();return Vn({Name:n,Id:a,Role:o||void 0,Type:c||void 0,PrimaryImageTag:s?a:void 0,ImageTags:s?{Primary:a}:void 0})}function X2r(t={},e){let r=Array.isArray(t?.credits?.cast)?t.credits.cast:[],n=[],s=new Set,i=(o,c="")=>{if(!o)return;let u=String(c||`${o.Name}:${o.Role||""}`);s.has(u)||(s.add(u),n.push(o))};return[...r].map((o,c)=>({person:o,index:c,order:Number(o?.order??c),popularity:Number(o?.popularity||0)})).sort((o,c)=>o.order-c.order||c.popularity-o.popularity||o.index-c.index).slice(0,24).forEach(o=>{let c=Number(o.person?.id||0),u=String(o.person?.character||"").trim()||"\u6F14\u5458";i(J2r(e,o.person,{role:u,type:"Actor"}),c>0?`cast:${c}`:`cast:${o.person?.name||""}:${u}`)}),n.slice(0,24)}function Z2r(t={}){let e={};return t?.id&&(e.Tmdb=String(t.id)),t?.external_ids?.imdb_id&&(e.Imdb=String(t.external_ids.imdb_id)),t?.external_ids?.tvdb_id&&(e.Tvdb=String(t.external_ids.tvdb_id)),Object.keys(e).length>0?e:void 0}function pft(t=[]){let e=(Array.isArray(t)?t:[]).map(r=>({country:String(r?.iso_3166_1||"").trim().toUpperCase(),certification:String(r?.certification||r?.rating||"").trim()})).filter(r=>r.certification);for(let r of["US","CN","GB","HK","TW"]){let n=e.find(s=>s.country===r);if(n)return n.certification}return e[0]?.certification||void 0}function eRr(t={},e="tv"){if(e==="movie"){let r=[];return(Array.isArray(t?.release_dates?.results)?t.release_dates.results:[]).forEach(s=>{(Array.isArray(s?.release_dates)?s.release_dates:[]).forEach(a=>{r.push({iso_3166_1:s?.iso_3166_1,certification:a?.certification})})}),pft(r)}return pft(Array.isArray(t?.content_ratings?.results)?t.content_ratings.results:[])}function tRr(t,e){return`binding:${String(t?.spiderKey||"")}:${Number(t?.spiderType||3)}:${String(t?.apiBase||"")}:${String(e?.vod_id||"")}`}function rRr(t,e,r){return`detail:${String(t||"")}:${Number(e||0)}:${String(r||"zh-CN")}`}function nRr(t,e,r){return`season:${Number(t||0)}:${Number(e||0)}:${String(r||"zh-CN")}`}function sRr(t){return`no-match:v2:${String(t?.normalizedTitle||"")}:${String(t?.year||"")}:${String(t?.seasonNumber||"")}:${String(t?.seasonHintStrategy||"")}`}function hft(t){return`failure:${t}`}function tp(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function gft(t={},e="tv"){return e==="movie"?String(t?.title||t?.original_title||t?.name||t?.original_name||"").trim():String(t?.name||t?.original_name||t?.title||t?.original_title||"").trim()}function Aft(t={},e="tv"){return String(e==="movie"?t?.release_date||"":t?.first_air_date||"").trim()}function ole(t={}){let e=typeof t?.year=="number"&&Number.isFinite(t.year)?t.year:void 0,r=typeof t?.seasonNumber=="number"&&Number.isFinite(t.seasonNumber)?t.seasonNumber:void 0,n=String(t?.seasonHintStrategy||"").trim()||void 0;return Vn({rawTitle:String(t?.rawTitle||""),cleanedTitle:String(t?.cleanedTitle||""),normalizedTitle:String(t?.normalizedTitle||""),altTitle:String(t?.altTitle||""),year:e,seasonNumber:r,seasonHintStrategy:n})}function iRr(t=[],e="tv",r=3){return(Array.isArray(t)?t:[]).slice(0,Math.max(0,Number(r)||0)).map(n=>{let s=n?.candidate||{},i=n?.breakdown||{};return Vn({id:Number(s?.id||0)||void 0,title:gft(s,e),date:Aft(s,e),popularity:Number.isFinite(Number(s?.popularity))?Number(s.popularity):void 0,voteAverage:Number.isFinite(Number(s?.vote_average))?Number(s.vote_average):void 0,score:Number.isFinite(Number(n?.score))?Number(n.score):void 0,breakdown:Vn({title:Number.isFinite(Number(i?.title))?Number(i.title):void 0,year:Number.isFinite(Number(i?.year))?Number(i.year):void 0,season:Number.isFinite(Number(i?.season))?Number(i.season):void 0,heat:Number.isFinite(Number(i?.heat))?Number(i.heat):void 0})})})}function mft(t=null){if(!t?.candidate)return null;let e=t.candidate;return Vn({mediaType:String(t.mediaType||""),status:String(t.status||""),score:Number.isFinite(Number(t.score))?Number(t.score):void 0,candidate:Vn({id:Number(e?.id||0)||void 0,title:gft(e,t.mediaType||"tv"),date:Aft(e,t.mediaType||"tv")}),breakdown:Vn({title:Number.isFinite(Number(t?.breakdown?.title))?Number(t.breakdown.title):void 0,year:Number.isFinite(Number(t?.breakdown?.year))?Number(t.breakdown.year):void 0,season:Number.isFinite(Number(t?.breakdown?.season))?Number(t.breakdown.season):void 0,heat:Number.isFinite(Number(t?.breakdown?.heat))?Number(t.breakdown.heat):void 0})})}function aRr(t={},e={}){let r=String(e.preferredMediaType||"").trim().toLowerCase();return r==="tv"?e.allowFallback===!1?["tv"]:["tv","movie"]:r==="movie"?e.allowFallback===!1?["movie"]:["movie","tv"]:$E(t)==="Series"?e.allowFallback===!0?["tv","movie"]:["tv"]:["movie","tv"]}async function oRr(t,e,r){let n=[...new Set([e?.cleanedTitle,e?.rawTitle].map(c=>String(c||"").trim()).filter(Boolean))],s=new Map,i=[],o=r==="tv"&&Number.parseInt(String(e?.seasonNumber||""),10)>1&&String(e?.seasonHintStrategy||"")==="title_suffix"?null:e?.year;for(let c of n){let u=r==="movie"?await nft(t,c,e?.year):await rft(t,c,o),l=Array.isArray(u?.results)?u.results:[],d=0;if(l.forEach(f=>{let p=Number(f?.id||0);p>0&&!s.has(p)&&(s.set(p,f),d+=1)}),i.push(Vn({query:c,resultCount:l.length,acceptedCount:d,collectedCount:s.size})),s.size>=5)break}return{results:Array.from(s.values()),queryLogs:i}}async function UE(t,e,r,n={}){if(!mA(t)||!e?.spiderKey||!r?.vod_id)return null;let s={spiderKey:String(e?.spiderKey||""),spiderType:Number(e?.spiderType||3),vodId:String(r?.vod_id||"")},i=tRr(e,r),a=String(n.preferredMediaType||"").trim().toLowerCase(),o=await gA(t,i);if(o?.tmdbId&&o?.mediaType)return a&&n.allowFallback===!1&&o.mediaType!==a?(tp(t,"tmdb.match.binding.cache.reject",Vn({...s,cachedMediaType:String(o.mediaType||""),preferredMediaType:a})),null):(tp(t,"tmdb.match.binding.cache.hit",Vn({...s,mediaType:String(o.mediaType||""),tmdbId:Number(o.tmdbId||0)||void 0,score:Number.isFinite(Number(o.score))?Number(o.score):void 0})),o);let c=lft(r),u=typeof n.allowFallback=="boolean"?n.allowFallback:void 0;if(tp(t,"tmdb.match.input",Vn({...s,input:ole(c),preferredMediaType:a||void 0,allowFallback:u})),!c?.normalizedTitle)return tp(t,"tmdb.match.skip.invalid_input",Vn({...s,input:ole(c)})),null;let l=sRr(c),d=await gA(t,l);if(d)return tp(t,"tmdb.match.skip.no_match_cache",Vn({...s,status:String(d?.status||""),score:Number.isFinite(Number(d?.score))?Number(d.score):void 0})),null;let f=null;for(let m of aRr(r,n)){let{results:h,queryLogs:A}=await oRr(t,c,m),g=fft(c,h,m);if(tp(t,"tmdb.match.round",Vn({...s,mediaType:m,queryLogs:A,resultCount:h.length,status:g.status,bestScore:Number.isFinite(Number(g?.best?.score))?Number(g.best.score):void 0,topCandidates:iRr(g.candidates,m,3)})),g.best&&(!f||g.best.score>f.score)&&(f={mediaType:m,...g.best,status:g.status}),g.status==="MATCH"&&g.best?.candidate?.id){let b=g.best.candidate,y=Vn({mediaType:m,tmdbId:Number(b.id),score:g.best.score,matchedTitle:String(m==="movie"?b.title||b.original_title||"":b.name||b.original_name||""),matchedYear:m==="movie"?hA(b.release_date):hA(b.first_air_date),updatedAt:Date.now()});return await FE(t,i,y,AA.BINDING),tp(t,"tmdb.match.binding.set",Vn({...s,mediaType:m,tmdbId:Number(y.tmdbId||0)||void 0,score:Number.isFinite(Number(y.score))?Number(y.score):void 0,matchedTitle:String(y.matchedTitle||""),matchedYear:Number.isFinite(Number(y.matchedYear))?Number(y.matchedYear):void 0,best:mft({mediaType:m,...g.best,status:g.status})})),y}}let p={status:f?.score>=.5?"CANDIDATE":"NO_MATCH",score:Number(f?.score||0),checkedAt:Date.now()};return await FE(t,l,p,f?.score>=.5?15*60*1e3:AA.NO_MATCH),tp(t,"tmdb.match.no_match_set",Vn({...s,noMatch:p,best:mft(f),input:ole(c)})),null}async function yft(t,e={},r={}){try{if(!mA(t))return null;let n=Zl(e),s=j2r(e);return!n?.spiderKey||!s?.vod_id?null:Cft(t,{spiderRef:n,vod:s,options:r})}catch{return null}}async function qE(t,e){if(!e?.tmdbId||!e?.mediaType)return null;let r=String(t.embyContext?.config?.tmdbLanguage||"zh-CN"),n=rRr(e.mediaType,e.tmdbId,r),s=hft(n);if(await gA(t,s))return null;let i=await ale(t,n,AA.DETAIL,async()=>{let a=e.mediaType==="movie"?await ift(t,e.tmdbId):await sft(t,e.tmdbId);return a?.id?a:null});return i?.id?i:(await FE(t,s,{failedAt:Date.now()},AA.FAILURE),null)}async function cRr(t,e,r){if(!e?.tmdbId||e?.mediaType!=="tv")return null;let n=String(t.embyContext?.config?.tmdbLanguage||"zh-CN"),s=nRr(e.tmdbId,r,n),i=hft(s);if(await gA(t,i))return null;let a=await ale(t,s,AA.SEASON,async()=>{let o=await aft(t,e.tmdbId,r);return o?.season_number!=null?o:null});return a?.season_number!=null?a:(await FE(t,i,{failedAt:Date.now()},AA.FAILURE),null)}function uRr(t={},e=null){let r=[Du(t?.tmdbHintTitle||t?.vod_name),Du(t?.tmdbHintRemarks||t?.vod_remarks),Du(e?.flag)].filter(Boolean).join(" ");return/年番/i.test(r)}function lRr(t=""){let e=String(t||"").trim();if(!e)return null;let r=Number.parseInt(e,10);if(Number.isInteger(r)&&r>0)return r;let n=e.match(/(\d{1,4})/);if(!n?.[1])return null;let s=Number.parseInt(n[1],10);return Number.isInteger(s)&&s>0?s:null}function dRr(t=null){let r=(Array.isArray(t?.episodes)?t.episodes:[]).map(n=>lRr(n?.name)).filter(n=>Number.isInteger(n)&&n>0);return r.length?{count:r.length,min:Math.min(...r),max:Math.max(...r)}:{count:0,min:0,max:0}}function xft(t={}){return(Array.isArray(t?.seasons)?t.seasons:[]).map(e=>({seasonNumber:Number(e?.season_number||0),episodeCount:Number(e?.episode_count||0),name:String(e?.name||"").trim()})).filter(e=>Number.isInteger(e.seasonNumber)&&e.seasonNumber>0)}function fRr(t={},e={},r=null,n={seasonNumber:1,explicit:!1}){let s=xft(t),i=Number(n?.seasonNumber||1),a=Number.isInteger(i)&&i>0?i:1,o=!!n?.explicit,c=uRr(e,r),u=dRr(r),l=d=>{let f=Number(d||0);return!Number.isInteger(f)||f<=0?[]:s.filter(p=>p.episodeCount>=f).sort((p,m)=>m.seasonNumber-p.seasonNumber||m.episodeCount-p.episodeCount)};if(!s.length)return{seasonNumber:a,reason:"no_tmdb_seasons",explicit:o,yearFan:c,episodeStats:u,seasons:[]};if(o&&s.some(d=>d.seasonNumber===a))return{seasonNumber:a,reason:"explicit_hint",explicit:o,yearFan:c,episodeStats:u,seasons:s};if(c){let d=l(u.max);return d.length?{seasonNumber:d[0].seasonNumber,reason:"yearfan_episode_cap",explicit:o,yearFan:c,episodeStats:u,seasons:s}:{seasonNumber:[...s].sort((p,m)=>m.episodeCount-p.episodeCount||m.seasonNumber-p.seasonNumber)[0].seasonNumber,reason:"yearfan_largest_season",explicit:o,yearFan:c,episodeStats:u,seasons:s}}if(u.max>=6&&u.count>=u.max){let d=s.filter(f=>f.episodeCount===u.max);if(d.length===1)return{seasonNumber:d[0].seasonNumber,reason:"episode_count_exact_unique",explicit:o,yearFan:c,episodeStats:u,seasons:s}}if(!o&&u.max>=100){let d=l(u.max);if(d.length)return{seasonNumber:d[0].seasonNumber,reason:"high_episode_secondary",explicit:o,yearFan:c,episodeStats:u,seasons:s}}return s.some(d=>d.seasonNumber===a)?{seasonNumber:a,reason:o?"explicit_hint":"default_hint",explicit:o,yearFan:c,episodeStats:u,seasons:s}:{seasonNumber:[...s].sort((f,p)=>f.seasonNumber-p.seasonNumber)[0].seasonNumber,reason:"fallback_first_available",explicit:o,yearFan:c,episodeStats:u,seasons:s}}async function h2(t,e,r={},n=null,s=0,i=null){if(e?.mediaType!=="tv")return{seasonNumber:null,seasonDetail:null,detail:null};let a=i||await qE(t,e);if(!a)return{seasonNumber:null,seasonDetail:null,detail:null};let o=nle(r,n),c=fRr(a,r,n,o),u=Number(c?.seasonNumber||0);if(!Number.isInteger(u)||u<=0)return{seasonNumber:null,seasonDetail:null,detail:a};let l=await cRr(t,e,u);return tp(t,"tmdb.match.season_resolve",Vn({spiderKey:String(e?.spiderKey||""),tmdbId:Number(e?.tmdbId||0)||void 0,lineIndex:Number.isInteger(Number(s))?Number(s):void 0,chosenSeason:u,reason:String(c?.reason||""),explicitHint:c?.explicit===!0?!0:void 0,yearFanHint:c?.yearFan===!0?!0:void 0,episodeMax:Number(c?.episodeStats?.max||0)||void 0,seasonCandidates:Array.isArray(c?.seasons)?c.seasons.map(d=>Vn({seasonNumber:Number(d?.seasonNumber||0)||void 0,episodeCount:Number(d?.episodeCount||0)||void 0,name:String(d?.name||"")})):void 0})),{seasonNumber:u,seasonDetail:l&&l?.season_number!=null?l:null,detail:a}}async function bft(t,e,r={},n=null){let s=await h2(t,e,r,null,0,n);return{seasonNumber:s.seasonNumber,seasonDetail:s.seasonDetail}}function pRr(t,e,r,n=null){let s=e?.mediaType==="movie"?"movie":"tv",i=s==="tv"?xft(t).length:0,a=Number(n?.seasonNumber||0),o=n?.seasonDetail||null,c=s==="tv"&&Number.isInteger(a)&&a>0&&o?.season_number!=null,u=s==="movie"?t?.release_date:o?.air_date||t?.first_air_date,l=s==="movie"?Number(t?.runtime||0):Array.isArray(t?.episode_run_time)?t.episode_run_time.find(m=>Number(m)>0):0,d=V2r(t,s),f=zM(t),p=c?o?.poster_path||t?.backdrop_path||t?.poster_path||"":t?.backdrop_path||t?.poster_path||"";return Vn({Name:d.name||void 0,OriginalTitle:d.originalTitle||void 0,Overview:String(t?.overview||"").trim()||void 0,Taglines:t?.tagline?[String(t.tagline)]:void 0,Genres:Q2r(t?.genres),GenreItems:G2r(t?.genres),People:X2r(t,r),ProviderIds:Z2r(t),CommunityRating:cle(t?.vote_average),RunTimeTicks:H2r(l),OfficialRating:eRr(t,s),PremiereDate:ule(u),ProductionYear:hA(u)||void 0,SeasonCount:i>0?i:void 0,ChildCount:i>0?i:void 0,BackdropImageTags:p?["tmdb"]:void 0,ImageTags:f?{Logo:"tmdb"}:void 0})}function mRr(t,e){return Vn({Overview:String(t?.overview||"").trim()||void 0,PremiereDate:ule(t?.air_date),CommunityRating:cle(t?.vote_average)})}function hRr(t,e,r,n){return Vn({Name:String(e?.name||"").trim()||void 0,Overview:String(e?.overview||"").trim()||void 0,CommunityRating:cle(e?.vote_average),PremiereDate:ule(e?.air_date),BackdropImageTags:e?.still_path?["tmdb"]:void 0})}function Eft(t,e,r=-1){let n=Array.isArray(t?.episodes)?t.episodes:[],s=n.find(i=>Number(i?.episode_number||0)===Number(e||0));return s||(r>=0&&r<n.length?n[r]:null)}function _ft(t,e,r){let n=fA(t,Number(e||0)+1),s=String(t||"").trim(),i=Number.parseInt(s,10);if(/^\d{3,4}$/.test(s)&&Number.isInteger(i)&&r>0){let a=Math.floor(i/100),o=i%100;if(a===r&&o>0)return o}return n}async function Sft(t,e={}){if(!mA(t))return null;let r=await UE(t,e?.spiderRef,e?.vod,{preferredMediaType:"tv",allowFallback:!1});if(!r||r.mediaType!=="tv")return null;let n=await h2(t,r,e?.vod||{},e?.line||null,Number(e?.lineIndex||0),null);return!n?.seasonDetail||!n?.seasonNumber?null:{seasonNumber:n.seasonNumber,seasonDetail:n.seasonDetail}}function vft(t,e={}){if(!t?.seasonDetail||!t?.seasonNumber)return null;let r=_ft(e?.episode?.name,e?.episodeIndex,t.seasonNumber),n=Eft(t.seasonDetail,r,Number(e?.episodeIndex||0));return n?hRr(t.seasonDetail,n,t.seasonNumber,r):null}async function gRr(t,e){let r=e?.payload||{},n=Zl(r),s=String(r.v||"");if(!n?.spiderKey||!s)return null;let i=await Oc(t,n,s).catch(()=>null),a=yA({vod_id:s,vod_name:String(r.n||""),vod_pic:String(r.u||""),vod_remarks:String(r.r||""),vod_year:String(r.y||"")},r),o=Pc(i)||a;return yA(o,r),!String(o?.vod_name||"").trim()&&r?.n&&(o.vod_name=String(r.n||"").trim()),!String(o?.vod_pic||"").trim()&&r?.u&&(o.vod_pic=String(r.u||"").trim()),{spiderRef:n,vod:o,lines:ho(o?.vod_play_from,o?.vod_play_url)}}function ARr(t,e="primary",r=null){let n=String(e||"primary").trim().toLowerCase(),s=r?.seasonDetail||null,i=String(s?.poster_path||"").trim();return n==="logo"?zM(t):["backdrop","thumb","banner"].includes(n)?i||t?.backdrop_path||t?.poster_path||"":i||t?.poster_path||t?.backdrop_path||""}function yRr(t,e,r="primary"){let n=String(r||"primary").trim().toLowerCase();return n==="logo"?zM(t):["backdrop","thumb","banner"].includes(n)?t?.backdrop_path||e?.poster_path||t?.poster_path||"":e?.poster_path||t?.poster_path||t?.backdrop_path||""}function xRr(t,e,r="primary"){let n=String(r||"primary").trim().toLowerCase();return n==="logo"?zM(t):["backdrop","thumb","banner"].includes(n)?e?.still_path||t?.backdrop_path||t?.poster_path||"":e?.still_path||t?.poster_path||t?.backdrop_path||""}async function Cft(t,e={}){try{if(!mA(t))return null;let r=await UE(t,e?.spiderRef,e?.vod,e?.options||{});if(!r)return null;let n=await qE(t,r);if(!n)return null;let s=await bft(t,r,e?.vod||{},n);return pRr(n,r,t,s)}catch{return null}}async function bRr(t,e={}){try{if(!mA(t))return null;let r=await UE(t,e?.spiderRef,e?.vod,{preferredMediaType:"tv",allowFallback:!1});if(!r||r.mediaType!=="tv")return null;let n=await qE(t,r);if(!n)return null;let s=await h2(t,r,e?.vod||{},e?.line||null,Number(e?.lineIndex||0),n);return s?.seasonDetail?mRr(s.seasonDetail,s.seasonNumber):null}catch{return null}}async function g2(t,e={}){try{let r=await Sft(t,e);return r?vft(r,e):null}catch{return null}}async function KM(t,e={}){let r=Array.isArray(e?.episodes)?e.episodes:[];if(!r.length)return[];try{let n=await Sft(t,e);if(!n)return r.map(()=>null);let s=Number(e?.episodeOffset||0);return r.map((i,a)=>vft(n,{episode:i,episodeIndex:s+a}))}catch{return r.map(()=>null)}}async function YM(t,e,r={}){return e==="vod"?Cft(t,r):e==="season"?bRr(t,r):e==="episode"?g2(t,r):null}async function Ift(t,e,r="Primary"){try{if(!mA(t))return"";if(e?.type==="img")return String(e?.payload?.u||"");let n=await gRr(t,e);if(!n)return"";let{spiderRef:s,vod:i,lines:a}=n,o=String(r||"Primary").trim().toLowerCase();if(e?.type==="vod"){let c=await UE(t,s,i,{});if(!c)return"";let u=await qE(t,c);if(!u)return"";let l=await bft(t,c,i,u);return p2(t,ARr(u,o,l||null))}if(e?.type==="sea"){let c=await UE(t,s,i,{preferredMediaType:"tv",allowFallback:!1});if(!c||c.mediaType!=="tv")return"";let u=await qE(t,c);if(!u)return"";let l=Number(e?.payload?.l||0),f=(await h2(t,c,i,a?.[l]||null,l,u))?.seasonDetail||null;return u&&f?p2(t,yRr(u,f,o)):""}if(e?.type==="ep"||e?.type==="media"){let c=await UE(t,s,i,{preferredMediaType:"tv",allowFallback:!1});if(!c||c.mediaType!=="tv")return"";let u=await qE(t,c);if(!u)return"";let l=Number(e?.payload?.l||0),d=Number(e?.payload?.e||0),f=a?.[l],p=f?.episodes?.[d],m=await h2(t,c,i,f||null,l,u),h=Number(m?.seasonNumber||0),A=m?.seasonDetail||null;if(!A)return"";let g=_ft(p?.name,d,h),b=Eft(A,g,d);return b?p2(t,xRr(u,b,o)):""}return""}catch{return""}}var Oft=!0,ERr=new Set(["tgchannel","tgsou","pansou","panta"]),_Rr=!1,SRr=8e3;function vRr(t){return ERr.has(String(t||""))}function CRr(t=""){return/(移动|yidong|139)/i.test(String(t||""))}function IRr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}function Tft(t="",e="mkv"){let r=String(t||"").trim();if(!r)return e;if(/\.m3u8($|\?)/i.test(r))return"m3u8";try{let s=new URL(r).pathname.match(/\.([a-z0-9]{2,6})$/i);if(s?.[1])return s[1].toLowerCase()}catch{}return e}function JM(t,e){let r=wn("lib",{k:t.spiderKey,t:t.spiderType,...t.siteName?{n:t.siteName}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:t.siteName,Id:r,ServerId:e,IsFolder:!0,Type:"CollectionFolder",PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:r},BackdropImageTags:[],UserData:ss()}}function TRr(t,e,r,n){let s=String(e.type_name||e.type_id||""),i=wn("cat",{k:t.spiderKey,t:t.spiderType,c:String(e.type_id),...s?{n:s}:{},...t.apiBase?{a:t.apiBase}:{}});return{Name:s,Id:i,ParentId:r,ServerId:n,IsFolder:!0,Type:"Folder",PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:i},BackdropImageTags:[],UserData:ss()}}var Pft=new Set(["movie","series","video","episode","musicvideo"]);function wft(t=""){return String(t||"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}function wRr(t=[],e=!1){return e?!0:t.some(r=>Pft.has(r))}function RRr(t=[]){return t.some(e=>Pft.has(e))}function NRr(t=[],e=!1,r=""){return e?!1:t.includes("folder")?!0:/(^|,)isfolder(,|$)/i.test(String(r||""))}function ORr(t,e=[]){if(!e.length)return!0;let r=String(t?.Type||"").toLowerCase();return!!(e.includes(r)||e.includes("video")&&["movie","video","episode"].includes(r)||e.includes("folder")&&t?.IsFolder)}function y2(t=[],e=[]){return e.length?t.filter(r=>ORr(r,e)):t}function A2(t,e,r){return!r||!r.Id||(r.UserData=Fo(t,e,String(r.Id||""),r.UserData||{})),r}function Rft(t=[]){let e=[],r=t.filter(s=>Array.isArray(s)&&s.length),n=r.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<n;s+=1)r.forEach(i=>{i[s]&&e.push(i[s])});return e}function Nft(t){let e=null,r=new Promise((n,s)=>{e=setTimeout(()=>s(new Error("timeout")),SRr)});return Promise.race([t,r]).finally(()=>{e&&clearTimeout(e)})}async function e6(t,e,r,n,s,i,a,o=[],c=null){let u=Math.max(0,Number(n)||0),l=Math.max(1,Number(s)||1),d=await NE(t,e,r,1,{},c).catch(()=>null),f=Array.isArray(d?.list)?d.list:[],p=Number(d?.limit||0),m=Math.max(1,p||f.length||l),h=Math.floor(u/m)+1,A=u%m,g=[],b=h,y=!1,x=!1,v=Number(d?.pagecount||0),C=Number(d?.total||0),R=h+Math.max(3,Math.ceil((A+l)/m)+2);for(;g.length<l&&b<=R;){let M=b===1?d:await NE(t,e,r,b,{},c).catch(()=>null),k=Array.isArray(M?.list)?M.list:[],B=y2(k.map(ue=>r6(e,ue,i,a)),o),Z=Number(M?.pagecount||0);Z>0&&(v=Math.max(v,Z));let W=Number(M?.total||0);W>0&&(C=Math.max(C,W));let F=b===h?A:0,V=B.slice(F),j=l-g.length;g.push(...V.slice(0,j));let J=Math.min(V.length,j);y=F+J>=B.length;let se=B.length===0,oe=v>0&&b>=v&&y;if(se||oe){x=!0;break}if(g.length>=l)break;b+=1}let w=Number.isFinite(C)&&C>0&&C<9e3,N=g.length>=l;N&&x&&(N=!1),N&&v>0&&b>=v&&y&&(N=!1),N&&w&&u+g.length>=C&&(N=!1);let P=u+g.length+(N?1:0),L=P;return w&&(L=Math.max(C,u+g.length),N&&(L=Math.max(L,P))),{rows:g,totalRecordCount:L}}async function lle(t,e,r,n,s=[],i=0,a=16,o=null){let c=await Jw(t,e,o).catch(()=>null),u=Array.isArray(c?.class)?c.class.filter(f=>String(f?.type_id||"").trim()):[];if(u.length){let f=String(u[0].type_id||"");if(f)return e6(t,e,f,i,a,r,n,s,o)}let l=Array.isArray(c?.list)?c.list:[],d=y2(l.map(f=>r6(e,f,r,n)),s);return{rows:Ia(d,i,a),totalRecordCount:d.length}}function Dft(t={}){return String(t?.siteName||t?.spiderKey||"").trim()}function kft(t={}){let e=String(t?.vod_tag||"").trim().toLowerCase(),r=t?.cate&&typeof t.cate=="object"?t.cate:null,n=String(r?.id||"").trim(),s=String(t?.vod_id||"").trim();return n||(e==="folder"&&s?s:"")}function PRr(t,e,r,n,s={}){let i=!!s?.includeSourcePrefix,a=kft(e),o=String(e.vod_pic||"").trim(),c=String(e.vod_remarks||"").trim(),u=String(e.vod_year||"").trim(),l=Dft(t),d=String(e.vod_name||e?.cate?.name||a||"").trim(),f=d||"\u672A\u547D\u540D\u76EE\u5F55",p={k:t.spiderKey,t:t.spiderType,c:a,...t.apiBase?{a:t.apiBase}:{}};o&&(p.u=o),d&&(p.n=d),c&&(p.r=c),u&&(p.y=u);let m=wn("cat",p);return{Name:i&&l?`${l} \xB7 ${f}`:f,Id:m,ParentId:r,ServerId:n,IsFolder:!0,Type:"Folder",Overview:c,PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:m},BackdropImageTags:[],UserData:ss()}}function r6(t,e,r,n,s={}){if(kft(e))return PRr(t,e,r,n,s);let i=!!s?.includeSourcePrefix,a=String(e.vod_pic||""),o=String(e.vod_remarks||"").trim(),c=String(e.vod_year||"").trim(),u=Dft(t),l=String(e.vod_name||"").trim(),d=l||"\u672A\u547D\u540D",f={k:t.spiderKey,t:t.spiderType,v:String(e.vod_id),...t.apiBase?{a:t.apiBase}:{}};a&&(f.u=a),l&&(f.n=l),o&&(f.r=o),c&&(f.y=c);let p=wn("vod",f),h=Oft?"Series":$E(e);return{Name:i&&u?`${u} \xB7 ${d}`:d,Id:p,ParentId:r,ServerId:n,IsFolder:h==="Series",Type:h,MediaType:"Video",Overview:String(e.vod_remarks||""),PrimaryImageAspectRatio:.6667,ImageTags:{Primary:p},BackdropImageTags:[],UserData:ss()}}async function DRr(t,e,r,n,s,i){let a=String(r?.vod_name||"").trim(),o=String(r?.vod_pic||"").trim(),c=String(r?.tmdbHintRemarks||r?.vod_remarks||"").trim(),u=String(r?.tmdbHintYear||r?.vod_year||"").trim(),l=[],d=new Map;for(let f=0;f<n.length;f+=1){let p=n[f],m={k:e.spiderKey,t:e.spiderType,v:String(r.vod_id),l:f,...e.apiBase?{a:e.apiBase}:{}};a&&(m.n=a),o&&(m.u=o),c&&(m.r=c),u&&(m.y=u);let h=wn("sea",m),A={Name:p.flag||`\u7EBF\u8DEF${f+1}`,Id:h,ParentId:s,ServerId:i,IsFolder:!0,Type:"Season",IndexNumber:f+1,SeriesId:s,SeriesName:a,ChildCount:p.episodes.length,ImageTags:{Primary:h},BackdropImageTags:[],UserData:ss()},b=`s${VM(r,p,f)}`,y=d.get(b);y===void 0&&(y=await YM(t,"season",{spiderRef:e,vod:r,line:p,lineIndex:f})||null,d.set(b,y)),y&&Object.assign(A,y),l.push(A)}return l}async function kRr(t,e,r,n,s,i,a,o){let c=s[i];if(!c)return[];let u=[],l=String(n?.vod_name||"").trim(),d=String(n?.vod_pic||"").trim(),f=String(n?.tmdbHintRemarks||n?.vod_remarks||"").trim(),p=String(n?.tmdbHintYear||n?.vod_year||"").trim(),m=Array.isArray(c?.episodes)?c.episodes:[],h=await KM(t,{spiderRef:r,vod:n,line:c,lineIndex:i,episodes:m,episodeOffset:0});for(let A=0;A<m.length;A+=1){let g=m[A],b=fA(g?.name,A+1),y={k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:i,e:A,f:c.flag,p:g.playId,...r.apiBase?{a:r.apiBase}:{}};l&&(y.n=l),d&&(y.u=d),f&&(y.r=f),p&&(y.y=p);let x=wn("ep",y),v=await fle(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:String(n.vod_id),l:i,e:A,f:c.flag,p:g.playId},String(c.flag||`\u7EBF\u8DEF${i+1}`));u.push({Name:g.name||`\u7B2C${A+1}\u96C6`,Id:x,ParentId:a,ServerId:o,IsFolder:!1,Type:"Episode",MediaType:"Video",SeriesName:String(n.vod_name||""),IndexNumber:b,ParentIndexNumber:i+1,CanPlay:!0,PrimaryImageAspectRatio:.6667,ImageTags:{Primary:x},BackdropImageTags:[],UserData:ss(),MediaSources:[v],...h[A]||{}})}return u}function jE(t={}){return{spiderKey:String(t.k||""),spiderType:Number(t.t||3),apiBase:String(t.a||"")}}function XM(t={}){return{Overview:"",Taglines:[],Genres:[],GenreItems:[],People:[],Tags:[],ProviderIds:{},ProductionLocations:[],CommunityRating:0,CriticRating:0,RunTimeTicks:0,OfficialRating:"",...t}}function t6(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function dle(t={},e=""){let r=ho(t.vod_play_from,t.vod_play_url).filter(i=>Array.isArray(i?.episodes)&&i.episodes.length>0),n=r.reduce((i,a)=>Math.max(i,a.episodes.length),0),s=Oft?r.length>0:r.length>1||n>1||$E(t)==="Series";return{lines:r,isSeries:s}}function LRr(t){let r=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t.protocol||"http",s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t.headers?.host||"127.0.0.1";return`${r}://${s}`}function BRr(t,e,r="mkv"){return`${LRr(t)}/emby${Lft(t,e,r,!0)}`}function Lft(t,e,r="mkv",n=!1){let s=/^[a-z0-9]{2,8}$/i.test(String(r||""))?String(r).toLowerCase():"mkv",i=n&&t.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}async function fle(t,e,r,n="\u9ED8\u8BA4"){let s=wn("media",{k:String(r?.k||""),t:Number(r?.t||3),v:String(r?.v||""),l:Number(r?.l||0),e:Number(r?.e||0),f:String(r?.f||n||""),...r?.a?{a:String(r.a||"")}:{}}),i=vRr(r?.k)?"m3u8":"mkv",a=Tft(String(r?.p||""),i),o=BRr(e,s,a),c=Lft(e,s,a,!0),u={},l=!1,d=String(n||r?.f||"");if(_Rr&&CRr(d)&&r?.k&&r?.f&&r?.p){let p={spiderKey:String(r.k||""),spiderType:Number(r.t||3),apiBase:String(r.a||"")},m=await am(t,p,String(r.f||""),String(r.p||""),e).catch(()=>null),h=um(m||{},String(n||""));h.url&&IRr(h.url)&&(a=Tft(h.url,a),o=h.url,c=h.url,u=h.header||{},l=!1)}return{Id:s,Name:n,Type:"Default",Protocol:"Http",Container:a,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:u,Path:o,DirectStreamUrl:c,AddApiKeyToDirectStreamUrl:l,ItemId:s}}async function MRr(t,e,r,n,s=[]){let i=String(n?.vod_id||"");return!r?.spiderKey||!i?[]:(await Promise.all(s.map(async(o,c)=>{let u=o?.episodes?.[0];return u?.playId?fle(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:i,l:c,e:0,f:String(o.flag||""),p:String(u.playId)},String(o.flag||`\u7EBF\u8DEF${c+1}`)):null}))).filter(Boolean)}function WRr(t={},e={}){let r=String(t?.vod_name||"").trim();if(r)return r;let n=String(e?.n||"").trim();if(n)return n;let s=ho(t?.vod_play_from,t?.vod_play_url),i=String(s?.[0]?.episodes?.[0]?.name||"").trim();if(i)return i;let a=String(t?.vod_remarks||"").trim();return a||"\u672A\u547D\u540D"}async function ZM(t,e,r=null){let n=jE(e);if(!n.spiderKey||!e.v)return null;let s=await Oc(t,n,String(e.v),r).catch(()=>null),i=Pc(s);if(!i)return null;yA(i,e),!String(i?.vod_pic||"").trim()&&e?.u&&(i.vod_pic=String(e.u||"").trim()),i.vod_name=WRr(i,e);let{lines:a,isSeries:o}=dle(i,n.spiderKey);return t6(t,"vod.source",{spiderKey:n.spiderKey,spiderType:n.spiderType,vodId:String(i.vod_id||e.v||""),vodName:String(i.vod_name||""),vodRemarks:String(i.vod_remarks||""),guessVideoType:$E(i),isSeriesByRule:o,lineCount:a.length,episodeCountPerLine:a.map(c=>c.episodes.length).slice(0,10)}),{spiderRef:n,vod:i}}async function ple(t){t.get("/:userId",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext,r=Ws();return{Name:e.user.name,ServerId:e.config.serverId,Id:e.user.id,LastActivityDate:r,LastLoginDate:r}}),t.get("/:userId/Views",{preHandler:t.embyRequireAuth},async()=>{let e=t.embyContext.config.serverId,r=await Xl(t);return Ut(r.map(n=>JM(n,e)))}),t.get("/:userId/Items/Resume",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=Number(Xr(r,["StartIndex","startindex"],0)),s=Pu(Xr(r,["Limit","limit"],50),50),i=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),a=Ydt(t,i,t.embyContext.config.serverId);return Ut(Ia(a,n,s),a.length)}),t.get("/:userId/Items/Latest",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=t.embyContext.config.serverId,s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),i=String(Xr(r,["ParentId","parentid"],"")),a=Pu(Xr(r,["Limit","limit"],16),16),o=wft(Xr(r,["IncludeItemTypes","includeitemtypes"],"")),c=String(Xr(r,["MediaTypes","mediatypes"],"")).toLowerCase();!o.length&&c.includes("video")&&(o=["movie","series","video"]);let u=await Xl(t),l=$s(i);if(l?.type==="lib"){let h=jE(l.payload),A=aA(u,h.spiderKey,h.spiderType,h.apiBase)||{siteName:h.spiderKey,spiderKey:h.spiderKey,spiderType:h.spiderType,apiBase:h.apiBase},g=await lle(t,A,i,n,o,0,a,e);return Fs(t,s,g.rows)}if(l?.type==="cat"){let h=jE(l.payload),A=aA(u,h.spiderKey,h.spiderType,h.apiBase)||{siteName:h.spiderKey,spiderKey:h.spiderKey,spiderType:h.spiderType,apiBase:h.apiBase},g=await e6(t,A,String(l.payload.c||""),0,a,i,n,o,e);return Fs(t,s,g.rows)}let d=Math.min(Math.max(a,6),20),p=(await Promise.allSettled(u.map(h=>Nft(lle(t,h,JM(h,n).Id,n,o,0,d,e))))).filter(h=>h.status==="fulfilled").map(h=>h.value.rows),m=Rft(p).slice(0,a);return Fs(t,s,m)}),t.get("/:userId/Items",{preHandler:t.embyRequireAuth},async e=>{let r=e.query||{},n=t.embyContext.config.serverId,s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id),i=String(Xr(r,["SortBy","sortby"],""));if(i.includes("IsFavoriteOrLiked"))return Ut([]);let a=String(Xr(r,["ParentId","parentid"],"")),o=String(Xr(r,["SearchTerm","searchterm","NameStartsWith","namestartswith"],"")).trim(),c=Number(Xr(r,["StartIndex","startindex"],0)),u=Pu(Xr(r,["Limit","limit"],60),60),l=Number(Xr(r,["Page","page"],Math.floor(Math.max(0,c)/u)+1))||1,d=wft(Xr(r,["IncludeItemTypes","includeitemtypes"],"")),f=String(Xr(r,["Recursive","recursive"],"")).trim().toLowerCase()==="true",p=String(Xr(r,["MediaTypes","mediatypes"],"")).toLowerCase(),m=await Xl(t);if(o){let g=t.embyContext?.config?.searchSourcePrefix!==!1,b=[];await Promise.allSettled(m.map(async x=>{try{let v=await Promise.race([ylt(t,x,o,l),new Promise((R,w)=>setTimeout(()=>w(new Error("timeout")),8e3))]);(Array.isArray(v?.list)?v.list:[]).forEach(R=>b.push(r6(x,R,"0",n,{includeSourcePrefix:g})))}catch{}}));let y=Fs(t,s,y2(b,d));return Ut(Ia(y,c,u),y.length)}if(!a&&f&&(RRr(d)||p.includes("video"))){let A=d.length?d:["movie","series","video"],g=Math.min(Math.max(u,6),20),y=(await Promise.allSettled(m.map(v=>Nft(lle(t,v,JM(v,n).Id,n,A,0,g,e))))).filter(v=>v.status==="fulfilled").map(v=>v.value.rows),x=Fs(t,s,Rft(y));return Ut(Ia(x,c,u),x.length)}if(!a){let A=Fs(t,s,m.map(g=>JM(g,n)));return Ut(Ia(A,c,u),A.length)}let h=$s(a);if(!h)return Ut([]);if(h.type==="lib"){let A=jE(h.payload),g=aA(m,A.spiderKey,A.spiderType,A.apiBase)||{siteName:A.spiderKey,spiderKey:A.spiderKey,spiderType:A.spiderType,apiBase:A.apiBase},b=await Jw(t,g,e).catch(()=>null),y=Array.isArray(b?.class)?b.class.filter(R=>String(R?.type_id||"").trim()):[];if(y.length&&(NRr(d,f,i)||!wRr(d,f))){let R=y.map(N=>TRr(g,N,a,n)),w=Fs(t,s,y2(R,d));return Ut(Ia(w,c,u),w.length)}if(y.length){let R=String(y[0].type_id||"");if(R){let w=await e6(t,g,R,c,u,a,n,d,e);return Fs(t,s,w.rows),Ut(w.rows,w.totalRecordCount)}}let v=(Array.isArray(b?.list)?b.list:[]).map(R=>r6(g,R,a,n)),C=Fs(t,s,y2(v,d));return Ut(Ia(C,c,u),C.length)}if(h.type==="cat"){let A=jE(h.payload),g=aA(m,A.spiderKey,A.spiderType,A.apiBase)||{siteName:A.spiderKey,spiderKey:A.spiderKey,spiderType:A.spiderType,apiBase:A.apiBase},b=String(h.payload.c||""),y=await e6(t,g,b,c,u,a,n,d,e);return Fs(t,s,y.rows),Ut(y.rows,y.totalRecordCount)}if(h.type==="vod"){let A=await ZM(t,h.payload,e);if(!A)return Ut([]);let{spiderRef:g,vod:b}=A,{lines:y,isSeries:x}=dle(b,g.spiderKey);if(!y.length)return Ut([]);if(x){let v=await DRr(t,g,b,y,a,n);return Fs(t,s,v),Ut(Ia(v,c,u),v.length)}return Ut([])}if(h.type==="sea"){let A=await ZM(t,h.payload,e);if(!A)return Ut([]);let{spiderRef:g,vod:b}=A,y=ho(b.vod_play_from,b.vod_play_url);if(!y.length)return Ut([]);let x=Number(h.payload.l||0),v=await kRr(t,e,g,b,y,x,a,n);return Fs(t,s,v),Ut(Ia(v,c,u),v.length)}return Ut([])}),t.get("/:userId/Items/:itemId",{preHandler:t.embyRequireAuth},async(e,r)=>{let n=$s(e.params.itemId);if(!n)return r.code(404),{};let s=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);if(n.type==="ep"){let i=await ZM(t,n.payload,e),a=String(i?.vod?.vod_name||"\u64AD\u653E"),o=Number(n?.payload?.l||0),c=Number(n?.payload?.e||0),u=ho(i?.vod?.vod_play_from,i?.vod?.vod_play_url),l=u?.[o]?.episodes?.[c]?.name||"",d=u?.[o]||null,f=d?.episodes?.[c]||null,p=fA(l,c+1),m=wn("vod",{k:String(n?.payload?.k||""),t:Number(n?.payload?.t||3),v:String(n?.payload?.v||""),...n?.payload?.a?{a:String(n.payload.a||"")}:{},...n?.payload?.n?{n:String(n.payload.n||"")}:{},...n?.payload?.u?{u:String(n.payload.u||"")}:{},...n?.payload?.r?{r:String(n.payload.r||"")}:{},...n?.payload?.y?{y:String(n.payload.y||"")}:{}}),h=wn("sea",{k:String(n?.payload?.k||""),t:Number(n?.payload?.t||3),v:String(n?.payload?.v||""),l:o,...n?.payload?.a?{a:String(n.payload.a||"")}:{},...n?.payload?.n?{n:String(n.payload.n||"")}:{},...n?.payload?.u?{u:String(n.payload.u||"")}:{},...n?.payload?.r?{r:String(n.payload.r||"")}:{},...n?.payload?.y?{y:String(n.payload.y||"")}:{}}),A=n.payload?.k&&n.payload?.v&&n.payload?.f&&n.payload?.p?[await fle(t,e,{k:String(n.payload.k||""),t:Number(n.payload.t||3),v:String(n.payload.v||""),l:Number(n.payload.l||0),e:Number(n.payload.e||0),f:String(n.payload.f||""),p:String(n.payload.p||""),...n.payload.a?{a:String(n.payload.a||"")}:{}},String(n.payload.f||"\u9ED8\u8BA4"))]:[];return t6(t,"item.detail.ep",{itemId:e.params.itemId,sourceType:n.type,vodName:String(i?.vod?.vod_name||""),mediaSourceCount:A.length,canPlay:!0}),A2(t,s,{Name:a,Id:e.params.itemId,Type:"Episode",IsFolder:!1,MediaType:"Video",CanPlay:!0,SeriesId:m,SeriesName:a,SeasonId:h,SeasonName:String(n?.payload?.f||`\u7EBF\u8DEF${o+1}`),IndexNumber:p,ParentIndexNumber:o+1,DateCreated:Ws(),ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId),...XM(),...f?await g2(t,{spiderRef:jE(n.payload),vod:i?.vod||{},line:d,lineIndex:o,episode:f,episodeIndex:c})||{}:{},MediaSources:A})}if(n.type==="sea"){let i=Number(n?.payload?.l||0);return A2(t,s,{Name:`\u7EBF\u8DEF${i+1}`,Id:e.params.itemId,Type:"Season",IsFolder:!0,IndexNumber:i+1,DateCreated:Ws(),ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId),...XM()})}if(n.type==="cat"){let i=String(n.payload?.n||n.payload?.c||n.payload?.k||"\u76EE\u5F55");return A2(t,s,{Name:i,Id:e.params.itemId,Type:"Folder",IsFolder:!0,ServerId:t.embyContext.config.serverId,PrimaryImageAspectRatio:1.7778,ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId),...XM({Overview:String(n.payload?.r||"")})})}if(n.type==="vod"){let i=yft(t,n.payload).catch(()=>null),a=await ZM(t,n.payload,e);if(!a)return r.code(404),{};let{lines:o,isSeries:c}=dle(a.vod,a.spiderRef.spiderKey),u=c?"Series":"Movie",[l,d]=await Promise.all([MRr(t,e,a.spiderRef,a.vod,o),i]),f=d&&typeof d=="object"?{...d}:{},p={Primary:e.params.itemId,...f.ImageTags&&typeof f.ImageTags=="object"?f.ImageTags:{}};delete f.ImageTags;let m=c?[]:l,h=c?l.length>0:m.length>0;return t6(t,"item.detail.vod",{itemId:e.params.itemId,spiderKey:a.spiderRef.spiderKey,spiderType:a.spiderRef.spiderType,vodId:String(a.vod.vod_id||""),vodName:String(a.vod.vod_name||""),type:u,isFolder:c,canPlay:h,lineCount:o.length,mediaSourceCount:m.length,firstMediaSource:m[0]?{name:m[0].Name,path:m[0].Path,id:m[0].Id}:null}),A2(t,s,{Name:String(a.vod.vod_name||""),Id:e.params.itemId,IsFolder:c,Type:u,MediaType:"Video",CollectionType:c?"tvshows":void 0,CanPlay:h,DateCreated:Ws(),PrimaryImageAspectRatio:.6667,ProductionYear:Number(a.vod.vod_year||0)||void 0,ImageTags:p,BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId),ChildCount:c?o.length>1?o.length:o[0]?.episodes?.length||0:void 0,SeasonCount:c?o.length:void 0,RecursiveItemCount:c?o.reduce((A,g)=>A+(g?.episodes?.length||0),0):void 0,...XM({Overview:String(a.vod.vod_content||"")}),...f,MediaSources:m})}return A2(t,s,{Name:String(n.payload?.k||""),Id:e.params.itemId,IsFolder:!0,Type:"Folder",ImageTags:{Primary:e.params.itemId},BackdropImageTags:[],UserData:Fo(t,s,e.params.itemId)})}),t.get("/:userId/Items/:itemId/LocalTrailers",{preHandler:t.embyRequireAuth},async()=>[]),t.get("/:userId/Items/:itemId/SpecialFeatures",{preHandler:t.embyRequireAuth},async()=>[]),t.all("/:userId/Items/:itemId/PlaybackInfo",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["GET","POST"].includes(e.method))return r.code(405),"";let n=new URLSearchParams,s=e.query||{};Object.keys(s).forEach(d=>{let f=s[d];f!=null&&n.set(d,String(f))});let i=n.toString(),a=`/emby/Items/${encodeURIComponent(String(e.params.itemId||""))}/PlaybackInfo${i?`?${i}`:""}`;t6(t,"playback.alias",{from:e.raw.url,to:a,method:e.method});let o={};e.embyToken&&(o["x-emby-token"]=e.embyToken);let c=e.method==="POST"?e.body||{}:void 0,u=await t.inject({method:e.method,url:a,headers:o,payload:c});r.code(u.statusCode);let l=u.headers?.["content-type"];if(l&&r.header("content-type",l),!u.body)return"";if(String(l||"").includes("application/json"))try{return JSON.parse(u.body)}catch{return u.body}return u.body}),t.post("/:userId/Items/:itemId/HideFromResume",{preHandler:t.embyRequireAuth},async e=>{let r=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return Kdt(t,r,String(e.params.itemId||""))}),t.all("/:userId/FavoriteItems/:itemId/:isDelete?",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["POST","DELETE"].includes(e.method))return r.code(405),"";let n=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return zdt(t,n,String(e.params.itemId||""),e.method==="POST")}),t.all("/:userId/PlayedItems/:itemId/:isDelete?",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["POST","DELETE"].includes(e.method))return r.code(405),"";let n=e.embyUser?.Id||String(e.params.userId||t.embyContext.user.id);return Vdt(t,n,String(e.params.itemId||""),e.method==="POST")})}var $Rr=30*60*1e3,HE=16/9,x2=960,FRr=1920,URr=360,qRr=9,qft=24,jRr=12e3,gle=9e3,Bft=5*1024*1024,Mft=80,Wft=24,$ft=[["#556b2f","#bed98a"],["#5b3a82","#b37bd9"],["#235f73","#8fd2dc"],["#7a3341","#d98498"],["#2f5c43","#9ac78d"],["#6f4a2f","#d39a5d"],["#354f7d","#91aee6"],["#73395f","#cb87af"]],mle=null;function hle(t=""){return String(t||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function jft(t,e,r){return Math.max(e,Math.min(r,t))}function HRr(t=""){let e=2166136261,r=String(t||"");for(let n=0;n<r.length;n+=1)e^=r.charCodeAt(n),e=Math.imul(e,16777619);return e>>>0}function Hft(t){return jft(Math.round(Number(t)||0),0,255)}function Fft(t=[]){return`#${t.slice(0,3).map(e=>Hft(e).toString(16).padStart(2,"0")).join("")}`}function Uft(t=[],e=[],r=.5){return[0,1,2].map(n=>Hft((t[n]||0)*(1-r)+(e[n]||0)*r))}function QRr(t={}){return{spiderKey:String(t.k||t.spiderKey||""),spiderType:Number(t.t||t.spiderType||3),apiBase:String(t.a||t.apiBase||"")}}function Ale(t,e,r=null){let n=null,s=new Promise(i=>{n=setTimeout(()=>i(r),e)});return Promise.race([t,s]).finally(()=>{n&&clearTimeout(n)})}function b2(t=[]){let e=new Set,r=[];for(let n of t){let s=String(n||"").trim();!s||e.has(s)||(e.add(s),r.push(s))}return r}function Qft(t=""){let e=String(t||"").trim();if(!e)return"";try{let r=new URL(e);return["http:","https:"].includes(r.protocol)?r.toString():""}catch{return""}}function GRr(t="",e="\u5A92\u4F53\u5E93"){return String(t||"").trim().replace(/^(?:「[^ã€]*ã€\s*)+/,"").trim()||e}function yle(t=[]){return b2((Array.isArray(t)?t:[]).map(e=>Qft(e?.vod_pic)).filter(Boolean))}async function VRr(t,e={}){let r=QRr(e);if(!r.spiderKey)return null;let n=await Xl(t).catch(()=>[]);return aA(n,r.spiderKey,r.spiderType,r.apiBase)||{siteName:String(e.n||r.spiderKey),spiderKey:r.spiderKey,spiderType:r.spiderType,apiBase:r.apiBase}}async function zRr(t,e,r){let n=await Ale(Jw(t,e,r).catch(()=>null),gle,null),s=yle(n?.list||[]);if(s.length>=qft)return s;let i=Array.isArray(n?.class)?n.class.filter(c=>String(c?.type_id||"").trim()):[];if(!i.length)return s;let a=i.slice(0,5).map(c=>Ale(NE(t,e,String(c.type_id||""),1,{},r).then(u=>yle(u?.list||[])).catch(()=>[]),gle,[]));return(await Promise.allSettled(a)).forEach(c=>{c.status==="fulfilled"&&s.push(...c.value)}),b2(s)}async function KRr(t,e,r={},n){let s=[],i=Qft(r.u);i&&s.push(i);let a=String(r.c||"").trim();if(!a)return b2(s);let o=await Ale(NE(t,e,a,1,{},n).catch(()=>null),gle,null);return s.push(...yle(o?.list||[])),b2(s)}async function YRr(t,e,r){let n=await VRr(t,e?.payload||{});if(!n)return{spider:null,posterUrls:[]};let s=[];return e?.type==="lib"?s=await zRr(t,n,r):e?.type==="cat"&&(s=await KRr(t,n,e.payload||{},r)),{spider:n,posterUrls:s}}function JRr(t,e=0){let r=t?.payload||{},n=GRr(r.n||r.name||r.k,"\u5A92\u4F53\u5E93"),s=t?.type==="cat"?"FOLDER":"LIBRARY";return{title:n,subtitle:s,countText:e>0?`${e} IMAGES`:"MYCATPAW"}}function XRr(t={}){let e=Number(t.Width||t.width||t.MaxWidth||t.maxWidth||0),r=Number(t.Height||t.height||t.MaxHeight||t.maxHeight||0),n=x2,s=Math.round(x2/HE);if(e>0&&r>0){let i=Math.min(e/x2,r/(x2/HE));n=Math.round(x2*i),s=Math.round(n/HE)}else e>0?(n=Math.round(e),s=Math.round(n/HE)):r>0&&(s=Math.round(r),n=Math.round(s*HE));return n=jft(n,URr,FRr),s=Math.round(n/HE),{width:n,height:s}}async function ZRr(){return mle||(mle=import("sharp").then(t=>t.default||t).catch(()=>null)),mle}function n6(t=""){return $ft[HRr(t)%$ft.length]}function eNr(t,e=3){let r=Math.max(3,Number(e)||3),n=Math.floor(t.length/r);if(!n)return!0;let s=0,i=0,a=0,o=0,c=0,u=0,l=0,d=0,f=0,p=new Set;for(let v=0;v<t.length;v+=r){let C=t[v]||0,R=t[v+1]||0,w=t[v+2]||0,N=C*.299+R*.587+w*.114,P=Math.max(C,R,w),L=Math.min(C,R,w);s+=C,i+=R,a+=w,o+=C*C,c+=R*R,u+=w*w,l+=N,d+=N*N,f+=P-L,p.add(`${C>>4}:${R>>4}:${w>>4}`)}let m=s/n,h=i/n,A=a/n,g=l/n,b=Math.sqrt(Math.max(0,d/n-g*g)),y=(Math.sqrt(Math.max(0,o/n-m*m))+Math.sqrt(Math.max(0,c/n-h*h))+Math.sqrt(Math.max(0,u/n-A*A)))/3,x=f/n;return b<8&&y<8||(g>242||g<16)&&b<12&&y<12||x<7&&b<10||p.size<=3||p.size<=6&&b<20&&x<12}async function tNr(t,e){try{let r=await t(e).metadata();if(!r?.width||!r?.height||r.width<Mft||r.height<Mft)return!1;let{data:n,info:s}=await t(e).resize(Wft,Wft,{fit:"cover"}).removeAlpha().raw().toBuffer({resolveWithObject:!0});return!eNr(n,s?.channels||3)}catch{return!1}}async function rNr(t,e){try{return await t(e).rotate().resize({width:420,height:620,fit:"cover",withoutEnlargement:!0}).flatten({background:"#f2f4f7"}).jpeg({quality:82,mozjpeg:!0}).toBuffer()}catch{return null}}async function nNr(t,e=null){try{let r=new URL(t),n=await Ae.get(r.toString(),{responseType:"arraybuffer",timeout:jRr,maxContentLength:Bft,headers:{Accept:"image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8",Referer:`${r.protocol}//${r.host}/`,"User-Agent":"Mozilla/5.0 EmbyDynamicCover/1.0"},validateStatus:o=>o>=200&&o<300}),s=String(n.headers?.["content-type"]||"").split(";")[0].trim().toLowerCase(),i=s&&s.startsWith("image/")?s:"image/jpeg",a=Buffer.from(n.data||[]);if(!a.length||a.length>Bft)return null;if(e){if(!await tNr(e,a))return null;let o=await rNr(e,a);return o?.length?{dataUri:`data:image/jpeg;base64,${o.toString("base64")}`,buffer:o}:null}return{dataUri:`data:${i};base64,${a.toString("base64")}`,buffer:a}}catch{return null}}async function sNr(t=[],e=null){let n=b2(t).slice(0,qft).map(a=>nNr(a,e));return(await Promise.allSettled(n)).filter(a=>a.status==="fulfilled"&&a.value?.dataUri).map(a=>a.value).slice(0,qRr)}async function iNr(t,e=[],r=""){let n=e.find(s=>s?.buffer);if(!n)return n6(r);try{let i=((await t(n.buffer).resize(24,24,{fit:"cover"}).stats()).channels||[]).slice(0,3).map(c=>c.mean||0),a=Uft(i,[0,0,0],.38),o=Uft(i,[255,255,255],.48);return[Fft(a),Fft(o)]}catch{return n6(r)}}function aNr(t=""){let e=String(t||"\u5A92\u4F53\u5E93").trim()||"\u5A92\u4F53\u5E93";if(e.length<=8)return[e];if(/[\u4e00-\u9fff]/.test(e)){let i=e.slice(0,8),a=e.slice(8,16);return a?[i,a]:[i]}let r=e.split(/\s+/).filter(Boolean);if(r.length<=1)return[e.slice(0,16)];let n=[],s="";return r.forEach(i=>{let a=s?`${s} ${i}`:i;if(a.length>12&&s){n.push(s),s=i;return}s=a}),s&&n.push(s),n.slice(0,2)}function Gft(t=[],e,r){let n=e*.16,s=n*1.48,i=e*.025,a=e*.52,o=-r*.16,c=3;return[2,0,1,3,4,5,8,6,7].map((l,d)=>{let f=Math.floor(d/c),p=d%c,m=a+f*(n+i),h=o+p*(s+i),A=`posterClip${d}`,g=t[l%t.length];return{x:m,y:h,w:n,h:s,r:e*.015,clipId:A,href:g?.dataUri||""}})}function oNr(t,e,r=""){let n=Gft([{dataUri:""}],t,e),s=n6(r);return n.map((i,a)=>{let o=.18+a%3*.08;return`
|
|
<rect x="${i.x.toFixed(1)}" y="${i.y.toFixed(1)}"
|
|
width="${i.w.toFixed(1)}" height="${i.h.toFixed(1)}"
|
|
rx="${i.r.toFixed(1)}" fill="${s[a%s.length]}" opacity="${o.toFixed(2)}"/>
|
|
<path d="M ${i.x+i.w*.22} ${i.y+i.h*.42}
|
|
h ${i.w*.56} v ${i.h*.22} h ${-i.w*.56} z"
|
|
fill="rgba(255,255,255,0.28)"/>
|
|
`}).join("")}function cNr({width:t,height:e,title:r,subtitle:n,countText:s,posterImages:i,palette:a}){let o=aNr(r),c=o.some(h=>h.length>8)?t*.082:t*.105,u=t*.034,l=c*1.08,d=i.length?Gft(i,t,e):[],f=d.map(h=>`
|
|
<clipPath id="${h.clipId}">
|
|
<rect x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
|
|
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
|
|
rx="${h.r.toFixed(1)}"/>
|
|
</clipPath>
|
|
`).join(""),p=d.map(h=>`
|
|
<rect x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
|
|
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
|
|
rx="${h.r.toFixed(1)}" fill="rgba(255,255,255,0.14)" filter="url(#cardShadow)"/>
|
|
<image href="${h.href}" x="${h.x.toFixed(1)}" y="${h.y.toFixed(1)}"
|
|
width="${h.w.toFixed(1)}" height="${h.h.toFixed(1)}"
|
|
preserveAspectRatio="xMidYMid slice" clip-path="url(#${h.clipId})"/>
|
|
`).join(""),m=o.map((h,A)=>`
|
|
<text x="${(t*.07).toFixed(1)}" y="${(e*.47+A*l).toFixed(1)}"
|
|
class="title">${hle(h)}</text>
|
|
`).join("");return`<?xml version="1.0" encoding="UTF-8"?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${e}" viewBox="0 0 ${t} ${e}">
|
|
<defs>
|
|
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="0">
|
|
<stop offset="0" stop-color="${a[0]}"/>
|
|
<stop offset="1" stop-color="${a[1]}"/>
|
|
</linearGradient>
|
|
<radialGradient id="softLight" cx="78%" cy="42%" r="58%">
|
|
<stop offset="0" stop-color="rgba(255,255,255,0.42)"/>
|
|
<stop offset="1" stop-color="rgba(255,255,255,0)"/>
|
|
</radialGradient>
|
|
<filter id="cardShadow" x="-20%" y="-20%" width="150%" height="150%">
|
|
<feDropShadow dx="${(t*.01).toFixed(1)}" dy="${(e*.016).toFixed(1)}"
|
|
stdDeviation="${(t*.011).toFixed(1)}" flood-color="#000" flood-opacity="0.38"/>
|
|
</filter>
|
|
${f}
|
|
<style>
|
|
.title {
|
|
fill: #fff;
|
|
font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
|
|
font-weight: 800;
|
|
font-size: ${c.toFixed(1)}px;
|
|
}
|
|
.subtitle {
|
|
fill: rgba(255,255,255,0.88);
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
font-weight: 500;
|
|
font-size: ${u.toFixed(1)}px;
|
|
}
|
|
.meta {
|
|
fill: rgba(255,255,255,0.52);
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
font-size: ${(t*.018).toFixed(1)}px;
|
|
}
|
|
</style>
|
|
</defs>
|
|
<rect width="${t}" height="${e}" fill="url(#bg)"/>
|
|
<rect width="${t}" height="${e}" fill="url(#softLight)" opacity="0.72"/>
|
|
<g transform="rotate(-14 ${(t*.76).toFixed(1)} ${(e*.48).toFixed(1)})">
|
|
${i.length?p:oNr(t,e,r)}
|
|
</g>
|
|
<rect x="${(t*.067).toFixed(1)}" y="${(e*.58).toFixed(1)}"
|
|
width="${(t*.014).toFixed(1)}" height="${(e*.054).toFixed(1)}"
|
|
fill="rgba(255,255,255,0.32)"/>
|
|
${m}
|
|
<text x="${(t*.096).toFixed(1)}" y="${(e*.63).toFixed(1)}" class="subtitle">${hle(n)}</text>
|
|
<text x="${(t*.07).toFixed(1)}" y="${(e*.86).toFixed(1)}" class="meta">${hle(s)}</text>
|
|
</svg>`}function uNr(t=""){return String(t||"Primary").trim().toLowerCase()==="primary"}function xle(t,e="Primary"){return uNr(e)&&["lib","cat"].includes(t?.type)}async function Vft(t,e,r){if(!xle(e,r?.params?.imageType||"Primary"))return null;let{width:n,height:s}=XRr(r?.query||{}),i=im(["emby","dynamic-cover-v2",e.type,JSON.stringify(e.payload||{}),n,s]);return Xf(t.embyContext?.cache,i,$Rr,async()=>{let a=await YRr(t,e,r),o=await ZRr(),c=o?await sNr(a.posterUrls,o):[],u=JRr(e,o?c.length:a.posterUrls.length),l=o?await iNr(o,c,u.title):n6(u.title),d=cNr({width:n,height:s,title:u.title,subtitle:u.subtitle,countText:u.countText,posterImages:c,palette:l});return o?{buffer:await o(Buffer.from(d,"utf8"),{density:96}).png({compressionLevel:8,adaptiveFiltering:!0}).toBuffer(),contentType:"image/png"}:{buffer:Buffer.from(d,"utf8"),contentType:"image/svg+xml; charset=utf-8"}})}var lNr=!1;function dNr(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}async function zft(t,e={}){if(e.u)return String(e.u);let r=Zl(e),n=String(e.v||"");if(!r.spiderKey||!n)return"";let s=await Oc(t,r,n).catch(()=>null),i=Pc(s);return String(i?.vod_pic||"")}function fNr(t,e="Primary",r={}){let n=String(e||"Primary").trim().toLowerCase();return String(r?.tag||r?.Tag||"").trim().toLowerCase()==="tmdb"||t?.type!=="vod"?!0:["backdrop","thumb","banner","logo"].includes(n)}async function pNr(t,e,r="Primary",n={}){if(e?.type==="vod"&&!fNr(e,r,n)){let i=await zft(t,e?.payload||{});if(i)return i}let s=await Ift(t,e,r).catch(()=>"");return s||(e?.type==="img"?String(e?.payload?.u||""):zft(t,e?.payload||{}))}function Kft(t){if(!t?.payload||typeof t.payload!="object")return null;let e=t.payload;return t.type==="media"||t.type==="ep"?{k:String(e.k||""),t:Number(e.t||3),v:String(e.v||""),l:Number(e.l||0),e:Number(e.e||0),f:String(e.f||""),p:String(e.p||""),a:String(e.a||"")}:null}async function mNr(t,e,r=""){let n=Kft(e);if(n)return n;if(r&&["vod","sea"].includes(e.type)){let p=l2(t,r,wn(e.type,e.payload||{})),m=Kft(p?.decoded);if(m?.k&&m?.f&&m?.p)return m}let s=e.payload||{};if(!["vod","sea"].includes(e.type))return null;let i=Zl(s),a=String(s.v||"");if(!i.spiderKey||!a)return null;let o=await Oc(t,i,a).catch(()=>null),c=Pc(o);if(!c)return null;let u=ho(c.vod_play_from,c.vod_play_url);if(!u.length)return null;let l=e.type==="sea"?Number(s.l||0):0,d=u[l]||u[0];if(!d||!d.episodes.length)return null;let f=d.episodes[0];return{k:i.spiderKey,t:i.spiderType,v:a,l,e:0,f:String(d.flag||""),p:String(f.playId||""),...i.apiBase?{a:i.apiBase}:{}}}function hNr(t=""){let e=String(t||"").trim();if(!e)return"mkv";if(/\.m3u8($|\?)/i.test(e))return"m3u8";try{let n=new URL(e).pathname.match(/\.([a-z0-9]{2,6})$/i);if(n?.[1])return n[1].toLowerCase()}catch{}return"mkv"}function gNr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}async function ANr(t,e,r){let n={spiderKey:e.k,spiderType:Number(e.t||3),apiBase:String(e.a||"")},s=await am(t,n,e.f,e.p,r).catch(()=>null),i=um(s||{},""),a=String(i.url||"");return{container:hNr(a),requiredHeaders:i.header||{},directUrl:a,useDirectUrl:lNr&&gNr(a)}}function yNr(t){let r=String(t.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t.protocol||"http",s=String(t.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t.headers?.host||"127.0.0.1";return`${r}://${s}`}function xNr(t="mkv"){return/^[a-z0-9]{2,8}$/i.test(String(t||""))?String(t).toLowerCase():"mkv"}function Yft(t,e,r="mkv",n=!1){let s=xNr(r),i=n&&t.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}function bNr(t,e,r="mkv",n=!0){return`${yNr(t)}/emby${Yft(t,e,r,n)}`}async function ble(t){t.get("/",{preHandler:t.embyRequireAuth},async(e,r)=>{let n=e.query||{},s=String(n.userid||n.UserId||e.embyUser?.Id||t.embyContext.user.id),i=new URLSearchParams;Object.keys(n).forEach(c=>{if(c==="userid"||c==="UserId")return;let u=n[c];u!=null&&i.set(c,String(u))});let a=`/emby/Users/${encodeURIComponent(s)}/Items`,o=i.toString();o&&(a+=`?${o}`),r.redirect(301,a)}),t.get("/:itemId/Images/:imageType",async(e,r)=>{let n=$s(e.params.itemId);if(!n)return r.code(404),"";if(xle(n,e.params.imageType||"Primary")){let i=await Vft(t,n,e).catch(()=>null);if(i?.buffer?.length)return r.header("Content-Type",i.contentType||"image/png"),r.header("Cache-Control","public, max-age=1800"),r.header("Content-Length",String(i.buffer.length)),r.send(i.buffer)}let s=await pNr(t,n,e.params.imageType||"Primary",e.query||{});if(!s)return r.code(404),"";try{let i=new URL(s);if(!["http:","https:"].includes(i.protocol))return r.code(403),""}catch{return r.code(404),""}try{let i=await Ae.get(s,{responseType:"stream",timeout:1e4,headers:{"User-Agent":"Mozilla/5.0 EmbyImageProxy"}}),a=i.headers?.["content-type"]||"image/jpeg";return r.header("Content-Type",a),r.header("Cache-Control","public, max-age=86400"),i.headers?.["content-length"]&&r.header("Content-Length",i.headers["content-length"]),r.send(i.data)}catch{return r.code(502),""}}),t.all("/:itemId/PlaybackInfo",{preHandler:t.embyRequireAuth},async(e,r)=>{if(!["GET","POST"].includes(e.method))return r.code(405),"";let n=e.params.itemId,s=$s(n);if(!s)return r.code(404),{};let i=e.embyUser?.Id||t.embyContext.user.id,a=await mNr(t,s,i);if(!a||!a.k||!a.f||!a.p)return r.code(404),{};let o=wn("media",{k:String(a.k||""),t:Number(a.t||3),v:String(a.v||""),l:Number(a.l||0),e:Number(a.e||0),f:String(a.f||""),...a.a?{a:String(a.a||"")}:{}}),c=await ANr(t,a,e),u=bNr(e,o,c.container,!0),l=c.useDirectUrl&&c.directUrl?c.directUrl:u,d=c.useDirectUrl&&c.directUrl?c.directUrl:Yft(e,o,c.container,!0),f=!1,p=c.useDirectUrl?c.requiredHeaders||{}:{};return dNr(t,"playback.info",{itemId:n,mediaId:o,spiderKey:a.k,lineFlag:a.f,container:c.container,useDirectUrl:c.useDirectUrl,streamUrl:l,directStreamUrl:d,hasRequiredHeaders:Object.keys(p).length>0,addApiKeyToDirectStreamUrl:f}),{MediaSources:[{Id:o,Name:"\u9ED8\u8BA4",Type:"Default",Protocol:"Http",Container:c.container,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,RequiresOpening:!1,RequiresClosing:!1,RequiresLooping:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:p,Path:l,DirectStreamUrl:d,AddApiKeyToDirectStreamUrl:f,ItemId:o}],PlaySessionId:n}}),t.get("/:itemId/Similar",{preHandler:t.embyRequireAuth},async()=>Ut([])),t.get("/Counts",{preHandler:t.embyRequireAuth},async()=>({MovieCount:0,SeriesCount:0,EpisodeCount:0,GameCount:0,ArtistCount:0,ProgramCount:0,GameSystemCount:0,TrailerCount:0,SongCount:0,AlbumCount:0,MusicVideoCount:0,BoxSetCount:0,BookCount:0,ItemCount:0}))}var ENr=new Set(["tgchannel","tgsou","pansou","panta"]);function Ele(t){try{return decodeURIComponent(String(t||""))}catch{return String(t||"")}}function _Nr(t=""){let e=String(t||""),r=[e,Ele(e),Ele(Ele(e))];for(let n of r){let s=$s(n);if(s)return s}return null}function SNr(t={}){return{k:String(t.k||""),t:Number(t.t||3),v:String(t.v||""),l:Number(t.l||0),e:Number(t.e||0),f:String(t.f||""),p:String(t.p||""),a:String(t.a||"")}}async function vNr(t,e={}){let r=SNr(e);if(!r.k||!r.v)return null;if(r.f&&r.p)return r;let n={spiderKey:r.k,spiderType:r.t,apiBase:r.a},s=await Oc(t,n,r.v).catch(()=>null),i=Pc(s);if(!i)return null;let a=ho(i.vod_play_from,i.vod_play_url).filter(f=>Array.isArray(f?.episodes)&&f.episodes.length>0);if(!a.length)return null;let o=Math.max(0,Math.min(a.length-1,Number(r.l||0))),c=a[o],u=Array.isArray(c?.episodes)?c.episodes:[];if(!u.length)return null;let l=Math.max(0,Math.min(u.length-1,Number(r.e||0))),d=u[l];return d?.playId?{...r,l:o,e:l,f:r.f||String(c.flag||""),p:String(d.playId||"")}:null}async function CNr(t,e){if(!e)return null;if(e.type==="media"||e.type==="ep")return vNr(t,e.payload||{});if(!["vod","sea"].includes(e.type))return null;let r=e.payload||{},n=Zl(r),s=String(r.v||"");if(!n.spiderKey||!s)return null;let i=await Oc(t,n,s).catch(()=>null),a=Pc(i);if(!a)return null;let o=ho(a.vod_play_from,a.vod_play_url);if(!o.length)return null;let c=e.type==="sea"?Number(r.l||0):0,u=o[c]||o[0];if(!u||!u.episodes.length)return null;let l=u.episodes[0];return{k:n.spiderKey,t:n.spiderType,v:s,l:c,e:0,f:String(u.flag||""),p:String(l.playId||""),...n.apiBase?{a:n.apiBase}:{}}}function INr(t,e={}){let r={"User-Agent":t.headers?.["user-agent"]||"Mozilla/5.0 EmbyVideoProxy"};return t.headers?.range&&(r.Range=t.headers.range),e&&typeof e=="object"&&Object.keys(e).forEach(n=>{let s=e[n];s!=null&&(r[n]=String(s))}),r}async function Jft(t,e,r,n){let s=await Ae.get(r,{responseType:"stream",timeout:3e4,maxRedirects:5,validateStatus:()=>!0,headers:INr(t,n)}),i=["content-type","content-length","accept-ranges","content-range","cache-control","etag","last-modified"];return e.code(s.status),i.forEach(a=>{let o=s.headers?.[a];o!=null&&e.header(a,o)}),e.send(s.data)}function TNr(t={},e=""){if(ENr.has(String(t.k||"")))return!0;try{let r=String(new URL(String(e||"")).hostname||"").toLowerCase();return r.includes("mcloud.139.com")||r.includes("yun.139.com")}catch{return!1}}function wNr(t=""){try{return new URL(String(t||"")).toString()}catch{return String(t||"")}}async function _le(t,e,r,n=""){let s=_Nr(e.params.mediaId);if(!s)return r.code(404),"";let i=await CNr(t,s);if(!i||!i.k||!i.f||!i.p)return r.code(404),"";let a={spiderKey:i.k,spiderType:i.t,apiBase:String(i.a||"")},o=await am(t,a,i.f,i.p,e).catch(()=>null),c=um(o||{},String(e.query?.line||""));if(!c.url)return r.code(404),"";let u=String(n||"").trim(),l=u;try{let d=String(e.raw?.url||""),f=`/${String(e.params.mediaId||"")}/`,p=d.indexOf(f);if(p>=0){let m=d.slice(p+f.length).trim();m&&(l=m)}}catch{}if(u&&!/^stream\./i.test(u))try{let d=new URL(c.url),f=new URL(l||u,d);return Jft(e,r,f.toString(),c.header)}catch{return r.code(400),""}try{let d=new URL(c.url);if(!["http:","https:"].includes(d.protocol))return r.code(403),""}catch{return r.code(400),""}return TNr(i,c.url)||Object.keys(c.header||{}).length>0?Jft(e,r,c.url,c.header):r.redirect(307,wNr(c.url))}async function Sle(t){let e=async(r,n)=>{t.embyExtractToken(r)&&await t.embyRequireAuth(r,n)};t.get("/:mediaId/AdditionalParts",{preHandler:e},async()=>Ut([])),t.get("/:mediaId/stream.mkv",{preHandler:e},async(r,n)=>_le(t,r,n,"stream.mkv")),t.get("/:mediaId/:fileName",{preHandler:e},async(r,n)=>_le(t,r,n,String(r.params.fileName||""))),t.get("/:mediaId/*",{preHandler:e},async(r,n)=>_le(t,r,n,String(r.params["*"]||""))),t.get("/:mediaId/subtitles/:subtitleId",{preHandler:e},async(r,n)=>(n.code(404),""))}var RNr=new Set(["tgchannel","tgsou","pansou","panta"]),NNr=!1;function ONr(t=""){return/(移动|yidong|139)/i.test(String(t||""))}function PNr(t=""){try{let e=String(new URL(String(t||"")).hostname||"").toLowerCase();return e.includes("mcloud.139.com")||e.includes("yun.139.com")}catch{return!1}}function Xft(t="",e="mkv"){let r=String(t||"").trim();if(!r)return e;if(/\.m3u8($|\?)/i.test(r))return"m3u8";try{let s=new URL(r).pathname.match(/\.([a-z0-9]{2,6})$/i);if(s?.[1])return s[1].toLowerCase()}catch{}return e}function DNr(t,e,r={}){if(t.embyContext?.config?.requestLog)try{console.log(`[Emby Transform] ${e}:`,JSON.stringify(r))}catch{}}function kNr(t){let r=String(t?.headers?.["x-forwarded-proto"]||"").split(",")[0].trim()||t?.protocol||"http",s=String(t?.headers?.["x-forwarded-host"]||"").split(",")[0].trim()||t?.headers?.host||"127.0.0.1";return`${r}://${s}`}function LNr(t,e,r="mkv"){return`${kNr(t)}/emby${tpt(t,e,r,!0)}`}function tpt(t,e,r="mkv",n=!1){let s=/^[a-z0-9]{2,8}$/i.test(String(r||""))?String(r).toLowerCase():"mkv",i=n&&t?.embyToken?`?api_key=${encodeURIComponent(t.embyToken)}`:"";return`/videos/${String(e||"")}/stream.${s}${i}`}async function BNr(t,e,r,n="\u9ED8\u8BA4"){let s=wn("media",{k:String(r?.k||""),t:Number(r?.t||3),v:String(r?.v||""),l:Number(r?.l||0),e:Number(r?.e||0),f:String(r?.f||n||""),...r?.a?{a:String(r.a||"")}:{}}),i=RNr.has(String(r?.k||""))?"m3u8":"mkv",a=Xft(String(r?.p||""),i),o=LNr(e,s,a),c=tpt(e,s,a,!0),u={},l=!1,d=String(n||r?.f||"");if(NNr&&ONr(d)&&r?.k&&r?.f&&r?.p){let p={spiderKey:String(r.k||""),spiderType:Number(r.t||3),apiBase:String(r.a||"")},m=await am(t,p,String(r.f||""),String(r.p||""),e).catch(()=>null),h=um(m||{},String(n||""));h.url&&PNr(h.url)&&(a=Xft(h.url,a),o=h.url,c=h.url,u=h.header||{},l=!1)}return{Id:s,Name:n,Type:"Default",Protocol:"Http",Container:a,IsRemote:!0,SupportsTranscoding:!1,SupportsDirectStream:!0,SupportsDirectPlay:!0,IsInfiniteStream:!1,SupportsProbing:!1,MediaStreams:[],RequiredHttpHeaders:u,Path:o,DirectStreamUrl:c,AddApiKeyToDirectStreamUrl:l,ItemId:s}}async function MNr(t,e,r,n,s,i){let a=String(r?.vod_name||""),o=String(r?.vod_pic||"").trim(),c=String(r?.tmdbHintRemarks||r?.vod_remarks||"").trim(),u=String(r?.tmdbHintYear||r?.vod_year||"").trim(),l=[],d=new Map;for(let f=0;f<n.length;f+=1){let p=n[f],m={k:e.spiderKey,t:e.spiderType,v:String(r.vod_id),l:f,...e.apiBase?{a:e.apiBase}:{}};a&&(m.n=a),o&&(m.u=o),c&&(m.r=c),u&&(m.y=u);let h=wn("sea",m),A={Name:p.flag||`\u7B2C${f+1}\u5B63`,Id:h,ParentId:s,SeriesId:s,SeriesName:a,IndexNumber:f+1,ChildCount:p.episodes.length,ServerId:i,IsFolder:!0,Type:"Season",ImageTags:{Primary:h},BackdropImageTags:[],UserData:ss()},b=`s${VM(r,p,f)}`,y=d.get(b);y===void 0&&(y=await YM(t,"season",{spiderRef:e,vod:r,line:p,lineIndex:f})||null,d.set(b,y)),y&&Object.assign(A,y),l.push(A)}return l}async function WNr(t,e,r,n,s,i,a,o=0,c=void 0){let u=String(n?.vod_name||""),l=String(n?.vod_pic||"").trim(),d=String(n?.tmdbHintRemarks||n?.vod_remarks||"").trim(),f=String(n?.tmdbHintYear||n?.vod_year||"").trim(),p=s?.line,m=Number(s?.lineIndex||0),h=Number(s?.episodeOffset||0),g=(Array.isArray(p?.episodes)?p.episodes:[])[o];if(!p||!g?.playId)return null;let b=h+o,y=fA(g?.name,b+1),x={k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:m,e:b,f:p.flag,p:g.playId,...r.apiBase?{a:r.apiBase}:{}};u&&(x.n=u),l&&(x.u=l),d&&(x.r=d),f&&(x.y=f);let v=wn("ep",x),C=await BNr(t,e,{k:r.spiderKey,t:r.spiderType,...r.apiBase?{a:r.apiBase}:{},v:String(n.vod_id),l:m,e:b,f:p.flag,p:g.playId},String(p.flag||`\u7EBF\u8DEF${m+1}`)),R={Name:g.name||`\u7B2C${b+1}\u96C6`,Id:v,ParentId:i,SeasonId:wn("sea",{k:r.spiderKey,t:r.spiderType,v:String(n.vod_id),l:m,...r.apiBase?{a:r.apiBase}:{},...u?{n:u}:{},...l?{u:l}:{},...d?{r:d}:{},...f?{y:f}:{}}),SeriesId:i,SeriesName:u,SeasonName:p.flag||`\u7B2C${m+1}\u5B63`,IndexNumber:y,ParentIndexNumber:m+1,ServerId:a,IsFolder:!1,Type:"Episode",MediaType:"Video",CanPlay:!0,PrimaryImageAspectRatio:.6667,ImageTags:{Primary:v},BackdropImageTags:[],UserData:ss(),MediaSources:[C]};if(c!==void 0)return c&&Object.assign(R,c),R;let w=await g2(t,{spiderRef:r,vod:n,line:p,lineIndex:m,episode:g,episodeIndex:b});return w&&Object.assign(R,w),R}function $Nr(t=[]){return t.reduce((e,r)=>e+(Array.isArray(r?.line?.episodes)?r.line.episodes.length:0),0)}async function rpt(t,e,r,n,s,i,a,o=1/0){let c=[],u=Number(o),l=Number.isFinite(u)&&u>0?Math.floor(u):1/0;for(let d of s){let f=Array.isArray(d?.line?.episodes)?d.line.episodes:[],p=Number(d?.episodeOffset||0),m=await KM(t,{spiderRef:r,vod:n,line:d?.line,lineIndex:Number(d?.lineIndex||0),episodes:f,episodeOffset:p});for(let h=0;h<f.length;h+=1){let A=await WNr(t,e,r,n,d,i,a,h,m[h]??null);if(A&&c.push(A),c.length>=l)return c}}return c}function npt(t,e){if(!t?.payload||typeof t.payload!="object"||t.type==="vod")return e;let r=t.payload,n=String(r.k||""),s=String(r.v||"");return!n||!s?e:wn("vod",{k:n,t:Number(r.t||3),v:s,...r.a?{a:String(r.a||"")}:{},...r.n?{n:String(r.n||"")}:{},...r.u?{u:String(r.u||"")}:{}})}function spt(t=[],e={},r=null){let n=String(Xr(e,["seasonid","SeasonId","seasonId"],""));if(n){let i=$s(n);if(i?.type==="sea"){let a=Number(i.payload?.l||0),o=t[a];return o?[{line:o,lineIndex:a}]:[]}}let s=Number(Xr(e,["season","Season"],NaN));if(Number.isFinite(s)&&s>0){let i=s-1,a=t[i];return a?[{line:a,lineIndex:i}]:[]}if(r?.type==="sea"){let i=Number(r.payload?.l||0),a=t[i];return a?[{line:a,lineIndex:i}]:[]}if(r?.type==="ep"){let i=Number(r.payload?.l||0),a=Number(r.payload?.e||0),o=t[i];return!o||!o.episodes[a]?[]:[{line:{...o,episodes:[o.episodes[a]]},lineIndex:i,episodeOffset:a}]}return t.map((i,a)=>({line:i,lineIndex:a}))}function FNr(t,e,r,n=[]){let i=l2(t,e,r)?.decoded?.payload||null;if(!i)return n;let a=Number(i.l||0),o=Number(i.e||0),c=n.find(l=>Number(l?.lineIndex||0)===a),u=Array.isArray(c?.line?.episodes)?c.line.episodes:[];return u[o]?[{...c,episodeOffset:o,line:{...c.line,episodes:u.slice(o)}}]:n}async function vle(t,e){let r=$s(e);if(!r||!["vod","sea","ep"].includes(r.type))return null;let n=r.payload||{},s=Zl(n),i=String(n.v||"");if(!s.spiderKey||!i)return null;let a=await Oc(t,s,i).catch(()=>null),o=Pc(a);if(!o)return null;yA(o,n),!String(o?.vod_pic||"").trim()&&n?.u&&(o.vod_pic=String(n.u||"").trim());let c=ho(o.vod_play_from,o.vod_play_url);return c.length?{decoded:r,spiderRef:s,vod:o,lines:c}:null}async function Zft(t,e,r={},n=null){let s=await vle(t,e);if(!s)return[];let{decoded:i,spiderRef:a,vod:o,lines:c}=s,u=spt(c,r,i);if(!u.length)return[];let l=npt(i,e);return rpt(t,n,a,o,u,l,t.embyContext.config.serverId)}async function ept(t,e){let r=await vle(t,e);if(!r)return[];let{spiderRef:n,vod:s,lines:i}=r;return MNr(t,n,s,i,e,t.embyContext.config.serverId)}async function Cle(t){let e={preHandler:t.embyRequireAuth};t.get("/Persons",e,async()=>Ut([])),t.get("/Genres",e,async()=>Ut([])),t.get("/Tags",e,async()=>Ut([])),t.get("/OfficialRatings",e,async()=>Ut([])),t.get("/Years",e,async()=>Ut([])),t.get("/Studios",e,async()=>Ut([])),t.get("/Shows/NextUp",e,async r=>{let n=r.query||{},s=String(Xr(n,["SeriesId","seriesId"],"")).trim(),i=Pu(Xr(n,["Limit","limit"],1),1),a=r.embyUser?.Id||t.embyContext.user.id;if(!s)return Ut([]);let o=await vle(t,s);if(!o)return Ut([]);let{decoded:c,spiderRef:u,vod:l,lines:d}=o,f=npt(c,s),p=FNr(t,a,f,spt(d,n,c));if(!p.length)return Ut([]);let m=$Nr(p),h=Fs(t,a,await rpt(t,r,u,l,p,f,t.embyContext.config.serverId,i));return DNr(t,"nextup.result",{seriesId:s,total:m,first:h[0]?{id:h[0].Id,type:h[0].Type,canPlay:h[0].CanPlay,mediaSourceCount:Array.isArray(h[0].MediaSources)?h[0].MediaSources.length:0}:null}),Ut(h,m)}),t.get("/Shows/:seriesId/Seasons",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.seriesId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Fs(t,o,await ept(t,a));return Ut(Ia(c,s,i),c.length)}),t.get("/Shows/:seriesId/Episodes",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.seriesId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Fs(t,o,await Zft(t,a,n,r));return Ut(Ia(c,s,i),c.length)}),t.get("/Items/:itemId/Seasons",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.itemId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Fs(t,o,await ept(t,a));return Ut(Ia(c,s,i),c.length)}),t.get("/Items/:itemId/Episodes",e,async r=>{let n=r.query||{},s=Number(Xr(n,["StartIndex","startindex"],0)),i=Pu(Xr(n,["Limit","limit"],150),150),a=String(r.params.itemId||""),o=r.embyUser?.Id||t.embyContext.user.id,c=Fs(t,o,await Zft(t,a,n,r));return Ut(Ia(c,s,i),c.length)}),t.get("/Sessions",e,async r=>[{PlayState:{CanSeek:!0,IsPaused:!1,IsMuted:!1,RepeatMode:"RepeatNone",SleepTimerMode:"None",SubtitleOffset:0,Shuffle:!1,PlaybackRate:1},AdditionalUsers:[],RemoteEndPoint:"mycatpaw",Protocol:"HTTP/1.1",PlayableMediaTypes:["Video"],PlaylistIndex:0,PlaylistLength:0,Id:t.embyContext.config.serverId,ServerId:t.embyContext.config.serverId,UserId:r.embyUser?.Id||"",UserName:r.embyUser?.Name||"",Client:"",LastActivityDate:Ws(),DeviceName:"",InternalDeviceId:0,DeviceId:"",ApplicationVersion:t.embyContext.config.version,SupportedCommands:[],SupportsRemoteControl:!1}]),t.post("/Sessions/Playing",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await d2(t,s,r.body||{},"playing"),n.code(204).send()}),t.post("/Sessions/Playing/Progress",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await d2(t,s,r.body||{},"progress"),n.code(204).send()}),t.post("/Sessions/Playing/Stopped",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await d2(t,s,r.body||{},"stopped"),n.code(204).send()}),t.post("/Sessions/Playing/Ping",e,async(r,n)=>{let s=r.embyUser?.Id||t.embyContext.user.id;await d2(t,s,r.body||{},"ping"),n.code(204).send()}),t.get("/DisplayPreferences/Usersettings",e,async()=>({Id:"usersettings",CustomPrefs:{},SortOrder:"Ascending"})),t.get("/Environment/DefaultDirectoryBrowser",e,async()=>Ut([]))}function ipt(t){return t&&String(t).match(/Token="?([^",\s]+)"?/i)?.[1]||""}var Ile=Symbol("embyLogStartAt"),UNr=/(token|password|passwd|pwd|pw|authorization|cookie|api[_-]?key|session)/i;function s6(t){let e=String(t??"");return e?e.length<=6?"***":`${e.slice(0,2)}***${e.slice(-2)}`:""}function QE(t,e=0,r=new WeakSet){if(t==null)return t;if(typeof t=="string")return t.length>240?`${t.slice(0,240)}...(truncated)`:t;if(typeof t!="object")return t;if(r.has(t))return"[Circular]";if(e>=3)return"[MaxDepth]";if(r.add(t),Array.isArray(t))return t.slice(0,10).map(s=>QE(s,e+1,r));let n={};for(let[s,i]of Object.entries(t)){if(UNr.test(s)){n[s]=s6(i);continue}n[s]=QE(i,e+1,r)}return n}function qNr(t){return t.routeOptions?.url||t.url||t.raw?.url||""}function Tle(t,e){if(t==null||t==="")return e;let r=String(t).trim().toLowerCase();return["0","false","off","no"].includes(r)?!1:["1","true","on","yes"].includes(r)?!0:e}function jNr(t,e,r){let n=String(e||"").trim();if(!n){r(null,{});return}try{r(null,JSON.parse(n))}catch(s){s.statusCode=400,r(s)}}function E2(t={}){let e=String(process.env.EMBY_TMDB_API_KEY||t.tmdbApiKey||"");return{enable:t.enable!==!1,username:String(process.env.EMBY_USERNAME||t.username||"CatPawPlay"),password:String(process.env.EMBY_PASSWORD||t.password||"CatPawPlay"),serverName:String(process.env.EMBY_SERVER_NAME||t.serverName||"CatPawPlay"),serverId:String(process.env.EMBY_SERVER_ID||t.serverId||"mycatpaw"),version:String(process.env.EMBY_VERSION||t.version||"4.8.0.80"),apiKey:String(process.env.EMBY_API_KEY||t.apiKey||""),searchSourcePrefix:Tle(process.env.EMBY_SEARCH_SOURCE_PREFIX,t.searchSourcePrefix!==!1),tokenTtlMs:Number(t.tokenTtlMs||30*24*60*60*1e3),requestLog:Tle(process.env.EMBY_REQUEST_LOG,process.env.NODE_ENV==="development"?t.requestLog!==!1:t.requestLog===!0),recoverToken:t.recoverToken!==!1&&process.env.EMBY_RECOVER_TOKEN!=="0",tmdbEnable:Tle(process.env.EMBY_TMDB_ENABLE,t.tmdbEnable!==!1&&!!e),tmdbApiKey:e,tmdbLanguage:String(process.env.EMBY_TMDB_LANGUAGE||t.tmdbLanguage||"zh-CN"),tmdbImageBase:String(process.env.EMBY_TMDB_IMAGE_BASE||t.tmdbImageBase||"https://image.tmdb.org/t/p/original")}}async function wle(t){let e=null;try{e=await t.db?.getObjectDefault("/emby",null)}catch{}let r=null;try{r=await t.db?.getObjectDefault("/embyPlayback",null)}catch{}let n=E2({...t.config?.emby||{},...e&&typeof e=="object"?e:{}}),s={config:n,cache:CM({max:1200}),tmdbStore:null,tmdbClientState:null,tokens:new Map,user:{id:"emby-user-001",name:n.username},playbackState:QM(r),playbackPersistTimer:null};globalThis.__catpawEmbyRuntime=s,t.addContentTypeParser("application/json",{parseAs:"string"},jNr),t.addContentTypeParser("application/x-www-form-urlencoded",{parseAs:"string"},(i,a,o)=>{try{let c=new URLSearchParams(String(a)),u={};for(let[l,d]of c.entries())u[l]=d;o(null,u)}catch(c){o(c)}}),t.decorate("embyContext",s),t.decorate("embyExtractToken",function(a){let o=a.query||{};return o["x-emby-token"]||o.api_key||o["X-Emby-Token"]||a.headers?.["x-emby-token"]||ipt(a.headers?.["x-emby-authorization"])||ipt(a.headers?.authorization)||""}),t.decorate("embyRequireAuth",async function(a,o){if(!s.config.enable){o.code(503).send("Emby disabled");return}let c=t.embyExtractToken(a);if(!c){o.code(401).send("Unauthorized");return}if(s.config.apiKey&&c===s.config.apiKey){a.embyToken=c,a.embyUser={Id:s.user.id,Name:s.user.name};return}let u=s.tokens.get(c);if(!u){if(!s.config.recoverToken){o.code(401).send("Unauthorized");return}let l=Date.now();u={token:c,userId:s.user.id,userName:s.user.name,createdAt:l,lastUsedAt:l,expireAt:s.config.tokenTtlMs>0?l+s.config.tokenTtlMs:0,device:{client:"RecoveredClient",device:"RecoveredDevice",deviceId:"",version:s.config.version}},s.tokens.set(c,u),s.config.requestLog&&console.warn(`[Emby Auth] recovered token session token=${s6(c)} path=${a.raw?.url||a.url}`)}if(u.expireAt>0&&u.expireAt<=Date.now()){s.tokens.delete(c),o.code(401).send("Unauthorized");return}u.lastUsedAt=Date.now(),a.embyToken=c,a.embySession=u,a.embyUser={Id:u.userId,Name:u.userName}}),t.addHook("preHandler",async i=>{if(!s.config.requestLog)return;i[Ile]=process.hrtime.bigint();let a=qNr(i),o=QE(i.query||{}),c=i.body===void 0?void 0:QE(i.body),u=t.embyExtractToken(i),l=u?s6(u):"-",d=Object.keys(o).length>0?` query=${JSON.stringify(o)}`:"",f=c!==void 0?` body=${JSON.stringify(c)}`:"";console.log(`[Emby Req] #${i.id} ${i.method} ${i.raw.url} route=${a}${d}${f} token=${l}`)}),t.addHook("onError",async(i,a,o)=>{if(!s.config.requestLog)return;let c=i[Ile],u=typeof c=="bigint"?(Number(process.hrtime.bigint()-c)/1e6).toFixed(1):"-",l=a.statusCode||o.statusCode||500;console.error(`[Emby Err] #${i.id} ${i.method} ${i.raw?.url||i.url} status=${l} cost=${u}ms message=${o.message}`)}),t.addHook("onResponse",async(i,a)=>{if(!s.config.requestLog)return;let o=i[Ile],c=typeof o=="bigint"?(Number(process.hrtime.bigint()-o)/1e6).toFixed(1):"-";console.log(`[Emby Res] #${i.id} ${i.method} ${i.raw.url} status=${a.statusCode} cost=${c}ms`)}),t.setNotFoundHandler((i,a)=>{if(s.config.requestLog){let o=QE(i.query||{}),c=i.body===void 0?void 0:QE(i.body),u=t.embyExtractToken(i),l=u?s6(u):"-",d=Object.keys(o).length>0?` query=${JSON.stringify(o)}`:"",f=c!==void 0?` body=${JSON.stringify(c)}`:"";console.warn(`[Emby 404] ${i.method} ${i.raw.url}${d}${f} token=${l}`)}a.code(404).send("Not Found")}),t.addHook("onClose",async()=>{s.tokens.clear(),s.cache.clear(),s.tmdbStore?.memory?.clear?.(),s.tmdbStore?.pending?.clear?.(),s.tmdbStore=null,s.tmdbClientState=null,s.playbackPersistTimer&&(clearTimeout(s.playbackPersistTimer),s.playbackPersistTimer=null),globalThis.__catpawEmbyRuntime===s&&(globalThis.__catpawEmbyRuntime=null)}),t.register(Xue,{prefix:"/System"}),t.register(Jue,{prefix:"/Users"}),t.register(ele,{prefix:"/Library"}),t.register(ple,{prefix:"/Users"}),t.register(ble,{prefix:"/Items"}),t.register(Sle,{prefix:"/Videos"}),t.register(Cle)}function Rle(t={},e={}){let r=e.includeSecrets===!0;return{enable:t.enable!==!1,username:String(t.username||""),password:String(t.password||""),serverName:String(t.serverName||""),searchSourcePrefix:t.searchSourcePrefix!==!1,tmdbEnable:t.tmdbEnable!==!1,...r?{tmdbApiKey:String(t.tmdbApiKey||"")}:{},tmdbLanguage:String(t.tmdbLanguage||"zh-CN"),tmdbImageBase:String(t.tmdbImageBase||"https://image.tmdb.org/t/p/original")}}async function apt(t){let e=await t.db.getObjectDefault("/emby",null);return e&&typeof e=="object"?e:{}}function opt(){let t=globalThis.__catpawEmbyRuntime;return t&&typeof t=="object"?t:null}function cpt(t={}){let e=opt();if(!e?.config)return;let r=String(e.config.username||""),n=String(e.config.password||""),s=String(e.config.tmdbApiKey||""),i=Object.prototype.hasOwnProperty.call(t,"tmdbApiKey"),a=String(t.username||r),o=String(i?t.tmdbApiKey||"":e.config.tmdbApiKey||"");Object.assign(e.config,{enable:t.enable!==!1,username:a,password:String(t.password||""),serverName:String(t.serverName||e.config.serverName||""),searchSourcePrefix:t.searchSourcePrefix!==!1,tmdbEnable:t.tmdbEnable!==!1,tmdbApiKey:o,tmdbLanguage:String(t.tmdbLanguage||e.config.tmdbLanguage||"zh-CN"),tmdbImageBase:String(t.tmdbImageBase||e.config.tmdbImageBase||"https://image.tmdb.org/t/p/original")}),e.user.name=a,r!==e.config.username||n!==e.config.password?e.tokens?.clear():e.tokens?.size&&e.tokens.forEach(l=>{l.userName=e.config.username}),s!==o&&(e.tmdbStore?.memory?.clear?.(),e.tmdbStore?.pending?.clear?.(),e.tmdbClientState=null)}var HNr=async t=>{let e=await apt(t),r=E2({...t.config?.emby||{},...e});return Rle(r,{includeSecrets:!0})},QNr=async(t,e)=>{let r=await apt(t),n=E2({...t.config?.emby||{},...r,...e&&typeof e=="object"?e:{}}),s=Rle(n,{includeSecrets:!0});return await t.db.push("/emby",s),cpt(s),s},GNr=async t=>{await t.db.delete("/emby");let e=Rle(E2(t.config?.emby||{}),{includeSecrets:!0});return cpt(e),e},VNr=async t=>{let e=opt();e?.tmdbStore?.memory?.clear?.(),e?.tmdbStore?.pending?.clear?.(),e&&(e.tmdbStore=null,e.tmdbClientState=null),await t.db.delete("/embyTmdb").catch(()=>{})};async function Nle(t){t.get("/setting",async(e,r)=>{r.send({code:0,data:await HNr(e.server)})}),t.put("/setting",async(e,r)=>{await QNr(e.server,e.body||{}),r.send({code:0})}),t.delete("/setting",async(e,r)=>{await GNr(e.server),r.send({code:0})}),t.post("/tmdb/cache/clear",async(e,r)=>{await VNr(e.server),r.send({code:0})})}var zNr=t=>{let e=Zw(t,{includePrefix:!1}).replace(/\/$/,""),r=wM()?TM():null;return[{key:"t4",name:"T4 \u8BA2\u9605",url:e2(e,"/t4")},{key:"uz",name:"UZ \u8BA2\u9605",url:e2(e,"/uz")},{key:"cat",name:"\u732B\u6E90\u8BA2\u9605",url:e2(e,"/index.js.md5",r)},{key:"emby",name:"Emby \u670D\u52A1\u5668",url:e2(e,"/emby")}]};async function Ole(t){t.get("/",(e,r)=>{r.type("text/html").send(`
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<title>\u9996\u9875</title>
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script crossorigin src="https://lib.baomitu.com/react/18.2.0/umd/react.production.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/axios/0.26.0/axios.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/dayjs/1.10.8/dayjs.min.js"></script>
|
|
<script crossorigin src="https://lib.baomitu.com/antd/5.25.0/antd.min.js"></script>
|
|
<link rel="stylesheet" href="https://lib.baomitu.com/antd/5.25.0/reset.min.css">
|
|
<script>${globalThis.websiteBundle}</script>
|
|
</body>
|
|
</html>
|
|
`)}),t.get("/subscriptions",(e,r)=>{r.send({code:0,data:{endpoints:zNr(e)}})}),t.register(vue,{prefix:"/quark"}),t.register(iV,{prefix:"/uc"}),t.register(Cue,{prefix:"/uc-tv"}),t.register(VV,{prefix:"/115"}),t.register(cae,{prefix:"/muou"}),t.register(mz,{prefix:"/duoduo"}),t.register(fae,{prefix:"/labi"}),t.register(gae,{prefix:"/shandian"}),t.register(bae,{prefix:"/ouge"}),t.register(vae,{prefix:"/erxiao"}),t.register(Mae,{prefix:"/huban"}),t.register(Uae,{prefix:"/xiaoban"}),t.register(Iue,{prefix:"/tianyi"}),t.register(toe,{prefix:"/wanou"}),t.register(Tue,{prefix:"/leijing"}),t.register(soe,{prefix:"/zhizhen"}),t.register(Eoe,{prefix:"/tgsou"}),t.register(Poe,{prefix:"/pansou"}),t.register(Nue,{prefix:"/pan123"}),t.register(Pue,{prefix:"/xunlei"}),t.register(kue,{prefix:"/ali"}),t.register(Bue,{prefix:"/baidu"}),t.register(Wue,{prefix:"/guangyapan"}),t.register(Hue,{prefix:"/yidong"}),t.register(doe,{prefix:"/tgchannel"}),t.register(voe,{prefix:"/tgfilebot"}),t.register(Pce,{prefix:"/sites"}),t.register(Gue,{prefix:"/pans"}),t.register(Vue,{prefix:"/backup"}),t.register(kce,{prefix:"/danmu"}),t.register(Nle,{prefix:"/emby"}),t.register(Ace,{prefix:"/emby-spider"}),t.register(wce,{prefix:"/alist-video"}),t.register(Wce,{prefix:"/t4"}),t.register(Qce,{prefix:"/cms"}),t.register(Boe,{prefix:"/live2vod"}),t.register(Dae,{prefix:"/123ypzysq"})}var jr=null,Ple="__catpawProfile",i6=Number.parseInt(process.env.CATPAW_LOG_LIMIT||"1500",10)||1500,KNr=Number.parseInt(process.env.CATPAW_LOG_TEXT_LIMIT||"4096",10)||4096,xA=[],ppt=["log","info","warn","error","debug"],_2={},a6=!1;function ku(t,e=KNr){let r=String(t||"");if(!Number.isFinite(e)||e<=0||r.length<=e)return r;let n=Math.max(0,Math.floor(e*.75)),s=Math.max(0,e-n);return`${r.slice(0,n)}...(truncated ${r.length-e} chars)...${r.slice(-s)}`}function YNr(t){if(typeof t=="string")return ku(t);if(t instanceof Error)return ku(JSON.stringify(o6(t)));try{return ku(JSON.stringify(S2(t)))}catch{try{return ku(String(t))}catch{return"[Unserializable]"}}}function mpt(t,e=2,r=2){let n=String(t||"");return n?n.length<=e+r?"*".repeat(n.length):`${n.slice(0,e)}***${n.slice(-r)}`:""}function S2(t,e=0){if(t==null)return t;if(e>=2)return Array.isArray(t)?`[Array(${t.length})]`:typeof t=="object"?`[Object(${Object.keys(t).length})]`:t;if(Array.isArray(t))return{type:"array",length:t.length,sample:t.slice(0,3).map(r=>S2(r,e+1))};if(typeof t=="object"){let r={};for(let[n,s]of Object.entries(t)){let i=n.toLowerCase();if(["cookie","cookies","token","authorization","auth","passwd","password","session","sess"].some(a=>i.includes(a))){s&&typeof s=="object"&&!Array.isArray(s)?r[n]={type:"object",keys:Object.keys(s).length,sampleKeys:Object.keys(s).slice(0,3)}:r[n]=mpt(s);continue}r[n]=S2(s,e+1)}return r}return typeof t=="string"&&t.length>120?`${t.slice(0,40)}...(${t.length} chars)...${t.slice(-12)}`:t}function hpt(t){if(!t||typeof t!="object")return{};let e=typeof t.toJSON=="function"?t.toJSON():t,r={};for(let[n,s]of Object.entries(e||{})){let i=n.toLowerCase();["cookie","authorization","token","secret","password"].some(a=>i.includes(a))?r[n]=mpt(s):r[n]=ku(s,260)}return r}function JNr(t){if(!(!t||typeof t!="object"))return{method:t.method,url:ku(t.url||"",500),baseURL:ku(t.baseURL||"",260),timeout:t.timeout,maxContentLength:t.maxContentLength,maxBodyLength:t.maxBodyLength,proxy:t.proxy,headers:hpt(t.headers)}}function XNr(t){if(!(!t||typeof t!="object"))return{method:t.method,protocol:t.protocol,host:t.host||t.hostname,path:ku(t.path||t.pathname||"",500),currentUrl:ku(t._currentUrl||"",500)}}function ZNr(t){if(!t||typeof t!="object")return;let e=t.data;return{status:t.status,statusText:t.statusText,headers:hpt(t.headers),data:typeof e=="string"?ku(e,1e3):S2(e)}}function o6(t){if(!t||typeof t!="object")return t;let e={name:t.name,message:t.message||String(t),code:t.code,status:t.status,statusCode:t.statusCode,stack:ku(t.stack||"",4e3)},r=JNr(t.config),n=XNr(t.request),s=ZNr(t.response);return r&&(e.config=r),n&&(e.request=n),s&&(e.response=s),e}function eOr(t){return t instanceof Error?o6(t):t}function tOr(){return process.env.NODE_ENV==="development"?!1:{serializers:{err:o6,error:o6}}}function rOr(t){if(!t||typeof t!="object")return t;let e={action:t.action||"-"};if(t.action==="saveProfile"&&t.opt&&typeof t.opt=="object"){let r=t.opt;return e.opt={keys:Object.keys(r),sitesCount:Array.isArray(r.sites?.list)?r.sites.list.length:void 0,pansCount:Array.isArray(r.pans?.list)?r.pans.list.length:void 0,quarkKeys:r.quark&&typeof r.quark=="object"?Object.keys(r.quark).length:void 0,ucKeys:r.uc&&typeof r.uc=="object"?Object.keys(r.uc).length:void 0},e}return S2(t)}function nOr(t,e){xA.push({ts:new Date().toISOString(),level:t,msg:e.map(YNr).join(" ")}),xA.length>i6&&xA.splice(0,xA.length-i6)}function sOr(){a6||(ppt.forEach(t=>{let e=console[t];typeof e=="function"&&(_2[t]=e.bind(console),console[t]=(...r)=>{nOr(t,r),Nit()||_2[t](...r.map(eOr))})}),a6=!0)}function iOr(){a6&&(ppt.forEach(t=>{_2[t]&&(console[t]=_2[t],delete _2[t])}),a6=!1)}function aOr(t){t.get("/api/catpaw-logs",async e=>{let r=Number.parseInt(e.query?.limit,10),n=Number.isFinite(r)&&r>0?Math.min(r,i6):i6,s=xA.slice(-n);return{success:!0,total:xA.length,count:s.length,logs:s}}),t.post("/api/catpaw-logs/clear",async()=>(xA.length=0,{success:!0}))}function c6(...t){}function v2(t){return Object.prototype.toString.call(t)==="[object Object]"}function oOr(t){let e=t?.[Ple];return v2(e)?e:null}function upt(t){if(!v2(t))return{};if(!(Ple in t))return t;let{[Ple]:e,...r}=t;return r}function Dle(t){return v2(t)&&Object.keys(t).length>0}function lpt(t){if(t===void 0)return t;try{return JSON.parse(JSON.stringify(t))}catch{return t}}function dpt(t,e){if(!Dle(t))return{found:!1};let r=String(e||"/");if(r==="/"||r==="")return{found:!0,value:t};let n=r.split("/").filter(Boolean),s=t;for(let i of n){if(!v2(s)&&!Array.isArray(s))return{found:!1};if(!Object.prototype.hasOwnProperty.call(s,i))return{found:!1};s=s[i]}return{found:!0,value:s}}function cOr(t,e){return{...t,...e}}function uOr(t,e){if(!Dle(e))return;let r=t.getData.bind(t),n=typeof t.getObjectDefault=="function"?t.getObjectDefault.bind(t):null;t.getData=async s=>{let i=dpt(e,s);return i.found?lpt(i.value):r(s)},n&&(t.getObjectDefault=async(s,i)=>{let a=dpt(e,s);return a.found?lpt(a.value):n(s,i)})}async function lOr(t){let e=oOr(t),r=Dle(e),n=r?cOr(upt(t),e):upt(t);jr=(0,fpt.default)({serverFactory:catServerFactory,forceCloseConnections:!0,caseSensitive:!1,logger:tOr(),maxParamLength:10240}),sOr(),aOr(jr),globalThis.messageToDart=jr.messageToDart=async u=>{try{console.log("messageToDart",rOr(u));let l=catDartServerPort();return l==0?null:(await Ae.post(`http://127.0.0.1:${l}/msg`,u)).data}catch(l){return console.error(l),null}},jr.address=function(){let u=this.server.address();return u.url=`http://${D0()}:${u.port}`,u.dynamic="js2p://_WEB_",u},jr.addHook("onError",async(u,l,d)=>(console.error("[fastify-error]",d),d.statusCode||(d.statusCode=500),d)),jr.addHook("onRequest",async u=>{if(process.env.NODE_ENV!=="development")return;let l=String(u.raw?.url||u.url||"");if(/stream\.(m3u8|mkv)|\/videos\//i.test(l)){let d=String(u.headers?.host||"-");console.log(`[Stream Probe] ${u.method} ${l} host=${d}`)}}),jr.stop=!1,jr.config=n;let s=9321;c6("before start()",{danmuPort:s,node:process.version,platform:`${process.platform}/${process.arch}`}),Pit(s),c6("after start()",{danmuPort:s}),jr.db=new u6.JsonDB(new u6.Config((process.env.NODE_PATH||".")+"/default.db.json",!0,!0,"/",!0));let i=jr.db.getData.bind(jr.db);r&&uOr(jr.db,n);let a=jr.db.push.bind(jr.db);jr.db.push=async(...u)=>{let l=await a(...u);return i("/").then(d=>{jr.messageToDart({action:"saveProfile",opt:d})}),l};let o=jr.db.delete.bind(jr.db);jr.db.delete=async(...u)=>{let l=await o(...u);return i("/").then(d=>{jr.messageToDart({action:"saveProfile",opt:d})}),l},r||jr.messageToDart({action:"queryProfile"}).then(u=>{if(u&&Object.keys(u).length>0){let l=v2(u)?u:{};a("/",l)}}),jr.register(aue,{db:jr.db,config:n}),jr.register(Ole,{prefix:"/website"}),jr.register(wle,{prefix:"/emby"}),globalThis.Pans=await Que(jr),await Wdt(jr),globalThis.getPanName=u=>globalThis.Pans.find(l=>l.key===u)?.name,globalThis.getPanEnabled=u=>globalThis.Pans.find(l=>l.key===u)?.enable;let c=(u,l=!0)=>{let d=l&&process.env.DEV_HTTP_PORT?process.env.DEV_HTTP_PORT:u;jr.listen({port:d,host:"0.0.0.0"},(f,p)=>{f?(console.error(f),f.code==="EADDRINUSE"&&(console.log(`Port ${d} is already in use. Trying next available port...`),c(u+1,!1))):console.log(`Server listening on ${p}`)})};c(2333)}async function dOr(){c6("before stop()"),Dit(),c6("after stop()"),jr&&(jr.close(),jr.stop=!0),iOr(),jr=null}0&&(module.exports={start,stop});
|
|
/*! Bundled license information:
|
|
|
|
forwarded/index.js:
|
|
(*!
|
|
* forwarded
|
|
* Copyright(c) 2014-2017 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
proxy-addr/index.js:
|
|
(*!
|
|
* proxy-addr
|
|
* Copyright(c) 2014-2016 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
toad-cache/dist/toad-cache.cjs:
|
|
(**
|
|
* toad-cache
|
|
*
|
|
* @copyright 2024 Igor Savin <[email protected]>
|
|
* @license MIT
|
|
* @version 3.7.0
|
|
*)
|
|
|
|
cookie/index.js:
|
|
(*!
|
|
* cookie
|
|
* Copyright(c) 2012-2014 Roman Shtylman
|
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
light-my-request/lib/form-data.js:
|
|
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
|
|
mime-db/index.js:
|
|
(*!
|
|
* mime-db
|
|
* Copyright(c) 2014 Jonathan Ong
|
|
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
mime-types/index.js:
|
|
(*!
|
|
* mime-types
|
|
* Copyright(c) 2014 Jonathan Ong
|
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
* MIT Licensed
|
|
*)
|
|
|
|
crypto-js/ripemd160.js:
|
|
(** @preserve
|
|
(c) 2012 by Cédric Mesnil. All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
|
|
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*)
|
|
|
|
crypto-js/mode-ctr-gladman.js:
|
|
(** @preserve
|
|
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
* derived from CryptoJS.mode.CTR
|
|
* Jan Hruby [email protected]
|
|
*)
|
|
|
|
hls-parser/index.js:
|
|
(*! Copyright Kuu Miyazaki. SPDX-License-Identifier: MIT *)
|
|
|
|
web-streams-polyfill/dist/ponyfill.es2018.js:
|
|
(**
|
|
* @license
|
|
* web-streams-polyfill v3.3.3
|
|
* Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.
|
|
* This code is released under the MIT license.
|
|
* SPDX-License-Identifier: MIT
|
|
*)
|
|
|
|
fetch-blob/index.js:
|
|
(*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
|
|
formdata-polyfill/esm.min.js:
|
|
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
|
|
node-domexception/index.js:
|
|
(*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
|
|
rwlock/lib/lock.js:
|
|
(*! ReadWriteLock - v5.0.0 - 2015-01-16
|
|
* Author: Alberto La Rocca <[email protected]> (https://github.com/71104)
|
|
* Released under the MIT license
|
|
* Copyright (c) 2015 Alberto La Rocca *)
|
|
*/ |